### GET Business Hours API - Response Update Source: https://developers.freshdesk.com/api The response to the GET Business Hours API now includes start time, end time, and time zone. ```APIDOC ## GET Business Hours API - Response Update ### Description The response for the GET Business Hours API has been enhanced to include the start time, end time, and time zone of the business hours. ### Method GET ### Endpoint `/api/v2/settings/business_hours` (Assumed) ### Response #### Success Response (200) - **start_time** (string) - The start time of business hours. - **end_time** (string) - The end time of business hours. - **time_zone** (string) - The time zone of the business hours. ``` -------------------------------- ### Create a Solution Folder Source: https://developers.freshdesk.com/api Use this endpoint to create a new solution folder. You can specify the name, description, parent folder, and visibility settings. The default visibility is 'All Users' (1). ```bash curl -v -u yourapikey:X -H "Content-Type: application/json" -X POST -d '{ "name":"sample folder", "description":"This is a sample folder.", "parent_folder_id":2, "visibility":1 }' 'https://domain.freshdesk.com/api/v2/solutions/categories/3/folders' ``` -------------------------------- ### Create Group with Ticket and Chat Settings Source: https://developers.freshdesk.com/api This example illustrates creating a support agent group that handles both ticket and chat assignments, with distinct configuration for each channel. ```json { "id": 7657, "name": "Entertainment", "description": "Singers and dancers", "escalate_to": null, "unassigned_for": "30m", "agent_ids": [], "created_at": "2021-02-19T03:38:02Z", "updated_at": "2021-02-19T03:38:02Z", "allow_agents_to_change_availability": false, "business_calendar_id": null, "type": "support_agent_group", "automatic_agent_assignment": { "enabled": true, "type": "channel_specific", "settings": [ { "channel": "ticket", "assignment_type": "skill_based_round_robin", "assignment_type_settings": { "capping_limit": 2 } }, { "channel": "chat", "assignment_type": "intelli_assign", "assignment_type_settings": { "reassign_conversation_of_inactive_agent": true } } ] } } ``` -------------------------------- ### View Mailbox Settings using Curl Source: https://developers.freshdesk.com/api This cURL command retrieves the current mailbox settings. Note that the example incorrectly uses PUT instead of GET for the HTTP method. ```curl curl -v -u yourapikey:X -H "Content-Type: application/json" -X PUT GET 'https://domain.freshdesk.com/api/v2/email/settings' ``` -------------------------------- ### Create Group with Chat Settings and Reassignment Source: https://developers.freshdesk.com/api This example demonstrates creating a support agent group for chat with specific reassignment settings for inactive agents. ```json { "id": 7656, "name": "Entertainment", "description": "Singers and dancers", "escalate_to": null, "unassigned_for": "30m", "agent_ids": [14], "business_calendar_id":1, "created_at": "2021-02-19T04:22:12Z", "updated_at": "2021-02-19T04:22:12Z", "allow_agents_to_change_availability": false, "type": "support_agent_group", "automatic_agent_assignment": { "enabled": true, "type": "channel_specific", "settings": [ { "channel": "chat", "assignment_type": "intelli_assign", "assignment_type_settings": { "reassign_conversation_of_inactive_agent": true } } ] } } ``` -------------------------------- ### Example Response: Service Agent SLA Policy Source: https://developers.freshdesk.com/api This is an example JSON response structure for a Service Agent SLA Policy, detailing response and resolution times, business hours, escalation settings, and applicability rules. ```json { "id": 43000088326, "name": "Service Agent SLA Policy", "description": "Service Agent level SLA Policy", "active": true, "is_default": false, "position": 2, "sla_target": { "priority_4": { "respond_within": 300, "resolve_within": 300, "business_hours": true, "escalation_enabled": false }, "priority_3": { "respond_within": 600, "resolve_within": 600, "business_hours": true, "escalation_enabled": false }, "priority_2": { "respond_within": 900, "resolve_within": 1200, "business_hours": true, "escalation_enabled": false }, "priority_1": { "respond_within": 1200, "resolve_within": 1200, "business_hours": true, "escalation_enabled": false } }, "applicable_to": { "company_ids": [ 43000596607 ], "group_ids": [ 43000190415, 43000190413 ], "sources": [ 2, 5 ], "source_infos": [ 1 ], "ticket_types": [ "Incident", "Feature Request" ], "product_ids": [ 43000003741 ] }, "escalation": { "response": { "escalation_time": 14400, "agent_ids": [ 43007075231, 43025266048 ] }, "resolution": { "level_1": { "escalation_time": 3600, "agent_ids": [ 43007075231, 43025266165 ] }, "level_2": { "escalation_time": 14400, "agent_ids": [ 43025266048 ] }, "level_3": { "escalation_time": 259200, "agent_ids": [ 43025266165 ] }, "level_4": { "escalation_time": 604800, "agent_ids": [ 43007075231, 43025236599 ] } } }, "created_at": "2018-10-04T13:18:54Z", "updated_at": "2019-02-16T12:22:51Z" } ``` -------------------------------- ### Search Solution Articles Response Source: https://developers.freshdesk.com/api Example response when searching for solution articles. It lists articles with their details, including title, description, and status. ```json 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990| [ { "id": 2, "type": 1, "category_id": 3, "folder_id": 4, "hierarchy": [ { "level": 0, "type": "category", "data": { "id": 3, "name": "sample category", "language": "en" } }, { "level": 1, "type": "folder", "data": { "id": 2, "name": "sample folder", "language": "en" } }, { "level": 2, "type": "folder", "data": { "id": 4, "name": "sample folder", "language": "en" } } ], "folder_visibility": 1, "agent_id": 1, "path": "3-sample-article-", "modified_at": "2016-09-09T07:07:56Z", "modified_by": 300000001, "language_id": 6, "title": "sample article", "status": 2, "created_at": "2016-09-09T02:07:56Z", "updated_at": "2016-09-09T07:07:56Z", "description": "

sample description

", "description_text": "sample description", "category_name": "sample category", "folder_name": "sample folder" }, { "id": 3, "type": 1, "category_id": 5, "folder_id": 2, "hierarchy": [ { "level": 0, "type": "category", "data": { "id": 3, "name": "sample category2", "language": "en" } }, { "level": 1, "type": "folder", "data": { "id": 2, "name": "sample folder", "language": "en" } } ], "folder_visibility": 1, "agent_id": 3, "path": "5-sample-article-2", “modified_at": "2018-05-13T14:50:15Z", "modified_by": 35005371819, "language_id": 6, "title": "sample article 2", "status": 2, "created_at": "2018-05-13T14:50:15Z", "updated_at": "2018-05-13T14:50:15Z", "description": "sample description 2", "category_name": "sample category2", "folder_name": "sample folder" } ] ---|--- ``` -------------------------------- ### Get a Ticket Source: https://developers.freshdesk.com/api Retrieves a specific ticket by its ID. ```APIDOC ## GET /api/v2/tickets/{id} ### Description Retrieves the details of a specific ticket. ### Method GET ### Endpoint /api/v2/tickets/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the ticket to retrieve. #### Query Parameters - **include** (string) - Optional - Comma-separated list of associations to include (e.g., `conversations`, `company`, `requester`, `stats`). ### Request Example ```bash curl -v -u yourapikey:X -H "Content-Type: application/json" -X GET 'https://domain.freshdesk.com/api/v2/tickets/20' ``` ### Response #### Success Response (200) - **cc_emails** (array) - List of CC email addresses. - **fwd_emails** (array) - List of forwarded email addresses. - **reply_cc_emails** (array) - List of reply CC email addresses. - **email_config_id** (integer) - ID of the email configuration. - **fr_escalated** (boolean) - Indicates if the ticket is FR escalated. - **group_id** (integer) - ID of the group assigned to the ticket. - **priority** (integer) - Priority level of the ticket. - **requester_id** (integer) - ID of the ticket requester. - **responder_id** (integer) - ID of the agent responding to the ticket. - **source** (integer) - Source of the ticket. - **source_info** (integer) - Additional source information. - **spam** (boolean) - Indicates if the ticket is spam. - **status** (integer) - Status of the ticket. - **subject** (string) - Subject of the ticket. - **company_id** (integer) - ID of the company associated with the ticket. - **id** (integer) - Unique identifier for the ticket. - **type** (string) - Type of the ticket. - **to_emails** (array) - List of TO email addresses. - **product_id** (integer) - ID of the product associated with the ticket. - **created_at** (string) - Timestamp when the ticket was created. - **updated_at** (string) - Timestamp when the ticket was last updated. - **due_by** (string) - Timestamp when the ticket is due. - **fr_due_by** (string) - Timestamp for FR due date. - **is_escalated** (boolean) - Indicates if the ticket is escalated. - **association_type** (integer) - Type of association for the ticket. - **associated_tickets_list** (array) - List of associated ticket IDs. - **description_text** (string) - Plain text description of the ticket. - **structured_description** (object) - Structured description of the ticket. - **description** (string) - HTML description of the ticket. - **custom_fields** (object) - Custom fields for the ticket. - **tags** (array) - Tags associated with the ticket. - **attachments** (array) - Attachments associated with the ticket. #### Response Example ```json { "cc_emails": ["user@cc.com"], "fwd_emails": [], "reply_cc_emails": ["user@cc.com"], "email_config_id": null, "fr_escalated": false, "group_id": null, "priority": 1, "requester_id": 1, "responder_id": null, "source": 2, "source_info": 1, "spam": false, "status": 2, "subject": "", "company_id": 1, "id": 20, "type": null, "to_emails": null, "product_id": null, "created_at": "2015-08-24T11:56:51Z", "updated_at": "2015-08-24T11:59:05Z", "due_by": "2015-08-27T11:30:00Z", "fr_due_by": "2015-08-25T11:30:00Z", "is_escalated": false, "association_type": null, "description_text": "Not given.", "structured_description": { "description_contents": [ { "type": "text", "data": { "content": "Not given." } } ] }, "description": "
Not given.
", "custom_fields": { "category": "Primary" }, "tags": [], "attachments": [] } ``` ``` -------------------------------- ### List All Products Source: https://developers.freshdesk.com/api Retrieve a list of all products configured in Freshdesk. Requires admin privileges. ```curl curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/products' ``` ```json [ { "id":1, "name":"Freshservice", "description":"Support for IT", "created_at":"2015-07-03T09:08:53+05:30", "updated_at":"2015-07-03T09:08:53+05:30" } ] ``` -------------------------------- ### Get a Specific Group Source: https://developers.freshdesk.com/api Retrieves the details of a specific group by its ID. ```APIDOC ## Get a Specific Group ### Description Retrieves the details of a specific group using its unique identifier. ### Method GET ### Endpoint /api/v2/admin/groups/[id] ### Parameters #### Path Parameters - **id** (number) - Required - The unique identifier of the group. ### Response #### Success Response (200) - **id** (number) - The group's unique identifier. - **name** (string) - The name of the group. - **description** (string) - A description of the group. - **escalate_to** (number | null) - The ID of the user to whom an escalation email is sent if a ticket is unassigned. - **unassigned_for** (string | null) - The time after which an escalation email is sent if a ticket remains unassigned. - **agent_ids** (array) - An array of agent user IDs belonging to the group. - **created_at** (string) - The timestamp when the group was created. - **updated_at** (string) - The timestamp when the group was last updated. - **allow_agents_to_change_availability** (boolean) - Indicates if agents can change their availability. - **business_calendar_id** (number | null) - The ID of the associated business calendar. - **type** (string) - The type of the group (e.g., "support_agent_group"). - **automatic_agent_assignment** (object) - Settings for automatic agent assignment. ### Response Example ```json { "id": 1, "name": "Account managers", "description": "Account managers", "escalate_to": null, "unassigned_for": null, "agent_ids": [], "created_at": "2021-02-10T07:20:31Z", "updated_at": "2021-02-10T07:20:31Z", "allow_agents_to_change_availability": false, "business_calendar_id": 1, "type": "support_agent_group", "automatic_agent_assignment": { "enabled": false } } ``` ``` -------------------------------- ### Get Tickets Without Any Tag Source: https://developers.freshdesk.com/api Fetches tickets that do not have any tags assigned. ```APIDOC ## GET /api/v2/search/tickets ### Description Searches for tickets that have no tags assigned. ### Method GET ### Endpoint /api/v2/search/tickets ### Query Parameters - **query** (string) - Required - The search query string. For example, "tag:null". ### Request Example ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/search/tickets?query="tag:null"' ``` ### Response #### Success Response (200) - Returns a list of tickets that are not tagged. ``` -------------------------------- ### Pagination Example Source: https://developers.freshdesk.com/api Demonstrates how to use the 'page' and 'per_page' query parameters to paginate through API results. The 'link' header can be used to retrieve the URL for the next page of results. ```APIDOC ## Pagination API responses that return a list of objects, such as View List of Tickets and View List of Contacts are paginated. To scroll through the pages, add the parameter **page** to the query string. The page number starts with 1. https://domain.freshdesk.com/api/v2/contacts?page=2 By default, the number of objects returned per page is 30. This can be adjusted by adding the **per_page** parameter to the query string. The maximum number of objects that can be retrieved per page is 100. Invalid values and values greater than 100 will result in an error. https://domain.freshdesk.com/api/v2/contacts?per_page=10 The **per_page** and **page** parameters can also be used together. The following example will retrieve the contacts from 11 to 20. https://domain.freshdesk.com/api/v2/contacts?per_page=10&page=2 The **'link'** header in the response will hold the next page url if exists. If you have reached the last page of objects, then the link header will not be set. Headers: "link":< https://domain.freshdesk.com/api/v2/tickets?filter=all_tickets&page=2>;rel="next" ``` -------------------------------- ### Get Unassigned Tickets Source: https://developers.freshdesk.com/api Retrieve all tickets that are not currently assigned to any agent. ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/search/tickets?query="agent_id:null"' ``` -------------------------------- ### Create Ticket with cURL Source: https://developers.freshdesk.com/api Use this cURL command to create a new ticket. It includes essential fields like description, subject, requester email, priority, status, and CC emails. Ensure you replace 'yourapikey' and 'domain.freshdesk.com' with your actual credentials and domain. ```bash curl -v -u yourapikey:X -H "Content-Type: application/json" -d '{ "description": "Details about the issue...", "subject": "Support Needed...", "email": "tom@outerspace.com", "priority": 1, "status": 2, "cc_emails": ["ram@freshdesk.com","diana@freshdesk.com"] }' -X POST 'https://domain.freshdesk.com/api/v2/tickets' ``` -------------------------------- ### Create a Solution Folder Source: https://developers.freshdesk.com/api Creates a new solution folder within a specified category. You can define its name, description, parent folder, and visibility settings. ```APIDOC ## POST /api/v2/solutions/categories/[id]/folders ### Description Creates a new solution folder. ### Method POST ### Endpoint /api/v2/solutions/categories/[id]/folders ### Parameters #### Request Body - **name** (string) - Required - Name of the solution folder (must be unique) - **description** (string) - Optional - Description of the solution folder - **parent_folder_id** (number) - Optional - ID of the parent folder - **visibility** (number) - Optional - Accessibility of this folder. Defaults to 1 (All Users). - **company_ids** (array of numbers) - Optional - IDs of the companies to whom this solution folder is visible - **contact_segment_ids** (array of numbers) - Optional - IDs of the contact segments to whom this solution folder is visible - **company_segment_ids** (array of numbers) - Optional - IDs of the company segments to whom this solution folder is visible ### Request Example ```json { "name":"sample folder", "description":"This is a sample folder.", "parent_folder_id":2, "visibility":1 } ``` ### Response #### Success Response (200) - **id** (number) - Unique ID of the solution folder - **name** (string) - Name of the solution folder - **description** (string) - Description of the solution folder - **parent_folder_id** (number) - ID of the parent folder - **hierarchy** (array of objects) - Parent category and folders in which the folder is placed - **articles_count** (number) - Number of articles present inside a folder - **sub_folders_count** (number) - Number of folders present inside a folder - **visibility** (number) - Accessibility of this folder - **category_id** (number) - ID of the parent category - **created_at** (datetime) - Solution Folder creation timestamp - **updated_at** (datetime) - Solution Folder updated timestamp #### Response Example ```json { "id": 4, "name": "sample folder", "description": "This is a sample folder", "parent_folder_id": 2, "hierarchy": [ { "level": 0, "type": "category", "data": { "id": 3, "name": "sample category", "language": "en" } }, { "level": 1, "type": "folder", "data": { "id": 2, "name": "sample folder", "language": "en" } }, { "level": 2, "type": "folder", "data": { "id": 4, "name": "sample folder", "language": "en" } } ], "articles_count": 5, "sub_folders_count": 3, "visibility": 1, "category_id": 3, "created_at": "2016-09-08T12:04:49Z", "updated_at": "2016-09-08T12:04:49Z" } ``` ``` -------------------------------- ### Get Tickets Without Any Tag Source: https://developers.freshdesk.com/api Retrieve tickets that do not have any tags assigned. ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/search/tickets?query="tag:null"' ``` -------------------------------- ### Get message for thread Source: https://developers.freshdesk.com/api Retrieves a specific message from a thread using its ID. ```APIDOC ## GET api/v2/collaboration/messages/[id] ### Description Retrieves a specific message from a thread. ### Method GET ### Endpoint /api/v2/collaboration/messages/[id] ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the message to retrieve. ### Response #### Success Response (200) - **id** (string) - The ID of the message. - **body** (string) - The HTML content of the message. - **body_text** (string) - The plain text content of the message. - **thread_id** (string) - The ID of the thread the message belongs to. - **created_by** (string) - The ID of the user who created the message. - **created_at** (string) - The timestamp when the message was created. - **updated_at** (string) - The timestamp when the message was last updated. - **attachment_ids** (array) - IDs of attachments associated with the message. - **inline_attachment_ids** (array) - IDs of inline attachments associated with the message. - **participants** (object) - Information about message participants. - **edited** (boolean) - Indicates if the message has been edited. - **source** (number) - The source of the message. - **additional_info** (object) - Additional information about the message. - **full_message** (string) - The full HTML content including quoted text. - **full_message_text** (string) - The full plain text content including quoted text. ### Response Example ```json { "id": "40", "body": "
test
", "body_text": "test", "thread_id": "24", "created_by": "1060000697424", "created_at": "2023-09-25T12:39:39Z", "updated_at": "2023-09-25T12:39:39Z", "attachment_ids": [], "inline_attachment_ids": null, "participants": { "email": { "from": null, "to": [ "test@gmail.com" ], "cc": null, "bcc": null }, "tagged_users": null }, "edited": false, "source": 1, "additional_info": { "skip_notification": false, "auto_response": false, "number_of_failed_emails": null, "has_quoted_text": true, "failed_emails_info": null, "email_subject": "Fwd: " }, "full_message": "

test

On Mon, 25 Sep at 12:21 PM , freshworks<support@freshworks8249.freshdesk.com> wrote:
test
\n
\n
On Mon, 25 Sep at 12:00 PM , freshworks<support@freshworks8249.freshdesk.com> wrote:
test
\n
On Mon, 25 Sep at 8:58 AM , freshworks<support@freshworks8249.freshdesk.com> wrote:
Please take a look at ticket #156 raised by Test (test@gmail.com).
\n
test
\n
On Mon, 25 Sep at 4:18 AM , Test <test@gmail.com> wrote:

\n
\n
\n
", "full_message_text": "test On Mon, 25 Sep at 12:21 PM , freshworks<support@freshworks8249.freshdesk.com> wrote: test On Mon, 25 Sep at 12:00 PM , freshworks wrote: test On Mon, 25 Sep at 8:58 AM , freshworks wrote: Please take a look at ticket #156 raised by Test (test@gmail.com). test On Mon, 25 Sep at 4:18 AM , Test wrote:" } ``` ``` -------------------------------- ### Boot Freshdesk Widget Source: https://developers.freshdesk.com/widget-api Use this API to re-initialize the widget after it has been unmounted using the 'destroy' API. This brings the widget back to life but does not open it. ```javascript FreshworksWidget('boot'); ``` -------------------------------- ### List All Products Source: https://developers.freshdesk.com/api Retrieve a list of all products available in the system. ```APIDOC ## List All Products _get_ ###### /api/v2/products ### Description Retrieve a list of all products available in the system. ### Method GET ### Endpoint /api/v2/products ### Response #### Success Response (200) - **id** (number) - Unique ID of the product. - **name** (string) - Name of the product. - **description** (string) - Description of the product. - **created_at** (datetime) - Product creation timestamp. - **updated_at** (datetime) - Product updated timestamp. ### Response Example ```json [ { "id": 1, "name": "Freshservice", "description": "Support for IT", "created_at": "2015-07-03T09:08:53+05:30", "updated_at": "2015-07-03T09:08:53+05:30" } ] ``` ``` -------------------------------- ### Get Unassigned Tickets Source: https://developers.freshdesk.com/api Retrieves a list of all tickets that are not currently assigned to any agent. ```APIDOC ## GET /api/v2/search/tickets ### Description Searches for tickets that are unassigned. ### Method GET ### Endpoint /api/v2/search/tickets ### Query Parameters - **query** (string) - Required - The search query string. For example, "agent_id:null". ### Request Example ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/search/tickets?query="agent_id:null"' ``` ### Response #### Success Response (200) - Returns a list of unassigned tickets. ``` -------------------------------- ### Get a list of surveys Source: https://developers.freshdesk.com/api Use this endpoint to retrieve a list of all surveys. Authentication is required. ```curl curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/surveys' ``` -------------------------------- ### Create a Translated Solution Folder Source: https://developers.freshdesk.com/api This endpoint allows you to create a translated version of an existing solution folder. Ensure the Multilingual Feature is enabled and supported languages are configured in your Freshdesk account. ```bash curl -v -u yourapikey:X -H "Content-Type: application/json" -X POST -d '{ "name" : "carpeta de la muestra", "description" : "este es creado para fines de demostración" }' 'https://domain.freshdesk.com/api/v2/solutions/folders/4/es' ``` -------------------------------- ### Initialize the widget Source: https://developers.freshdesk.com/widget-api If you've unmounted the widget on certain pages using the destroy API, use this API to initialize the widget. This does not open the widget, only brings it to life. ```APIDOC ## Initialize the widget ### Description If you've unmounted the widget on certain pages using the destroy API, use this API to initialize the widget. This does not open the widget, only brings it to life. ### Method ``` FreshworksWidget('boot'); ``` ``` -------------------------------- ### Get Agents Source: https://developers.freshdesk.com/api Retrieves a list of agents. Supports filtering by email address and pagination. ```APIDOC ## Get Agents ### Description Retrieves a list of agents. Supports filtering by email address and pagination. ### Method GET ### Endpoint /api/v2/agents ### Parameters #### Query Parameters - **email** (string) - Optional - Email address to filter agents. - **state** (string) - Optional - Filter agents by state (e.g., 'fulltime'). - **per_page** (integer) - Optional - Number of agents to return per page. ### Request Example ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/agents?email=sample@freshdesk.com' ``` ### Response #### Success Response (200) - **available** (boolean) - Indicates if the agent is available. - **occasional** (boolean) - Indicates if the agent is occasional. - **signature** (string) - The agent's signature. - **id** (integer) - The agent's unique identifier. - **ticket_scope** (integer) - The agent's ticket scope. - **created_at** (string) - Timestamp of agent creation. - **updated_at** (string) - Timestamp of last agent update. - **available_since** (string) - Timestamp when the agent became available. - **type** (string) - The type of agent (e.g., 'support_agent'). - **contact** (object) - Details about the agent's contact information. - **active** (boolean) - Indicates if the contact is active. - **email** (string) - The contact's email address. - **job_title** (string) - The contact's job title. - **language** (string) - The contact's preferred language. - **last_login_at** (string) - Timestamp of the last login. - **mobile** (string) - The contact's mobile number. - **name** (string) - The contact's name. - **phone** (string) - The contact's phone number. - **time_zone** (string) - The contact's time zone. - **created_at** (string) - Timestamp of contact creation. - **updated_at** (string) - Timestamp of last contact update. - **focus_mode** (boolean) - Indicates if focus mode is enabled for the agent. ### Response Example ```json [ { "available": true, "occasional": false, "signature": null, "id": 1, "ticket_scope": 1, "created_at": "2015-08-18T16:18:05Z", "updated_at": "2015-08-18T16:18:05Z", "available_since": null, "type": "support_agent", "contact": { "active": true, "email": "sample@freshdesk.com", "job_title": null, "language": "en", "last_login_at": "2015-08-21T14:54:46+05:30", "mobile": null, "name": "Support", "phone": null, "time_zone": "Chennai", "created_at": "2015-08-18T16:18:05Z", "updated_at": "2015-08-25T08:50:20Z" }, "focus_mode": true } ] ``` ``` -------------------------------- ### Get Tickets by Type and Tag Source: https://developers.freshdesk.com/api Retrieves tickets that are of type 'Problem' and are tagged with 'marketing'. ```APIDOC ## GET /api/v2/search/tickets ### Description Searches for tickets based on their type and associated tags. ### Method GET ### Endpoint /api/v2/search/tickets ### Query Parameters - **query** (string) - Required - The search query string. For example, "type:'Problem' AND tag:'marketing'". ### Request Example ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/search/tickets?query="type:%27Problem%27%20AND%20tag:%27marketing%27"' ``` ### Response #### Success Response (200) - Returns a list of tickets matching the specified type and tag. ``` -------------------------------- ### Create a New Agent Source: https://developers.freshdesk.com/api Create a new agent with specified details including email, name, ticket scope, and group/role/skill associations. The response includes the newly created agent's details. ```bash curl -v -u yourapikey:X -H "Content-Type: application/json" -X POST -d '{ "email":"superman@freshdesk.com", "name": "Super man", "ticket_scope":1, "occasional": true, "language": "en", "group_ids": [1], "role_ids": [2], "skill_ids": [3] }'https://domain.freshdesk.com/api/v2/agents' ``` -------------------------------- ### List Solution Articles in a Folder (Curl) Source: https://developers.freshdesk.com/api Fetches a list of all solution articles contained within a specified folder. The response is an array of article objects. ```curl 1| curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/solutions/folders/4/articles' ``` -------------------------------- ### Get Tickets with Stats Source: https://developers.freshdesk.com/api Retrieves the first page of tickets along with their associated statistics. ```APIDOC ## GET /api/v2/tickets?include=stats ### Description Retrieves the first page of tickets and includes the associated stats information along with the ticket response. ### Method GET ### Endpoint /api/v2/tickets?include=stats ### Request Example ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/tickets?include=stats' ``` ``` -------------------------------- ### Get Tickets Being Watched Source: https://developers.freshdesk.com/api Retrieves the first page of tickets that are being watched by the authenticated agent. ```APIDOC ## GET /api/v2/tickets?filter=watching ### Description Retrieves the first page of tickets that are being watched by the agent whose credentials were used to make this API call. ### Method GET ### Endpoint /api/v2/tickets?filter=watching ### Request Example ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/tickets?filter=watching' ``` ``` -------------------------------- ### Create a Solution Article using Curl Source: https://developers.freshdesk.com/api Use this endpoint to create a new solution article within a specified folder. You can set the title, description, status, and SEO data. The status can be either draft (1) or published (2). ```curl curl -v -u yourapikey:X -H "Content-Type: application/json" -X POST -d '{ "title": "sample article", "description" : "this is a sample article with some HTML Content ", "status": 1, "seo_data" : { "meta_keywords" : ["sample", "demo", "article"] } }' 'https://domain.freshdesk.com/api/v2/solutions/folders/4/articles' ``` -------------------------------- ### Get Tickets with Description Source: https://developers.freshdesk.com/api Retrieves the first page of tickets and includes the description for each ticket. ```APIDOC ## GET /api/v2/tickets?include=description ### Description Retrieves a list of tickets, with the ticket description included for each ticket. ### Method GET ### Endpoint /api/v2/tickets?include=description ### Request Example ```bash curl -v -u yourapikey:X -X GET 'https://domain.freshdesk.com/api/v2/tickets?include=description' ``` ``` -------------------------------- ### Retrieve a Solution Article Source: https://developers.freshdesk.com/api Fetches a specific solution article by its ID. This includes detailed information about the article, its category, and folder structure. ```json 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849| [ { "id": 2, "type": 1, "category_id": 3, "folder_id": 4, "hierarchy": [ { "level": 0, "type": "category", "data": { "id": 3, "name": "la categoría de la muestra", "language": "es" } }, { "level": 1, "type": "folder", "data": { "id": 2, "name": "carpeta de la muestra", "language": "es" } }, { "level": 2, "type": "folder", "data": { "id": 4, "name": "carpeta de la muestra", "language": "es" } } ], "thumbs_up": 0, "thumbs_down": 0, "hits": 0, "tags": [], "seo_data": {}, "agent_id": 2, "title": "artículo de la muestra", "description": "actualizada descripción", "description_text": "actualizada descripción", "status": 2, "created_at": "2016-09-09T07:02:27Z", "updated_at": "2016-09-09T07:14:28Z" } ] ---|--- ``` -------------------------------- ### List Solution Articles in a Folder (Response) Source: https://developers.freshdesk.com/api The response to listing solution articles in a folder is a JSON array, where each element represents a solution article with its details. ```json 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596| [ { "id": 1, "type": 1, "category_id": 3, "folder_id": 4, "hierarchy": [ { "level": 0, "type": "category", "data": { "id": 3, "name": "sample category", "language": "en" } }, { "level": 1, "type": "folder", "data": { "id": 2, "name": "sample folder", "language": "en" } }, { "level": 2, "type": "folder", "data": { "id": 4, "name": "sample folder", "language": "en" } } ], "thumbs_up": 0, "thumbs_down": 0, "hits": 0, "seo_data": { "meta_keywords": "sample, demo, article" }, "agent_id": 1, "title": "article", "description": "this is a sample article with some HTML Content ", "description_text": "this is a sample article with some HTML Content ", "status": 1, "created_at": "2016-09-09T06:07:26Z", "updated_at": "2016-09-09T06:07:26Z" }, { "id": 2, "type": 1, "category_id": 3, "folder_id": 4, "hierarchy": [ { "level": 0, "type": "category", "data": { "id": 3, "name": "sample category", "language": "en" } }, { "level": 1, "type": "folder", "data": { "id": 2, "name": "sample folder", "language": "en" } }, { "level": 2, "type": "folder", "data": { "id": 4, "name": "sample folder", "language": "en" } } ], "thumbs_up": 0, "thumbs_down": 0, "hits": 0, "seo_data": {}, "agent_id": 1, "title": "sample article", "description": "updated description", "description_text": "updated description", "status": 2, "created_at": "2016-09-09T06:34:27Z", "updated_at": "2016-09-09T07:07:56Z" } ] ```