Requests 5 endpoints

GET /api/v2/requests/search

Examples:

  • GET /api/v2/requests/search.json?query=printer
  • GET /api/v2/requests/search.json?query=printer&organization_id=1
  • GET /api/v2/requests/search.json?query=printer&cc_id=true
  • GET /api/v2/requests/search.json?query=printer&status=hold,open

Pagination

  • Offset pagination only

See Using Offset Pagination.

Results limit

The Search Requests endpoint returns up to 1,000 results per query, with a maximum of 100 results per page. See Pagination. If you request a page past the limit (page=11 at 100 results per page), a 422 Insufficient Resource Error is returned.

Allowed For

  • End Users
operationId: Requests_searchResults

Parameters

Name In Required Type Description
query query optional string

The syntax and matching logic for the string is detailed in the Zendesk Support search reference. See also Query basics in the Tickets API doc.

Responses

200

Success response

GET /api/v2/requests/search
GET /api/v2/requests/{request_id}

Sideloads

The following sideloads are supported:

Name Will sideload
users The email ccs for a request by side-loading users

Allowed For

  • End Users
operationId: Requests_showRequest

Parameters

Name In Required Type Description
request_id path optional integer

The ID of the request

Responses

200

Success response

GET /api/v2/requests/{request_id}
PUT /api/v2/requests/{request_id}

Updates a request with a comment or collaborators (cc’s). The end user who created the request can also use it to mark the request as solved. The endpoint can’t be used to update other request attributes.

Writable properties

This endpoint can only update the following properties in the request.

Name Type Required Description
comment object no Adds a comment to the request. See Request comments
solved boolean no Marks the request as solved. Example: {"request": {"solved": "true"}}. End users can mark requests as solved only if the request’s can_be_solved_by_me property is true. The property is true only when the ticket is assigned to an agent and the ticket type is not a problem but a question, task, or incident
additional_collaborators array no Adds collaborators to the request. An email notification is sent to them when the ticket is updated. See Adding collaborators

Allowed For

  • End users
operationId: Requests_updateWithComment

Parameters

Name In Required Type Description
request_id path optional integer

The ID of the request

Responses

200

Success response

PUT /api/v2/requests/{request_id}
GET /api/v2/requests/{request_id}/comments

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Sorting

By default, comments are sorted by creation date in ascending order.

When using cursor pagination, use the following parameter to change the sort order:

Name Type Required Comments
sort string no Possible values are “created_at” (ascending order) or “-created_at” (descending order)

When using offset pagination, use the following parameters to change the sort order:

Name Type Required Comments
sort_by string no One of created_at, updated_at
sort_order string no One of asc, desc

Allowed For

  • End Users
operationId: Requests_listComments

Parameters

Name In Required Type Description
request_id path optional integer

The ID of the request

since query optional string

Filters the comments from the given datetime

role query optional string

One of “agent”, “end_user”. If not specified it does not filter

Responses

200

Success response

GET /api/v2/requests/{request_id}/comments
GET /api/v2/requests/{request_id}/comments/{ticket_comment_id}

Allowed For

  • End Users
operationId: Requests_getComments

Parameters

Name In Required Type Description
request_id path optional integer

The ID of the request

ticket_comment_id path optional integer

The ID of the ticket comment

Responses

200

Success response

GET /api/v2/requests/{request_id}/comments/{ticket_comment_id}

Reseller 2 endpoints

POST /api/v2/accounts
operationId: Reseller_createTrialAccount

Responses

201

Created response

POST /api/v2/accounts
GET /api/v2/accounts/available

Zendesk Support credentials are not required to access this endpoint. You can use any Zendesk Support subdomain.

Returns “true” if the subdomain is available.

operationId: Reseller_checkSubdomainAvailability

Parameters

Name In Required Type Description
subdomain query required string

Specify the name of the subdomain you want to verify. The name can’t contain underscores, hyphens, or spaces.

Responses

200

Success response

GET /api/v2/accounts/available

Resourcecollections 5 endpoints

GET /api/v2/resource_collections

Lists resource collections for the account.

Allowed for

  • Admins
operationId: ResourceCollections_list

Responses

200

Success response

GET /api/v2/resource_collections
POST /api/v2/resource_collections

Creates a resource collection from a provided payload object. The payload object is specified the same way as the content of a requirements.json file in a Zendesk app. See Specifying Apps Requirements in the Zendesk Apps framework docs.

The response includes a job
status
for creation of the specified resources.

Allowed for

  • Admins
operationId: ResourceCollections_createNewCollection

Responses

200

Success response

POST /api/v2/resource_collections
DELETE /api/v2/resource_collections/{resource_collection_id}

Deletes a specified resource collection.

The response includes a job
status
for deletion of the collection’s resources.

Allowed for

  • Admins
operationId: ResourceCollections_deleteCollection

Parameters

Name In Required Type Description
resource_collection_id path optional integer

The id of the resource collection

Responses

200

Success response

DELETE /api/v2/resource_collections/{resource_collection_id}
GET /api/v2/resource_collections/{resource_collection_id}

Retrieves details for a specified resource collection.

Allowed for

  • Admins
operationId: ResourceCollections_getDetails

Parameters

Name In Required Type Description
resource_collection_id path optional integer

The id of the resource collection

Responses

200

Success response

GET /api/v2/resource_collections/{resource_collection_id}
PUT /api/v2/resource_collections/{resource_collection_id}

Updates a resource collection using a provided payload object. The payload object is specified the same way as the content of a requirements.json file in a Zendesk app. See Specifying Apps Requirements in the Zendesk Apps framework docs.

The response includes a job
status
for the resource updates.

Allowed for

  • Admins
operationId: ResourceCollections_updateResourceCollection

Parameters

Name In Required Type Description
resource_collection_id path optional integer

The id of the resource collection

Responses

200

Success response

PUT /api/v2/resource_collections/{resource_collection_id}

Slapolicies 7 endpoints

GET /api/v2/slas/policies

Availability

  • Accounts on the Support Professional or Suite Growth plan or above

Allowed For

  • Admins
operationId: SlaPolicies_list

Responses

200

Success response

GET /api/v2/slas/policies
POST /api/v2/slas/policies

Availability

  • Accounts on the Support Professional or Suite Growth plan or above

Allowed For

  • Admins
operationId: SlaPolicies_createNewPolicy

Responses

201

Created response

POST /api/v2/slas/policies
GET /api/v2/slas/policies/definitions

Availability

  • Accounts on the Support Professional or Suite Growth plan or above

Allowed For

  • Admins
operationId: SlaPolicies_getSupportedFilterDefinitionItems

Responses

200

Success response

GET /api/v2/slas/policies/definitions
PUT /api/v2/slas/policies/reorder

Availability

  • Accounts on the Support Professional or Suite Growth plan or above

Allowed For

  • Admins
operationId: SlaPolicies_reorderSlaPolicies

Parameters

Name In Required Type Description
sla_policy_ids query optional array

The IDs of the SLA Policies to reorder

Responses

200

Success response

PUT /api/v2/slas/policies/reorder
DELETE /api/v2/slas/policies/{sla_policy_id}

Availability

  • Accounts on the Support Professional or Suite Growth plan or above

Allowed For

  • Admins
operationId: SlaPolicies_deletePolicy

Parameters

Name In Required Type Description
sla_policy_id path optional integer

The ID of the SLA Policy

Responses

204

No Content response

DELETE /api/v2/slas/policies/{sla_policy_id}
GET /api/v2/slas/policies/{sla_policy_id}

Availability

  • Accounts on the Support Professional or Suite Growth plan or above

Allowed For

  • Admins
operationId: SlaPolicies_showPolicy

Parameters

Name In Required Type Description
sla_policy_id path optional integer

The ID of the SLA Policy

Responses

200

Success response

GET /api/v2/slas/policies/{sla_policy_id}
PUT /api/v2/slas/policies/{sla_policy_id}

Updates the specified policy.

Availability

  • Accounts on the Support Professional or Suite Growth plan or above

Allowed For

  • Admins
operationId: SlaPolicies_updatePolicy

Parameters

Name In Required Type Description
sla_policy_id path optional integer

The ID of the SLA Policy

Responses

200

Success response

PUT /api/v2/slas/policies/{sla_policy_id}

Satisfactionratings 4 endpoints

GET /api/v2/satisfaction_ratings

Allowed For

  • Admins

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Filters

Parameter Value
score offered, unoffered, received, received_with_comment, received_without_comment,
good, good_with_comment, good_without_comment,
bad, bad_with_comment, bad_without_comment
start_time Time of the oldest satisfaction rating, as a Unix epoch time
end_time Time of the most recent satisfaction rating, as a Unix epoch time

If you specify an unqualified score such as good, the results include all the records with and without comments.

Examples:

  • /api/v2/satisfaction_ratings.json?score=bad
  • /api/v2/satisfaction_ratings.json?score=bad&start_time=1498151194
  • /api/v2/satisfaction_ratings.json?start_time=1340384793&end_time=1371920793
operationId: SatisfactionRatings_list

Responses

200

Success response

GET /api/v2/satisfaction_ratings
GET /api/v2/satisfaction_ratings/count

Returns an approximate count of satisfaction ratings in the account. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours.

The count[refreshed_at] property is a timestamp that indicates when the count was last updated.

Note: When the count exceeds 100,000, count[refreshed_at] may occasionally be null.
This indicates that the count is being updated in the background, and count[value] is limited to 100,000 until the update is complete.

Allowed For

  • Admins
operationId: SatisfactionRatings_getCount

Responses

200

Count of satisfaction ratings

GET /api/v2/satisfaction_ratings/count
GET /api/v2/satisfaction_ratings/{satisfaction_rating_id}

Returns a specific satisfaction rating. You can get the id from
the List Satisfaction Ratings endpoint.

Allowed For

  • Admins
operationId: SatisfactionRatings_getById

Parameters

Name In Required Type Description
satisfaction_rating_id path required integer

The id of the satisfaction rating to retrieve

Responses

200

Success response

GET /api/v2/satisfaction_ratings/{satisfaction_rating_id}
POST /api/v2/tickets/{ticket_id}/satisfaction_rating

Creates a CSAT rating for a solved ticket, or for a ticket that was previously
solved and then reopened.

Only the end user listed as the ticket requester can create a satisfaction rating for the ticket.

Allowed For

  • End user who requested the ticket

The end user must be a verified user.

operationId: SatisfactionRatings_createNewRating

Parameters

Name In Required Type Description
ticket_id path required integer

The id of the ticket

Responses

200

Success response

POST /api/v2/tickets/{ticket_id}/satisfaction_rating

Satisfactionreasons 2 endpoints

GET /api/v2/satisfaction_reasons

List all reasons for an account

Allowed For

  • Admins
operationId: SatisfactionReasons_listReasons

Responses

200

Success response

GET /api/v2/satisfaction_reasons
GET /api/v2/satisfaction_reasons/{satisfaction_reason_id}

Allowed For

  • Admins
operationId: SatisfactionReasons_showReasonById

Parameters

Name In Required Type Description
satisfaction_reason_id path required integer

The id of the satisfaction rating reason

Responses

200

Success response

GET /api/v2/satisfaction_reasons/{satisfaction_reason_id}

Sessions 7 endpoints

GET /api/v2/sessions

If authenticated as an admin, returns all the account’s sessions. If authenticated as an agent or end user, returns only the sessions of the user making the request.

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Allowed For

  • Admins, Agents, End users
operationId: Sessions_getAll

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/sessions
DELETE /api/v2/users/me/logout

Deletes the current session. In practice, this only works when using session auth for requests, such as client-side requests
made from a Zendesk app. When using OAuth or basic authentication, you don’t have a current session so this endpoint has no effect.

Allowed For

  • Admins, Agents, End users
operationId: Sessions_deleteAuthenticatedSession

Responses

204

No Content

DELETE /api/v2/users/me/logout
GET /api/v2/users/me/session

Allowed For

  • Admins, Agents, End users
operationId: Sessions_showAuthenticatedSession

Responses

200

Success response

GET /api/v2/users/me/session
GET /api/v2/users/me/session/renew

Allowed For

  • Admins, Agents, End users
operationId: Sessions_renewSession

Responses

200

Success response

GET /api/v2/users/me/session/renew
DELETE /api/v2/users/{user_id}/sessions

Deletes all the sessions for a user.

Allowed For

  • Admins, Agents, End users
operationId: Sessions_bulkDelete

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

204

No Content

DELETE /api/v2/users/{user_id}/sessions
DELETE /api/v2/users/{user_id}/sessions/{session_id}

Allowed For

  • Admins, Agents, End users
operationId: Sessions_deleteSession

Parameters

Name In Required Type Description
session_id path optional integer

The ID of the session

user_id path optional integer

The id of the user

Responses

204

No Content

DELETE /api/v2/users/{user_id}/sessions/{session_id}
GET /api/v2/users/{user_id}/sessions/{session_id}

Allowed For

  • Admins, Agents, End users
operationId: Sessions_showSession

Parameters

Name In Required Type Description
session_id path optional integer

The ID of the session

user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/users/{user_id}/sessions/{session_id}

Sharingagreements 5 endpoints

GET /api/v2/sharing_agreements

Allowed For

  • Agents
operationId: SharingAgreements_list

Responses

200

Success response

GET /api/v2/sharing_agreements
POST /api/v2/sharing_agreements

Allowed For

  • Admins
operationId: SharingAgreements_createNewAgreement

Responses

201

Created response

POST /api/v2/sharing_agreements
DELETE /api/v2/sharing_agreements/{sharing_agreement_id}

Deletes a sharing agreement.

Allowed For

  • Admins
operationId: SharingAgreements_deleteAgreement

Parameters

Name In Required Type Description
sharing_agreement_id path optional integer

The ID of the sharing agreement

Responses

204

No Content response

DELETE /api/v2/sharing_agreements/{sharing_agreement_id}
GET /api/v2/sharing_agreements/{sharing_agreement_id}

Returns a sharing agreement for your account.

Allowed For

  • Agents
operationId: SharingAgreements_show

Parameters

Name In Required Type Description
sharing_agreement_id path optional integer

The ID of the sharing agreement

Responses

200

Success response

GET /api/v2/sharing_agreements/{sharing_agreement_id}
PUT /api/v2/sharing_agreements/{sharing_agreement_id}

Returns an updated sharing agreement. Only status is allowed to be updated.

Allowed For

  • Admins
operationId: SharingAgreements_updateStatus

Parameters

Name In Required Type Description
sharing_agreement_id path optional integer

The ID of the sharing agreement

Responses

200

Success response

PUT /api/v2/sharing_agreements/{sharing_agreement_id}

Skillbasedrouting 10 endpoints

GET /api/v2/routing/agents/{user_id}/instance_values

Returns an attribute value.

Allowed For

  • Agents and admins
operationId: SkillBasedRouting_listAgentAttributeValues

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/routing/agents/{user_id}/instance_values
POST /api/v2/routing/agents/{user_id}/instance_values

Adds the specified attributes if no attributes exists, or replaces all existing attributes with the specified attributes.

Allowed For

  • Admins
operationId: SkillBasedRouting_setAgentAttributeValues

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

POST /api/v2/routing/agents/{user_id}/instance_values
GET /api/v2/routing/attributes

Returns a list of attributes for the account.

Sideloads

The following sideloads are supported:

Name Will sideload
attribute_values The attribute values available on the account

Allowed For

  • Agents and admins
operationId: SkillBasedRouting_listAccountAttributes

Responses

200

Success response

GET /api/v2/routing/attributes
POST /api/v2/routing/attributes

Creates an attribute.

Allowed For

  • Agents
operationId: SkillBasedRouting_createAttribute

Responses

201

Created response

POST /api/v2/routing/attributes
GET /api/v2/routing/attributes/definitions

Returns the condition definitions that can be configured to apply attributes to a ticket.

Allowed For

  • Admins
operationId: SkillBasedRouting_listAttributeDefinitions

Responses

200

Success response

GET /api/v2/routing/attributes/definitions
DELETE /api/v2/routing/attributes/{attribute_id}

Deletes an attribute.

Allowed For

  • Admins
operationId: SkillBasedRouting_deleteAttribute

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

Responses

204

No Content response

DELETE /api/v2/routing/attributes/{attribute_id}
GET /api/v2/routing/attributes/{attribute_id}

Returns an attribute.

Allowed For

  • Admins
operationId: SkillBasedRouting_showAttribute

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

Responses

200

Success response

GET /api/v2/routing/attributes/{attribute_id}
PUT /api/v2/routing/attributes/{attribute_id}

Updates an attribute.

Allowed For

  • Admins
operationId: SkillBasedRouting_updateAttribute

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

Responses

200

Success response

PUT /api/v2/routing/attributes/{attribute_id}
GET /api/v2/routing/attributes/{attribute_id}/values

Returns a list of attribute values for a provided attribute.

Allowed For

  • Admins
operationId: SkillBasedRouting_listAttributeValues

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

Responses

200

Success response

GET /api/v2/routing/attributes/{attribute_id}/values
POST /api/v2/routing/attributes/{attribute_id}/values

Creates an attribute value.

Allowed For

  • Admins
operationId: SkillBasedRouting_createAttributeValue

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

Responses

201

Created response

POST /api/v2/routing/attributes/{attribute_id}/values
Load more endpoints