openapi: 3.0.0 info: title: Swagger Freshdesk API V2 - OpenAPI 3.0 description: |- Freshdesk is a cloud-based customer support platform that was founded with the mission of enabling companies of all sizes to provide great customer service. Our goal is simple: make it easy for brands to talk to their customers and make it easy for users to get in touch with businesses. Freshdesk's APIs belong to the Representational State Transfer (REST) category. They allow you to perform 'RESTful' operations such as reading, modifying, adding or deleting data from your helpdesk. The APIs also support Cross-Origin Resource Sharing (CORS). version: 0.0.1 externalDocs: description: API V2 Documentation url: https://developers.freshdesk.com/api/#introduction servers: - url: https://ccl-consulting.freshdesk.com/api/v2 description: Production server security: - basicAuth: [] tags: - name: Tickets description: A ticket is an issue raised by a requester that need to be solved - name: Ticket Fields description: The custom and default ticket fields in Freshdesk have the following properties. - name: Ticket Forms description: Ticket forms allow you to show the right form to your customers depending on what they want to contact you about - name: Ticket Conversations description: Ticket conversations are the messages that are exchanged between the requester and the agent - name: Account description: See or export account information - name: Jobs description: No Documentation - name: Contacts description: Contacts are the people who are associated with a company - name: Contacts Fields description: The custom and default contact fields in Freshdesk have the following properties. - name: Agents description: Agents are the people who are responsible for solving tickets - name: Skills description: |- Skills allow you to easily match tickets to the right agents. You can associate distinct skills to each agent and create rules to make sure that only tickets matching those skills are assigned to them. - name: Roles description: Roles are the permissions that are assigned to agents - name: Groups description: Groups are the teams that your agents belong to - name: Admin-Groups description: Admin groups are the teams that your agents belong to - name: Companies description: Companies are the organizations that your customers belong to - name: Companies Fields description: The custom and default company fields in Freshdesk have the following properties. - name: Custom Objects description: Custom objects are the custom entities that you can create in Freshdesk - name: Canned Responses description: Canned responses are the pre-defined responses that can be used to quickly respond to tickets - name: Discussions description: Discussions are the comments that are added to tickets - name: Solutions description: Solutions are the articles that are published in the knowledge base - name: Surveys description: Surveys are the feedback forms that are sent to customers after a ticket is resolved - name: Satisfaction Ratings description: Satisfaction ratings are the feedback that customers provide after a ticket is resolved - name: Field Service Management description: Field Service Management is a feature that allows you to manage field service agents and their schedules - name: Time Entries description: Time entries are the time spent by agents on tickets - name: Email Configs description: Email configurations are the email addresses that are used to receive emails - name: Email Mailboxes description: Email mailboxes are the email addresses that are used to receive emails - name: Products description: Products are the items that you sell to your customers - name: Business Hours description: Business hours are the time slots during which your agents are available to solve tickets - name: Scenario Based Automation description: Scenario based automation allows you to automate your helpdesk by creating rules that trigger actions when certain conditions are met - name: SLA Policies description: SLA policies are the rules that define the response time and resolution time for tickets - name: Omnichannel Activities description: Omnichannel activities are the activities that are performed by agents on the omnichannel dashboard - name: Automations description: Automations are the rules that are used to automate your helpdesk - name: Settings description: Settings are the configuration options that are used to customize your helpdesk paths: /tickets: get: tags: - Tickets summary: List all tickets description: List all tickets responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Tickets' security: - basicAuth: [] /ticket_fields: get: tags: - Ticket Fields summary: List all ticket fields description: list all ticket fields responses: "200": description: OK security: - basicAuth: [] /ticket-forms: get: tags: - Ticket Forms summary: List all ticket forms description: |- List all ticket forms Be carefull: "The Multiple Ticket Forms feature(s) is/are not supported in your plan. Please upgrade your account to use it." responses: "200": description: OK security: - basicAuth: [] /conversations/{id}: delete: tags: - Ticket Conversations summary: Delete a conversation description: Delete a conversation parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /contacts: get: tags: - Contacts summary: List all contacts description: List all contacts on your freshdesk domain. responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Contact' /contacts/{id}: delete: tags: - Contacts summary: Soft Delete a Contact description: Soft Delete a Contact parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: "HTTP Status: 204 No Content" /contacts/{id}/hard_delete: delete: tags: - Contacts summary: Permanently Delete a Contact description: Permanently Delete a Contact parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: "HTTP Status: 204 No Content" /contact_fields: get: tags: - Contacts Fields summary: List all contacts fields description: List all contacts fields responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Contact' security: - basicAuth: [] /contact_field/{id}: delete: tags: - Contacts Fields summary: Delete a contact field description: Delete a contact field parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: "HTTP Status: 204 No Content" /agents: get: tags: - Agents summary: View Agents description: |- View Agents "The Skill Based Round Robin feature(s) is/are not supported in your plan. Please upgrade your account to use it." responses: "200": description: OK security: - basicAuth: [] /agents/{id}: delete: tags: - Agents summary: Delete an Agent description: |- Delete an Agent "The Skill Based Round Robin feature(s) is/are not supported in your plan. Please upgrade your account to use it." parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /account: get: tags: - Account summary: View Account description: View Account informations responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Account' security: - basicAuth: [] /jobs/{jobID}: get: tags: - Jobs summary: View a job description: View a job parameters: - name: jobID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Jobs' security: - basicAuth: [] /skills: get: tags: - Skills summary: List all skills description: List all skills responses: "200": description: OK security: - basicAuth: [] /skills/{id}: delete: tags: - Skills summary: Delete a Skill description: Delete a Skill parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /roles/{rolesID}: get: tags: - Roles summary: View a role description: View a roles parameters: - name: rolesID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Roles' security: - basicAuth: [] /roles: get: tags: - Roles summary: List all roles description: List all roles responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Roles' security: - basicAuth: [] /groups: get: tags: - Groups summary: List all groups description: List all groups responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Groups' security: - basicAuth: [] post: tags: - Groups summary: Create a Group description: Create a Group requestBody: content: application/json: schema: $ref: '#/components/schemas/groups_body' responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Groups' security: - basicAuth: [] /groups/{id}: get: tags: - Groups summary: View a group description: View a group parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Groups' security: - basicAuth: [] put: tags: - Groups summary: Update a group description: Update a group parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 requestBody: content: application/json: schema: $ref: '#/components/schemas/groups_id_body' responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Groups' security: - basicAuth: [] delete: tags: - Groups summary: Delete a group description: Delete a group parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /admin/groups: get: tags: - Admin-Groups summary: List all Admin-Groups description: List all Admin-Groups responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Admin_Groups' security: - basicAuth: [] /admin/groups/{id}: delete: tags: - Admin-Groups summary: Delete a group description: Delete a group parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /companies: get: tags: - Companies summary: List all Companies description: List all Companies responses: "200": description: OK security: - basicAuth: [] /companies/{id}: delete: tags: - Companies summary: Delete a company description: Delete a company parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /company_fields: get: tags: - Companies Fields summary: List all Companies Fields description: List all Companies Fields responses: "200": description: OK security: - basicAuth: [] /company_fields/{id}: delete: tags: - Companies Fields summary: Delete a company field description: Delete a group parameters: - name: id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /custom_objects/schemas/schema-id/records/{record-id}: delete: tags: - Custom Objects summary: Delete a record description: Delete a record parameters: - name: record-id in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /canned_response_folders: get: tags: - Canned Responses summary: List All Folders description: List All Folders responses: "200": description: OK security: - basicAuth: [] /discussions/categories: get: tags: - Discussions summary: List All Forum Categories description: List All Forum Categories responses: "200": description: OK security: - basicAuth: [] /discussions/categories/{id}: delete: tags: - Discussions summary: Delete a Discussion Category description: Delete a Discussion Category parameters: - name: id in: path description: Discussion Category ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /discussions/forums/{id}: delete: tags: - Discussions summary: Delete a Discussion Forum description: Delete a Discussion Forum parameters: - name: id in: path description: Discussion Forum ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /discussions/forums/{forum_id}/follow: delete: tags: - Discussions summary: Unmonitor Forum description: Unmonitor Forum parameters: - name: forum_id in: path description: Discussion Forum ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 - name: user_id in: query description: User ID required: true style: form explode: true schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /discussions/topics/{id}: delete: tags: - Discussions summary: Delete a Topic description: Delete a Topic parameters: - name: id in: path description: Topic ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /discussions/topics/{topic_id}/follow: delete: tags: - Discussions summary: Unmonitor topic description: Unmonitor topic parameters: - name: topic_id in: path description: Topic ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 - name: user_id in: query description: User ID required: true style: form explode: true schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /discussions/comments/{id}: delete: tags: - Discussions summary: Delete a comment description: Delete a comment parameters: - name: id in: path description: Comment ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /solutions/categories: get: tags: - Solutions summary: List all Solution Categories description: List all Solution Categories responses: "200": description: OK security: - basicAuth: [] /solutions/categories/{id}: delete: tags: - Solutions summary: Delete a Solution Category description: Delete a Solution Category parameters: - name: id in: path description: Solution Category ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /solutions/folders/{id}: delete: tags: - Solutions summary: Delete a Solution Folder description: Delete a Solution Folder parameters: - name: id in: path description: Solution Folder ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /solutions/articles/{id}: delete: tags: - Solutions summary: Delete a Solution Article description: Delete a Solution Article parameters: - name: id in: path description: Solution Article ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /surveys: get: tags: - Surveys summary: List all Surveys description: |- List all Surveys "message": "The Surveys feature(s) is/are not supported in your plan. Please upgrade your account to use it." responses: "200": description: OK security: - basicAuth: [] /surveys/satisfaction_ratings: get: tags: - Satisfaction Ratings summary: View all Satisfaction Ratings description: |- View all Satisfaction Ratings "message": "The Surveys feature(s) is/are not supported in your plan. Please upgrade your account to use it." responses: "200": description: OK security: - basicAuth: [] /time_entries: get: tags: - Time Entries summary: List all Time entries description: List all time entrioes responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Time_Entries' security: - basicAuth: [] /tickets/{ticketID}/time_entries: post: tags: - Time Entries summary: Create a Time Entry description: Create a Time Entry parameters: - name: ticketID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 requestBody: content: application/json: schema: $ref: '#/components/schemas/ticketID_time_entries_body' responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Time_Entries' security: - basicAuth: [] /time_entries/{timeID}: put: tags: - Time Entries summary: Update a Time Entry description: Create a Time Entry parameters: - name: timeID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 2 requestBody: content: application/json: schema: $ref: '#/components/schemas/time_entries_timeID_body' responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Time_Entries' security: - basicAuth: [] delete: tags: - Time Entries summary: Delete a Time Entry description: Create a Time Entry parameters: - name: timeID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 2 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /time_entries/{timeID}/toggle_timer: put: tags: - Time Entries summary: Start/Stop Timer description: Start/Stop Timer parameters: - name: timeID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 2 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Time_Entries' security: - basicAuth: [] /email_configs/{emailID}: get: tags: - Email Configs summary: View an Email Config description: View an Email Config parameters: - name: emailID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Email_Configs' security: - basicAuth: [] /email_configs: get: tags: - Email Configs summary: List All Email Configs description: List All Email Configs responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Email_Configs' security: - basicAuth: [] /email/mailboxes: get: tags: - Email Mailboxes summary: List All Email Mailboxes description: List All Email Mailboxes responses: "200": description: OK security: - basicAuth: [] /email/mailboxes/{id}: delete: tags: - Email Mailboxes summary: Delete an Email Mailboxes description: Delete an Email Mailboxes parameters: - name: id in: path description: Mailboxes ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /email/settings: get: tags: - Email Mailboxes summary: View Mailbox Settings description: View Mailbox Settings responses: "200": description: OK security: - basicAuth: [] /notifications/email/bcc: get: tags: - Email Mailboxes summary: View Automatic Bcc emails description: View Automatic Bcc emails responses: "200": description: OK security: - basicAuth: [] /products/{productID}: get: tags: - Products summary: View a Product description: |- View a Product "message": "The Multi Product feature(s) is/are not supported in your plan. Please upgrade your account to use it." parameters: - name: productID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Products' security: - basicAuth: [] /products: get: tags: - Products summary: List All Products description: |- List All Products "message": "The Multi Product feature(s) is/are not supported in your plan. Please upgrade your account to use it." responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Products' security: - basicAuth: [] /business_hours/{businesshoursID}: get: tags: - Business Hours summary: View a Business Hour description: View a Business Hour parameters: - name: businesshoursID in: path description: Provide ID required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Business_Hours' security: - basicAuth: [] /business_hours: get: tags: - Business Hours summary: List All Business Hours description: List All Business Hours responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Business_Hours' security: - basicAuth: [] /scenario_automations.json: get: tags: - Scenario Based Automation summary: List All Scenario Automations description: List All Scenario Automations responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Scenario_Automations' security: - basicAuth: [] /sla_policies: get: tags: - SLA Policies summary: List All SLA Policies description: List All SLA Policies responses: "200": description: OK security: - basicAuth: [] /automations/{automation_type_id}/rules/{id}: delete: tags: - Automations summary: Delete an Automation Rule description: Delete an Automation Rule parameters: - name: automation_type_id in: path description: Type id of the automation required: true style: simple explode: false schema: type: integer format: int64 example: 42 - name: id in: path description: ID of the automation rule required: true style: simple explode: false schema: type: integer format: int64 example: 42 responses: "204": description: "HTTP Status: 204 No Content" security: - basicAuth: [] /settings/helpdesk: get: tags: - Settings summary: Settings are configured through the Admin page of the Freshdesk web app. description: Settings are configured through the Admin page of the Freshdesk web app. responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Settings' security: - basicAuth: [] components: schemas: Tickets: type: object properties: id: type: integer description: Unique ID of the ticket format: int64 example: 42 cc_emails: type: array example: - ram@freshdesk.com - diana@freshdesk.com items: type: string fwd_emails: type: array example: - ram@freshdesk.com - diana@freshdesk.com items: type: string reply_cc_emails: type: array example: - ram@freshdesk.com - diana@freshdesk.com items: type: string email_config_id: type: integer format: int64 group_id: type: integer format: int64 priority: type: integer format: int64 example: 1 requester_id: type: integer format: int64 example: 42 responder_id: type: integer format: int64 source: type: integer format: int64 example: 2 status: type: integer format: int64 example: 2 fr_escalated: type: boolean example: false spam: type: boolean example: false urgent: type: boolean example: false is_escalated: type: boolean example: false created_at: type: string format: datetime example: 2017-09-21T14:00:50Z updated_at: type: string format: datetime example: 2018-11-30T14:13:11Z due_by: type: string format: datetime example: 2018-11-30T14:13:11Z fr_due_by: type: string format: datetime example: 2018-11-30T14:13:11Z description_text: type: string example: Some details on the issue ... description: type: string example: