freshdesk · Capability

Freshdesk REST API

The Freshdesk REST API (v2) provides programmatic access to helpdesk data and operations within Freshdesk, a customer support platform by Freshworks. It exposes endpoints for managing tickets, contacts, companies, agents, groups, conversations, products, email configurations, SLA policies, business hours, time entries, satisfaction ratings, solution categories, solution folders, solution articles, and more. The API uses JSON for request and response payloads, supports API key-based authentication, and follows RESTful conventions for CRUD operations.

Run with Naftiko FreshdeskAPI

What You Can Do

GET
Listtickets — List all tickets
/tickets
POST
Createticket — Create a ticket
/tickets
GET
Getticket — View a ticket
/tickets/{ticket_id}
PUT
Updateticket — Update a ticket
/tickets/{ticket_id}
DELETE
Deleteticket — Delete a ticket
/tickets/{ticket_id}
PUT
Restoreticket — Restore a deleted ticket
/tickets/{ticket_id}/restore
POST
Createoutboundemail — Create an outbound email ticket
/tickets/outbound_email
GET
Listticketconversations — List conversations on a ticket
/tickets/{ticket_id}/conversations
POST
Replytoticket — Reply to a ticket
/tickets/{ticket_id}/reply
POST
Createnote — Create a note on a ticket
/tickets/{ticket_id}/notes
POST
Forwardticket — Forward a ticket
/tickets/{ticket_id}/forward
PUT
Updateconversation — Update a conversation
/conversations/{conversation_id}
DELETE
Deleteconversation — Delete a conversation
/conversations/{conversation_id}
GET
Listtickettimeentries — List time entries for a ticket
/tickets/{ticket_id}/time_entries
POST
Createtimeentry — Create a time entry
/tickets/{ticket_id}/time_entries
GET
Listalltimeentries — List all time entries
/time_entries
PUT
Updatetimeentry — Update a time entry
/time_entries/{time_entry_id}
DELETE
Deletetimeentry — Delete a time entry
/time_entries/{time_entry_id}
PUT
Toggletimer — Toggle a timer
/time_entries/{time_entry_id}/toggle_timer
POST
Createsatisfactionrating — Create a satisfaction rating
/tickets/{ticket_id}/satisfaction_ratings
GET
Listsatisfactionratings — List all satisfaction ratings
/surveys/satisfaction_ratings
GET
Listticketwatchers — List watchers on a ticket
/tickets/{ticket_id}/watchers
POST
Watchticket — Watch a ticket
/tickets/{ticket_id}/watch
GET
Listassociatedtickets — List associated tickets
/tickets/{ticket_id}/associated_tickets
PUT
Mergetickets — Merge tickets
/tickets/merge
POST
Bulkupdatetickets — Bulk update tickets
/tickets/bulk_update
POST
Bulkdeletetickets — Bulk delete tickets
/tickets/bulk_delete
GET
Listcontacts — List all contacts
/contacts
POST
Createcontact — Create a contact
/contacts
GET
Getcontact — View a contact
/contacts/{contact_id}
PUT
Updatecontact — Update a contact
/contacts/{contact_id}
DELETE
Deletecontact — Delete a contact
/contacts/{contact_id}
PUT
Restorecontact — Restore a deleted contact
/contacts/{contact_id}/restore
POST
Mergecontacts — Merge contacts
/contacts/merge
POST
Exportcontacts — Export contacts
/contacts/export
GET
Listcontactfields — List all contact fields
/contact_fields
GET
Listcompanies — List all companies
/companies
POST
Createcompany — Create a company
/companies
GET
Getcompany — View a company
/companies/{company_id}
PUT
Updatecompany — Update a company
/companies/{company_id}
DELETE
Deletecompany — Delete a company
/companies/{company_id}
GET
Listcompanyfields — List all company fields
/company_fields
GET
Listagents — List all agents
/agents
GET
Getagent — View an agent
/agents/{agent_id}
PUT
Updateagent — Update an agent
/agents/{agent_id}
DELETE
Deleteagent — Delete an agent
/agents/{agent_id}
GET
Listgroups — List all groups
/groups
POST
Creategroup — Create a group
/groups
GET
Getgroup — View a group
/groups/{group_id}
PUT
Updategroup — Update a group
/groups/{group_id}
DELETE
Deletegroup — Delete a group
/groups/{group_id}
GET
Listroles — List all roles
/roles
GET
Getrole — View a role
/roles/{role_id}
GET
Listproducts — List all products
/products
GET
Getproduct — View a product
/products/{product_id}
PUT
Updateproduct — Update a product
/products/{product_id}
POST
Createproduct — Create a product
/products/{product_id}
GET
Listemailconfigs — List all email configurations
/email_configs
GET
Getemailconfig — View an email configuration
/email_configs/{email_config_id}
GET
Listslapolicies — List all SLA policies
/sla_policies

MCP Tools

listtickets

List all tickets

read-only idempotent
createticket

Create a ticket

getticket

View a ticket

read-only idempotent
updateticket

Update a ticket

idempotent
deleteticket

Delete a ticket

idempotent
restoreticket

Restore a deleted ticket

idempotent
createoutboundemail

Create an outbound email ticket

listticketconversations

List conversations on a ticket

read-only idempotent
replytoticket

Reply to a ticket

createnote

Create a note on a ticket

forwardticket

Forward a ticket

updateconversation

Update a conversation

idempotent
deleteconversation

Delete a conversation

idempotent
listtickettimeentries

List time entries for a ticket

read-only idempotent
createtimeentry

Create a time entry

listalltimeentries

List all time entries

read-only idempotent
updatetimeentry

Update a time entry

idempotent
deletetimeentry

Delete a time entry

idempotent
toggletimer

Toggle a timer

idempotent
createsatisfactionrating

Create a satisfaction rating

listsatisfactionratings

List all satisfaction ratings

read-only idempotent
listticketwatchers

List watchers on a ticket

read-only idempotent
watchticket

Watch a ticket

listassociatedtickets

List associated tickets

read-only idempotent
mergetickets

Merge tickets

idempotent
bulkupdatetickets

Bulk update tickets

bulkdeletetickets

Bulk delete tickets

listcontacts

List all contacts

read-only idempotent
createcontact

Create a contact

getcontact

View a contact

read-only idempotent
updatecontact

Update a contact

idempotent
deletecontact

Delete a contact

idempotent
restorecontact

Restore a deleted contact

idempotent
mergecontacts

Merge contacts

exportcontacts

Export contacts

listcontactfields

List all contact fields

read-only idempotent
listcompanies

List all companies

read-only idempotent
createcompany

Create a company

getcompany

View a company

read-only idempotent
updatecompany

Update a company

idempotent
deletecompany

Delete a company

idempotent
listcompanyfields

List all company fields

read-only idempotent
listagents

List all agents

read-only idempotent
getagent

View an agent

read-only idempotent
updateagent

Update an agent

idempotent
deleteagent

Delete an agent

idempotent
listgroups

List all groups

read-only idempotent
creategroup

Create a group

getgroup

View a group

read-only idempotent
updategroup

Update a group

idempotent
deletegroup

Delete a group

idempotent
listroles

List all roles

read-only idempotent
getrole

View a role

read-only idempotent
listproducts

List all products

read-only idempotent
getproduct

View a product

read-only idempotent
updateproduct

Update a product

idempotent
createproduct

Create a product

listemailconfigs

List all email configurations

read-only idempotent
getemailconfig

View an email configuration

read-only idempotent
listslapolicies

List all SLA policies

read-only idempotent

Capability Spec

freshdesk-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Freshdesk REST API
  description: The Freshdesk REST API (v2) provides programmatic access to helpdesk data and operations within Freshdesk,
    a customer support platform by Freshworks. It exposes endpoints for managing tickets, contacts, companies, agents, groups,
    conversations, products, email configurations, SLA policies, business hours, time entries, satisfaction ratings, solution
    categories, solution folders, solution articles, and more. The API uses JSON for request and response payloads, supports
    API key-based authentication, and follows RESTful conventions for CRUD operations.
  tags:
  - Freshdesk
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: freshdesk
    baseUri: https://yourdomain.freshdesk.com/api/v2
    description: Freshdesk REST API HTTP API.
    authentication:
      type: basic
      username: '{{FRESHDESK_USERNAME}}'
      password: '{{FRESHDESK_PASSWORD}}'
    resources:
    - name: tickets
      path: /tickets
      operations:
      - name: listtickets
        method: GET
        description: List all tickets
        inputParameters:
        - name: filter
          in: query
          type: string
          description: Pre-defined filter to apply. Options include new_and_my_open, watching, spam, deleted.
        - name: requester_id
          in: query
          type: integer
          description: Filter tickets by requester ID.
        - name: email
          in: query
          type: string
          description: Filter tickets by requester email address.
        - name: updated_since
          in: query
          type: string
          description: Return tickets updated since the given date-time in UTC format.
        - name: order_by
          in: query
          type: string
          description: Field to order results by.
        - name: order_type
          in: query
          type: string
          description: Sort direction for results.
        - name: include
          in: query
          type: string
          description: Include additional information such as requester, stats, or description.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createticket
        method: POST
        description: Create a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id
      path: /tickets/{ticket_id}
      operations:
      - name: getticket
        method: GET
        description: View a ticket
        inputParameters:
        - name: include
          in: query
          type: string
          description: Include additional information in the response.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateticket
        method: PUT
        description: Update a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteticket
        method: DELETE
        description: Delete a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-restore
      path: /tickets/{ticket_id}/restore
      operations:
      - name: restoreticket
        method: PUT
        description: Restore a deleted ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-outbound-email
      path: /tickets/outbound_email
      operations:
      - name: createoutboundemail
        method: POST
        description: Create an outbound email ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-conversations
      path: /tickets/{ticket_id}/conversations
      operations:
      - name: listticketconversations
        method: GET
        description: List conversations on a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-reply
      path: /tickets/{ticket_id}/reply
      operations:
      - name: replytoticket
        method: POST
        description: Reply to a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-notes
      path: /tickets/{ticket_id}/notes
      operations:
      - name: createnote
        method: POST
        description: Create a note on a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-forward
      path: /tickets/{ticket_id}/forward
      operations:
      - name: forwardticket
        method: POST
        description: Forward a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: conversations-conversation-id
      path: /conversations/{conversation_id}
      operations:
      - name: updateconversation
        method: PUT
        description: Update a conversation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteconversation
        method: DELETE
        description: Delete a conversation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-time-entries
      path: /tickets/{ticket_id}/time_entries
      operations:
      - name: listtickettimeentries
        method: GET
        description: List time entries for a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createtimeentry
        method: POST
        description: Create a time entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: time-entries
      path: /time_entries
      operations:
      - name: listalltimeentries
        method: GET
        description: List all time entries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: time-entries-time-entry-id
      path: /time_entries/{time_entry_id}
      operations:
      - name: updatetimeentry
        method: PUT
        description: Update a time entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletetimeentry
        method: DELETE
        description: Delete a time entry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: time-entries-time-entry-id-toggle-timer
      path: /time_entries/{time_entry_id}/toggle_timer
      operations:
      - name: toggletimer
        method: PUT
        description: Toggle a timer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-satisfaction-ratings
      path: /tickets/{ticket_id}/satisfaction_ratings
      operations:
      - name: createsatisfactionrating
        method: POST
        description: Create a satisfaction rating
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: surveys-satisfaction-ratings
      path: /surveys/satisfaction_ratings
      operations:
      - name: listsatisfactionratings
        method: GET
        description: List all satisfaction ratings
        inputParameters:
        - name: created_since
          in: query
          type: string
          description: Return ratings created since the given date-time.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-watchers
      path: /tickets/{ticket_id}/watchers
      operations:
      - name: listticketwatchers
        method: GET
        description: List watchers on a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-watch
      path: /tickets/{ticket_id}/watch
      operations:
      - name: watchticket
        method: POST
        description: Watch a ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-ticket-id-associated-tickets
      path: /tickets/{ticket_id}/associated_tickets
      operations:
      - name: listassociatedtickets
        method: GET
        description: List associated tickets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-merge
      path: /tickets/merge
      operations:
      - name: mergetickets
        method: PUT
        description: Merge tickets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-bulk-update
      path: /tickets/bulk_update
      operations:
      - name: bulkupdatetickets
        method: POST
        description: Bulk update tickets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tickets-bulk-delete
      path: /tickets/bulk_delete
      operations:
      - name: bulkdeletetickets
        method: POST
        description: Bulk delete tickets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts
      path: /contacts
      operations:
      - name: listcontacts
        method: GET
        description: List all contacts
        inputParameters:
        - name: email
          in: query
          type: string
          description: Filter contacts by email address.
        - name: phone
          in: query
          type: string
          description: Filter contacts by phone number.
        - name: mobile
          in: query
          type: string
          description: Filter contacts by mobile number.
        - name: company_id
          in: query
          type: integer
          description: Filter contacts by company ID.
        - name: state
          in: query
          type: string
          description: Filter contacts by state.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcontact
        method: POST
        description: Create a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts-contact-id
      path: /contacts/{contact_id}
      operations:
      - name: getcontact
        method: GET
        description: View a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecontact
        method: PUT
        description: Update a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecontact
        method: DELETE
        description: Delete a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts-contact-id-restore
      path: /contacts/{contact_id}/restore
      operations:
      - name: restorecontact
        method: PUT
        description: Restore a deleted contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts-merge
      path: /contacts/merge
      operations:
      - name: mergecontacts
        method: POST
        description: Merge contacts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts-export
      path: /contacts/export
      operations:
      - name: exportcontacts
        method: POST
        description: Export contacts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contact-fields
      path: /contact_fields
      operations:
      - name: listcontactfields
        method: GET
        description: List all contact fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies
      path: /companies
      operations:
      - name: listcompanies
        method: GET
        description: List all companies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcompany
        method: POST
        description: Create a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-company-id
      path: /companies/{company_id}
      operations:
      - name: getcompany
        method: GET
        description: View a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecompany
        method: PUT
        description: Update a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecompany
        method: DELETE
        description: Delete a company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: company-fields
      path: /company_fields
      operations:
      - name: listcompanyfields
        method: GET
        description: List all company fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: agents
      path: /agents
      operations:
      - name: listagents
        method: GET
        description: List all agents
        inputParameters:
        - name: email
          in: query
          type: string
          description: Filter agents by email address.
        - name: phone
          in: query
          type: string
          description: Filter agents by phone number.
        - name: mobile
          in: query
          type: string
          description: Filter agents by mobile number.
        - name: state
          in: query
          type: string
          description: Filter agents by state.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: agents-agent-id
      path: /agents/{agent_id}
      operations:
      - name: getagent
        method: GET
        description: View an agent
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateagent
        method: PUT
        description: Update an agent
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteagent
        method: DELETE
        description: Delete an agent
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: groups
      path: /groups
      operations:
      - name: listgroups
        method: GET
        description: List all groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: creategroup
        method: POST
        description: Create a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: groups-group-id
      path: /groups/{group_id}
      operations:
      - name: getgroup
        method: GET
        description: View a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updategroup
        method: PUT
        description: Update a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletegroup
        method: DELETE
        description: Delete a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: roles
      path: /roles
      operations:
      - name: listroles
        method: GET
        description: List all roles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: roles-role-id
      path: /roles/{role_id}
      operations:
      - name: getrole
        method: GET
        description: View a role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: products
      path: /products
      operations:
      - name: listproducts
        method: GET
        description: List all products
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: products-product-id
      path: /products/{product_id}
      operations:
      - name: getproduct
        method: GET
        description: View a product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateproduct
        method: PUT
        description: Update a product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createproduct
        method: POST
        description: Create a product
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: email-configs
      path: /email_configs
      operations:
      - name: listemailconfigs
        method: GET
        description: List all email configurations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: email-configs-email-config-id
      path: /email_configs/{email_config_id}
      operations:
      - name: getemailconfig
        method: GET
        description: View an email configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sla-policies
      path: /sla_policies
      operations:
      - name: listslapolicies
        method: GET
        description: List all SLA policies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: freshdesk-rest
    description: REST adapter for Freshdesk REST API.
    resources:
    - path: /tickets
      name: listtickets
      operations:
      - method: GET
        name: listtickets
        description: List all tickets
        call: freshdesk.listtickets
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets
      name: createticket
      operations:
      - method: POST
        name: createticket
        description: Create a ticket
        call: freshdesk.createticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}
      name: getticket
      operations:
      - method: GET
        name: getticket
        description: View a ticket
        call: freshdesk.getticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}
      name: updateticket
      operations:
      - method: PUT
        name: updateticket
        description: Update a ticket
        call: freshdesk.updateticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}
      name: deleteticket
      operations:
      - method: DELETE
        name: deleteticket
        description: Delete a ticket
        call: freshdesk.deleteticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/restore
      name: restoreticket
      operations:
      - method: PUT
        name: restoreticket
        description: Restore a deleted ticket
        call: freshdesk.restoreticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/outbound_email
      name: createoutboundemail
      operations:
      - method: POST
        name: createoutboundemail
        description: Create an outbound email ticket
        call: freshdesk.createoutboundemail
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/conversations
      name: listticketconversations
      operations:
      - method: GET
        name: listticketconversations
        description: List conversations on a ticket
        call: freshdesk.listticketconversations
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/reply
      name: replytoticket
      operations:
      - method: POST
        name: replytoticket
        description: Reply to a ticket
        call: freshdesk.replytoticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/notes
      name: createnote
      operations:
      - method: POST
        name: createnote
        description: Create a note on a ticket
        call: freshdesk.createnote
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/forward
      name: forwardticket
      operations:
      - method: POST
        name: forwardticket
        description: Forward a ticket
        call: freshdesk.forwardticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /conversations/{conversation_id}
      name: updateconversation
      operations:
      - method: PUT
        name: updateconversation
        description: Update a conversation
        call: freshdesk.updateconversation
        outputParameters:
        - type: object
          mapping: $.
    - path: /conversations/{conversation_id}
      name: deleteconversation
      operations:
      - method: DELETE
        name: deleteconversation
        description: Delete a conversation
        call: freshdesk.deleteconversation
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/time_entries
      name: listtickettimeentries
      operations:
      - method: GET
        name: listtickettimeentries
        description: List time entries for a ticket
        call: freshdesk.listtickettimeentries
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/time_entries
      name: createtimeentry
      operations:
      - method: POST
        name: createtimeentry
        description: Create a time entry
        call: freshdesk.createtimeentry
        outputParameters:
        - type: object
          mapping: $.
    - path: /time_entries
      name: listalltimeentries
      operations:
      - method: GET
        name: listalltimeentries
        description: List all time entries
        call: freshdesk.listalltimeentries
        outputParameters:
        - type: object
          mapping: $.
    - path: /time_entries/{time_entry_id}
      name: updatetimeentry
      operations:
      - method: PUT
        name: updatetimeentry
        description: Update a time entry
        call: freshdesk.updatetimeentry
        outputParameters:
        - type: object
          mapping: $.
    - path: /time_entries/{time_entry_id}
      name: deletetimeentry
      operations:
      - method: DELETE
        name: deletetimeentry
        description: Delete a time entry
        call: freshdesk.deletetimeentry
        outputParameters:
        - type: object
          mapping: $.
    - path: /time_entries/{time_entry_id}/toggle_timer
      name: toggletimer
      operations:
      - method: PUT
        name: toggletimer
        description: Toggle a timer
        call: freshdesk.toggletimer
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/satisfaction_ratings
      name: createsatisfactionrating
      operations:
      - method: POST
        name: createsatisfactionrating
        description: Create a satisfaction rating
        call: freshdesk.createsatisfactionrating
        outputParameters:
        - type: object
          mapping: $.
    - path: /surveys/satisfaction_ratings
      name: listsatisfactionratings
      operations:
      - method: GET
        name: listsatisfactionratings
        description: List all satisfaction ratings
        call: freshdesk.listsatisfactionratings
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/watchers
      name: listticketwatchers
      operations:
      - method: GET
        name: listticketwatchers
        description: List watchers on a ticket
        call: freshdesk.listticketwatchers
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/watch
      name: watchticket
      operations:
      - method: POST
        name: watchticket
        description: Watch a ticket
        call: freshdesk.watchticket
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/{ticket_id}/associated_tickets
      name: listassociatedtickets
      operations:
      - method: GET
        name: listassociatedtickets
        description: List associated tickets
        call: freshdesk.listassociatedtickets
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/merge
      name: mergetickets
      operations:
      - method: PUT
        name: mergetickets
        description: Merge tickets
        call: freshdesk.mergetickets
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/bulk_update
      name: bulkupdatetickets
      operations:
      - method: POST
        name: bulkupdatetickets
        description: Bulk update tickets
        call: freshdesk.bulkupdatetickets
        outputParameters:
        - type: object
          mapping: $.
    - path: /tickets/bulk_delete
      name: bulkdeletetickets
      operations:
      - method: POST
        name: bulkdeletetickets
        description: Bulk delete tickets
        call: freshdesk.bulkdeletetickets
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts
      name: listcontacts
      operations:
      - method: GET
        name: listcontacts
        description: List all contacts
        call: freshdesk.listcontacts
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts
      name: createcontact
      operations:
      - method: POST
        name: createcontact
        description: Create a contact
        call: freshdesk.createcontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/{contact_id}
      name: getcontact
      operations:
      - method: GET
        name: getcontact
        description: View a contact
        call: freshdesk.getcontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/{contact_id}
      name: updatecontact
      operations:
      - method: PUT
        name: updatecontact
        description: Update a contact
        call: freshdesk.updatecontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/{contact_id}
      name: deletecontact
      operations:
      - method: DELETE
        name: deletecontact
        description: Delete a contact
        call: freshdesk.deletecontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/{contact_id}/restore
      name: restorecontact
      operations:
      - method: PUT
        name: restorecontact
        description: Restore a deleted contact
        call: freshdesk.restorecontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/merge
      name: mergecontacts
      operations:
      - method: POST
        name: mergecontacts
        description: Merge contacts
        call: freshdesk.mergecontacts
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts/export
      name: exportcontacts
      operations:
      - method: POST
        name: exportcontacts
        description: Export contacts
        call: freshdesk.exportcontacts
        outputParameters:
        - type: object
          mapping: $.
    - path: /contact_fields
      name: listcontactfields
      operations:
      - method: GET
        name: listcontactfields
        description: List all contact fields
        call: freshdesk.listcontactfields
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies
      name: listcompanies
      operations:
      - method: GET
        name: listcompanies
        description: List all companies
        call: freshdesk.listcompanies
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies
      name: createcompany
      operations:
      - method: POST
        name: createcompany
        description: Create a company
        call: freshdesk.createcompany
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies/{company_id}
      name: getcompany
      operations:
      - method: GET
        name: getcompany
        description: View a company
        call: freshdesk.getcompany
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies/{company_id}
      name: updatecompany
      operations:
      - method: PUT
        name: updatecompany
        description: Update a company
        call: freshdesk.updatecompany
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies/{company_id}
      name: deletecompany
      operations:
      - method: DELETE
        name: deletecompany
        description: Delete a company
        call: freshdesk.deletecompany
        outputParameters:
        - type: object
          mapping: $.
    - path: /company_fields
      name: listcompanyfields
      operations:
      - method: GET
        name: listcompanyfields
        description: List all company fields
        call: freshdesk.listcompanyfields
        outputParameters:
        - type: object
          mapping: $.
    - path: /agents
      name: listagents
      operations:
      - method: GET
        name: listagents
        description: List all agents
        call: freshdesk.listagents
        outputParameters:
        - type: object
          mapping: $.
    - path: /agents/{agent_id}
      name: getagent
      operations:
      - method: GET
        name: getagent
        description: View an agent
        call: freshdesk.getagent
        outputParameters:
        - type: object
          mapping: $.
    - path: /agents/{agent_id}
      name: updateagent
      operations:
      - method: PUT
        name: updateagent
        description: Update an agent
        call: freshdesk.updateagent
        outputParameters:
        - type: object
          mapping: $.
    - path: /agents/{agent_id}
      name: deleteagent
      operations:
      - method: DELETE
        name: deleteagent
        description: Delete an agent
        call: freshdesk.deleteagent
        outputParameters:
        - type: object
          

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/freshdesk/refs/heads/main/capabilities/freshdesk-capability.yaml