Zendeskconnector v1

Version 1

Connector Overview: This page documents all 417 actions for the Zendeskconnector v1.

View API Documentation

Accounts

POST Create Trial Account

/accounts

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Actions

GET List Supported Actions for Macros

/macros/actions

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Include

A sideload to include in the response. See Sideloads

Access

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.

Category

Filter macros by category

Group Id

Filter macros by group

Sort By

Possible values are alphabetical, "created_at", "updated_at", "usage_1h", "usage_24h", "usage_7d", or "usage_30d". Defaults to alphabetical

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sort

Cursor-based pagination only. Possible values are "alphabetical", "created_at", "updated_at", or "position".

Sort By

Offset pagination only. Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position"

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Category Id

Filter triggers by category ID

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Access

Only views with given access. May be "personal", "shared", or "account"

Group Id

Only views belonging to given group

Sort By

Possible values are "alphabetical", "created_at", or "updated_at". Defaults to "position"

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Since

A UTC time in ISO 8601 format to return ticket activities since said date.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Macro Id

(Required) The ID of the macro

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Macro Id

(Required) The ID of the macro

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Macro Id

(Required) The ID of the macro

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Macro Attachments

/macros/{macro_id}/attachments

Lists the attachments associated with a macro.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Macro Id

(Required) The ID of the macro

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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 cursor parameter is a non-human-readable argument you can use to move forward or backward in time. The cursor is a read-only URL parameter that's only available in API responses. See Pagination.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Attributes (3)

POST Create Attribute

/routing/attributes

Creates an attribute.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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 cursor parameter is a non-human-readable argument you can use to move forward or backward in time. The cursor is a read-only URL parameter that's only available in API responses. See Pagination.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Filter[source Type]

Filter audit logs by the source type. For example, user or rule

Filter[source Id]

Filter audit logs by the source id. Requires filter[source_type] to also be set.

Filter[actor Id]

Filter audit logs by the actor id

Filter[ip Address]

Filter audit logs by the ip address

Filter[created At]

Filter audit logs by the time of creation

Filter[action]

Filter audit logs by the action

Sort By

Offset pagination only. Sort audit logs. Default is sort_by=created_at

Sort Order

Offset pagination only. Sort audit logs. Default is sort_order=desc

Sort

Cursor pagination only. Sort audit logs. Default is sort=-created_at

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Name

Part of a name of the record you are searching for

Page[before]

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.

Page[after]

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.

Page[size]

The number of records to return in the response.

Field Id

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.

Source

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.

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Name

(Required) A substring of an organization to search for

Field Id

The id of a lookup relationship field. The type of field is determined
by the source param

Source

If a field_id is provided, this specifies the type of the field.
For example, if the field is on a "zen:user", it references a field on a user

Response Type

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:

JSON
{"text": "fire"}

Allowed For

  • Agents

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Text

The text to search for

Response Type

N/A

Options (1)

Option Name

Description

Text

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Name

(Required) The name to search for the user.

Field Id

The id of a lookup relationship field. The type of field is determined
by the source param

Source

If a field_id is provided, this specifies the type of the field.
For example, if the field is on a "zen:user", it references a field on a user

Response Type

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, or requester_id.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Subdomain

(Required) Specify the name of the subdomain you want to verify. The name can't contain underscores, hyphens, or spaces.

Response Type

N/A

Bookmarks (2)

POST Create Bookmark

/bookmarks

Allowed For

  • Agents

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Bookmarks

/bookmarks

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Brands (2)

POST Create Brand

/brands

Allowed for

  • Admins

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Host Mapping

(Required) The hostmapping to a brand, if any (only admins view this key)

Subdomain

(Required) Subdomain for a given Zendesk account address

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Brand Id

(Required) The ID of the brand

Response Type

N/A

Clone

POST Clone an already existing ticket form

/ticket_forms/{ticket_form_id}/clone

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Form Id

(Required) The ID of the ticket form

Response Type

N/A

Collaborators

GET List Collaborators for a Ticket

/tickets/{ticket_id}/collaborators

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

sort

string

no

Possible values are "created_at" (ascending order) or "-created_at" (descending order)

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

Name

Type

Required

Comments

sort_order

string

no

One of asc, desc. Defaults to asc

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Include Inline Images

Default is false. When true, inline images are also listed as attachments in the response

Include

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.

Ticket Id

(Required) The ID of the ticket

Response Type

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

sort

string

no

Possible values are "created_at" (ascending order) or "-created_at" (descending order)

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

Name

Type

Required

Comments

sort_by

string

no

One of created_at, updated_at

sort_order

string

no

One of asc, desc

Allowed For

  • End Users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Since

Filters the comments from the given datetime

Role

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

Request Id

(Required) The ID of the request

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Application

Area of compliance

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

JavaScript
{
  "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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

View Id

(Required) The ID of the view

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Role

Filters the results by role. Possible values are "end-user", "agent", or "admin"

Role[]

Filters the results by more than one role using the format role[]={role}&role[]={role}

Permission Set

For custom roles which is available on the Enterprise plan and above. You can only filter by one role ID per request

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

POST Preview Ticket Count

/views/preview/count

Returns the ticket count for a single preview.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

(Required) The search query

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) List of view's ids separated by commas.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

POST Create Many Variants

/dynamic_content/items/{dynamic_content_item_id}/variants/create_many

Allowed For

  • Admins, Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Archive Immediately

If true, any ticket created with a closed status bypasses the normal ticket lifecycle and will be created directly in your ticket archive

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(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

Cursor

The cursor pointer to work with for all subsequent exports after the initial request

Response Type

N/A

GET Incremental User Export, Cursor Based

/incremental/users/cursor

Allowed For

  • Admins

Sideloading

See Users sideloads.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(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

Cursor

The cursor pointer to work with for all subsequent exports after the initial request

Per Page

The number of records to return per page

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Custom Objects

/custom_objects

Lists all undeleted custom objects for the account

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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_roles permission

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Custom Roles

/custom_roles

Availability

  • Accounts on the Enterprise plan or above

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Status Categories

Filter the list of custom ticket statuses by a comma-separated list of status categories

Active

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

Default

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

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Ids

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET Retrieve Supported Filter Definition Items

/group_slas/policies/definitions

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sort By

Sort by

Sort Order

Sort order. Defaults to "asc"

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

JavaScript
{
  "ids": "25,23,27,22"
}

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

The IDs of the automations to delete

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) The IDs of the macros to delete

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

Id of the group memberships to delete. Comma separated

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

The IDs of the organization memberships to delete

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

A list of organization ids

External Ids

A list of external ids

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) Comma-separated list of ticket ids

Response Type

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

JavaScript
{
  "ids": "25,23,27,22"
}

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) A comma separated list of trigger IDs

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

Id of the users to delete. Comma separated

External Ids

External Id of the users to delete. Comma separated

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) The IDs of the views to delete

Response Type

N/A

DELETE Bulk Delete Workspaces

/workspaces/destroy_many

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) The ids of the workspaces to delete

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Options

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) A comma separated list of ids of suspended tickets to delete.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) Comma-separated list of ticket ids

Response Type

N/A

Detect_best_locale

GET Detect Best Language for User

/locales/detect_best_locale

Allowed For

  • Anyone

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Agent Id

(Required) ID of an agent

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Agent Id

(Required) ID of an agent

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sort By

The ticket field used for sorting. This will either be a title or a custom field id.

Sort Order

The direction the tickets are sorted. May be one of 'asc' or 'desc'

View Id

(Required) The ID of the view

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Filter[source Type]

Filter audit logs by the source type. For example, user or rule

Filter[source Id]

Filter audit logs by the source id. Requires filter[source_type] to also be set.

Filter[actor Id]

Filter audit logs by the actor id

Filter[ip Address]

Filter audit logs by the ip address

Filter[created At]

Filter audit logs by the time of creation

Filter[action]

Filter audit logs by the action

Response Type

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 filter_type parameter

The response is similar to the response of GET /api/v2/search.json?, with a few changes:

  • links - Has the following nested properties: prev and next. These replace the next_page and prev_page links. The prev property is always null because backward pagination is not supported. The next property may include an auto-generated link to the next page of results.

  • meta - Has the following nested properties: has_more and after_cursor. The has_more property indicates whether the next page has more results. The after_cursor property is the cursor used to paginate to the next page. It expires after one hour.

There's no count property.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

(Required) The search query. See Query basics above. For details on the query syntax, see the Zendesk Support search reference

Page[size]

The number of results shown in a page.

Filter[type]

The object type returned by the export query. Can be ticket, organization, user, or group.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

View Id

(Required) The ID of the view

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Include Standard Fields

Include standard fields if true. Exclude them if false

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

email

{ "type" : "email", "value" : "someone@example.com" }

twitter

{ "type" : "twitter", "value" : "screen_name" }

facebook

{ "type" : "facebook", "value" : "855769377321" }

google

{ "type" : "google", "value" : "example@gmail.com" }

agent_forwarding

{ "type" : "agent_forwarding", "value" : "+1 555-123-4567" }

phone_number

{ "type" : "phone_number", "value" : "+1 555-123-4567" }

To create an identity without sending out a verification email, include a "skip_verify_email": true property.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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 cursor parameter is a non-human-readable argument you can use to move forward or backward in time. The cursor is a read-only URL parameter that's only available in API responses. See Pagination.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

Accepts a comma-separated list of up to 100 user ids.

Response Type

N/A

Macros (2)

POST Create Macro

/macros

Allowed For

  • Agents

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Include

A sideload to include in the response. See Sideloads

Access

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.

Active

Filter by active macros if true or inactive macros if false

Category

Filter macros by category

Group Id

Filter macros by group

Only Viewable

If true, returns only macros that can be applied to tickets. If false, returns all macros the current user can manage. Default is false

Sort By

Possible values are alphabetical, "created_at", "updated_at", "usage_1h", "usage_24h", "usage_7d", or "usage_30d". Defaults to alphabetical

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Group Membership Id

(Required) The ID of the group membership

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Organization Membership Id

(Required) The ID of the organization membership

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Organization Id

(Required) The ID of an organization

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

User Identity Id

(Required) The ID of the user identity

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Ticket Audit Id

(Required) The ID of the ticket audit

Response Type

N/A

PUT Make Comment Private

/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Ticket Comment Id

(Required) The ID of the ticket comment

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) Comma-separated list of ticket ids

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

N/A

Options (5)

Option Name

Description

Ids

N/A

Source Comment

N/A

Source Comment Is Public

N/A

Target Comment

N/A

Target Comment Is Public

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Macro Id

(Required) The ID of the macro to replicate

Ticket Id

(Required) The ID of the ticket from which to build a macro replica

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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:

JSON
{"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.json if the ticket field option already exists in the database

  • 201 with Location: /api/v2/ticket_fields/{ticket_field_id}/options.json if 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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Field Id

(Required) The ID of the ticket field

Response Type

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.json if the user field option already exists in the database

  • 201 with Location: /api/v2/user_fields/{user_field_id}/options.json if the user field option is new

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Field Id

(Required) The ID or key of the user field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Field Id

(Required) The ID of the ticket field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Field Id

(Required) The ID or key of the user field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET Incremental Organization Export

/incremental/organizations

Allowed For

  • Admins

Sideloading

See Organizations sideloads.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(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

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

N/A

Policies (4)

POST Create Group SLA Policy

/group_slas/policies

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Group SLA Policies

/group_slas/policies

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

External Id

(Required) The external id of a custom object record

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Filter[ids]

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.

Filter[external Ids]

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.

Sort

One of id, updated_at, -id, or -updated_at. The - denotes the sort will be descending.

Page[before]

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.

Page[after]

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.

Page[size]

Specifies how many records should be returned in the response.

Custom Object Key

(Required) The key of a custom object

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

External Id

(Required) The external id of a custom object record

Custom Object Key

(Required) The key of a custom object

Response Type

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 tickets array in the response.

  • If all recoveries fail, it returns a 422 with a suspended_tickets array in the response.

  • If there is a mixture of successes and failures in a single call, it returns a 422 with a suspended_tickets array 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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Id

(Required) id of the suspended ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) A comma separated list of ids of suspended tickets to recover.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Comment Id

(Required) The ID of the comment

Attachment Id

(Required) The ID of the attachment

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Ticket Comment Id

(Required) The ID of the ticket comment

Response Type

N/A

GET Show Organization's Related Information

/organizations/{organization_id}/related

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Id

(Required) The ID of an organization

Response Type

N/A

GET Show User Related Information

/users/{user_id}/related

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

twitter

object

Twitter information associated with the ticket

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

N/A

Renew

GET Renew the current session

/users/me/session/renew

Allowed For

  • Admins, Agents, End users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

N/A

PUT Reorder Group SLA Policies

/group_slas/policies/reorder

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Sla Policy Ids

The ids of the Group SLA policies to reorder

Response Type

N/A

PUT Reorder Organization Field

/organization_fields/reorder

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sla Policy Ids

The IDs of the SLA Policies to reorder

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

PUT Reorder User Field

/user_fields/reorder

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

PUT Reorder Workspaces

/workspaces/reorder

Allowed For

  • Admins

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Ids

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

User Identity Id

(Required) The ID of the user identity

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Requests

/requests

Allowed for

  • End Users

Pagination

  • Cursor pagination (recommended)

  • Offset pagination

See Pagination.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Requirements

GET List password requirements

/users/{user_id}/password/requirements

Allowed For

  • Agents

  • End Users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Resource Collections

/resource_collections

Lists resource collections for the account.

Allowed for

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Restore

PUT Restore a previously deleted ticket

/deleted_tickets/{ticket_id}/restore

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

N/A

Restore_many

PUT Restore previously deleted tickets in bulk

/deleted_tickets/restore_many

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) Comma-separated list of ticket ids

Response Type

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_url requests more recent results

  • before_url requests older results

  • after_cursor is the cursor to build the request yourself

  • before_cursor is 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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Id

(Required) The ID of the trigger

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(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

Incremental Resource

(Required) The resource requested for incremental sample export

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The id of the ticket

Response Type

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,
good, good\_with\_comment, good\_without\_comment,
bad, bad\_with\_comment, bad\_without\_comment

start_time

Time of the oldest satisfaction rating, as a Unix epoch time

end_time

Time of the most recent satisfaction rating, as a Unix epoch time

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

Examples:

  • /api/v2/satisfaction_ratings.json?score=bad

  • /api/v2/satisfaction_ratings.json?score=bad&start_time=1498151194

  • /api/v2/satisfaction_ratings.json?start_time=1340384793&end_time=1371920793

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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
JavaScript
{
  "error": "unavailable",
  "description": "Sorry, we could not complete your search query. Please try again in a moment."
}

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

(Required) The search query. See Query basics above. For details on the query syntax, see the Zendesk Support search reference

Sort By

One of updated_at, created_at, priority, status, or ticket_type. Defaults to sorting by relevance

Sort Order

One of asc or desc. Defaults to desc

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

(Required) Query string used to find all automations with matching title

Active

Filter by active automations if true or inactive automations if false

Sort By

Possible values are "alphabetical", "created_at", "updated_at", and "position". If unspecified, the automations are sorted by relevance

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Include

A sideload to include in the response. See Sideloads

Response Type

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 sort parameter, only the first 10,000 records are returned. With a sort parameter, all records are returned.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

The query parameter is used to search text-based fields for records that match specific query terms.
The query can be multiple words or numbers. Every record that matches the beginning of any word or number in the query string is returned.

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'.

Sort

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.

Page[before]

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.

Page[after]

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.

Page[size]

Specifies how many records should be returned in the response.

Custom Object Key

(Required) The key of a custom object

Response Type

N/A

GET Search Macros

/macros/search

Pagination

  • Offset pagination only

See Using Offset Pagination.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Include

A sideload to include in the response. See Sideloads

Access

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.

Active

Filter by active macros if true or inactive macros if false

Category

Filter macros by category

Group Id

Filter macros by group

Only Viewable

If true, returns only macros that can be applied to tickets. If false, returns all macros the current user can manage. Default is false

Sort By

Possible values are alphabetical, "created_at", "updated_at", "usage_1h", "usage_24h", "usage_7d", or "usage_30d". Defaults to alphabetical

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Query

(Required) Query string used to find macros with matching titles

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

External Id

(Required) The external id of an organization

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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:

JavaScript
{
  "json": {
    "description": "Close a ticket"
  }
}

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

(Required) Query string used to find all triggers with matching title

Json

Trigger attribute filters for the search. See Filter

Active

Filter by active triggers if true or inactive triggers if false

Sort

Cursor-based pagination only. Possible values are "alphabetical", "created_at", "updated_at", or "position".

Sort By

Offset pagination only. Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position"

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Include

A sideload to include in the response. See Sideloads

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

The query parameter supports the Zendesk search syntax for more advanced
user searches. It can specify a partial or full value of any
user property, including name, email address, notes, or phone. Example:
query="jdoe".
See the Search API.

External Id

The external_id parameter does not support the search syntax. It only accepts ids.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Query

(Required) Query string used to find all views with matching title

Access

Filter views by access. May be "personal", "shared", or "account"

Active

Filter by active views if true or inactive views if false

Group Id

Filter views by group

Sort By

Possible values are "alphabetical", "created_at", "updated_at", and "position". If unspecified, the views are sorted by relevance

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Include

A sideload to include in the response. See Sideloads

Response Type

N/A

Session

GET Show the Currently Authenticated Session

/users/me/session

Allowed For

  • Admins, Agents, End users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Sharing_agreements (2)

POST Create Sharing Agreement

/sharing_agreements

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Sharing Agreements

/sharing_agreements

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) List of view's ids separated by commas.

Active

Only active views if true, inactive views if false

Response Type

N/A

GET Show Many Items

/dynamic_content/items/show_many

Stability

  • Development

Allowed For

  • Admins, Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Identifiers

Identifiers for the dynamic contents

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) Comma-separated list of job status ids.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

A list of organization ids

External Ids

A list of external ids

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) IDs of the ticket forms to be shown

Active

true returns active ticket forms; false returns inactive ticket forms. If not present, returns both

End User Visible

true returns ticket forms where end_user_visible; false returns ticket forms that are not end-user visible. If not present, returns both

Fallback To Default

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

Associated To Brand

true returns the ticket forms of the brand specified by the url's subdomain

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

Accepts a comma-separated list of up to 100 user ids.

External Ids

Accepts a comma-separated list of up to 100 external ids.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

(Required) Comma-separated list of ticket ids

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sort Order

Sort order. Defaults to "asc"

User Id

User ID of an agent

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sort By

The field to sort the ticket by, being one of author_email, cause, created_at, or subject.

Sort Order

The order in which to sort the suspended tickets. This can take value asc or desc.

Response Type

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

JavaScript
{
  "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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

N/A

GET List Resource Tags

/tickets/{ticket_id}/tags

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Name

A substring of a tag to search for

Response Type

N/A

POST Set Tags

/tickets/{ticket_id}/tags

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Targets (2)

POST Create Target

/targets

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Targets

/targets

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Limit

Maximum number of results returned

Response Type

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:

JavaScript
"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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(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

Response Type

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 type is not specified

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Locale

Forces the title_in_portal property to return a dynamic content variant for the specified locale.
Only accepts active locale ids.
Example: locale="de".

Creator

Displays the creator_user_id and creator_app_name properties. If the ticket field is created
by an app, creator_app_name is the name of the app and creator_user_id is -1. If the ticket field
is not created by an app, creator_app_name is null

Response Type

N/A

Ticket_forms (2)

POST Create Ticket Form

/ticket_forms

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Active

true returns active ticket forms; false returns inactive ticket forms. If not present, returns both

End User Visible

true returns ticket forms where end_user_visible; false returns ticket forms that are not end-user visible. If not present, returns both

Fallback To Default

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

Associated To Brand

true returns the ticket forms of the brand specified by the url's subdomain

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(Required) The Unix UTC epoch time of the oldest event you're interested in. Example: 1332034771.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Tickets (6)

POST Create Ticket

/tickets

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Display To Agent

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(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

Response Type

N/A

GET List Tickets

/tickets

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

External Id

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.

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sort By

Sort or group the tickets by a column in the View columns table. The subject and submitter columns are not supported

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

View Id

(Required) The ID of the view

Response Type

N/A

POST Ticket Import

/imports/tickets

Allowed For

  • Admins

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Archive Immediately

If true, any ticket created with a closed status bypasses the normal ticket lifecycle and will be created directly in your ticket archive

Response Type

N/A

Trigger_categories (2)

POST Create Trigger Category

/trigger_categories

Creates a trigger category.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Page[after]

Pagination parameters

Page[before]

Pagination parameters

Page[size]

Pagination parameters

Sort

Sort parameters

Include

Allowed sideloads

Response Type

N/A

Triggers (2)

POST Create Trigger

/triggers

Allowed For

  • Agents

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Active

Filter by active triggers if true or inactive triggers if false

Sort

Cursor-based pagination only. Possible values are "alphabetical", "created_at", "updated_at", or "position".

Sort By

Offset pagination only. Possible values are "alphabetical", "created_at", "updated_at", "usage_1h", "usage_24h", or "usage_7d". Defaults to "position"

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Category Id

Filter triggers by category ID

Response Type

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

JavaScript
{
  "automations": [
    {"id": 25, "position": 3},
    {"id": 23, "position": 5},
    {"id": 27, "position": 9},
    {"id": 22, "position": 7}
  ]
}

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

PUT Update Many Macros

/macros/update_many

Updates the provided macros with the specified changes.

Allowed For

  • Agents

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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:

JavaScript
https://{subdomain}.zendesk.com/api/v2/organizations/update_many.json?ids=1,2,3
JavaScript
{
  "organization": {
    "notes": "Priority"
  }
}

Batch update

To make different changes to multiple organizations, use the following endpoint and data format:

JavaScript
https://{subdomain}.zendesk.com/api/v2/organizations/update_many.json
JavaScript
{
  "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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

A list of organization ids

External Ids

A list of external ids

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

Comma-separated list of ticket ids

Response Type

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

JavaScript
{
  "triggers": [
    {"id": 25, "position": 3},
    {"id": 23, "position": 5},
    {"id": 27, "position": 9},
    {"id": 22, "position": 7}
  ]
}

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

PUT Update Many Users

/users/update_many

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ids

Id of the users to update. Comma separated

External Ids

External Id of the users to update. Comma separated

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Response Type

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

JavaScript
{
  "views": [
    {"id": 25, "position": 3},
    {"id": 23, "position": 5},
    {"id": 27, "position": 9},
    {"id": 22, "position": 7}
  ]
}

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Filename

N/A

Response Type

N/A

Options (1)

Option Name

Description

File

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Users (3)

POST Create User

/users

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET Incremental User Export, Time Based

/incremental/users

Allowed For

  • Admins

Sideloading

See Users sideloads.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Start Time

(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

Per Page

The number of records to return per page

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Role

Filters the results by role. Possible values are "end-user", "agent", or "admin"

Role[]

Filters the results by more than one role using the format role[]={role}&role[]={role}

Permission Set

For custom roles which is available on the Enterprise plan and above. You can only filter by one role ID per request

External Id

List users by external id. External id has to be unique for each user under the same account.

Response Type

N/A

Values (2)

POST Create Attribute Value

/routing/attributes/{attribute_id}/values

Creates an attribute value.

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

User Identity Id

(Required) The ID of the user identity

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Support Address Id

(Required) The ID of the support address

Response Type

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: "output": {"columns": ["status", "description", "priority"]}. See View columns

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" type

If type is "Group", the ids property is the preferred method of specifying the group id or ids.

Example Request Body

JavaScript
{
  "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

assigned

Assignee

assignee

Due Date

due_date

Group

group

ID

nice_id

Updated

updated

Assignee updated

updated_assignee

Requester updated

updated_requester

Updater

updated_by_type

Organization

organization

Priority

priority

Requested

created

Requester

requester

Requester language

locale_id

Satisfaction

satisfaction_score

Solved

solved

Status category

status

Subject

description

Submitter

submitter

Ticket form

ticket_form

Type

type

Brand

brand

Ticket status

custom_status_id

View sorting

You can group and sort items in the view by adding items to the output parameter:

Attribute

Description

group_by, sort_by

Sort or group the tickets by a column in the View columns table. The subject and submitter columns are not supported

group_order, sort_order

Either "asc" or "desc"

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Access

Only views with given access. May be "personal", "shared", or "account"

Active

Only active views if true, inactive views if false

Group Id

Only views belonging to given group

Sort By

Possible values are "alphabetical", "created_at", or "updated_at". Defaults to "position"

Sort Order

One of "asc" or "desc". Defaults to "asc" for alphabetical and position sort, "desc" for all others

Response Type

N/A

Workspaces (2)

POST Create Workspace

/workspaces

Allowed For

  • Admins

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

GET List Workspaces

/workspaces

Allowed For

  • Admins, Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

{activity_id}

GET Show Activity

/activities/{activity_id}

Lists a specific activity.

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Activity Id

(Required) The activity ID

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attachment Id

(Required) The ID of the attachment

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attachment Id

(Required) The ID of the attachment

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attachment Id

(Required) The ID of the attachment

Response Type

N/A

{attribute_id} (3)

DELETE Delete Attribute

/routing/attributes/{attribute_id}

Deletes an attribute.

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Response Type

N/A

GET Show Attribute

/routing/attributes/{attribute_id}

Returns an attribute.

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Response Type

N/A

PUT Update Attribute

/routing/attributes/{attribute_id}

Updates an attribute.

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Attribute Value Id

(Required) The ID of the skill-based routing attribute value

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Attribute Value Id

(Required) The ID of the skill-based routing attribute value

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Attribute Id

(Required) The ID of the skill-based routing attribute

Attribute Value Id

(Required) The ID of the skill-based routing attribute value

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Audit Log Id

(Required) The ID of the audit log

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Automation Id

(Required) The ID of the automation

Response Type

N/A

GET Show Automation

/automations/{automation_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Automation Id

(Required) The ID of the automation

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Automation Id

(Required) The ID of the automation

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Bookmark Id

(Required) The ID of the bookmark

Response Type

N/A

{brand_id} (3)

DELETE Delete a Brand

/brands/{brand_id}

Deletes a brand.

Allowed for

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Brand Id

(Required) The ID of the brand

Response Type

N/A

GET Show a Brand

/brands/{brand_id}

Returns a brand for your account.

Allowed for

  • Admins, Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Brand Id

(Required) The ID of the brand

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Brand Id

(Required) The ID of the brand

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Custom Object Field Key Or Id

(Required) The key or id of a custom object field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Custom Object Field Key Or Id

(Required) The key or id of a custom object field

Response Type

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_field object that specifies the properties to update

  • The key property cannot be updated

  • If updating a standard field, only the title and description properties can be updated.

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Custom Object Field Key Or Id

(Required) The key or id of a custom object field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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_object object that specifies the properties to update

  • The key property cannot be updated

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Custom Object Record Id

(Required) The id of a custom object record

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Custom Object Record Id

(Required) The id of a custom object record

Response Type

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_record object that specifies the properties to update

  • The custom object fields should be nested inside a custom_object_fields object

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Object Key

(Required) The key of a custom object

Custom Object Record Id

(Required) The id of a custom object record

Response Type

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_roles permission

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Role Id

(Required) The ID of the custom agent role

Response Type

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_roles permission

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Role Id

(Required) The ID of the custom agent role

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Role Id

(Required) The ID of the custom agent role

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Status Id

(Required) The id of the custom status

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Custom Status Id

(Required) The id of the custom status

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Deleted User Id

(Required) The ID of the deleted user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Deleted User Id

(Required) The ID of the deleted user

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Response Type

N/A

GET Show Item

/dynamic_content/items/{dynamic_content_item_id}

Allowed For

  • Admins, Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Dynammic Content Variant Id

(Required) The ID of the variant

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Dynammic Content Variant Id

(Required) The ID of the variant

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Dynamic Content Item Id

(Required) The ID of the dynamic content item

Dynammic Content Variant Id

(Required) The ID of the variant

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Id

(Required) The ID of the group

Response Type

N/A

GET Show Group

/groups/{group_id}

Allowed For

  • Admins

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Id

(Required) The ID of the group

Response Type

N/A

PUT Update Group

/groups/{group_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Id

(Required) The ID of the group

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Membership Id

(Required) The ID of the group membership

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Membership Id

(Required) The ID of the group membership

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Sla Policy Id

(Required) The id of the Group SLA policy

Response Type

N/A

GET Show Group SLA Policy

/group_slas/policies/{group_sla_policy_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Sla Policy Id

(Required) The id of the Group SLA policy

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Group Sla Policy Id

(Required) The id of the Group SLA policy

Response Type

N/A

{id} (2)

DELETE Delete Suspended Ticket

/suspended_tickets/{id}

Allowed For

  • Unrestricted agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Id

(Required) id of the suspended ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Id

(Required) id of the suspended ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Job Status Id

(Required) the Id of the Job status

Response Type

N/A

{locale_id}

GET Show Locale

/locales/{locale_id}

Allowed For

  • Anyone

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Locale Id

(Required) The ID or the BCP-47 code of the locale. Examples: es-419, en-us, pr-br

Response Type

N/A

{macro_id} (3)

DELETE Delete Macro

/macros/{macro_id}

Allowed For

  • Agents, with restrictions applying on certain actions

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Macro Id

(Required) The ID of the macro

Response Type

N/A

GET Show Macro

/macros/{macro_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Macro Id

(Required) The ID of the macro

Response Type

N/A

PUT Update Macro

/macros/{macro_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Macro Id

(Required) The ID of the macro

Response Type

N/A

{organization_field_id} (3)

DELETE Delete Organization Field

/organization_fields/{organization_field_id}

Allowed for

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Field Id

(Required) The ID or key of the organization field

Response Type

N/A

GET Show Organization Field

/organization_fields/{organization_field_id}

Allowed for

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Field Id

(Required) The ID or key of the organization field

Response Type

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 id along with the name and value

  • To update an existing option, pass its id along with the name and value

  • To reorder an option, reposition it in the custom_field_options array relative to the other options

  • To remove an option, omit it from the list of options upon update

Example Request

Bash
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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Field Id

(Required) The ID or key of the organization field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Id

(Required) The ID of an organization

Response Type

N/A

GET Show Organization

/organizations/{organization_id}

Allowed For

  • Admins

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Id

(Required) The ID of an organization

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Organization Id

(Required) The ID of an organization

Response Type

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

JavaScript
{
  "organization": {
    "notes": "Something interesting"
  }
}

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Id

(Required) The ID of an organization

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Membership Id

(Required) The ID of the organization membership

Response Type

N/A

GET Show Membership

/organization_memberships/{organization_membership_id}

Allowed for

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Membership Id

(Required) The ID of the organization membership

Response Type

N/A

{organization_subscription_id} (2)

DELETE Delete Organization Subscription

/organization_subscriptions/{organization_subscription_id}

Allowed For:

  • Agents

  • End users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Subscription Id

(Required) The ID of the organization subscription

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Organization Subscription Id

(Required) The ID of the organization subscription

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Request Id

(Required) The ID of the request

Response Type

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: {"request": {"solved": "true"}}

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Request Id

(Required) The ID of the request

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Resource Collection Id

(Required) The id of the resource collection

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Resource Collection Id

(Required) The id of the resource collection

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Resource Collection Id

(Required) The id of the resource collection

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Satisfaction Rating Id

(Required) The id of the satisfaction rating to retrieve

Response Type

N/A

{satisfaction_reason_id}

GET Show Reason for Satisfaction Rating

/satisfaction_reasons/{satisfaction_reason_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Satisfaction Reason Id

(Required) The id of the satisfaction rating reason

Response Type

N/A

{session_id} (2)

DELETE Delete Session

/users/{user_id}/sessions/{session_id}

Allowed For

  • Admins, Agents, End users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Session Id

(Required) The ID of the session

Response Type

N/A

GET Show Session

/users/{user_id}/sessions/{session_id}

Allowed For

  • Admins, Agents, End users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Session Id

(Required) The ID of the session

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sharing Agreement Id

(Required) The ID of the sharing agreement

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sharing Agreement Id

(Required) The ID of the sharing agreement

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sharing Agreement Id

(Required) The ID of the sharing agreement

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sla Policy Id

(Required) The ID of the SLA Policy

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sla Policy Id

(Required) The ID of the SLA Policy

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sla Policy Id

(Required) The ID of the SLA Policy

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Target Type

(Required) The type of object the relationship field is targeting.
The options are "zen:user", "zen:ticket", "zen:organization", and "zen:custom_object:CUSTOM_OBJECT_KEY"

Target Id

(Required) The id of the object the relationship field is targeting

Field Id

(Required) The id of the lookup relationship field

Source Type

(Required) The type of object the relationship field belongs to (example. ticket field belongs to a ticket object).
The options are "zen:user", "zen:ticket", "zen:organization", and "zen:custom_object:CUSTOM_OBJECT_KEY"

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Support Address Id

(Required) The ID of the support address

Response Type

N/A

GET Show Support Address

/recipient_addresses/{support_address_id}

Allowed For

  • Admins

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Support Address Id

(Required) The ID of the support address

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Support Address Id

(Required) The ID of the support address

Response Type

N/A

{target_failure_id}

GET Show Target Failure

/target_failures/{target_failure_id}

Stability

  • Development

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Target Failure Id

(Required) The ID of the target failure

Response Type

N/A

{target_id} (3)

DELETE Delete Target

/targets/{target_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Target Id

(Required) The ID of the target

Response Type

N/A

GET Show Target

/targets/{target_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Target Id

(Required) The ID of the target

Response Type

N/A

PUT Update Target

/targets/{target_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Target Id

(Required) The ID of the target

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Target Type

(Required) The target type for which you would like to see filter definitions.
The options are "zen:user", "zen:ticket", "zen:organization", and "zen:custom_object:CUSTOM_OBJECT_KEY"

Response Type

N/A

{ticket_audit_id}

GET Show Audit

/tickets/{ticket_id}/audits/{ticket_audit_id}

Allowed for

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Ticket Audit Id

(Required) The ID of the ticket audit

Response Type

N/A

{ticket_comment_id} (2)

GET Getting Comments

/requests/{request_id}/comments/{ticket_comment_id}

Allowed For

  • End Users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Request Id

(Required) The ID of the request

Ticket Comment Id

(Required) The ID of the ticket comment

Response Type

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:

JavaScript
{
  "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 html_body of the comment containing <redact> tags or redact attributes

external_attachment_urls

array

false

Array of attachment URLs belonging to the comment to be redacted. See content_url property of Attachment

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Comment Id

(Required) The ID of the ticket comment

Response Type

N/A

{ticket_field_id} (3)

DELETE Delete Ticket Field

/ticket_fields/{ticket_field_id}

Allowed for

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Creator

If true, displays the creator_user_id and creator_app_name properties. If the ticket field is created
by an app, creator_app_name is the name of the app and creator_user_id is -1. If the ticket field
is not created by an app, then creator_app_name is null

Ticket Field Id

(Required) The ID of the ticket field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Creator

If true, displays the creator_user_id and creator_app_name properties. If the ticket field is created
by an app, creator_app_name is the name of the app and creator_user_id is -1. If the ticket field
is not created by an app, then creator_app_name is null

Ticket Field Id

(Required) The ID of the ticket field

Response Type

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:

JavaScript
{"ticket_field": {
    "custom_field_options": [
      {"name": "Apple Pie", "value": "apple"},
      {"name": "Pecan Pie", "value": "pecan"}
    ]
  }
}

Example Request

Bash
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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Creator

If true, displays the creator_user_id and creator_app_name properties. If the ticket field is created
by an app, creator_app_name is the name of the app and creator_user_id is -1. If the ticket field
is not created by an app, then creator_app_name is null

Ticket Field Id

(Required) The ID of the ticket field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Field Id

(Required) The ID of the ticket field

Ticket Field Option Id

(Required) The ID of the ticket field option

Response Type

N/A

GET Show Ticket Field Option

/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id}

Allowed for

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Field Id

(Required) The ID of the ticket field

Ticket Field Option Id

(Required) The ID of the ticket field option

Response Type

N/A

{ticket_form_id} (3)

DELETE Delete Ticket Form

/ticket_forms/{ticket_form_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Form Id

(Required) The ID of the ticket form

Response Type

N/A

GET Show Ticket Form

/ticket_forms/{ticket_form_id}

Allowed For

  • Admins, Agents, and End Users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Form Id

(Required) The ID of the ticket form

Response Type

N/A

PUT Update Ticket Form

/ticket_forms/{ticket_form_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Form Id

(Required) The ID of the ticket form

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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:

JavaScript
{
  "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_id in the ChatStartedEvent event in the ticket audit. See Ticket Audits

chat_index

integer

true

The chat_index in the ChatMessage event in the ticket audit. See Ticket Audits

text

string

true

The message in the ChatMessage event in the ticket audit. See Ticket Audits. Wrap message with <redact> tags

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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_id in the ChatStartedEvent event in the ticket audit. See Ticket Audits

chat_indexes

array

true

The array of chat_index in the ChatFileAttachment event in the ticket audit. See Ticket Audits

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

N/A

PUT Update Ticket

/tickets/{ticket_id}

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Id

(Required) The ID of the ticket

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Ticket Metric Id

(Required) The id of the ticket metric to retrieve

Response Type

N/A

{token}

DELETE Delete Upload

/uploads/{token}

Allowed for

  • End Users

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Token

(Required) The token of the uploaded attachment

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Category Id

(Required) The id of the trigger category to delete

Response Type

N/A

GET Show Trigger Category

/trigger_categories/{trigger_category_id}

Returns the trigger category with the specified ID.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Category Id

(Required) The id of the trigger category to retrieve

Response Type

N/A

PATCH Update Trigger Category

/trigger_categories/{trigger_category_id}

Updates the trigger category with the specified ID.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Category Id

(Required) The id of the trigger category to update

Response Type

N/A

{trigger_id} (3)

DELETE Delete Trigger

/triggers/{trigger_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Id

(Required) The ID of the trigger

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Id

(Required) The ID of the trigger

Response Type

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

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Id

(Required) The ID of the trigger

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Trigger Id

(Required) The ID of the trigger

Trigger Revision Id

The ID of the revision for a particular trigger

Response Type

N/A

{user_field_id} (3)

DELETE Delete User Field

/user_fields/{user_field_id}

Allowed for

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Field Id

(Required) The ID or key of the user field

Response Type

N/A

GET Show User Field

/user_fields/{user_field_id}

Allowed for

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Field Id

(Required) The ID or key of the user field

Response Type

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 id along with name and value.

  • To update an existing option, pass its id along with name and value.

  • To re-order an option, reposition it in the custom_field_options array relative to the other options.

  • To remove an option, omit it from the list of options upon update.

Example Request

Bash
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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Field Id

(Required) The ID or key of the user field

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Field Id

(Required) The ID or key of the user field

User Field Option Id

(Required) The ID of the user field option

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Field Id

(Required) The ID or key of the user field

User Field Option Id

(Required) The ID of the user field option

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

User Identity Id

(Required) The ID of the user identity

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

User Identity Id

(Required) The ID of the user identity

Response Type

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 value property 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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

User Identity Id

(Required) The ID of the user identity

Response Type

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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

N/A

GET Show User

/users/{user_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

N/A

PUT Update User

/users/{user_id}

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

User Id

(Required) The id of the user

Response Type

N/A

{view_id} (3)

DELETE Delete View

/views/{view_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

View Id

(Required) The ID of the view

Response Type

N/A

GET Show View

/views/{view_id}

Allowed For

  • Agents

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

View Id

(Required) The ID of the view

Response Type

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 all condition must be defined with the any conditions. The PUT request replaces all existing any conditions. See Conditions reference

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: "output": {"columns": ["status", "description," "priority"]}. See View columns

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" type

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

JavaScript
{
  "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

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

View Id

(Required) The ID of the view

Response Type

N/A

{workspace_id} (3)

DELETE Delete Workspace

/workspaces/{workspace_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Workspace Id

(Required) The id of the workspace

Response Type

N/A

GET Show Workspace

/workspaces/{workspace_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Workspace Id

(Required) The id of the workspace

Response Type

N/A

PUT Update Workspace

/workspaces/{workspace_id}

Allowed For

  • Admins

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Workspace Id

(Required) The id of the workspace

Response Type

N/A