Version 1
Connector Overview: This page documents all 417 actions for the Zendeskconnector v1.
Accounts
POST Create Trial Account
/accounts
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Actions
GET List Supported Actions for Macros
/macros/actions
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Active (4)
GET List Active Automations
/automations/active
Lists all active automations.
Allowed For
-
Agents
Available Parameters
You can pass in any combination of the following optional filters:
|
Name |
Type |
Comment |
|---|---|---|
|
sort_by |
string |
Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position" |
|
sort_order |
string |
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each automation, if present |
|
permissions |
The permissions for each automation |
|
usage_1h |
The number of times each automation has been used in the past hour |
|
usage_24h |
The number of times each automation has been used in the past day |
|
usage_7d |
The number of times each automation has been used in the past week |
|
usage_30d |
The number of times each automation has been used in the past thirty days |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Active Macros
/macros/active
Lists all active shared and personal macros available to the current user.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A sideload to include in the response. See Sideloads |
|
|
Filter macros by access. Possible values are "personal", "agents", "shared", or "account". The "agents" value returns all personal macros for the account's agents and is only available to admins. |
|
|
Filter macros by category |
|
|
Filter macros by group |
|
|
Possible values are alphabetical, "created_at", "updated_at", "usage_1h", "usage_24h", "usage_7d", or "usage_30d". Defaults to alphabetical |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
N/A |
GET List Active Triggers
/triggers/active
Lists all active triggers.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each trigger, if present |
|
permissions |
The permissions for each trigger |
|
usage_1h |
The number of times each trigger has been used in the past hour |
|
usage_24h |
The number of times each trigger has been used in the past day |
|
usage_7d |
The number of times each trigger has been used in the past week |
|
usage_30d |
The number of times each trigger has been used in the past thirty days |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Cursor-based pagination only. Possible values are "alphabetical", "created_at", "updated_at", or "position". |
|
|
Offset pagination only. Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position" |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
Filter triggers by category ID |
|
|
N/A |
GET List Active Views
/views/active
Lists active shared and personal views available to the current user.
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each view, if present |
|
permissions |
The permissions for each view |
Pagination
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Only views with given access. May be "personal", "shared", or "account" |
|
|
Only views belonging to given group |
|
|
Possible values are "alphabetical", "created_at", or "updated_at". Defaults to "position" |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
N/A |
Activities
GET List Activities
/activities
Lists ticket activities in the last 30 days affecting the agent making the request.
Also sideloads the following arrays of user records:
-
actors - All actors involved in the listed activities
-
users - All users involved in the listed activities
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A UTC time in ISO 8601 format to return ticket activities since said date. |
|
|
N/A |
Agent
GET List Locales for Agent
/locales/agent
Lists the translation locales that have been localized for agents on a specific account.
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Apply (2)
GET Show Changes to Ticket
/macros/{macro_id}/apply
Returns the changes the macro would make to a ticket. It doesn't actually
change a ticket. You can use the response data in a subsequent API call
to the Tickets endpoint to update the ticket.
The response includes only the ticket fields that would be changed by the
macro. To get the full ticket object after the macro is applied,
see Show Ticket After Changes.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the macro |
|
|
N/A |
GET Show Ticket After Changes
/tickets/{ticket_id}/macros/{macro_id}/apply
Returns the full ticket object as it would be after applying the macro to the ticket.
It doesn't actually change the ticket.
To get only the ticket fields that would be changed by the macro,
see Show Changes to Ticket.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
(Required) The ID of the macro |
|
|
N/A |
Assignable (2)
GET List Assignable Groups
/groups/assignable
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Assignable Memberships
/group_memberships/assignable
Returns a maximum of 100 group memberships per page.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For:
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Attachments (4)
POST Create Macro Attachment
/macros/{macro_id}/attachments
Allows an attachment to be uploaded and associated with a macro at the same time.
Note: A macro can be associated with up to five attachments.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the macro |
|
|
N/A |
POST Create Unassociated Macro Attachment
/macros/attachments
Allows an attachment to be uploaded that can be associated with a macro at a later time.
Note: To ensure an uploaded attachment is not lost, associate it with a macro as soon as possible. From time to time, old attachments that are not not associated with any macro are purged.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Macro Attachments
/macros/{macro_id}/attachments
Lists the attachments associated with a macro.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the macro |
|
|
N/A |
POST Suspended Ticket Attachments
/suspended_tickets/attachments
Makes copies of any attachments on a suspended ticket and returns them as attachment tokens. If the ticket is manually recovered, you can include the attachment tokens on the new ticket.
Allowed For
-
Admins and agents in custom roles with permission to manage suspended tickets on Enterprise plans
-
Unrestricted agents on all other plans
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Attribute_values
GET Incremental Attributes Values Export
/incremental/routing/attribute_values
Returns a stream of changes that occurred on routing attribute values.
Allowed For
-
Admins
Parameters
Optional
|
Name |
Type |
Comment |
|---|---|---|
|
cursor |
string |
The |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Attributes (3)
POST Create Attribute
/routing/attributes
Creates an attribute.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Incremental Attributes Export
/incremental/routing/attributes
Returns a stream of changes that occurred on routing attributes.
Allowed For
-
Admins
Parameters
Optional
|
Name |
Type |
Comment |
|---|---|---|
|
cursor |
string |
The |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Account Attributes
/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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Audit_logs
GET List Audit Logs
/audit_logs
Allowed For
-
Admins on accounts that have audit log access
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Filter audit logs by the source type. For example, user or rule |
|
|
Filter audit logs by the source id. Requires filter[source_type] to also be set. |
|
|
Filter audit logs by the actor id |
|
|
Filter audit logs by the ip address |
|
|
Filter audit logs by the time of creation |
|
|
Filter audit logs by the action |
|
|
Offset pagination only. Sort audit logs. Default is sort_by=created_at |
|
|
Offset pagination only. Sort audit logs. Default is sort_order=desc |
|
|
Cursor pagination only. Sort audit logs. Default is sort=-created_at |
|
|
N/A |
Audits
GET List Audits for a Ticket
/tickets/{ticket_id}/audits
Lists the audits for a specified ticket.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Note: Audits for Archived Tickets do not support pagination for this endpoint.
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Autocomplete (4)
GET Autocomplete Custom Object Record Search
/custom_objects/{custom_object_key}/records/autocomplete
Retrieves an array of custom object records that have a field value that matches the value specified in the name parameter.
Pagination
-
Cursor pagination only.
-
Returns the first 10,000 records sorted by relevancy with page limits.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Part of a name of the record you are searching for |
|
|
A pagination cursor that tells the endpoint which page to start on. It should be a meta.before_cursor value from a previous request. Note: page[before] and page[after] can't be used together in the same request. |
|
|
A pagination cursor that tells the endpoint which page to start on. It should be a meta.after_cursor value from a previous request. Note: page[before] and page[after] can't be used together in the same request. |
|
|
The number of records to return in the response. |
|
|
The id of the lookup field. If the field has a relationship filter, the filter is applied to the results. Must be used with source param. |
|
|
One of "zen:user", "zen:ticket", "zen:organization", or "zen:custom_object:CUSTOM_OBJECT_KEY". Represents the object field_id belongs to. Must be used with field_id param. |
|
|
(Required) The key of a custom object |
|
|
N/A |
GET Autocomplete Organizations
/organizations/autocomplete
Returns an array of organizations whose name starts with the
value specified in the name parameter.
Pagination
-
Offset pagination only
See Using Offset Pagination.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) A substring of an organization to search for |
|
|
The id of a lookup relationship field. The type of field is determined
|
|
|
If a field_id is provided, this specifies the type of the field.
|
|
|
N/A |
POST Autocomplete Problems
/problems/autocomplete
Returns tickets whose type is "problem" and whose subject contains the string specified in the text parameter.
You can specify the text parameter in the request body rather than the query string. Example:
{"text": "fire"}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The text to search for |
|
|
N/A |
Options (1)
|
Option Name |
Description |
|---|---|
|
|
N/A |
GET Autocomplete Users
/users/autocomplete
Returns an array of users whose name starts with the value specified in the name parameter.
It only returns users with no foreign identities.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The name to search for the user. |
|
|
The id of a lookup relationship field. The type of field is determined
|
|
|
If a field_id is provided, this specifies the type of the field.
|
|
|
N/A |
Automations (2)
POST Create Automation
/automations
Creates an automation.
New automations must be unique and have at least one condition that is true only once or an action that nullifies at least one of the conditions. Active automations can have overlapping conditions but can't be identical.
The request must include the following conditions in the all array:
-
At least one time-based condition
-
At least one condition that checks one of the following fields:
status,type,group_id,assignee_id, orrequester_id.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Automations
/automations
Lists all automations for the current account.
Allowed For
-
Agents
Available Parameters
You can pass in any combination of the following optional filters:
|
Name |
Type |
Comment |
|---|---|---|
|
active |
boolean |
Only active automations if true, inactive automations if false |
|
sort_by |
string |
Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position" |
|
sort_order |
string |
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
Sideloads
The following sideloads are supported. The usage sideloads are only supported on the Support Professional or Suite Growth plan or above.
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each automation, if present |
|
permissions |
The permissions for each automation |
|
usage_1h |
The number of times each automation has been used in the past hour |
|
usage_24h |
The number of times each automation has been used in the past day |
|
usage_7d |
The number of times each automation has been used in the past week |
|
usage_30d |
The number of times each automation has been used in the past thirty days |
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Available
GET Verify Subdomain Availability
/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.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Specify the name of the subdomain you want to verify. The name can't contain underscores, hyphens, or spaces. |
|
|
N/A |
Bookmarks (2)
POST Create Bookmark
/bookmarks
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Bookmarks
/bookmarks
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Brands (2)
POST Create Brand
/brands
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Brands
/brands
Returns a list of all brands for your account sorted by name.
Allowed for
-
Admins, Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Categories
GET List Macro Categories
/macros/categories
Lists all macro categories available to the current user.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Check_host_mapping (2)
GET Check Host Mapping Validity
/brands/check_host_mapping
Returns a JSON object determining whether a host mapping is valid for a given subdomain.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The hostmapping to a brand, if any (only admins view this key) |
|
|
(Required) Subdomain for a given Zendesk account address |
|
|
N/A |
GET Check Host Mapping Validity for an Existing Brand
/brands/{brand_id}/check_host_mapping
Returns a JSON object determining whether a host mapping is valid for the given brand.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the brand |
|
|
N/A |
Clone
POST Clone an already existing ticket form
/ticket_forms/{ticket_form_id}/clone
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket form |
|
|
N/A |
Collaborators
GET List Collaborators for a Ticket
/tickets/{ticket_id}/collaborators
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Comments (2)
GET List Comments
/tickets/{ticket_id}/comments
Returns the comments added to the ticket.
Each comment may include a content_url for an attachment or a recording_url for a voice comment that points to a file that may be hosted externally. For security reasons, take care not to inadvertently send Zendesk authentication credentials to third parties when attempting to access these files. See Working with url properties.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
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 |
|---|---|---|---|
|
|
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 |
|---|---|---|---|
|
|
string |
no |
One of |
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Default is false. When true, inline images are also listed as attachments in the response |
|
|
Accepts "users". Use this parameter to list email CCs by side-loading users. Example: ?include=users. Note: If the comment source is email, a deleted user will be represented as the CCd email address. If the comment source is anything else, a deleted user will be represented as the user name. |
|
|
(Required) The ID of the ticket |
|
|
N/A |
GET Listing Comments
/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 |
|---|---|---|---|
|
|
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 |
|---|---|---|---|
|
|
string |
no |
One of |
|
|
string |
no |
One of |
Allowed For
-
End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Filters the comments from the given datetime |
|
|
One of "agent", "end_user". If not specified it does not filter |
|
|
(Required) The ID of the request |
|
|
N/A |
Compact
GET List Views - Compact
/views/compact
A compacted list of shared and personal views available to the current user. This endpoint never returns more than 32 records and does not respect the "per_page" option.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Compliance_deletion_statuses
GET Show Compliance Deletion Statuses
/users/{user_id}/compliance_deletion_statuses
Returns the GDPR status for each user per area of compliance. A Zendesk area of compliance is typically a product like "support/explore" but can be more fine-grained for areas within the product lines.
If the user is not in the account, the request returns a 404 status.
Status: 404
{
"error":"RecordNotFound",
"description":"Not found"
}
Allowed For
-
Agents, with restrictions
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Area of compliance |
|
|
(Required) The id of the user |
|
|
N/A |
Count (16)
GET Count Activities
/activities/count
Returns an approximate count of ticket activities in the last 30 days affecting the agent making the request. 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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Audits for a Ticket
/tickets/{ticket_id}/audits/count
Returns an approximate count of audits for a specified ticket. 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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
GET Count Custom Object Records
/custom_objects/{custom_object_key}/records/count
Returns a total count of records for a specific custom object as well as the time the count was refreshed.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
GET Count Deleted Users
/deleted_users/count
Returns an approximate count of deleted users, including permanently deleted users. If the count exceeds 100,000, it is updated every 24 hours.
The response includes a refreshed_at property in a count object that contains a timestamp indicating 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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Groups
/groups/count
Returns an approximate count of groups. If the count exceeds 100,000, it is updated every 24 hours.
The refreshed_at property of the count object is a timestamp that indicates when the count was last updated.
Note: When the count exceeds 100,000, refreshed_at may occasionally be null. This indicates that the count is being updated in the background, and the value property of the count object is limited to 100,000 until the update is complete.
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Organizations
/organizations/count
Returns an approximate count of organizations. If the count exceeds
100,000, it is updated every 24 hours.
The refreshed_at property of the count object is a timestamp that indicates
when the count was last updated.
When the count exceeds 100,000, the refreshed_at property may
occasionally be null. This indicates that the count is being
updated in the background and the value property of the count object is limited to
100,000 until the update is complete.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Satisfaction Ratings
/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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Tags
/tags/count
Returns an approximate count of tags. If the count exceeds 100,000, it
is updated every 24 hours.
The refreshed_at property of the count object is a timestamp that indicates when
the count was last updated.
Note: When the count exceeds 100,000, the refreshed_at property in the count object may
occasionally be null. This indicates that the count is being
updated in the background and the value property in the count object is limited to
100,000 until the update is complete.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Ticket Comments
/tickets/{ticket_id}/comments/count
Returns an approximate count of the comments added to the ticket. 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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
GET Count Ticket Fields
/ticket_fields/count
Returns an approximate count of system and custom ticket fields 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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Tickets
/tickets/count
Returns an approximate count of tickets in the account. If the count exceeds 100,000, it is updated every 24 hours.
ccd lists tickets that the specified user is cc'd on.
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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Count Tickets in View
/views/{view_id}/count
Returns the ticket count for a single view.
This endpoint is rate limited to 5 requests per minute, per view, per agent.
View Counts
The view count endpoints, Count Tickets in View (this endpoint) and Count Tickets in Views, let you estimate how many tickets remain in a view without having to retrieve the entire view. They're designed to help estimate view size. From a business perspective, accuracy becomes less relevant as view size increases.
To ensure quality of service, these counts are cached more heavily as the number of tickets in a view grows. For a view with thousands of tickets, you can expect the count to be cached for 60-90 minutes. As a result, the count may not reflect the actual number of tickets in your view.
View counts are represented as JSON objects with the following attributes:
|
Name |
Type |
Comment |
|---|---|---|
|
view_id |
integer |
The id of the view |
|
url |
string |
The API url of the count |
|
value |
integer |
The cached number of tickets in the view. Can also be null if the system is loading and caching new data. Not to be confused with 0 tickets |
|
pretty |
string |
A pretty-printed text approximation of the view count |
|
fresh |
boolean |
false if the cached data is stale and the system is still loading and caching new data |
|
active |
boolean |
Only active views if true, inactive views if false, all views if null. |
Example
{
"view_count": {
"view_id": 25,
"url": "https://company.zendesk.com/api/v2/views/25/count.json",
"value": 719,
"pretty": "~700",
"fresh": true
}
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the view |
|
|
N/A |
GET Count Users
/users/count
Returns an approximate count of users. If the count exceeds 100,000, it is updated every 24 hours.
The response includes a refreshed_at property in a count object that contains a timestamp indicating when the count was last updated.
Note: When the count exceeds 100,000, the refreshed_at property may occasionally be null.
This indicates that the count is being updated in the background. The count object's value property is limited to 100,000 until the update is complete.
Allowed For
-
Admins, Agents and Light Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Filters the results by role. Possible values are "end-user", "agent", or "admin" |
|
|
Filters the results by more than one role using the format role[]={role}&role[]={role} |
|
|
For custom roles which is available on the Enterprise plan and above. You can only filter by one role ID per request |
|
|
N/A |
GET Count Views
/views/count
Returns an approximate count of shared and personal views available to the current user. 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
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Preview Ticket Count
/views/preview/count
Returns the ticket count for a single preview.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Show Results Count
/search/count
Returns the number of items matching the query rather than the items. The search string works the same as a regular search.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The search query |
|
|
N/A |
Count_many
GET Count Tickets in Views
/views/count_many
Returns the ticket count of each view in a list of views. Accepts up to 20 view ids per request. For the ticket count of a single view, see Count Tickets in View.
Only returns values for personal and shared views accessible to the user performing the request.
This endpoint is rate limited to 6 requests every 5 minutes.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) List of view's ids separated by commas. |
|
|
N/A |
Create_many (7)
POST Bulk Create Memberships
/group_memberships/create_many
Assigns up to 100 agents to given groups.
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage group memberships (Enterprise only)
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create Many Memberships
/organization_memberships/create_many
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create Many Organizations
/organizations/create_many
Accepts an array of up to 100 organization objects.
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Agents, with restrictions applying on certain actions
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create Many Tickets
/tickets/create_many
Accepts an array of up to 100 ticket objects. Note: Every ticket created with this endpoint may be affected by your business rules, which can include sending email notifications to your end users. If you are importing historical tickets or creating more than 1000 tickets, consider using the Ticket Bulk Import endpoint.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create Many Users
/users/create_many
Accepts an array of up to 100 user objects.
Note: To protect the data in your Zendesk account, bulk user imports are not enabled by default in Zendesk accounts. The account owner must contact Zendesk Customer Support to enable the imports. A 403 Forbidden
error is returned if data imports are not enabled.
Allowed For
-
Admins and agents in custom roles with permission to manage end users or team members
Specifying an organization
You can assign a user to an existing organization by setting an
organization_id property in the user object.
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create Many Variants
/dynamic_content/items/{dynamic_content_item_id}/variants/create_many
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
N/A |
POST Ticket Bulk Import
/imports/tickets/create_many
Accepts an array of up to 100 ticket objects.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
If true, any ticket created with a closed status bypasses the normal ticket lifecycle and will be created directly in your ticket archive |
|
|
N/A |
Create_or_update (2)
POST Create Or Update Organization
/organizations/create_or_update
Creates an organization if it doesn't already exist, or updates
an existing organization. Using this method means one less call
to check if an organization exists before creating it. You need
to specify the id or external id when updating
an organization to avoid a duplicate error response. Name is
not available as a matching criteria.
Allowed For
-
Agents, with restrictions on certain actions
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create Or Update User
/users/create_or_update
Creates a user if the user does not already exist, or updates an existing user
identified by e-mail address or external ID.
If you don't specify a role parameter, the new user is assigned the role of end user.
If you need to create users without sending out a verification email, include a "skip_verify_email": true property in the body.
External ID Case Sensitivity
When providing an external id to identify an existing user to update, the search for the user record is not case sensitive.
However, if an existing user is found, the system will update the user's external id to match the case of the external id used to find the user.
Response Status Code
-
If the user exists in Zendesk, a successful request returns a 200 status code with "Location: /api/v2/users/{user_id}.json".
-
If the user does not exist in Zendesk, a successful request returns a 201 status code with "Location: /api/v2/users/{new_user_id}.json".
Rate Limit
The rate limit is 5 requests per minute for each unique end user profile. For example, you can make 10 calls per second as long as you make five calls for one user and five calls for another user.
The rate limiting mechanism behaves as described in
Usage Limits
in the API introduction. Zendesk recommends that you obey the Retry-After header values.
Allowed For
-
Admins and agents in custom roles with permission to manage end users or team members
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Create_or_update_many
POST Create Or Update Many Users
/users/create_or_update_many
Accepts an array of up to 100 user objects. For each user, the user is created if it does not
already exist, or the existing user is updated.
Note: To protect the data in your Zendesk account, bulk user imports are not enabled by default in Zendesk accounts. The account owner must contact Zendesk Customer Support to enable the imports. A 403 Forbidden
error is returned if data imports are not enabled.
Each individual user object can identify an existing user by email or by external_id.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Admins and agents in custom roles with permission to manage end users or team members
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Current
GET Show Current Locale
/locales/current
This works like Show Locale, but instead of taking a locale id as an argument, it renders the locale of the user performing the request.
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Cursor (2)
GET Incremental Ticket Export, Cursor Based
/incremental/tickets/cursor
Returns the tickets that changed since the start time. For more information,
see Exporting tickets in Using the Incremental Exports API.
This endpoint supports cursor-based incremental exports.
Cursor-based exports are highly encouraged because they provide more consistent performance and
response body sizes. For more information, see Cursor-based incremental exports in Using the Incremental Exports API.
Allowed For
-
Admins
Sideloading
See Tickets sideloads. For performance reasons,
last_audits sideloads aren't supported.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The time to start the incremental export from. Must be at least one minute in the past. Data isn't provided for the most recent minute |
|
|
The cursor pointer to work with for all subsequent exports after the initial request |
|
|
N/A |
GET Incremental User Export, Cursor Based
/incremental/users/cursor
Allowed For
-
Admins
Sideloading
See Users sideloads.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The time to start the incremental export from. Must be at least one minute in the past. Data isn't provided for the most recent minute |
|
|
The cursor pointer to work with for all subsequent exports after the initial request |
|
|
The number of records to return per page |
|
|
N/A |
Custom_objects (2)
POST Create Custom Object
/custom_objects
Creates an object describing all the properties required to create a custom object record
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Custom Objects
/custom_objects
Lists all undeleted custom objects for the account
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Custom_roles (2)
POST Create Custom Role
/custom_roles
Availability
-
Accounts on the Enterprise plan or above
Allowed for
-
Administrators
-
Agents with the
manage_rolespermission
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Custom Roles
/custom_roles
Availability
-
Accounts on the Enterprise plan or above
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Custom_statuses (2)
POST Create Custom Ticket Status
/custom_statuses
Takes a custom_status object that specifies the custom ticket status properties to create.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Custom Ticket Statuses
/custom_statuses
Lists all undeleted custom ticket statuses for the account. No pagination is provided.
Allowed For
-
End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Filter the list of custom ticket statuses by a comma-separated list of status categories |
|
|
If true, show only active custom ticket statuses. If false, show only inactive custom ticket statuses. If the filter is not used, show all custom ticket statuses |
|
|
If true, show only default custom ticket statuses. If false, show only non-default custom ticket statuses. If the filter is not used, show all custom ticket statuses |
|
|
N/A |
Default
PUT Bulk Update Default Custom Ticket Status
/custom_status/default
Updates the default values for many custom ticket statuses at once.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Options (1)
|
Option Name |
Description |
|---|---|
|
|
N/A |
Definitions (5)
GET List Macro Action Definitions
/macros/definitions
Returns the definitions of the actions a macro can perform. For example,
one action can set the status of a ticket. The definition of the action
includes a title ("Status"), a type ("list"), and possible values. For a
list of support actions, see Actions reference.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Routing Attribute Definitions
/routing/attributes/definitions
Returns the condition definitions that can be configured to apply attributes to a ticket.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Trigger Action and Condition Definitions
/triggers/definitions
Returns the definitions of the actions a trigger can perform and the
definitions of the conditions under which a trigger can execute. The
definition of the action includes a title ("Status"), a type ("list"), and
possible values. The definition of the condition includes the same fields
as well as the possible operators.
For a list of supported actions, see the Actions reference
For a list of supported conditions, see the Conditions reference
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Retrieve Supported Filter Definition Items
/group_slas/policies/definitions
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Retrieve Supported Filter Definition Items1
/slas/policies/definitions
Availability
-
Accounts on the Support Professional or Suite Growth plan or above
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Deleted_tickets
GET List deleted tickets
/deleted_tickets
Returns a maximum of 100 deleted tickets per page. See Pagination.
The results includes all deleted (and not yet archived) tickets that
have not yet been scrubbed in the past 30 days. Archived tickets are
not included in the results. See About archived tickets
in the Support Help Center.
The tickets are ordered chronologically by created date, from oldest to newest.
The first ticket listed may not be the oldest ticket in your
account due to ticket archiving.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Rate Limit
You can make 10 requests every 1 minute using this endpoint.
When making requests beyond page 100, you can make 5 requests every 1 minute.
The rate limiting mechanism behaves as described in
Monitoring your request activity in the API introduction.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Sort by |
|
|
Sort order. Defaults to "asc" |
|
|
N/A |
Deleted_users
GET List Deleted Users
/deleted_users
Returns deleted users, including permanently deleted users.
If the results contains permanently deleted users, the users' properties
that normally contain personal data, such as email and phone,
are null. The name property is "Permanently Deleted User".
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Destroy_many (13)
DELETE Bulk Delete Automations
/automations/destroy_many
Deletes the automations corresponding to the provided comma-separated list of IDs.
Note: You might be restricted from deleting some default automations. If included in a bulk deletion, the unrestricted automations will be deleted.
Allowed For
-
Agents
Request Parameters
The DELETE request takes one parameter, an ids object that lists the automations to delete.
|
Name |
Description |
|---|---|
|
ids |
The IDs of the automations to delete |
Example request
{
"ids": "25,23,27,22"
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The IDs of the automations to delete |
|
|
N/A |
DELETE Bulk Delete Macros
/macros/destroy_many
Deletes the macros corresponding to the provided comma-separated list of IDs.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The IDs of the macros to delete |
|
|
N/A |
DELETE Bulk Delete Memberships
/group_memberships/destroy_many
Immediately removes users from groups and schedules a job to unassign all working tickets that are assigned to the given user and group combinations.
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage group memberships (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Id of the group memberships to delete. Comma separated |
|
|
N/A |
DELETE Bulk Delete Memberships1
/organization_memberships/destroy_many
Immediately removes a user from an organization and schedules a job to unassign all working tickets currently assigned to the user and organization combination. The organization_id of the unassigned tickets is set to null.
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The IDs of the organization memberships to delete |
|
|
N/A |
DELETE Bulk Delete Organizations
/organizations/destroy_many
Accepts a comma-separated list of up to 100 organization ids or external ids.
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage organizations (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A list of organization ids |
|
|
A list of external ids |
|
|
N/A |
DELETE Bulk Delete Tickets
/tickets/destroy_many
Accepts a comma-separated list of up to 100 ticket ids.
Allowed For
-
Admins
-
Agents with permission to delete tickets
Agent delete permissions are set in Support. See
Deleting tickets
in the Support Help Center.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Comma-separated list of ticket ids |
|
|
N/A |
DELETE Bulk Delete Triggers
/triggers/destroy_many
Deletes the triggers corresponding to the provided comma-separated list of IDs.
Allowed For
-
Agents
Request Parameters
The DELETE request takes one parameter, an ids object that lists the
triggers to delete.
|
Name |
Description |
|---|---|
|
ids |
The IDs of the triggers to delete |
Example request
{
"ids": "25,23,27,22"
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) A comma separated list of trigger IDs |
|
|
N/A |
DELETE Bulk Delete Users
/users/destroy_many
Accepts a comma-separated list of up to 100 user ids.
The request takes an ids or an external_ids query parameter.
Allowed for
-
Admins and agents in custom roles with permission to manage end users or team members
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Id of the users to delete. Comma separated |
|
|
External Id of the users to delete. Comma separated |
|
|
N/A |
DELETE Bulk Delete Views
/views/destroy_many
Deletes the views corresponding to the provided list of IDs.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The IDs of the views to delete |
|
|
N/A |
DELETE Bulk Delete Workspaces
/workspaces/destroy_many
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ids of the workspaces to delete |
|
|
N/A |
POST Bulk Unregister Push Notification Devices
/push_notification_devices/destroy_many
Unregisters the mobile devices that are receiving push notifications. Specify the devices as an array of mobile device tokens.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Options (1)
|
Option Name |
Description |
|---|---|
|
|
N/A |
DELETE Delete Multiple Suspended Tickets
/suspended_tickets/destroy_many
Accepts up to 100 ids (the auto-generated id, not the ticket id.)
Allowed For
-
Admins and agents in custom roles with permission to manage suspended tickets on Enterprise plans
-
Unrestricted agents on all other plans
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) A comma separated list of ids of suspended tickets to delete. |
|
|
N/A |
DELETE Delete multiple tickets permanently
/deleted_tickets/destroy_many
Permanently deletes up to 100 soft-deleted tickets. See Soft delete
in the Zendesk GDPR docs. To soft delete tickets, use the Bulk Delete Tickets endpoint.
This endpoint accepts a comma-separated list of up to 100 ticket ids. It enqueues
a ticket deletion job and returns a payload with the jobs status.
If one ticket fails to be deleted, the endpoint still attempts to delete the others. If the job succeeds,
the tickets that were successfully deleted are permanently deleted. This operation can't be undone.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Comma-separated list of ticket ids |
|
|
N/A |
Detect_best_locale
GET Detect Best Language for User
/locales/detect_best_locale
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Display (2)
POST Open Ticket in Agent's Browser
/channels/voice/agents/{agent_id}/tickets/{ticket_id}/display
Allows you to instruct an agent's browser to open a ticket.
When the message is successfully delivered to an agent's browser:
Status: 200 OK
When agent_id or ticket_id is invalid:
Status: 404 Not Found
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) ID of an agent |
|
|
(Required) The ID of the ticket |
|
|
N/A |
POST Open a User's Profile in an Agent's Browser
/channels/voice/agents/{agent_id}/users/{user_id}/display
Allows you to instruct an agent's browser to open a user's profile.
When the message is successfully delivered to an agent's browser:
Status: 200 OK
When agent_id or user_id is invalid:
Status: 404 Not Found
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) ID of an agent |
|
|
(Required) The id of the user |
|
|
N/A |
Email_ccs
GET List Email CCs for a Ticket
/tickets/{ticket_id}/email_ccs
Returns any users cc'd on the ticket.
Availability
The CCs and Followers feature must be enabled in Zendesk Support.
If the feature is not enabled, the default CC functionality is used. In that case, use List Collaborators to list the users cc'ed on the ticket.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Execute
GET Execute View
/views/{view_id}/execute
Returns the column titles and the rows of the specified view.
The columns array lists the view's column titles and includes only views parameters.
The rows array lists the values of each column for each ticket and includes parameters from both views and tickets. Though not displayed in the view, a partial ticket object is included with each row object.
Note: To get the full ticket objects for a specified view, use List Tickets from a View.
This endpoint is rate limited to 5 requests per minute, per view, per agent.
The view execution system is designed for periodic rather than high-frequency API usage. In particular, views called very frequently may be cached by Zendesk. This means that the API client will still receive a result, but that result may have been computed at any time within the last 10 minutes.
Zendesk recommends using the Incremental Ticket Export endpoint to get the latest changes. You can call it more often, and it returns all the tickets that changed since the last poll. For details and rate limits, see Incremental Exports.
View output sorting can be controlled by passing the sort_by and sort_order parameters in the format described in the table in Preview Views.
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The ticket field used for sorting. This will either be a title or a custom field id. |
|
|
The direction the tickets are sorted. May be one of 'asc' or 'desc' |
|
|
(Required) The ID of the view |
|
|
N/A |
Export (4)
POST Export Audit Logs
/audit_logs/export
Allowed For
-
Admins on accounts that have audit log access
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Filter audit logs by the source type. For example, user or rule |
|
|
Filter audit logs by the source id. Requires filter[source_type] to also be set. |
|
|
Filter audit logs by the actor id |
|
|
Filter audit logs by the ip address |
|
|
Filter audit logs by the time of creation |
|
|
Filter audit logs by the action |
|
|
N/A |
GET Export Search Results
/search/export
Exports a set of results. See Query basics for the syntax of the query parameter.
This endpoint is for search queries that will return more than 1000 results. The result set is ordered only by the created_at attribute.
The search only returns results of a single object type. The following object types are supported: ticket, organization, user, or group.
You must specify the type in the filter[type] parameter. Searches with type in the query string will result in an error.
Allowed For
-
Agents
Pagination
-
Cursor pagination
See Pagination.
Returns a maximum of 1000 records per page. The number of results shown in a page is determined by the page[size] parameter.
Note: You may experience a speed reduction or a timeout if you request 1000 results per page and you have many archived tickets in the results. Try reducing the number of results per page. We recommend 100 results per page.
The cursor specified by the after_cursor property in a response expires after one hour.
For more information on cursor-based pagination, see the following articles:
-
Comparing cursor pagination and offset pagination
-
Paginating through lists using cursor pagination
Limits
This API endpoint is rate-limited to 100 requests per minute per account. The limit also counts towards the global API rate limit.
Response Format
|
Name |
Type |
Comment |
|---|---|---|
|
links[next] |
string |
URL to the next page of results |
|
meta[has_more] |
string |
Boolean indicating if there are more results |
|
meta[after_cursor] |
string |
Cursor object returned from the Search Service |
|
results |
array |
May consist of tickets, users, groups, or organizations, as specified by the |
The response is similar to the response of GET /api/v2/search.json?, with a few changes:
-
links- Has the following nested properties:prevandnext. These replace thenext_pageandprev_pagelinks. Theprevproperty is always null because backward pagination is not supported. Thenextproperty may include an auto-generated link to the next page of results. -
meta- Has the following nested properties:has_moreandafter_cursor. Thehas_moreproperty indicates whether the next page has more results. Theafter_cursorproperty is the cursor used to paginate to the next page. It expires after one hour.
There's no count property.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The search query. See Query basics above. For details on the query syntax, see the Zendesk Support search reference |
|
|
The number of results shown in a page. |
|
|
The object type returned by the export query. Can be ticket, organization, user, or group. |
|
|
N/A |
POST Export Suspended Tickets
/suspended_tickets/export
Exports a list of suspended tickets for the Zendesk Support instance. To export the list, the endpoint enqueues a job to create a CSV file with the data. When done, Zendesk sends the requester an email containing a link to the CSV file. In the CSV, tickets are sorted by the update timestamp in ascending order.
#### Allowed For
-
Admins and agents in custom roles with permission to manage suspended tickets on Enterprise plans
-
Unrestricted agents on all other plans
#### Rate limits
Limited to one request per minute and up to one million records in return. The rate-limiting mechanism behaves identically to the one described in Usage limits.
We recommend using the Retry-After header value as described in Catching errors caused by rate limiting.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Export View
/views/{view_id}/export
Returns the csv attachment of the specified view if possible. Enqueues a job to produce the csv if necessary.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the view |
|
|
N/A |
Field_limit
GET Custom Object Fields Limit
/custom_objects/{custom_object_key}/limits/field_limit
List the current count and the limit for a custom object's fields
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
Fields (2)
POST Create Custom Object Field
/custom_objects/{custom_object_key}/fields
Creates any of the following custom field types:
-
text (default when no "type" is specified)
-
textarea
-
checkbox
-
date
-
integer
-
decimal
-
regexp
-
dropdown
-
lookup
See About custom field types in Zendesk help.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
GET List Custom Object Fields
/custom_objects/{custom_object_key}/fields
Lists all undeleted custom fields for the specified object.
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Include standard fields if true. Exclude them if false |
|
|
(Required) The key of a custom object |
|
|
N/A |
Followers
GET List Followers for a Ticket
/tickets/{ticket_id}/followers
Returns any users who follow the ticket.
Availability
The CCs and Followers feature must be enabled in Zendesk Support.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Fulfilled
GET List Tickets Fulfilled by a User
/routing/requirements/fulfilled
Returns a list of ticket ids that contain attributes matching the current user's attributes. Accepts a ticket_ids parameter for relevant tickets to check for matching attributes.
Allowed For
-
Agents and admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Group_memberships (2)
POST Create Membership
/group_memberships
Assigns an agent to a given group.
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage group memberships (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Memberships
/group_memberships
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For:
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Groups (2)
POST Create Group
/groups
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage groups (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Groups
/groups
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Identities (2)
POST Create Identity
/users/{user_id}/identities
Adds an identity to a user's profile. An agent can add an identity to any user profile.
Supported identity types:
|
Type |
Example |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
agent_forwarding |
|
|
phone_number |
|
To create an identity without sending out a verification email, include a "skip_verify_email": true property.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
GET List Identities
/users/{user_id}/identities
Returns a list of identities for the given user.
Use the first endpoint if authenticating as an agent. Use the second if authenticating as an end user. End users can only list email and phone number identities.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
-
Verified end users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
Incidents
GET List Ticket Incidents
/tickets/{ticket_id}/incidents
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Instance_values (5)
GET Incremental Instance Values Export
/incremental/routing/instance_values
Returns a stream of changes that occurred on routing instance values. Changes are grouped by attribute_value_id,
with unassociate type events listed with associate type events by the associate event’s timestamp.
Allowed For
-
Admins
Parameters
Optional
|
Name |
Type |
Comment |
|---|---|---|
|
cursor |
string |
The |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Agent Attribute Values
/routing/agents/{user_id}/instance_values
Returns an attribute value.
Allowed For
-
Agents and admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
GET List Ticket Attribute Values
/routing/tickets/{ticket_id}/instance_values
Returns a list of attributes values for the ticket.
Allowed For
-
Agents and admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
POST Set Agent Attribute Values
/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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
POST Set Ticket Attribute Values
/routing/tickets/{ticket_id}/instance_values
Adds the specified attributes if no attributes exists, or replaces all existing attributes with the specified attributes.
Invalid or deleted attributes are ignored.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Items (2)
POST Create Item
/dynamic_content/items
Create a new content item, with one or more variants in the item's variants array. See Specifying item variants.
The default_locale_id and variant locale_id values must be one of the locales the account has active. You can get the list with the List Locales endpoint.
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Items
/dynamic_content/items
Returns a list of all dynamic content items for your account if accessed as an admin or agents who have permission to manage dynamic content.
Allowed For
-
Admins, Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Job_statuses
GET List Job Statuses
/job_statuses
Shows the statuses for background jobs. Statuses are sorted first by completion date and then by creation date in descending order.
Allowed For:
-
Agents
Pagination
-
Cursor pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Jobs (2)
POST Create Batch Job for Trigger Categories
/trigger_categories/jobs
Creates a job that performs a batch operation for the given trigger categories.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Custom Object Record Bulk Jobs
/custom_objects/{custom_object_key}/jobs
Queues a background job to perform bulk actions on up to 100 custom object records per single request.
Takes a job object with two nested fields:
-
action, one of: -
"create" -
"delete" -
"delete_by_external_id" -
items -
For a
"create"action, an array of JSON objects representing the custom object records being created -
For a
"delete"action, an array of strings representing Zendesk record ids -
For a
"delete_by_external_id"action, an array of strings representing external ids
Allowed For
-
Agents
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
Locales
GET List Locales
/locales
Lists the translation locales available for the account.
Note: You can alter the list by passing an updated locale_ids array to the Update Account Settings endpoint.
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Logout
DELETE Delete the Authenticated Session
/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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Logout_many
POST Logout many users
/users/logout_many
Accepts a comma-separated list of up to 100 user ids.
Allowed For:
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Accepts a comma-separated list of up to 100 user ids. |
|
|
N/A |
Macros (2)
POST Create Macro
/macros
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Macros
/macros
Lists all shared and personal macros available to the current user. For admins, the API returns all macros for the account, including the personal macros of agents and other admins.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A sideload to include in the response. See Sideloads |
|
|
Filter macros by access. Possible values are "personal", "agents", "shared", or "account". The "agents" value returns all personal macros for the account's agents and is only available to admins. |
|
|
Filter by active macros if true or inactive macros if false |
|
|
Filter macros by category |
|
|
Filter macros by group |
|
|
If true, returns only macros that can be applied to tickets. If false, returns all macros the current user can manage. Default is false |
|
|
Possible values are alphabetical, "created_at", "updated_at", "usage_1h", "usage_24h", "usage_7d", or "usage_30d". Defaults to alphabetical |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
N/A |
Make_default (3)
PUT Set Membership as Default
/users/{user_id}/group_memberships/{group_membership_id}/make_default
Allowed For:
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the group membership |
|
|
N/A |
PUT Set Membership as Default
/users/{user_id}/organization_memberships/{organization_membership_id}/make_default
Sets the default organization membership of a given user.
Allowed for
-
Admins
-
Agents when setting the default organization membership for an end user
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the organization membership |
|
|
N/A |
PUT Set Organization as Default
/users/{user_id}/organizations/{organization_id}/make_default
Sets the default organization membership of a given user.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of an organization |
|
|
N/A |
Make_primary
PUT Make Identity Primary
/users/{user_id}/identities/{user_identity_id}/make_primary
Sets the specified identity as primary. To change other attributes, use the Update Identity endpoint. This is a collection-level operation and the correct behavior for an API client is to subsequently reload the entire collection.
The first endpoint is the preferred option if authenticating as an agent. If authenticating as an end user, you can only use the second endpoint. In addition, an end user can only make an email identity primary if the email is verified.
Allowed For
-
Agents
-
Verified end users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the user identity |
|
|
N/A |
Make_private (2)
PUT Change a comment from public to private
/tickets/{ticket_id}/audits/{ticket_audit_id}/make_private
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
(Required) The ID of the ticket audit |
|
|
N/A |
PUT Make Comment Private
/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
(Required) The ID of the ticket comment |
|
|
N/A |
Mark_as_spam
PUT Mark Ticket as Spam and Suspend Requester
/tickets/{ticket_id}/mark_as_spam
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Mark_many_as_spam
PUT Bulk Mark Tickets as Spam
/tickets/mark_many_as_spam
Accepts a comma-separated list of up to 100 ticket ids.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Comma-separated list of ticket ids |
|
|
N/A |
Me
GET Show Self
/users/me
Allowed For
-
Anonymous users
Authenticity Token
The endpoint returns an authenticity_token. Zendesk API calls made by end users from a Zendesk help center must include this token in the X-CSRF-Token HTTP header. This helps prevent cross-site request forgery (CSRF) attacks.
For an example using an authenticity token, see the AJAX request in the Upgrading from Templating API v1 documentation.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Merge (2)
PUT Merge End Users
/users/{user_id}/merge
Merges the end user specified in the path parameter into the existing end user specified in the request body.
Any two end users can be merged with the exception of end users created by sharing agreements.
Agents and admins cannot be merged.
For more information about how user data is merged, see Merging a user's duplicate account in Zendesk help.
Allowed For
-
Admins or agents with permission to edit end users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
POST Merge Tickets into Target Ticket
/tickets/{ticket_id}/merge
Merges one or more tickets into the ticket with the specified id.
See Merging tickets
in the Support Help Center for ticket merging rules.
Any attachment to the source ticket is copied to the target ticket.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Agents
Agents in the Enterprise account must have merge permissions.
See Creating custom roles and assigning agents (Enterprise)
in the Support Help Center.
Available parameters
The request takes a data object with the following properties:
|
Name |
Type |
Required |
Comments |
|---|---|---|---|
|
ids |
array |
yes |
Ids of tickets to merge into the target ticket |
|
target_comment |
string |
no |
Private comment to add to the target ticket. This comment is optional but strongly recommended |
|
source_comment |
string |
no |
Private comment to add to the source ticket. This comment is optional but strongly recommended |
|
target_comment_is_public |
boolean |
no |
Whether comments in the target ticket are public or private |
|
source_comment_is_public |
boolean |
no |
Whether comments in the source tickets are public or private |
target_comment and source_comment can be used to provide a reason for the merge for recordkeeping purposes. If the source ticket has attachments, they are included in target_comment.
Comments are private and can't be modified in the following cases:
-
Any of the sources or target tickets are private
-
Any of the sources or target tickets were created through Twitter, Facebook or the Channel framework
In any other case, comments default to private but can be modified with the comment privacy parameters.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Options (5)
|
Option Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
New
GET Show Macro Replica
/macros/new
Returns an unpersisted macro representation derived from a ticket or macro.
The endpoint takes one of the following query parameters: macro_id or ticket_id. If you include both, macro_id is used.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the macro to replicate |
|
|
(Required) The ID of the ticket from which to build a macro replica |
|
|
N/A |
Object_limit
GET Custom Objects Limit
/custom_objects/limits/object_limit
List the current count and the limit for custom objects
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Options (4)
POST Create or Update Ticket Field Option
/ticket_fields/{ticket_field_id}/options
Creates or updates an option for the given drop-down ticket field.
To update an option, include the id of the option in the custom_field_option object. Example:
{"custom_field_option": {"id": 10002, "name": "Pineapples", ... }
If an option exists for the given ID, the option will be updated. Otherwise, a new option will be created.
Response
Returns one of the following status codes:
-
200 with
Location: /api/v2/ticket_fields/{ticket_field_id}/options.jsonif the ticket field option already exists in the database -
201 with
Location: /api/v2/ticket_fields/{ticket_field_id}/options.jsonif the ticket field option is new
Allowed For
-
Admins
Rate Limit
You can make 100 requests every 1 minute using this endpoint.
The rate limiting mechanism behaves as described in
Monitoring your request activity in the API introduction.
Field Option Limits
-
2000 options per ticket field
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket field |
|
|
N/A |
POST Create or Update a User Field Option
/user_fields/{user_field_id}/options
Creates a new option or updates an existing option for the given drop-down user field.
To update an option, include the id of the option in the custom_field_option object. Example: {"custom_field_option": {"id": 10002, "name": "Pineapples", ... }. If an option exists for the given ID, the option will be updated. Otherwise, a new option will be created.
Response
Returns one of the following status codes:
-
200 with
Location: /api/v2/user_fields/{user_field_id}/options.jsonif the user field option already exists in the database -
201 with
Location: /api/v2/user_fields/{user_field_id}/options.jsonif the user field option is new
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the user field |
|
|
N/A |
GET List Ticket Field Options
/ticket_fields/{ticket_field_id}/options
Returns a list of custom ticket field options for the given drop-down ticket field.
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket field |
|
|
N/A |
GET List User Field Options
/user_fields/{user_field_id}/options
Returns a list of custom user field options for the given dropdown user field.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the user field |
|
|
N/A |
Organization_fields (2)
POST Create Organization Field
/organization_fields
Creates any of the following custom field types:
-
text (default when no "type" is specified)
-
textarea
-
checkbox
-
date
-
integer
-
decimal
-
regexp
-
dropdown
-
lookup
See About custom field types in Zendesk help.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Organization Fields
/organization_fields
Returns a list of custom organization fields in your account. Fields are returned in the order that you specify in your organization fields configuration in Zendesk Support. Clients should cache this resource for the duration of their API usage and map the key for each organization field to the values returned under the organization_fields attribute on the organization resource.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Organization_memberships (2)
POST Create Membership
/organization_memberships
Assigns a user to a given organization. Returns an error with status 422 if the user is already assigned to the organization.
Allowed For
-
Admins
-
Agents when creating a new organization membership for an end user
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Memberships
/organization_memberships
Returns a list of organization memberships for the account, user or organization in question.
Note: When returning organization memberships for a user, organization memberships are sorted with the default organization first, and then by organization name.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
-
End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Organization_subscriptions (2)
POST Create Organization Subscription
/organization_subscriptions
Allowed For:
-
Agents
-
End users
End users can only subscribe to shared organizations in which they're members.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Organization Subscriptions
/organization_subscriptions
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For:
-
Agents
-
End users
For end users, the response will only list the subscriptions created by the requesting end user.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Organizations (3)
POST Create Organization
/organizations
You must provide a unique name for each organization. Normally
the system doesn't allow records to be created with identical names.
However, a race condition can occur if you make two or more identical
POSTs very close to each other, causing the records to have identical
organization names.
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage organizations (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Incremental Organization Export
/incremental/organizations
Allowed For
-
Admins
Sideloading
See Organizations sideloads.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The time to start the incremental export from. Must be at least one minute in the past. Data isn't provided for the most recent minute |
|
|
N/A |
GET List Organizations
/organizations
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents, with certain restrictions
If the agent has a custom agent role that restricts their access to only users in their own organization, a 403 Forbidden error is returned. See Creating custom agent roles in Zendesk help.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Password (2)
PUT Change Your Password
/users/{user_id}/password
You can only change your own password. Nobody can change the password of another user because it requires knowing the user's existing password. However, an admin can set a new password for another user without knowing the existing password. See Set a User's Password above.
Allowed For
-
Agents
-
End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
POST Set a User's Password
/users/{user_id}/password
An admin can set a user's password only if the setting is enabled in Zendesk Support under Settings > Security > Global. The setting is off by default. Only the account owner can access and change this setting.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
Policies (4)
POST Create Group SLA Policy
/group_slas/policies
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create SLA Policy
/slas/policies
Availability
-
Accounts on the Support Professional or Suite Growth plan or above
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Group SLA Policies
/group_slas/policies
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List SLA Policies
/slas/policies
Availability
-
Accounts on the Support Professional or Suite Growth plan or above
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Preview
POST Preview Views
/views/preview
You can preview views by constructing the conditions in the proper format and nesting them under the view property. See Conditions reference. The output can also be controlled by passing in any of the following parameters and nesting them under the output property.
|
Name |
Type |
Comment |
|---|---|---|
|
columns |
Array |
The ticket fields to display. System fields are looked up by name, custom fields by title or id. See the View columns table |
|
group_by |
String |
When present, the field by which the tickets are grouped |
|
group_order |
String |
The direction the tickets are grouped. May be one of "asc" or "desc" |
|
sort_order |
String |
The direction the tickets are sorted. May be one of "asc" or "desc" |
|
sort_by |
String |
The ticket field used for sorting. This will either be a title or a custom field id. |
This endpoint is rate limited to 5 requests per minute, per view, per agent.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Problems
GET List Ticket Problems
/problems
The response is always ordered by updated_at in descending order
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Public
GET List Available Public Locales
/locales/public
Lists the translation locales that are available to all accounts.
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Recipient_addresses (2)
POST Create Support Address
/recipient_addresses
Adds a Zendesk or external support address to your account.
To add a Zendesk address, use the following syntax: {local-part}@{accountname}.zendesk.com.
Example: 'sales-team@example.zendesk.com'. The local-part can be anything you like.
To add an external email address such as help@omniwearshop.com, the email must already exist and you must set up forwarding on your email server. The exact steps depend on your mail server. See Forwarding incoming email to Zendesk Support. After setting up forwarding, run the Verify Support Address Forwarding endpoint. The address won't work in Zendesk Support until it's been verified.
Allowed For
-
Admins
-
Agents with permission to manage channels and extensions. See the system permissions in Creating custom roles and assigning agents (Enterprise) in the Support Help Center
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Support Addresses
/recipient_addresses
Lists all the support addresses for the account.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Record_limit
GET Custom Object Records Limit
/custom_objects/limits/record_limit
List the current count and the limit for custom object records
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Records (4)
POST Create Custom Object Record
/custom_objects/{custom_object_key}/records
Creates a custom object record according to all the properties described by a custom object definition
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
DELETE Delete Custom Object Record by External Id
/custom_objects/{custom_object_key}/records
Deletes a record with the specified external id.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The external id of a custom object record |
|
|
(Required) The key of a custom object |
|
|
N/A |
GET List Custom Object Records
/custom_objects/{custom_object_key}/records
Lists all undeleted custom object records for the specified object
#### Pagination
-
Cursor pagination only.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Optional comma-separated list of ids to filter records by. If one or more ids are specified, only matching records are returned. The ids must be unique and are case sensitive. |
|
|
Optional comma-separated list of external ids to filter records by. If one or more ids are specified, only matching records are returned. The ids must be unique and are case sensitive. |
|
|
One of id, updated_at, -id, or -updated_at. The - denotes the sort will be descending. |
|
|
A pagination cursor that tells the endpoint which page to start on. It should be a meta.before_cursor value from a previous request. Note: page[before] and page[after] can't be used together in the same request. |
|
|
A pagination cursor that tells the endpoint which page to start on. It should be a meta.after_cursor value from a previous request. Note: page[before] and page[after] can't be used together in the same request. |
|
|
Specifies how many records should be returned in the response. |
|
|
(Required) The key of a custom object |
|
|
N/A |
PATCH Set Custom Object Record by External Id
/custom_objects/{custom_object_key}/records
If a record exists for the given external id, updates it. Only the specified attributes are updated. Otherwise, creates a new record with the provided external id and attributes.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The external id of a custom object record |
|
|
(Required) The key of a custom object |
|
|
N/A |
Recover
PUT Recover Suspended Ticket
/suspended_tickets/{id}/recover
Note: During recovery, the API sets the requester to the authenticated agent who called the API, not the original requester. This prevents the ticket from being re-suspended after recovery. To preserve the original requester, use the Recover Multiple Suspended Tickets endpoint with the single ticket.
This endpoint does not queue an asynchronous job that can be tracked from Job Statuses. Instead, it processes the request with a synchronous response.
-
If all recoveries are successful, it returns a 200 with a
ticketsarray in the response. -
If all recoveries fail, it returns a 422 with a
suspended_ticketsarray in the response. -
If there is a mixture of successes and failures in a single call, it returns a 422 with a
suspended_ticketsarray of the failures in the response.
Allowed For
-
Admins and agents in custom roles with permission to manage suspended tickets on Enterprise plans
-
Unrestricted agents on all other plans
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) id of the suspended ticket |
|
|
N/A |
Recover_many
PUT Recover Multiple Suspended Tickets
/suspended_tickets/recover_many
Accepts up to 100 ids (the auto-generated id, not the ticket id.) Note that suspended tickets that fail to be recovered are still included in the response.
Allowed For
-
Admins and agents in custom roles with permission to manage suspended tickets on Enterprise plans
-
Unrestricted agents on all other plans
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) A comma separated list of ids of suspended tickets to recover. |
|
|
N/A |
Redact (2)
PUT Redact Comment Attachment
/tickets/{ticket_id}/comments/{comment_id}/attachments/{attachment_id}/redact
Redaction allows you to permanently remove attachments from an existing comment on a ticket. Once removed from a comment, the attachment is replaced with an empty "redacted.txt" file.
The redaction is permanent. It is not possible to undo redaction or see what was removed. Once a ticket is closed, redacting its attachments is no longer possible.
Also, if you want to redact an inline attachment, you can use the include_inline_images parameter in the List Comments operation to obtain the inline attachment ID, and use it in the request URL.
Allowed For
-
Admins
-
Agents when deleting tickets is enabled for agents on professional accounts
-
Agents assigned to a custom role with permissions to redact ticket content (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
(Required) The ID of the comment |
|
|
(Required) The ID of the attachment |
|
|
N/A |
PUT Redact String in Comment
/tickets/{ticket_id}/comments/{ticket_comment_id}/redact
Permanently removes words or strings from a ticket comment. Specify the string to redact in an object with a text property. Example: '{"text": "987-65-4320"}'. The characters of the word or string are replaced by the ▇ symbol.
If the comment was made by email, the endpoint also attempts to redact the string from the original email retained by Zendesk for audit purposes.
Note: If you use the rich text editor, support for redacting formatted text (bold, italics, hyperlinks) is limited.
Redaction is permanent. You can't undo the redaction or see what was removed. Once a ticket is closed, you can no longer redact strings from its comments.
To use this endpoint, the "Agents can delete tickets" option must be enabled in the Zendesk Support admin interface at Admin > Settings > Agents.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
(Required) The ID of the ticket comment |
|
|
N/A |
Related (3)
GET Show Organization's Related Information
/organizations/{organization_id}/related
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of an organization |
|
|
N/A |
GET Show User Related Information
/users/{user_id}/related
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
GET Ticket Related Information
/tickets/{ticket_id}/related
The request returns a data object with the following properties:
|
Name |
Type |
Comment |
|---|---|---|
|
topic_id |
string |
Related topic in the Web portal (deprecated feature) |
|
followup_source_ids |
array |
Sources to follow up |
|
from_archive |
boolean |
Is true if the current ticket is archived |
|
incidents |
integer |
A count of related incident occurrences |
|
|
object |
Twitter information associated with the ticket |
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Renew
GET Renew the current session
/users/me/session/renew
Allowed For
-
Admins, Agents, End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Reorder (8)
PUT Reorder Custom Fields of an Object
/custom_objects/{custom_object_key}/fields/reorder
Sets a preferred order of custom fields for a specific object by providing field ids in the desired order.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
PUT Reorder Group SLA Policies
/group_slas/policies/reorder
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The ids of the Group SLA policies to reorder |
|
|
N/A |
PUT Reorder Organization Field
/organization_fields/reorder
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Reorder SLA Policies
/slas/policies/reorder
Availability
-
Accounts on the Support Professional or Suite Growth plan or above
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The IDs of the SLA Policies to reorder |
|
|
N/A |
PUT Reorder Ticket Forms
/ticket_forms/reorder
Allowed For
-
Admins
Request Parameters
You can pass in the following parameter in the payload:
|
Name |
Type |
Comment |
|---|---|---|
|
ticket_form_ids |
array |
An array of ticket form ids. Example: "[2, 23, 46, 50]" |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Reorder Triggers
/triggers/reorder
Alters the firing order of triggers in the account. See
Reordering and sorting triggers
in the Zendesk Help Center. The firing order is set in a trigger_ids array in the request body.
You must include every trigger id in your account to reorder the triggers. If not, the endpoint will return 404 Forbidden.
Reordering triggers via the API is not permitted if you have more than one trigger category. If there is more than one
trigger category, the endpoint will return a LimitOneCategory error.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Reorder User Field
/user_fields/reorder
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Reorder Workspaces
/workspaces/reorder
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Options (1)
|
Option Name |
Description |
|---|---|
|
|
N/A |
Request_create
POST Request User Create
/users/request_create
Sends the owner a reminder email to update their subscription so more agents can be created.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Request_verification
PUT Request User Verification
/users/{user_id}/identities/{user_identity_id}/request_verification
Sends the user a verification email with a link to verify ownership of the email address.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the user identity |
|
|
N/A |
Requests (2)
POST Create Request
/requests
Accepts a request object that sets one or more properties.
Allowed for
-
End users
-
Anonymous users (rate limit of 5 requests per hour for trial accounts)
Additional properties
In addition to the writable request properties in the JSON Format table above, you can set the following properties when creating a request.
|
Name |
Type |
Mandatory |
Comment |
|---|---|---|---|
|
comment |
object |
yes |
Describes the problem, incident, question, or task. See Request comments |
|
collaborators |
array |
no |
Adds collaborators (cc's) to the request. An email notification is sent to them when the ticket is created. See Setting collaborators |
|
requester |
object |
yes* |
\*Required for anonymous requests. Specifies the requester of the anonymous request. See Creating anonymous requests |
Creating follow-up requests
Once a ticket is closed (as distinct from solved), it can't be reopened. However, you can create a new request that references the closed ticket. To create the follow-up request, include a via_followup_source_id property in the request object that specifies the closed ticket. The parameter only works with closed tickets. It has no effect with other tickets.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Requests
/requests
Allowed for
-
End Users
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Requirements
GET List password requirements
/users/{user_id}/password/requirements
Allowed For
-
Agents
-
End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
Resource_collections (2)
POST Create Resource Collection
/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](/api-reference/ticketing/ticket-management/job_statuses/) for creation of the specified resources.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Resource Collections
/resource_collections
Lists resource collections for the account.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Restore
PUT Restore a previously deleted ticket
/deleted_tickets/{ticket_id}/restore
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Restore_many
PUT Restore previously deleted tickets in bulk
/deleted_tickets/restore_many
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Comma-separated list of ticket ids |
|
|
N/A |
Revisions
GET List Trigger Revisions
/triggers/{trigger_id}/revisions
List the revisions associated with a trigger. Trigger revision history is only available on Enterprise plans.
Allowed For
-
Agents
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
users |
The user that authored each revision |
Pagination
This endpoint uses cursor-based pagination. The records are ordered in
descending order by the created_at timestamp, then by id on duplicate
created_at values.
The cursor parameter is a non-human-readable argument you can use to move
forward or backward in time.
Each JSON response will contain the following attributes to help you get
more results:
-
after_urlrequests more recent results -
before_urlrequests older results -
after_cursoris the cursor to build the request yourself -
before_cursoris the cursor to build the request yourself
The properties are null if no more records are available.
You can request a maximum of 1000 records using the limit parameter. If
no limit parameter is supplied, it will default to 1,000.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the trigger |
|
|
N/A |
Sample
GET Incremental Sample Export
/incremental/{incremental_resource}/sample
Use this endpoint to test the incremental export format. It's more strict in terms of rate limiting,
at 10 requests per 20 minutes instead of 10 requests per minute. It also returns only up to 50
results per request. Otherwise, it's identical to the above APIs.
Use the incremental_resource parameter to specify the resource. Possible values are "tickets", "ticket_events", "users", or "organizations".
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The time to start the incremental export from. Must be at least one minute in the past. Data isn't provided for the most recent minute |
|
|
(Required) The resource requested for incremental sample export |
|
|
N/A |
Satisfaction_rating
POST Create a Satisfaction Rating
/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.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the ticket |
|
|
N/A |
Satisfaction_ratings
GET List Satisfaction Ratings
/satisfaction_ratings
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Filters
|
Parameter |
Value |
|---|---|
|
score |
offered, unoffered, received, received\_with\_comment, received\_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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Satisfaction_reasons
GET List Reasons for Satisfaction Rating
/satisfaction_reasons
List all reasons for an account
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Search (9)
GET List Search Results
/search
Use the ampersand character (&) to append the sort_by or sort_order parameters to the URL.
For examples, see Searching with Zendesk API.
Pagination
-
Offset pagination only
Offset pagination may result in duplicate results when paging. You can also use the
Export Search Results endpoint, which
uses cursor-based pagination and doesn't return duplicate results. See
Pagination for more information.
Allowed For
-
Admins, Agents and Light Agents
Errors JSON Format
Errors are represented as JSON objects which have the following keys:
|
Name |
Type |
Comment |
|---|---|---|
|
error |
string |
The type of error. Examples: "unavailable", "invalid" |
|
description |
string |
|
Example Error
{
"error": "unavailable",
"description": "Sorry, we could not complete your search query. Please try again in a moment."
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The search query. See Query basics above. For details on the query syntax, see the Zendesk Support search reference |
|
|
One of updated_at, created_at, priority, status, or ticket_type. Defaults to sorting by relevance |
|
|
One of asc or desc. Defaults to desc |
|
|
N/A |
GET Search Automations
/automations/search
Pagination
-
Offset pagination only
See Using Offset Pagination.
Allowed For
-
Agents
Sideloads
The following sideloads are supported. For more information, see Side-loading.
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each automation, if present |
|
permissions |
The permissions for each automation |
|
usage_1h |
The number of times each automation has been used in the past hour |
|
usage_24h |
The number of times each automation has been used in the past day |
|
usage_7d |
The number of times each automation has been used in the past week |
|
usage_30d |
The number of times each automation has been used in the past thirty days |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Query string used to find all automations with matching title |
|
|
Filter by active automations if true or inactive automations if false |
|
|
Possible values are "alphabetical", "created_at", "updated_at", and "position". If unspecified, the automations are sorted by relevance |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
A sideload to include in the response. See Sideloads |
|
|
N/A |
GET Search Custom Object Records
/custom_objects/{custom_object_key}/records/search
Returns an array of custom object records that meet the search criteria
Pagination
-
Cursor pagination only.
-
Returns the records sorted by relevancy with page limits. Without a
sortparameter, only the first 10,000 records are returned. With asortparameter, all records are returned.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The query parameter is used to search text-based fields for records that match specific query terms.
For example, you might want to search for records related to Tesla vehicles: query=Tesla. In this example the API would return every record for the given custom object where any of the text fields contain the word 'Tesla'. If needed, you could include multiple words or numbers in your search. For example: query=Tesla Honda 2020. This would be URL encoded as query=Tesla%20Honda%202020. In this example, the API would return every record for the custom object for which any of the text fields contained 'Tesla', 'Honda', or '2020'. |
|
|
One of name, created_at, updated_at, -name, -created_at, or -updated_at. The - denotes the sort will be descending. Defaults to sorting by relevance. |
|
|
A pagination cursor that tells the endpoint which page to start on. It should be a meta.before_cursor value from a previous request. Note: page[before] and page[after] can't be used together in the same request. |
|
|
A pagination cursor that tells the endpoint which page to start on. It should be a meta.after_cursor value from a previous request. Note: page[before] and page[after] can't be used together in the same request. |
|
|
Specifies how many records should be returned in the response. |
|
|
(Required) The key of a custom object |
|
|
N/A |
GET Search Macros
/macros/search
Pagination
-
Offset pagination only
See Using Offset Pagination.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A sideload to include in the response. See Sideloads |
|
|
Filter macros by access. Possible values are "personal", "agents", "shared", or "account". The "agents" value returns all personal macros for the account's agents and is only available to admins. |
|
|
Filter by active macros if true or inactive macros if false |
|
|
Filter macros by category |
|
|
Filter macros by group |
|
|
If true, returns only macros that can be applied to tickets. If false, returns all macros the current user can manage. Default is false |
|
|
Possible values are alphabetical, "created_at", "updated_at", "usage_1h", "usage_24h", "usage_7d", or "usage_30d". Defaults to alphabetical |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
(Required) Query string used to find macros with matching titles |
|
|
N/A |
GET Search Organizations by External ID
/organizations/search
If you set the external_id value of an organization to associate it to an external record, you can use the external id to search for the organization.
Allowed For:
-
Admins
-
Agents assigned to a custom role with permissions to add or modify organizations (Enterprise only)
See Creating custom agent roles in the Support Help Center.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The external id of an organization |
|
|
N/A |
GET Search Requests
/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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Search Triggers
/triggers/search
Pagination
-
Offset pagination only
See Using Offset Pagination.
Allowed For
-
Agents
Sideloads
The following sideloads are supported. For more information, see Side-loading.
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each trigger, if present |
|
permissions |
The permissions for each trigger |
|
usage_1h |
The number of times each trigger has been used in the past hour |
|
usage_24h |
The number of times each trigger has been used in the past day |
|
usage_7d |
The number of times each trigger has been used in the past week |
|
usage_30d |
The number of times each trigger has been used in the past thirty days |
Filter
Use the filter query parameter to filter a trigger search by one or more attributes. For example, the following filter argument filters triggers by the description attribute:
{
"json": {
"description": "Close a ticket"
}
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Query string used to find all triggers with matching title |
|
|
Trigger attribute filters for the search. See Filter |
|
|
Filter by active triggers if true or inactive triggers if false |
|
|
Cursor-based pagination only. Possible values are "alphabetical", "created_at", "updated_at", or "position". |
|
|
Offset pagination only. Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position" |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
A sideload to include in the response. See Sideloads |
|
|
N/A |
GET Search Users
/users/search
Returns an array of users who meet the search criteria.
Pagination
-
Offset pagination only
See Using Offset Pagination.
Allowed For
-
Admins, Agents and Light Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The query parameter supports the Zendesk search syntax for more advanced
|
|
|
The external_id parameter does not support the search syntax. It only accepts ids. |
|
|
N/A |
GET Search Views
/views/search
Pagination
-
Offset pagination only
See Using Offset Pagination.
Allowed For
-
Agents
Sideloads
The following sideloads are supported. For more information, see Side-loading.
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each view, if present |
|
permissions |
The permissions for each view |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Query string used to find all views with matching title |
|
|
Filter views by access. May be "personal", "shared", or "account" |
|
|
Filter by active views if true or inactive views if false |
|
|
Filter views by group |
|
|
Possible values are "alphabetical", "created_at", "updated_at", and "position". If unspecified, the views are sorted by relevance |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
A sideload to include in the response. See Sideloads |
|
|
N/A |
Session
GET Show the Currently Authenticated Session
/users/me/session
Allowed For
-
Admins, Agents, End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Sessions (2)
DELETE Bulk Delete Sessions
/users/{user_id}/sessions
Deletes all the sessions for a user.
Allowed For
-
Admins, Agents, End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
GET List Sessions
/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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Settings (2)
GET Show Settings
/account/settings
Shows the settings that are available for the account.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Update Account Settings
/account/settings
Updates settings for the account. See JSON Format above for the settings you can update.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Sharing_agreements (2)
POST Create Sharing Agreement
/sharing_agreements
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Sharing Agreements
/sharing_agreements
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Show_many (7)
GET List Views By ID
/views/show_many
Allowed For
-
Agents
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each view, if present |
|
permissions |
The permissions for each view |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) List of view's ids separated by commas. |
|
|
Only active views if true, inactive views if false |
|
|
N/A |
GET Show Many Items
/dynamic_content/items/show_many
Stability
-
Development
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Identifiers for the dynamic contents |
|
|
N/A |
GET Show Many Job Statuses
/job_statuses/show_many
Accepts a comma-separated list of job status ids.
Allowed For:
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Comma-separated list of job status ids. |
|
|
N/A |
GET Show Many Organizations
/organizations/show_many
Accepts a comma-separated list of up to 100 organization ids or external ids.
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A list of organization ids |
|
|
A list of external ids |
|
|
N/A |
GET Show Many Ticket Forms
/ticket_forms/show_many
Takes an ids query parameter that accepts a comma-separated list of up to 100 ticket form ids. This endpoint is used primarily by the mobile SDK and the Web Widget.
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) IDs of the ticket forms to be shown |
|
|
true returns active ticket forms; false returns inactive ticket forms. If not present, returns both |
|
|
true returns ticket forms where end_user_visible; false returns ticket forms that are not end-user visible. If not present, returns both |
|
|
true returns the default ticket form when the criteria defined by the parameters results in a set without active and end-user visible ticket forms |
|
|
true returns the ticket forms of the brand specified by the url's subdomain |
|
|
N/A |
GET Show Many Users
/users/show_many
Accepts a comma-separated list of up to 100 user ids or external ids.
Allowed For:
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Accepts a comma-separated list of up to 100 user ids. |
|
|
Accepts a comma-separated list of up to 100 external ids. |
|
|
N/A |
GET Show Multiple Tickets
/tickets/show_many
Accepts a comma-separated list of ticket ids to return.
This endpoint will return up to 100 tickets records.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) Comma-separated list of ticket ids |
|
|
N/A |
Skips (2)
GET List Ticket Skips
/users/{user_id}/skips
Archived tickets are not included in the response. See
About archived tickets in
the Support Help Center.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents with "View only" or higher reports permissions in Support.
These permissions are distinct from Explore permissions.
-
Agents retrieving their own skips
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Sort order. Defaults to "asc" |
|
|
User ID of an agent |
|
|
N/A |
POST Record a new skip for the current user
/skips
Record a new ticket skip for the current user.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Suspended_tickets
GET List Suspended Tickets
/suspended_tickets
Allowed For
-
Admins and agents in custom roles with permission to manage suspended tickets on Enterprise plans
-
Unrestricted agents on all other plans
Sorting
You can sort the tickets with the sort_by and sort_order query string parameters.
Pagination
-
Cursor pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
The field to sort the ticket by, being one of author_email, cause, created_at, or subject. |
|
|
The order in which to sort the suspended tickets. This can take value asc or desc. |
|
|
N/A |
Tags (6)
PUT Add Tags
/tickets/{ticket_id}/tags
You can also add tags to multiple tickets with the [Update Many
Tickets](/api-reference/ticketing/tickets/tickets/#update-many-tickets) endpoint.
Safe Update
If the same ticket is updated by multiple API requests at
the same time, some tags could be lost because of ticket
update collisions. Include updated_stamp and safe_update
properties in the request body to make a safe update.
For updated_stamp, retrieve and specify the ticket's
latest updated_at timestamp. The tag update only occurs
if the updated_stamp timestamp matches the ticket's
actual updated_at timestamp at the time of the request.
If the timestamps don't match (in other words, if the
ticket was updated since you retrieved the ticket's
last updated_at timestamp), the request returns a
409 Conflict error.
Example
{
"tags": ["customer"],
"updated_stamp":"2019-09-12T21:45:16Z",
"safe_update":"true"
}
For details, see Protecting against ticket update collisions.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
GET List Resource Tags
/tickets/{ticket_id}/tags
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
GET List Tags
/tags
Lists up to the 20,000 most popular tags in the last 60 days, in decreasing popularity.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
DELETE Remove Tags
/tickets/{ticket_id}/tags
You can also delete tags from multiple tickets with the
Update Many Tickets endpoint.
This endpoint supports safe updates. See Safe Update.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
GET Search Tags
/autocomplete/tags
Returns an array of registered and recent tag names that start with the characters specified in the name query parameter. You must specify at least 2 characters.
Pagination
-
Offset pagination only
See Using Offset Pagination.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A substring of a tag to search for |
|
|
N/A |
POST Set Tags
/tickets/{ticket_id}/tags
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
Target_failures
GET List Target Failures
/target_failures
Returns the 25 most recent target failures, per target.
Stability
-
Development
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Targets (2)
POST Create Target
/targets
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Targets
/targets
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Ticket_audits
GET List All Ticket Audits
/ticket_audits
Returns ticket audits. Archived tickets are not included in the response. Use the List Audits for a Ticket endpoint to
retrieve audit records for an archived ticket. To learn more about archived tickets, see About archived tickets.
This endpoint should not be used for capturing change data. When continually chasing the tail of a cursor, some records will be skipped. For this use case, use the Incremental Ticket Event Export API.
Pagination
-
Cursor pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Maximum number of results returned |
|
|
N/A |
Ticket_events
GET Incremental Ticket Event Export
/incremental/ticket_events
Returns a stream of changes that occurred on tickets. Each event is tied
to an update on a ticket and contains all the fields that were updated in that
change. For more information, see:
-
Exporting ticket events in Using the Incremental Exports API
-
Time-based incremental exports in Using the Incremental Exports API
You can include comments in the event stream by using the comment_events
sideload. See Sideloading below. If you don't specify the sideload, any comment
present in the ticket update is described only by Boolean comment_present
and comment_public object properties in the event's child_events array.
The comment itself is not included.
Allowed For
-
Admins
Sideloading
The endpoint supports the comment_events sideload. Any comment present in the ticket
update is listed as an object in the event's child_events array. Example:
"child_events": [
{
"id": 91048994488,
"via": {
"channel": "api",
"source": {"from":{},"to":{},"rel":null}},
"via_reference_id":null,
"type": "Comment",
"author_id": 5031726587,
"body": "This is a comment",
"html_body": "<div class="zd-comment"><p dir="auto">This is a comment</p>",
"public": true,
"attachments": [],
"audit_id": 91048994468,
"created_at": "2009-06-25T10:15:18Z",
"event_type": "Comment"
},
...
],
...
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The time to start the incremental export from. Must be at least one minute in the past. Data isn't provided for the most recent minute |
|
|
N/A |
Ticket_fields (2)
POST Create Ticket Field
/ticket_fields
Creates any of the following custom field types:
|
Custom field type |
Description |
|---|---|
|
text |
Default custom field type when |
|
textarea |
For multi-line text |
|
checkbox |
To capture a boolean value. Allowed values are true or false |
|
date |
Example: 2021-04-16 |
|
integer |
String composed of numbers. May contain an optional decimal point |
|
decimal |
For numbers containing decimals |
|
regexp |
Matches the Regex pattern found in the custom field settings |
|
partialcreditcard |
A credit card number. Only the last 4 digits are retained |
|
multiselect |
Enables users to choose multiple options from a dropdown menu |
|
tagger |
Single-select dropdown menu. It contains one or more tag values belonging to the field's options. Example: ( {"id": 21938362, "value": ["hd_3000", "hd_5555"]}) |
|
lookup |
A field to create a relationship (see lookup relationships) to another object such as a user, ticket, or organization |
See About custom field types in the Zendesk Help Center.
Allowed For
-
Admins
Field limits
We recommend the following best practices for ticket fields limits. Creating more than these amounts can affect performance.
-
400 ticket fields per account if your account doesn't have ticket forms
-
400 ticket fields per ticket form if your account has ticket forms
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Ticket Fields
/ticket_fields
Returns a list of all system and custom ticket fields in your account.
Cursor pagination returns a maximum of 100 records per page and fields are returned in the order specified by their id.
If the results are not paginated every field is returned in the response and fields are returned in the order specified by the position and id.
For accounts without access to multiple ticket forms, positions can be changed using the Update Ticket Field endpoint or the Ticket Forms page in Zendesk Support (Admin > Manage > Ticket Forms). The Ticket Forms page shows the fields for the account. The order of the fields is used in the different products to show the field values in the tickets.
For accounts with access to multiple ticket forms, positions can only be changed using the Update Ticket Field endpoint because products use the order defined on each form to show the field values instead of the general position of the ticket field in the account.
Consider caching this resource to use with the Tickets API.
Pagination
-
Cursor pagination (recommended)
-
No pagination
See Pagination.
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
users |
The user or users that created the ticket field |
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Forces the title_in_portal property to return a dynamic content variant for the specified locale.
|
|
|
Displays the creator_user_id and creator_app_name properties. If the ticket field is created
|
|
|
N/A |
Ticket_forms (2)
POST Create Ticket Form
/ticket_forms
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Ticket Forms
/ticket_forms
Returns a list of all ticket forms for your account if accessed as an admin or agent. End users only see ticket forms that have end_user_visible set to true.
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
true returns active ticket forms; false returns inactive ticket forms. If not present, returns both |
|
|
true returns ticket forms where end_user_visible; false returns ticket forms that are not end-user visible. If not present, returns both |
|
|
true returns the default ticket form when the criteria defined by the parameters results in a set without active and end-user visible ticket forms |
|
|
true returns the ticket forms of the brand specified by the url's subdomain |
|
|
N/A |
Ticket_metric_events
GET List Ticket Metric Events
/incremental/ticket_metric_events
Returns ticket metric events that occurred on or after the start time.
Cursor pagination returns a maximum of 100 records per page. Events are listed in chronological order.
If the results are not paginated, events will be returned as a time-based incremental export.
See Time-based incremental exports.
Pagination
-
Cursor pagination
See Pagination.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The Unix UTC epoch time of the oldest event you're interested in. Example: 1332034771. |
|
|
N/A |
Ticket_metrics
GET List Ticket Metrics
/ticket_metrics
Returns a list of tickets with their metrics.
Tickets are ordered chronologically by created date, from newest to oldest.
The last ticket listed may not be the absolute oldest ticket in your account
due to ticket archiving.
Archived tickets are not included in the response. See
About archived tickets in
Zendesk help.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Tickets (6)
POST Create Ticket
/tickets
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
POST Create Ticket or Voicemail Ticket
/channels/voice/tickets
Allowed For
-
Agents
Creating tickets
Introduction
Creating tickets using Talk Partner Edition follows the same conventions as the Create Ticket endpoint. See Create Ticket.
Request parameters
The POST request takes a mandatory ticket object that lists the values to set when the ticket is created.
You may also include an optional display_to_agent value such as the ID of the agent that will see the newly created ticket.
Tickets created using this endpoint must have a via_id parameter. See the following
section for possible values.
Zendesk Talk Integration Via IDs
Tickets created using this endpoint must have one of the following via_id parameters:
|
ID |
Description |
|---|---|
|
44 |
Voicemail |
|
45 |
Phone call (inbound) |
|
46 |
Phone call (outbound) |
Creating voicemail tickets
Request parameters
The POST request takes a mandatory ticket object that lists the values to set when the ticket is created.
The ticket must have a voice_comment with the following values:
|
Name |
Type |
Comment |
|---|---|---|
|
from |
string |
Incoming phone number |
|
to |
string |
Dialed phone number |
|
recording_url |
string |
URL of the recording |
|
started_at |
date |
ISO 8601 timestamp of the call starting time |
|
call_duration |
integer |
Duration in seconds of the call |
|
answered_by_id |
integer |
The agent who answered the call |
|
transcription_text |
string |
Transcription of the call (optional) |
|
location |
string |
Location of the caller (optional) |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Options (1)
|
Option Name |
Description |
|---|---|
|
|
N/A |
GET Incremental Ticket Export, Time Based
/incremental/tickets
Returns the tickets that changed since the start time. For more information,
see Exporting tickets in Using the Incremental Exports API.
This endpoint supports time-based incremental exports.
For more information, see Time-based incremental exports in Using the Incremental Exports API. You can also return tickets using cursor-based pagination. See Incremental Ticket Export, Cursor Based.
The results include tickets that were updated by the system. See
Excluding system-updated tickets in Using the Incremental Exports API.
The endpoint can return tickets with an updated_at time that's earlier than the
start_time time. The reason is that the API compares the start_time with the ticket's
generated_timestamp value, not its updated_at value. The updated_at value is
updated only if the update generates a ticket event.
The generated_timestamp value is updated for all ticket updates, including system
updates. If a system update occurs after a ticket event, the unchanged
updated_at time will become earlier relative to the updated generated_timestamp
time.
Allowed For
-
Admins
Sideloading
See Tickets sideloads. For performance reasons,
last_audits sideloads aren't supported.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The time to start the incremental export from. Must be at least one minute in the past. Data isn't provided for the most recent minute |
|
|
N/A |
GET List Tickets
/tickets
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Lists tickets by external id. External ids don't have to be unique for each ticket. As a result, the request may return multiple tickets with the same external id. |
|
|
N/A |
GET List Tickets From a View
/views/{view_id}/tickets
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Sort or group the tickets by a column in the View columns table. The subject and submitter columns are not supported |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
(Required) The ID of the view |
|
|
N/A |
POST Ticket Import
/imports/tickets
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
If true, any ticket created with a closed status bypasses the normal ticket lifecycle and will be created directly in your ticket archive |
|
|
N/A |
Trigger_categories (2)
POST Create Trigger Category
/trigger_categories
Creates a trigger category.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Trigger Categories
/trigger_categories
Returns all the trigger categories in the account.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Pagination parameters |
|
|
Pagination parameters |
|
|
Pagination parameters |
|
|
Sort parameters |
|
|
Allowed sideloads |
|
|
N/A |
Triggers (2)
POST Create Trigger
/triggers
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Triggers
/triggers
Lists all triggers for the current account.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Sideloads
The following sideloads are supported. The usage sideloads are only supported on the Support Professional or Suite Growth plan or above.
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each trigger, if present |
|
permissions |
The permissions for each trigger |
|
usage_1h |
The number of times each trigger has been used in the past hour |
|
usage_24h |
The number of times each trigger has been used in the past day |
|
usage_7d |
The number of times each trigger has been used in the past week |
|
usage_30d |
The number of times each trigger has been used in the past thirty days |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Filter by active triggers if true or inactive triggers if false |
|
|
Cursor-based pagination only. Possible values are "alphabetical", "created_at", "updated_at", or "position". |
|
|
Offset pagination only. Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position" |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
Filter triggers by category ID |
|
|
N/A |
Update_many (8)
PUT Update Many Automations
/automations/update_many
Note: You might be restricted from updating some default automations. If included in a bulk update, the unrestricted automations will be updated.
Allowed For
-
Agents
Request Parameters
The PUT request expects an automations object that lists the automations to update.
Each automation may have the following properties:
|
Name |
Mandatory |
Description |
|---|---|---|
|
id |
yes |
The ID of the automation to update |
|
position |
no |
The new position of the automation |
|
active |
no |
The active status of the automation (true or false) |
Example Request
{
"automations": [
{"id": 25, "position": 3},
{"id": 23, "position": 5},
{"id": 27, "position": 9},
{"id": 22, "position": 7}
]
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Update Many Macros
/macros/update_many
Updates the provided macros with the specified changes.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Update Many Organizations
/organizations/update_many
Bulk or batch updates up to 100 organizations.
Bulk update
To make the same change to multiple organizations, use the following endpoint and data format:
https://{subdomain}.zendesk.com/api/v2/organizations/update_many.json?ids=1,2,3
{
"organization": {
"notes": "Priority"
}
}
Batch update
To make different changes to multiple organizations, use the following endpoint and data format:
https://{subdomain}.zendesk.com/api/v2/organizations/update_many.json
{
"organizations": [
{ "id": 1, "notes": "Priority" },
{ "id": 2, "notes": "Normal" }
]
}
Response
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Allowed For
-
Admins
-
Agents
Agents with no permissions restrictions can only update "notes" on organizations.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
A list of organization ids |
|
|
A list of external ids |
|
|
N/A |
PUT Update Many Tickets
/tickets/update_many
Accepts an array of up to 100 ticket objects, or a comma-separated list of up to 100 ticket ids.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Comma-separated list of ticket ids |
|
|
N/A |
PUT Update Many Triggers
/triggers/update_many
Updates the position or the active status of multiple triggers. Any additional properties are ignored.
Allowed For
-
Agents
Request Parameters
The PUT request expects a triggers object that lists the triggers to update.
Each trigger may have the following properties:
|
Name |
Mandatory |
Description |
|---|---|---|
|
id |
yes |
The ID of the trigger to update |
|
position |
no |
The new position of the trigger |
|
active |
no |
The active status of the trigger (true or false) |
|
category_id |
no |
The ID of the new category the trigger is to be moved to |
Example Request
{
"triggers": [
{"id": 25, "position": 3},
{"id": 23, "position": 5},
{"id": 27, "position": 9},
{"id": 22, "position": 7}
]
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
PUT Update Many Users
/users/update_many
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Id of the users to update. Comma separated |
|
|
External Id of the users to update. Comma separated |
|
|
N/A |
PUT Update Many Variants
/dynamic_content/items/{dynamic_content_item_id}/variants/update_many
Updates one or more variants. See Update Variant.
You must specify the variants by id in the body. To get the variant ids, see List Variants.
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
N/A |
PUT Update Many Views
/views/update_many
Allowed For
-
Agents
Request Parameters
The PUT request expects a views object that lists the views to update.
Each view may have the following properties:
|
Name |
Mandatory |
Description |
|---|---|---|
|
id |
yes |
The ID of the view to update |
|
position |
no |
The new position of the view |
|
active |
no |
The active status of the view (true or false) |
Example Request Body
{
"views": [
{"id": 25, "position": 3},
{"id": 23, "position": 5},
{"id": 27, "position": 9},
{"id": 22, "position": 7}
]
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Uploads
POST Upload Files
/uploads
Uploads a file that can be attached to a ticket comment. It doesn't attach the file to the comment. For details and examples, see Attaching ticket comments with the API.
The endpoint has a required filename query parameter. The parameter specifies what the file will be named when attached to the ticket comment (to give the agent more context about the file). The parameter does not specify the file on the local system to be uploaded. While the two names can be different, their file extensions must be the same. If they don't match, the agent's browser or file reader could give an error when attempting to open the attachment.
The Content-Type header must contain a recognized MIME type that correctly describes the type of the uploaded file. Failing to send a recognized, correct type may cause undesired behavior. For example, in-browser audio playback may be interrupted by the browser's security mechanisms for MP3s uploaded with an incorrect type.
Adding multiple files to the same upload is handled by splitting requests and passing the API token received from the first request to each subsequent request. The token is valid for 3 days.
Note: Even if private attachments are enabled in the Zendesk Support instance, uploaded files are visible to any authenticated user at the content_URL specified in the JSON response until the upload token is consumed. Once a file is associated with a ticket or post, visibility is restricted to users with access to the ticket or post with the attachment.
Allowed For
-
End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Options (1)
|
Option Name |
Description |
|---|---|
|
|
The binaries of the file |
User_fields (2)
POST Create User Field
/user_fields
Creates any of the following custom field types:
-
text (default when no "type" is specified)
-
textarea
-
checkbox
-
date
-
integer
-
decimal
-
regexp
-
dropdown
-
lookup
See About custom field types in Zendesk help.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List User Fields
/user_fields
Returns a list of custom user fields in your account. Fields are returned in the order that you specify in your user fields configuration in Zendesk Support. Clients should cache this resource for the duration of their API usage and map the key for each User Field to the values returned under the user_fields attribute on the User resource.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
Users (3)
POST Create User
/users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET Incremental User Export, Time Based
/incremental/users
Allowed For
-
Admins
Sideloading
See Users sideloads.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The time to start the incremental export from. Must be at least one minute in the past. Data isn't provided for the most recent minute |
|
|
The number of records to return per page |
|
|
N/A |
GET List Users
/users
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Admins, Agents and Light Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Filters the results by role. Possible values are "end-user", "agent", or "admin" |
|
|
Filters the results by more than one role using the format role[]={role}&role[]={role} |
|
|
For custom roles which is available on the Enterprise plan and above. You can only filter by one role ID per request |
|
|
List users by external id. External id has to be unique for each user under the same account. |
|
|
N/A |
Values (2)
POST Create Attribute Value
/routing/attributes/{attribute_id}/values
Creates an attribute value.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
N/A |
GET List Attribute Values for an Attribute
/routing/attributes/{attribute_id}/values
Returns a list of attribute values for a provided attribute.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
N/A |
Variants (2)
POST Create Variant
/dynamic_content/items/{dynamic_content_item_id}/variants
You can only create one variant for each locale id. If a locale variant already exists, the request is rejected.
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
N/A |
GET List Variants
/dynamic_content/items/{dynamic_content_item_id}/variants
Returns all the variants of the specified dynamic content item.
Allowed For
-
Admins
-
Agents who have permission to manage dynamic content
Pagination
-
Cursor pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
N/A |
Verify (2)
PUT Verify Identity
/users/{user_id}/identities/{user_identity_id}/verify
Sets the specified identity as verified.
For security reasons, you can't use this endpoint to update the email identity of the account owner. To verify the person's identity, send a verification email. See Verifying the account owner's email address in Zendesk help.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the user identity |
|
|
N/A |
PUT Verify Support Address Forwarding
/recipient_addresses/{support_address_id}/verify
Sends a test email to the specified support address to verify that email forwarding for the address works. An external support address won't work in Zendesk Support until it's verified.
Note: You don't need to verify Zendesk support addresses.
The endpoint takes the following body parameter: {"type": "forwarding"}.
Use this endpoint after adding an external support address to Zendesk Support and setting up forwarding on your email server. See Forwarding incoming email to Zendesk Support.
The endpoint doesn't return the results of the test. Instead, use the Show Support Address endpoint to check that the forwarding_status property is "verified".
Allowed For
-
Admins
-
Agents with permission to manage channels and extensions. See the system permissions in Creating custom roles and assigning agents (Enterprise) in the Support Help Center
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the support address |
|
|
N/A |
Views (2)
POST Create View
/views
Allowed For
-
Agents
JSON Format
The JSON format consists of one property, a view object that lists the values to set when the view is created.
Note: The request must include at least one condition in the all array that checks one of the following fields: status, type, group_id, assignee_id, or requester_id.
|
Name |
Description |
|---|---|
|
title |
Required. The title of the view |
|
all |
Required. An array of one or more conditions. A ticket must meet all of them to be included in the view. See Conditions reference |
|
any |
An array of one or more conditions. A ticket must meet any of them to be included in the view. See Conditions reference |
|
description |
The description of the view |
|
active |
Allowed values are true or false. Determines if the view is displayed or not |
|
output |
An object that specifies the columns to display. Example: |
|
restriction |
An object that describes who can access the view. To give all agents access to the view, omit this property |
The restriction object has the following properties.
|
Name |
Comment |
|---|---|
|
type |
Allowed values are "Group" or "User" |
|
id |
The numeric ID of a single group or user |
|
ids |
The numeric IDs of a single or more groups. Recommended for "Group" |
If type is "Group", the ids property is the preferred method of specifying the group id or ids.
Example Request Body
{
"view": {
"title": "Kelly's tickets",
"raw_title": "{{dc.tickets_assigned_to_kelly}}",
"description": "Tickets that are assigned to Kelly",
"active": true,
"position": 3,
"restriction": {
"type": "User",
"id": "213977756"
},
"all": [
{
"field": "status",
"operator": "less_than",
"value": "solved"
},
{
"field": "group_id",
"operator": "is",
"value": "24000932"
},
{
"field": "custom_fields_360011872073",
"operator": "is",
"value": "Canada"
},
...
],
"output": {
"columns": ["status", "requester", "assignee"],
"group_by": "assignee",
"group_order": "desc",
"sort_by": "status",
"sort_order": "desc"
}
}
}
View columns
The output request parameter lets you specify what columns to include in the view in the agent interface. Example: "output": {"columns": ["status", "description", "priority"]}. The following table lists possible columns for views in the agent UI and the corresponding values in the columns array.
For custom fields, specify the id of the custom field in the columns array.
You can specify a total of 10 columns to a view.
|
View column title in UI |
Value |
|---|---|
|
Assigned |
|
|
Assignee |
|
|
Due Date |
|
|
Group |
|
|
ID |
|
|
Updated |
|
|
Assignee updated |
|
|
Requester updated |
|
|
Updater |
|
|
Organization |
|
|
Priority |
|
|
Requested |
|
|
Requester |
|
|
Requester language |
|
|
Satisfaction |
|
|
Solved |
|
|
Status category |
|
|
Subject |
|
|
Submitter |
|
|
Ticket form |
|
|
Type |
|
|
Brand |
|
|
Ticket status |
|
View sorting
You can group and sort items in the view by adding items to the output parameter:
|
Attribute |
Description |
|---|---|
|
|
Sort or group the tickets by a column in the View columns table. The |
|
|
Either "asc" or "desc" |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Views
/views
Lists shared and personal views available to the current user.
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
app_installation |
The app installation that requires each view, if present |
|
permissions |
The permissions for each view |
Pagination
-
Cursor pagination (recommended, but only sorts by
created_at) -
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
Only views with given access. May be "personal", "shared", or "account" |
|
|
Only active views if true, inactive views if false |
|
|
Only views belonging to given group |
|
|
Possible values are "alphabetical", "created_at", or "updated_at". Defaults to "position" |
|
|
One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others |
|
|
N/A |
Workspaces (2)
POST Create Workspace
/workspaces
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
GET List Workspaces
/workspaces
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
{activity_id}
GET Show Activity
/activities/{activity_id}
Lists a specific activity.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The activity ID |
|
|
N/A |
{attachment_id} (3)
GET Show Attachment
/attachments/{attachment_id}
Shows attachment details. You can get the value of the attachment_id parameter by listing the ticket's comments.
See List Comments. Each comment
in the list has an attachments list that specifies an id for each attachment.
#### Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the attachment |
|
|
N/A |
GET Show Macro Attachment
/macros/attachments/{attachment_id}
Shows the properties of the specified macro attachment.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the attachment |
|
|
N/A |
PUT Update Attachment for Malware
/attachments/{attachment_id}
Toggles enabling or restricting agent access to attachments with detected malware.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the attachment |
|
|
N/A |
{attribute_id} (3)
DELETE Delete Attribute
/routing/attributes/{attribute_id}
Deletes an attribute.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
N/A |
GET Show Attribute
/routing/attributes/{attribute_id}
Returns an attribute.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
N/A |
PUT Update Attribute
/routing/attributes/{attribute_id}
Updates an attribute.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
N/A |
{attribute_value_id} (3)
DELETE Delete Attribute Value
/routing/attributes/{attribute_id}/values/{attribute_value_id}
Deletes an attribute value.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
(Required) The ID of the skill-based routing attribute value |
|
|
N/A |
GET Show Attribute Value
/routing/attributes/{attribute_id}/values/{attribute_value_id}
Returns an attribute value.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
(Required) The ID of the skill-based routing attribute value |
|
|
N/A |
PATCH Update Attribute Value
/routing/attributes/{attribute_id}/values/{attribute_value_id}
Updates an attribute value.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the skill-based routing attribute |
|
|
(Required) The ID of the skill-based routing attribute value |
|
|
N/A |
{audit_log_id}
GET Show Audit Log
/audit_logs/{audit_log_id}
Allowed For
-
Admins on accounts that have audit-log access
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the audit log |
|
|
N/A |
{automation_id} (3)
DELETE Delete Automation
/automations/{automation_id}
Note: You might be restricted from deleting some default automations.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the automation |
|
|
N/A |
GET Show Automation
/automations/{automation_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the automation |
|
|
N/A |
PUT Update Automation
/automations/{automation_id}
Updates an automation.
Updated automations must be unique and have at least one condition that is true only once or an action that nullifies at least one of the conditions. Active automations can have overlapping conditions but can't be identical.
The request must include the following conditions in the all array:
-
At least one time-based condition
-
At least one condition that checks one of the following fields: 'status', 'type', 'group_id', 'assignee_id', or 'requester_id'
Note: Updating a condition or action updates both the conditions and actions arrays, clearing all existing values of both arrays. Include all your conditions and actions when updating any condition or action.
Note: You might be restricted from updating some default automations.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the automation |
|
|
N/A |
{bookmark_id}
DELETE Delete Bookmark
/bookmarks/{bookmark_id}
Allowed For
-
Agents (own bookmarks only)
If the bookmark already exists with a specified ticket id, the response status will be http Status: 200 OK.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the bookmark |
|
|
N/A |
{brand_id} (3)
DELETE Delete a Brand
/brands/{brand_id}
Deletes a brand.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the brand |
|
|
N/A |
GET Show a Brand
/brands/{brand_id}
Returns a brand for your account.
Allowed for
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the brand |
|
|
N/A |
PUT Update a Brand
/brands/{brand_id}
Returns an updated brand.
Allowed for
-
Admins
Updating a Brand's Image
A brand image can be updated by uploading a local file using the update brand endpoint. See the Using curl sections below for more information.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the brand |
|
|
N/A |
{custom_object_field_key_or_id} (3)
DELETE Delete Custom Object Field
/custom_objects/{custom_object_key}/fields/{custom_object_field_key_or_id}
Deletes a field with the specified key. Note: You can't delete standard fields.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
(Required) The key or id of a custom object field |
|
|
N/A |
GET Show Custom Object Field
/custom_objects/{custom_object_key}/fields/{custom_object_field_key_or_id}
Returns a custom field for a specific object using a provided key or id of the field.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
(Required) The key or id of a custom object field |
|
|
N/A |
PATCH Update Custom Object Field
/custom_objects/{custom_object_key}/fields/{custom_object_field_key_or_id}
Updates individual custom object fields. The updating rules are as follows:
-
Takes a
custom_object_fieldobject that specifies the properties to update -
The
keyproperty cannot be updated -
If updating a standard field, only the
titleanddescriptionproperties can be updated.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
(Required) The key or id of a custom object field |
|
|
N/A |
{custom_object_key} (3)
DELETE Delete Custom Object
/custom_objects/{custom_object_key}
Permanently deletes the custom object with the specified key
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
GET Show Custom Object
/custom_objects/{custom_object_key}
Returns an object with the specified key
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
PATCH Update Custom Object
/custom_objects/{custom_object_key}
Updates an individual custom object. The updating rules are as follows:
-
Takes a
custom_objectobject that specifies the properties to update -
The
keyproperty cannot be updated
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
N/A |
{custom_object_record_id} (3)
DELETE Delete Custom Object Record
/custom_objects/{custom_object_key}/records/{custom_object_record_id}
Deletes a record with the specified id
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
(Required) The id of a custom object record |
|
|
N/A |
GET Show Custom Object Record
/custom_objects/{custom_object_key}/records/{custom_object_record_id}
Returns a custom record for a specific object using a provided id.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
(Required) The id of a custom object record |
|
|
N/A |
PATCH Update Custom Object Record
/custom_objects/{custom_object_key}/records/{custom_object_record_id}
Updates an individual custom object record. The updating rules are as follows:
-
Takes a
custom_object_recordobject that specifies the properties to update -
The custom object fields should be nested inside a
custom_object_fieldsobject
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The key of a custom object |
|
|
(Required) The id of a custom object record |
|
|
N/A |
{custom_role_id} (3)
DELETE Delete Custom Role
/custom_roles/{custom_role_id}
Availability
-
Accounts on the Enterprise plan or above
Allowed for
-
Administrators
-
Agents with the
manage_rolespermission
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the custom agent role |
|
|
N/A |
GET Show Custom Role
/custom_roles/{custom_role_id}
Availability
-
Accounts on the Enterprise plan or above
Allowed for
-
Administrators
-
Agents with the
manage_rolespermission
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the custom agent role |
|
|
N/A |
PUT Update Custom Role
/custom_roles/{custom_role_id}
Availability
-
Accounts on the Enterprise plan or above
Allowed for
-
Administrators
Agents with the manage_roles permission
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the custom agent role |
|
|
N/A |
{custom_status_id} (2)
GET Show Custom Ticket Status
/custom_statuses/{custom_status_id}
Returns the custom ticket status object.
Allowed For
-
End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the custom status |
|
|
N/A |
PUT Update Custom Ticket Status
/custom_statuses/{custom_status_id}
Takes a custom_status object that specifies the properties to update.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the custom status |
|
|
N/A |
{deleted_user_id} (2)
DELETE Permanently Delete User
/deleted_users/{deleted_user_id}
Before permanently deleting a user, you must delete the user first. See Delete User.
WARNING: Permanently deleting a user deletes all of their information. This information is not recoverable.
Permanent user deletion rate limit
You can permanently delete 700 users every 10 minutes.
The rate limiting mechanism behaves as described in
Rates Limits in the API introduction.
Zendesk recommends that you obey the Retry-After header values.
Allowed For
-
Admins and agents in custom roles with permission to manage end users or team members
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the deleted user |
|
|
N/A |
GET Show Deleted User
/deleted_users/{deleted_user_id}
Returns users that have been deleted but not permanently yet. See Permanently Delete User.
Allowed For:
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the deleted user |
|
|
N/A |
{dynamic_content_item_id} (3)
DELETE Delete Item
/dynamic_content/items/{dynamic_content_item_id}
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
N/A |
GET Show Item
/dynamic_content/items/{dynamic_content_item_id}
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
N/A |
PUT Update Item
/dynamic_content/items/{dynamic_content_item_id}
The only attribute you can change is the name.
To add a variant to the item, or to update or delete the variants of the item, use the Item Variants API.
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
N/A |
{dynammic_content_variant_id} (3)
DELETE Delete Variant
/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
(Required) The ID of the variant |
|
|
N/A |
GET Show Variant
/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
(Required) The ID of the variant |
|
|
N/A |
PUT Update Variant
/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
Updates the specified variant. You don't need to include all the properties. If you just want to update content, for example, then include just that.
You can't switch the active state of the default variant of an item. Similarly, you can't switch the default to false if the variant is the default. You must make another variant default instead.
Allowed For
-
Admins, Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the dynamic content item |
|
|
(Required) The ID of the variant |
|
|
N/A |
{group_id} (3)
DELETE Delete Group
/groups/{group_id}
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage groups (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the group |
|
|
N/A |
GET Show Group
/groups/{group_id}
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the group |
|
|
N/A |
PUT Update Group
/groups/{group_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the group |
|
|
N/A |
{group_membership_id} (2)
DELETE Delete Membership
/group_memberships/{group_membership_id}
Immediately removes a user from a group and schedules a job to unassign all working tickets that are assigned to the given user and group combination.
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage group memberships (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the group membership |
|
|
N/A |
GET Show Membership
/group_memberships/{group_membership_id}
The 'id' is the group membership id, not a group id.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the group membership |
|
|
N/A |
{group_sla_policy_id} (3)
DELETE Delete Group SLA Policy
/group_slas/policies/{group_sla_policy_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the Group SLA policy |
|
|
N/A |
GET Show Group SLA Policy
/group_slas/policies/{group_sla_policy_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the Group SLA policy |
|
|
N/A |
PUT Update Group SLA Policy
/group_slas/policies/{group_sla_policy_id}
Updates the specified policy.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the Group SLA policy |
|
|
N/A |
{id} (2)
DELETE Delete Suspended Ticket
/suspended_tickets/{id}
Allowed For
-
Unrestricted agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) id of the suspended ticket |
|
|
N/A |
GET Show Suspended Ticket
/suspended_tickets/{id}
Allowed For
-
Admins and agents in custom roles with permission to manage suspended tickets on Enterprise plans
-
Unrestricted agents on all other plans
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) id of the suspended ticket |
|
|
N/A |
{job_status_id}
GET Show Job Status
/job_statuses/{job_status_id}
Shows the status of a background job.
Allowed For:
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) the Id of the Job status |
|
|
N/A |
{locale_id}
GET Show Locale
/locales/{locale_id}
Allowed For
-
Anyone
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or the BCP-47 code of the locale. Examples: es-419, en-us, pr-br |
|
|
N/A |
{macro_id} (3)
DELETE Delete Macro
/macros/{macro_id}
Allowed For
-
Agents, with restrictions applying on certain actions
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the macro |
|
|
N/A |
GET Show Macro
/macros/{macro_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the macro |
|
|
N/A |
PUT Update Macro
/macros/{macro_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the macro |
|
|
N/A |
{organization_field_id} (3)
DELETE Delete Organization Field
/organization_fields/{organization_field_id}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the organization field |
|
|
N/A |
GET Show Organization Field
/organization_fields/{organization_field_id}
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the organization field |
|
|
N/A |
PUT Update Organization Field
/organization_fields/{organization_field_id}
Updating a Drop-down (Tagger) Field
Drop-down fields return an array of custom_field_options which specify the name, value, and order of drop-down options. When updating a drop-down field, note the following information:
-
All options must be passed on update. Options that are not passed will be removed. As a result, these values will be removed from any organizations
-
To create a new option, pass a null
idalong with thenameandvalue -
To update an existing option, pass its
idalong with thenameandvalue -
To reorder an option, reposition it in the
custom_field_optionsarray relative to the other options -
To remove an option, omit it from the list of options upon update
Example Request
curl https://{subdomain}.zendesk.com/api/v2/organization_fields/{organization_field_id}.json \
-H "Content-Type: application/json" -X PUT \
-d '{"organization_field": {"custom_field_options": [{"id": 124, "name": "Option 2", "value": "option_2"}, {"id": 123, "name": "Option 1", "value": "option_1"}, {"id": 125, "name": "Option 3", "value": "option_3"}]}}' \
-v -u {email_address}:{password}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the organization field |
|
|
N/A |
{organization_id} (4)
DELETE Delete Organization
/organizations/{organization_id}
Allowed For
-
Admins
-
Agents assigned to a custom role with permissions to manage organizations (Enterprise only)
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of an organization |
|
|
N/A |
GET Show Organization
/organizations/{organization_id}
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of an organization |
|
|
N/A |
DELETE Unassign Organization
/users/{user_id}/organizations/{organization_id}
Immediately removes a user from an organization and schedules a job to unassign all working tickets currently assigned to the user and organization combination. The organization_id of the unassigned tickets is set to null.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of an organization |
|
|
N/A |
PUT Update Organization
/organizations/{organization_id}
Allowed For
-
Admins
-
Agents
Agents with no permissions restrictions can only update "notes" on organizations.
Note: Updating an organization's domain_names property overwrites all existing domain_names values. To prevent this, submit a complete list of domain_names for the organization in your request.
Example Request
{
"organization": {
"notes": "Something interesting"
}
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of an organization |
|
|
N/A |
{organization_membership_id} (2)
DELETE Delete Membership
/organization_memberships/{organization_membership_id}
Immediately removes a user from an organization and schedules a job to unassign all working tickets currently assigned to the user and organization combination. The organization_id of the unassigned tickets is set to null.
Allowed for
-
Admins
-
Agents when deleting an organization membership for an end user
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the organization membership |
|
|
N/A |
GET Show Membership
/organization_memberships/{organization_membership_id}
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the organization membership |
|
|
N/A |
{organization_subscription_id} (2)
DELETE Delete Organization Subscription
/organization_subscriptions/{organization_subscription_id}
Allowed For:
-
Agents
-
End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the organization subscription |
|
|
N/A |
GET Show Organization Subscription
/organization_subscriptions/{organization_subscription_id}
Allowed For:
-
Agents
-
End users
For end users, the response will only list the subscriptions created by the requesting end user.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the organization subscription |
|
|
N/A |
{request_id} (2)
GET Show Request
/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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the request |
|
|
N/A |
PUT Update Request
/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: |
|
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
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the request |
|
|
N/A |
{resource_collection_id} (3)
DELETE Delete Resource Collection
/resource_collections/{resource_collection_id}
Deletes a specified resource collection.
The response includes a [job
status](/api-reference/ticketing/ticket-management/job_statuses/) for deletion of the collection's resources.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the resource collection |
|
|
N/A |
GET Show Resource Collection
/resource_collections/{resource_collection_id}
Retrieves details for a specified resource collection.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the resource collection |
|
|
N/A |
PUT Update Resource Collection
/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](/api-reference/ticketing/ticket-management/job_statuses/) for the resource updates.
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the resource collection |
|
|
N/A |
{satisfaction_rating_id}
GET Show Satisfaction Rating
/satisfaction_ratings/{satisfaction_rating_id}
Returns a specific satisfaction rating. You can get the id from
the List Satisfaction Ratings endpoint.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the satisfaction rating to retrieve |
|
|
N/A |
{satisfaction_reason_id}
GET Show Reason for Satisfaction Rating
/satisfaction_reasons/{satisfaction_reason_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the satisfaction rating reason |
|
|
N/A |
{session_id} (2)
DELETE Delete Session
/users/{user_id}/sessions/{session_id}
Allowed For
-
Admins, Agents, End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the session |
|
|
N/A |
GET Show Session
/users/{user_id}/sessions/{session_id}
Allowed For
-
Admins, Agents, End users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the session |
|
|
N/A |
{sharing_agreement_id} (3)
DELETE Delete a Sharing Agreement
/sharing_agreements/{sharing_agreement_id}
Deletes a sharing agreement.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the sharing agreement |
|
|
N/A |
GET Show a Sharing Agreement
/sharing_agreements/{sharing_agreement_id}
Returns a sharing agreement for your account.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the sharing agreement |
|
|
N/A |
PUT Update a Sharing Agreement
/sharing_agreements/{sharing_agreement_id}
Returns an updated sharing agreement. Only status is allowed to be updated.
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the sharing agreement |
|
|
N/A |
{sla_policy_id} (3)
DELETE Delete SLA Policy
/slas/policies/{sla_policy_id}
Availability
-
Accounts on the Support Professional or Suite Growth plan or above
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the SLA Policy |
|
|
N/A |
GET Show SLA Policy
/slas/policies/{sla_policy_id}
Availability
-
Accounts on the Support Professional or Suite Growth plan or above
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the SLA Policy |
|
|
N/A |
PUT Update SLA Policy
/slas/policies/{sla_policy_id}
Updates the specified policy.
Availability
-
Accounts on the Support Professional or Suite Growth plan or above
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the SLA Policy |
|
|
N/A |
{source_type}
GET Get sources by target
/{target_type}/{target_id}/relationship_fields/{field_id}/{source_type}
Returns a list of source objects whose values are populated with the id of a related target object. For example,
if you have a lookup field called "Success Manager" on a ticket, this endpoint can answer the question,
"What tickets (sources) is this user (found by target_type and target_id)
assigned as the 'Success Manager' (field referenced by field_id)?"
Allowed For
-
Agents
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The type of object the relationship field is targeting.
|
|
|
(Required) The id of the object the relationship field is targeting |
|
|
(Required) The id of the lookup relationship field |
|
|
(Required) The type of object the relationship field belongs to (example. ticket field belongs to a ticket object).
|
|
|
N/A |
{support_address_id} (3)
DELETE Delete Support Address
/recipient_addresses/{support_address_id}
Deletes a support address.
Allowed For
-
Admins
-
Agents with permission to manage channels and extensions. See the system permissions in Creating custom roles and assigning agents (Enterprise) in the Support Help Center
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the support address |
|
|
N/A |
GET Show Support Address
/recipient_addresses/{support_address_id}
Allowed For
-
Admins
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the support address |
|
|
N/A |
PUT Update Support Address
/recipient_addresses/{support_address_id}
Updates an existing support address for your account.
You can't use this endpoint to update a support address's email property.
Instead, you can create a new address using the [Create Support
Address](#create-support-address) endpoint.
Allowed For
-
Admins
-
Agents with permission to manage channels and extensions. See the system permissions in Creating custom roles and assigning agents (Enterprise) in the Support Help Center
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the support address |
|
|
N/A |
{target_failure_id}
GET Show Target Failure
/target_failures/{target_failure_id}
Stability
-
Development
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the target failure |
|
|
N/A |
{target_id} (3)
DELETE Delete Target
/targets/{target_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the target |
|
|
N/A |
GET Show Target
/targets/{target_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the target |
|
|
N/A |
PUT Update Target
/targets/{target_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the target |
|
|
N/A |
{target_type}
GET Filter Definitions
/relationships/definitions/{target_type}
Returns filter definitions based on the given target type. Target types
include users (zen:user), tickets (zen:ticket), organizations (zen:organization), or custom objects (zen:custom_object:CUSTOM_OBJECT_KEY).
The returned filter definitions are the options that you can use to build a custom field or ticket field's
relationship_filter.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The target type for which you would like to see filter definitions.
|
|
|
N/A |
{ticket_audit_id}
GET Show Audit
/tickets/{ticket_id}/audits/{ticket_audit_id}
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
(Required) The ID of the ticket audit |
|
|
N/A |
{ticket_comment_id} (2)
GET Getting Comments
/requests/{request_id}/comments/{ticket_comment_id}
Allowed For
-
End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the request |
|
|
(Required) The ID of the ticket comment |
|
|
N/A |
PUT Redact Ticket Comment In Agent Workspace
/comment_redactions/{ticket_comment_id}
Redaction allows you to permanently remove words, strings, or attachments from a ticket comment.
In the html_body of the comment, wrap the content you want redacted in <redact> tags. Example:
{
"html_body": "<div class=\"zd-comment\" dir=\"auto\">My ID number is <redact>847564</redact>!</div>",
"ticket_id":100
}
The characters in the redact tag will be replaced by the ▇ symbol.
To redact inline images and anchor tags, add the individual attribute redact to the element. Example: <a href="http://example.com" redact>some link</a>.
Redaction is permanent and can not be undone. Data is permanently deleted from Zendesk servers with no way to recover it.
This endpoint provides all the same functionality that the Redact String in Comment endpoint provides, plus:
-
Redaction of comments in closed tickets
-
Redaction of comments in archived tickets
-
Redaction of formatted text (bold, italics, hyperlinks)
Limitations: When content is redacted from an email comment, the content is also redacted from the original email through a background job. It may take a while for the changes to be completed.
Note: We recommend using this endpoint instead of the Redact String in Comment endpoint, which will eventually be deprecated.
Allowed For
-
Agents
Agent Workspace must be enabled on the account. For professional accounts, deleting tickets must be enabled for agents. On Enterprise accounts, you can assign agents to a custom role with permissions to redact ticket content.
Request Body Properties
|
Name |
Type |
Required |
Description |
|---|---|---|---|
|
ticket_id |
integer |
true |
The ID of the ticket |
|
html_body |
string |
false |
The |
|
external_attachment_urls |
array |
false |
Array of attachment URLs belonging to the comment to be redacted. See |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket comment |
|
|
N/A |
{ticket_field_id} (3)
DELETE Delete Ticket Field
/ticket_fields/{ticket_field_id}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
If true, displays the creator_user_id and creator_app_name properties. If the ticket field is created
|
|
|
(Required) The ID of the ticket field |
|
|
N/A |
GET Show Ticket Field
/ticket_fields/{ticket_field_id}
Allowed for
-
Agents
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
users |
The user or users that created the ticket field |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
If true, displays the creator_user_id and creator_app_name properties. If the ticket field is created
|
|
|
(Required) The ID of the ticket field |
|
|
N/A |
PUT Update Ticket Field
/ticket_fields/{ticket_field_id}
Updating drop-down field options
You can also use the update endpoint to add, update, or remove options in a drop-down custom field. Updating field options for multi-select fields works exactly the same as drop-down field options.
Important: Unless you want to remove some options, you must specify all existing options in any update request. Omitting an option removes it from the drop-down field, which removes its values from any tickets or macros.
Use the custom_field_options attribute to update the options. The attribute consists of an array of option objects, with each object consisting of a name and value property. The properties correspond to the "Title" and "Tag" text boxes in the admin interface. Example request body:
{"ticket_field": {
"custom_field_options": [
{"name": "Apple Pie", "value": "apple"},
{"name": "Pecan Pie", "value": "pecan"}
]
}
}
Example Request
curl https://{subdomain}.zendesk.com/api/v2/ticket_fields/{id}.json \
-d '{"ticket_field": {"custom_field_options": [{"name": "Apple Pie", "value": "apple"}, {"name": "Pecan Pie", "value": "pecan"}]}}' \
-H "Content-Type: application/json" -X PUT \
-v -u {email_address}:{password}
Example Response
Status: 200 OK
{
"ticket_field": {
"id":21938362,
"type":"tagger",
"title":"Pies",
...
"custom_field_options": [
{
"id":21029772,
"name":"Apple Pie",
"raw_name":"Apple Pie",
"value":"apple",
"default":false
},
...
]
}
}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
If true, displays the creator_user_id and creator_app_name properties. If the ticket field is created
|
|
|
(Required) The ID of the ticket field |
|
|
N/A |
{ticket_field_option_id} (2)
DELETE Delete Ticket Field Option
/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket field |
|
|
(Required) The ID of the ticket field option |
|
|
N/A |
GET Show Ticket Field Option
/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id}
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket field |
|
|
(Required) The ID of the ticket field option |
|
|
N/A |
{ticket_form_id} (3)
DELETE Delete Ticket Form
/ticket_forms/{ticket_form_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket form |
|
|
N/A |
GET Show Ticket Form
/ticket_forms/{ticket_form_id}
Allowed For
-
Admins, Agents, and End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket form |
|
|
N/A |
PUT Update Ticket Form
/ticket_forms/{ticket_form_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket form |
|
|
N/A |
{ticket_id} (6)
DELETE Delete Ticket
/tickets/{ticket_id}
Allowed For
-
Admins
-
Agents with permission to delete tickets
Agent delete permissions are set in Support. See
Deleting tickets
in the Support Help Center.
Ticket deletion rate limit
You can delete 400 tickets every 1 minute using this endpoint.
The rate limiting mechanism behaves as described in
Rate limits in the API introduction.
Zendesk recommends that you obey the Retry-After header values.
To delete many tickets, you may use Bulk Delete Tickets.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
DELETE Delete ticket permanently
/deleted_tickets/{ticket_id}
Permanently deletes a soft-deleted ticket. See Soft delete
in the Zendesk GDPR docs. To soft delete a ticket, use the Delete Ticket endpoint.
This endpoint enqueues a ticket deletion job and returns a payload with the jobs status.
If the job succeeds, the ticket is permanently deleted. This operation can't be undone.
This endpoint returns a job_status JSON object and queues a background job to do the work.
Use the Show Job Status endpoint to check for the job's completion.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
PUT Redact Chat Comment
/chat_redactions/{ticket_id}
Permanently removes words or strings from a chat ticket's comment.
Wrap <redact> tags around the content in the chat comment you want redacted. Example:
{
"text": "My ID number is <redact>847564</redact>!"
}
The characters contained in the tag will be replaced by the ▇ symbol.
Note: This does not work on active chats. For chat tickets that predate March 2020, consider using Redact Ticket Comment In Agent Workspace.
Allowed For
-
Agents
Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.
Request Body Properties
|
Name |
Type |
Required |
Description |
|---|---|---|---|
|
chat_id |
string |
true |
The |
|
chat_index |
integer |
true |
The |
|
text |
string |
true |
The |
To get the required body properties, make a request to the Ticket Audit endpoint. Example response:
Status 200 OK
{
"audits": [
"events": [
{
"id": 1932802680168,
"type": "ChatStartedEvent",
"value": {
"visitor_id": "10502823-16EkM3T6VNq7KMd",
"chat_id": "2109.10502823.Sjuj2YrBpXwei",
"history": [
{
"chat_index": 0,
"type": "ChatMessage",
"message": "My ID number is 847564!"
}
]
}
}
]
]
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
PUT Redact Chat Comment Attachment
/chat_file_redactions/{ticket_id}
Permanently removes one or more chat attachments from a chat ticket.
Note: This does not work on active chats. For chat tickets that predate March 2020, consider using Redact Ticket Comment In Agent Workspace.
Allowed For
-
Agents
Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.
Request Body Properties
|
Name |
Type |
Required |
Description |
|---|---|---|---|
|
chat_id |
string |
true |
The |
|
chat_indexes |
array |
true |
The array of |
To get the required body properties, make a request to the Ticket Audits endpoint. Example response:
Status 200 OK
{
"audits": [
"events": [
{
"id": 1932802680168,
"type": "ChatStartedEvent",
"value": {
"visitor_id": "10502823-16EkM3T6VNq7KMd",
"chat_id": "2109.10502823.Sjuj2YrBpXwei",
"history": [
{
"chat_index": 0,
"type": "ChatFileAttachment",
"filename": "image1.jpg"
},
{
"chat_index": 1,
"type": "ChatFileAttachment",
"filename": "image2.jpg"
}
]
}
}
]
]
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
GET Show Ticket
/tickets/{ticket_id}
Returns a number of ticket properties though not the ticket comments. To get the comments, use List Comments
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
PUT Update Ticket
/tickets/{ticket_id}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the ticket |
|
|
N/A |
{ticket_metric_id}
GET Show Ticket Metrics
/ticket_metrics/{ticket_metric_id}
Returns a specific metric, or the metrics of a specific ticket.
Pagination
-
Cursor pagination (recommended)
-
Offset pagination
See Pagination.
Returns a maximum of 100 records per page.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the ticket metric to retrieve |
|
|
N/A |
{token}
DELETE Delete Upload
/uploads/{token}
Allowed for
-
End Users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The token of the uploaded attachment |
|
|
N/A |
{trigger_category_id} (3)
DELETE Delete Trigger Category
/trigger_categories/{trigger_category_id}
Deletes the trigger category with the specified ID.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the trigger category to delete |
|
|
N/A |
GET Show Trigger Category
/trigger_categories/{trigger_category_id}
Returns the trigger category with the specified ID.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the trigger category to retrieve |
|
|
N/A |
PATCH Update Trigger Category
/trigger_categories/{trigger_category_id}
Updates the trigger category with the specified ID.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the trigger category to update |
|
|
N/A |
{trigger_id} (3)
DELETE Delete Trigger
/triggers/{trigger_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the trigger |
|
|
N/A |
GET Show Trigger
/triggers/{trigger_id}
Allowed For
-
Agents
The Via Type value is a number instead of a text string. See Via types reference for the keys.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the trigger |
|
|
N/A |
PUT Update Trigger
/triggers/{trigger_id}
Allowed For
-
Agents
Note
Updating a condition or action updates both the conditions and actions arrays,
clearing all existing values of both arrays. Include all your conditions
and actions when updating any condition or action.
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the trigger |
|
|
N/A |
{trigger_revision_id}
GET Show Trigger Revision
/triggers/{trigger_id}/revisions/{trigger_revision_id}
Fetches a revision associated with a trigger. Trigger revision history is only available on Enterprise plans.
Allowed For
-
Agents
Sideloads
The following sideloads are supported:
|
Name |
Will sideload |
|---|---|
|
users |
The user that authored each revision |
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the trigger |
|
|
The ID of the revision for a particular trigger |
|
|
N/A |
{user_field_id} (3)
DELETE Delete User Field
/user_fields/{user_field_id}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the user field |
|
|
N/A |
GET Show User Field
/user_fields/{user_field_id}
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the user field |
|
|
N/A |
PUT Update User Field
/user_fields/{user_field_id}
Updating a Dropdown (Tagger) Field
Dropdown fields return an array of custom_field_options which specify the name, value and order of the list of dropdown options.
Understand the following behavior when updating a dropdown field:
-
All options must be passed on update. Options that are not passed will be removed. As a result, these values will be removed from any organizations.
-
To create a new option, pass a null
idalong withnameandvalue. -
To update an existing option, pass its
idalong withnameandvalue. -
To re-order an option, reposition it in the
custom_field_optionsarray relative to the other options. -
To remove an option, omit it from the list of options upon update.
Example Request
curl https://{subdomain}.zendesk.com/api/v2/user_fields/{user_field_id}.json \
-H "Content-Type: application/json" -X PUT \
-d '{"user_field": {"custom_field_options": [{"id": 124, "name": "Option 2", "value": "option_2"}, {"id": 123, "name": "Option 1", "value": "option_1"}, {"id": 125, "name": "Option 2", "value": "option_3"}]}}' \
-v -u {email_address}:{password}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the user field |
|
|
N/A |
{user_field_option_id} (2)
DELETE Delete User Field Option
/user_fields/{user_field_id}/options/{user_field_option_id}
Allowed for
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the user field |
|
|
(Required) The ID of the user field option |
|
|
N/A |
GET Show a User Field Option
/user_fields/{user_field_id}/options/{user_field_option_id}
Allowed for
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID or key of the user field |
|
|
(Required) The ID of the user field option |
|
|
N/A |
{user_identity_id} (3)
DELETE Delete Identity
/users/{user_id}/identities/{user_identity_id}
Deletes the identity for a given user.
In certain cases, a phone number associated with an identity is still visible on the user profile after the identity has been deleted via API. You can remove the phone number from the user profile by updating the phone attribute of the user to an empty string. See Update User via API for details and examples.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the user identity |
|
|
N/A |
GET Show Identity
/users/{user_id}/identities/{user_identity_id}
Shows the identity with the given id for a given user.
Use the first endpoint if authenticating as an agent. Use the second if authenticating as an end user. End users can only view email or phone number identity.
Allowed For
-
Agents
-
Verified end users
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the user identity |
|
|
N/A |
PUT Update Identity
/users/{user_id}/identities/{user_identity_id}
This endpoint allows you to:
-
Set the specified identity as verified (but you cannot unverify a verified identity)
-
Update the
valueproperty of the specified identity
You can't change an identity's primary attribute with this endpoint. You must use the Make Identity Primary endpoint instead.
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
(Required) The ID of the user identity |
|
|
N/A |
{user_id} (3)
DELETE Delete User
/users/{user_id}
Deletes the user and associated records from the account.
Warning:
-
Deleted users are not recoverable.
-
Both agents and administrators can soft delete users in the agent interface in Zendesk Support. Agents with permission can delete end users, while administrators can delete all users except the account owner.
To comply with GDPR, a further step is needed. See Permanently Delete User.
Allowed For
-
Admins and agents in custom roles with permission to manage end users or team members
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
GET Show User
/users/{user_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
PUT Update User
/users/{user_id}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the user |
|
|
N/A |
{view_id} (3)
DELETE Delete View
/views/{view_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the view |
|
|
N/A |
GET Show View
/views/{view_id}
Allowed For
-
Agents
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the view |
|
|
N/A |
PUT Update View
/views/{view_id}
Allowed For
-
Agents
JSON Format
The PUT request takes one property, a view object that lists the values to update. All properties are optional.
Note: Updating a condition updates the containing array, clearing the other conditions. Include all your conditions when updating any condition.
|
Name |
Description |
|---|---|
|
title |
The title of the view |
|
all |
An array of one or more conditions. A ticket must meet all the conditions to be included in the view. The PUT request replaces all existing conditions. See Conditions reference |
|
any |
An array of one or more conditions. A ticket must meet any of them to be included in the view. At least one |
|
active |
Allowed values are true or false. Determines if the view is displayed or not |
|
output |
An object that specifies the columns to display. Example: |
|
restriction |
An object that describes who can access the view. To give all agents access to the view, omit this property |
The restriction object has the following properties.
|
Name |
Comment |
|---|---|
|
type |
Allowed values are "Group" or "User" |
|
id |
The numeric ID of a single group or user |
|
ids |
The numeric IDs of a single or more groups. Recommended for "Group" |
If type is "Group", the ids property is the preferred method of specifying the group id or ids.
You can also update how items are sorted and grouped. See View sorting in Create View.
Example Request Body
{
"view": {
"title": "Code red tickets",
"restriction": {
"type": "Group",
"ids": [10052, 10057, 10062, 10002]
},
"all": [
{
"field": "priority",
"operator": "is",
"value": "urgent"
}
],
"output": {
"columns": ["status", "requester", "assignee", "updated"]
}
}
}
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The ID of the view |
|
|
N/A |
{workspace_id} (3)
DELETE Delete Workspace
/workspaces/{workspace_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the workspace |
|
|
N/A |
GET Show Workspace
/workspaces/{workspace_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the workspace |
|
|
N/A |
PUT Update Workspace
/workspaces/{workspace_id}
Allowed For
-
Admins
Parameters
|
Parameter Name |
Description |
|---|---|
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
N/A |
|
|
(Required) The id of the workspace |
|
|
N/A |