Support API

Customer service and support platform

developer.zendesk.com/api-reference ↗
Version
2.0.0
OpenAPI
3.0.3
Endpoints
440
Schemas
454
88
Quality
Updated
3 days ago
Customer support customer-support helpdesk tickets
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://{subdomain}.{domain}.com

Endpoints

Clear filters

Accountsettings 1 endpoints

GET /api/v2/account/settings

Shows the settings that are available for the account.

Allowed For

  • Agents
operationId: AccountSettings_get

Responses

200

Success response

GET /api/v2/account/settings

Activitystream 3 endpoints

GET /api/v2/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
operationId: ActivityStream_listActivities

Parameters

Name In Required Type Description
since query optional string

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

Responses

200

Success response

GET /api/v2/activities
GET /api/v2/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
operationId: ActivityStream_getAgentActivitiesCount

Responses

200

Count of ticket activities

GET /api/v2/activities/count
GET /api/v2/activities/{activity_id}

Lists a specific activity.

Allowed For

  • Agents
operationId: ActivityStream_showSpecificActivity

Parameters

Name In Required Type Description
activity_id path optional integer

The activity ID

Responses

200

Success response

GET /api/v2/activities/{activity_id}

Assigneefieldassignableagents 2 endpoints

GET /api/lotus/assignables/groups.json

List assignable groups on the AssigneeField

Allowed For

  • Agents
operationId: AssigneeFieldAssignableAgents_listGroups

Responses

200

Success response

GET /api/lotus/assignables/groups.json
GET /api/lotus/assignables/groups/{group_id}/agents.json

List assignable agents from a group on the AssigneeField

Allowed For

  • Agents
operationId: AssigneeFieldAssignableAgents_listFromGroup

Parameters

Name In Required Type Description
group_id path optional integer

The ID of the group

Responses

200

Success response

GET /api/lotus/assignables/groups/{group_id}/agents.json

Assigneefieldassignablegroups 1 endpoints

GET /api/lotus/assignables/autocomplete.json

List assignable groups and agents based on query matched against name

Allowed For

  • Agents
operationId: AssigneeFieldAssignableGroups_listMatching

Parameters

Name In Required Type Description
name query optional string

Query string used to search assignable groups & agents in the AssigneeField

Responses

200

Success response

GET /api/lotus/assignables/autocomplete.json

Attachments 1 endpoints

GET /api/v2/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
operationId: Attachments_showDetails

Parameters

Name In Required Type Description
attachment_id path optional integer

The ID of the attachment

Responses

200

Success Response

GET /api/v2/attachments/{attachment_id}

Auditlogs 2 endpoints

GET /api/v2/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.

operationId: AuditLogs_list

Parameters

Name In Required Type Description
filter[source_type] query optional string

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

filter[source_id] query optional integer

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

filter[actor_id] query optional integer

Filter audit logs by the actor id

filter[ip_address] query optional string

Filter audit logs by the ip address

filter[created_at] query optional string

Filter audit logs by the time of creation. When used, you must specify filter[created_at] twice in your request, first with the start time and again with an end time

filter[action] query optional string

Filter audit logs by the action

sort_by query optional string

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

sort_order query optional string

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

sort query optional string

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

Responses

200

Success response

GET /api/v2/audit_logs
GET /api/v2/audit_logs/{audit_log_id}

Allowed For

  • Admins on accounts that have audit-log access
operationId: AuditLogs_showLogById

Parameters

Name In Required Type Description
audit_log_id path optional integer

The ID of the audit log

Responses

200

Success response

GET /api/v2/audit_logs/{audit_log_id}

Automations 4 endpoints

GET /api/v2/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.

operationId: Automations_list

Responses

200

Success response

GET /api/v2/automations
GET /api/v2/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
operationId: Automations_listActive

Responses

200

Success response

GET /api/v2/automations/active
GET /api/v2/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
operationId: Automations_search

Parameters

Name In Required Type Description
query query optional string

Query string used to find all automations with matching title

active query optional boolean

Filter by active automations if true or inactive automations if false

sort_by query optional string

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

sort_order query optional string

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

include query optional string

A sideload to include in the response. See Sideloads

Responses

200

Success response

GET /api/v2/automations/search
GET /api/v2/automations/{automation_id}

Allowed For

  • Agents
operationId: Automations_show

Parameters

Name In Required Type Description
automation_id path optional integer

The ID of the automation

Responses

200

Success response

GET /api/v2/automations/{automation_id}

Bookmarks 1 endpoints

GET /api/v2/bookmarks

Allowed For

  • Agents
operationId: Bookmarks_list

Responses

200

Successful response

GET /api/v2/bookmarks

Brands 4 endpoints

GET /api/v2/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.

operationId: Brands_getAll

Responses

200

Successful response

GET /api/v2/brands
GET /api/v2/brands/check_host_mapping

Returns a JSON object determining whether a host mapping is valid for a given subdomain.

Allowed for

  • Admins
operationId: Brands_checkHostMappingValidity

Parameters

Name In Required Type Description
host_mapping query optional string

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

subdomain query optional string

Subdomain for a given Zendesk account address

Responses

200

Successful response

GET /api/v2/brands/check_host_mapping
GET /api/v2/brands/{brand_id}

Returns a brand for your account.

Allowed for

  • Admins, Agents
operationId: Brands_showBrand

Parameters

Name In Required Type Description
brand_id path optional integer

The ID of the brand

Responses

200

Successful response

GET /api/v2/brands/{brand_id}
GET /api/v2/brands/{brand_id}/check_host_mapping

Returns a JSON object determining whether a host mapping is valid for the given brand.

Allowed for

  • Admins
operationId: Brands_checkHostMappingValidity

Parameters

Name In Required Type Description
brand_id path optional integer

The ID of the brand

Responses

200

Successful response

GET /api/v2/brands/{brand_id}/check_host_mapping

Customobjectfields 3 endpoints

GET /api/v2/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.

operationId: CustomObjectFields_listUndeleted

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

include_standard_fields query optional boolean

Include standard fields if true. Exclude them if false

Responses

200

Success response

GET /api/v2/custom_objects/{custom_object_key}/fields
GET /api/v2/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
operationId: CustomObjectFields_getFieldInfo

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

custom_object_field_key_or_id path optional string

The key or id of a custom object field

Responses

200

Custom Object Field

GET /api/v2/custom_objects/{custom_object_key}/fields/{custom_object_field_key_or_id}
GET /api/v2/custom_objects/{custom_object_key}/limits/field_limit

List the current count and the limit for a custom object’s fields

Allowed For

  • Agents
operationId: CustomObjectFields_getFieldLimit

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

Responses

200

Success response

GET /api/v2/custom_objects/{custom_object_key}/limits/field_limit

Customobjectrecords 6 endpoints

GET /api/v2/custom_objects/limits/record_limit

List the current count and the limit for custom object records

Allowed For

  • Agents
operationId: CustomObjectRecords_getLimit

Responses

200

Success response

GET /api/v2/custom_objects/limits/record_limit
GET /api/v2/custom_objects/{custom_object_key}/records

Lists all undeleted custom object records for the specified object

#### Pagination

operationId: CustomObjectRecords_list

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

filter[ids] query optional string

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] query optional string

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 query optional string

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

page[before] query optional string

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] query optional string

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] query optional integer

Specifies how many records should be returned in the response. You can specify up to 100 records per page.

Responses

200

Success response

GET /api/v2/custom_objects/{custom_object_key}/records
GET /api/v2/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
operationId: CustomObjectRecords_autocompleteSearch

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

name query optional string

Part of a name of the record you are searching for

page[before] query optional string

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] query optional string

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] query optional integer

The number of records to return in the response. You can specify up to 100 records per page.

field_id query optional string

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 query optional string

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.

requester_id query optional integer

The id of the requester. For use with dynamic filters.

assignee_id query optional integer

The id of the selected assignee. For use with dynamic filters.

organization_id query optional integer

The id of the organization the requester belongs to. For use with dynamic filters.

Responses

200

Success response

GET /api/v2/custom_objects/{custom_object_key}/records/autocomplete
GET /api/v2/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
operationId: CustomObjectRecords_getCount

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

Responses

200

Success response

GET /api/v2/custom_objects/{custom_object_key}/records/count
GET /api/v2/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
operationId: CustomObjectRecords_search

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

query query optional string

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.

Fuzzy search is supported for the following text-based field types: : Text fields, Multi Line Text fields, and RegExp fields.

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 supported text fields contain the word ‘Tesla’.

You can include multiple words or numbers in your search. For example: query=Tesla Honda 2020. This search phrase would be URL encoded as query=Tesla%20Honda%202020 and return every record for the custom object for which any of the supported text fields contained ‘Tesla’, ‘Honda’, or ‘2020’.

sort query optional string

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] query optional string

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] query optional string

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] query optional integer

Specifies how many records should be returned in the response. You can specify up to 100 records per page.

Responses

200

Success response

GET /api/v2/custom_objects/{custom_object_key}/records/search
GET /api/v2/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
operationId: CustomObjectRecords_getById

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

custom_object_record_id path optional string

The id of a custom object record

Responses

200

Custom Object Record

GET /api/v2/custom_objects/{custom_object_key}/records/{custom_object_record_id}

Customobjects 3 endpoints

GET /api/v2/custom_objects

Lists all undeleted custom objects for the account

Allowed For

  • Agents
operationId: CustomObjects_listUndeleted

Responses

200

Success response

GET /api/v2/custom_objects
GET /api/v2/custom_objects/limits/object_limit

List the current count and the limit for custom objects

Allowed For

  • Admins
operationId: CustomObjects_getLimit

Responses

200

Success response

GET /api/v2/custom_objects/limits/object_limit
GET /api/v2/custom_objects/{custom_object_key}

Returns an object with the specified key

Allowed For

  • Agents
operationId: CustomObjects_getByKey

Parameters

Name In Required Type Description
custom_object_key path optional string

The key of a custom object

Responses

200

Custom Object

GET /api/v2/custom_objects/{custom_object_key}

Customroles 2 endpoints

GET /api/v2/custom_roles

Availability

  • Accounts on the Enterprise plan or above

Allowed For

  • Agents
operationId: CustomRoles_listRoles

Responses

200

Success response

GET /api/v2/custom_roles
GET /api/v2/custom_roles/{custom_role_id}

Availability

  • Accounts on the Enterprise plan or above

Allowed for

  • Administrators
  • Agents with the manage_roles permission
operationId: CustomRoles_showRole

Parameters

Name In Required Type Description
custom_role_id path optional integer

The ID of the custom agent role

Responses

200

Success response

GET /api/v2/custom_roles/{custom_role_id}

Customticketstatuses 2 endpoints

GET /api/v2/custom_statuses

Lists all undeleted custom ticket statuses for the account. No pagination is provided.

Allowed For

  • End Users
operationId: CustomTicketStatuses_listUndeleted

Parameters

Name In Required Type Description
status_categories query optional string

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

active query optional boolean

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 query optional boolean

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

Responses

200

List custom ticket statuses

GET /api/v2/custom_statuses
GET /api/v2/custom_statuses/{custom_status_id}

Returns the custom ticket status object.

Allowed For

  • End Users
operationId: CustomTicketStatuses_getObject

Parameters

Name In Required Type Description
custom_status_id path optional integer

The id of the custom status

Responses

200

Custom Status

GET /api/v2/custom_statuses/{custom_status_id}

Dynamiccontent 3 endpoints

GET /api/v2/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.

operationId: DynamicContent_listItems

Responses

200

Success response

GET /api/v2/dynamic_content/items
GET /api/v2/dynamic_content/items/show_many

Stability

  • Development

Allowed For

  • Admins, Agents
operationId: DynamicContent_showManyItems

Parameters

Name In Required Type Description
identifiers query optional string

Identifiers for the dynamic contents

Responses

200

Success response

GET /api/v2/dynamic_content/items/show_many
GET /api/v2/dynamic_content/items/{dynamic_content_item_id}

Allowed For

  • Admins, Agents
operationId: DynamicContent_showItem

Parameters

Name In Required Type Description
dynamic_content_item_id path optional integer

The ID of the dynamic content item

Responses

200

Success response

GET /api/v2/dynamic_content/items/{dynamic_content_item_id}

Dynamiccontentitemvariants 2 endpoints

GET /api/v2/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.

operationId: DynamicContentItemVariants_list

Parameters

Name In Required Type Description
dynamic_content_item_id path optional integer

The ID of the dynamic content item

Responses

200

Success response

GET /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants
GET /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}

Allowed For

  • Admins, Agents
operationId: DynamicContentItemVariants_show

Parameters

Name In Required Type Description
dynamic_content_item_id path optional integer

The ID of the dynamic content item

dynammic_content_variant_id path optional integer

The ID of the variant

Responses

200

Success response

GET /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}

Essentialscard 2 endpoints

GET /api/v2/object_layouts/essentials_cards

Gets the list of essentials cards.

Allowed For

  • Admins
operationId: EssentialsCard_listCards

Responses

200

Success response

GET /api/v2/object_layouts/essentials_cards
GET /api/v2/object_layouts/{object_type}/essentials_card

Gets the essentials card for an object type.

Allowed For

  • Admins and agents
operationId: EssentialsCard_getForObject

Parameters

Name In Required Type Description
object_type path optional string

Essentials card type. Example: zen:user refers user type

Responses

200

Success response

GET /api/v2/object_layouts/{object_type}/essentials_card

Groupmemberships 3 endpoints

GET /api/v2/group_memberships

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Allowed For:

  • Agents
operationId: GroupMemberships_listMemberships

Parameters

Name In Required Type Description
group_id path optional integer

The ID of the group

user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/group_memberships
GET /api/v2/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
operationId: GroupMemberships_listAssignableMemberships

Responses

200

Success response

GET /api/v2/group_memberships/assignable
GET /api/v2/group_memberships/{group_membership_id}

The ‘id’ is the group membership id, not a group id.

Allowed For

  • Agents
operationId: GroupMemberships_showDetails

Parameters

Name In Required Type Description
group_membership_id path optional integer

The ID of the group membership

user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/group_memberships/{group_membership_id}

Groupslapolicies 3 endpoints

GET /api/v2/group_slas/policies

Allowed For

  • Admins
operationId: GroupSlaPolicies_list

Responses

200

Success response

GET /api/v2/group_slas/policies
GET /api/v2/group_slas/policies/definitions

Allowed For

  • Admins
operationId: GroupSlaPolicies_getSupportedFilterDefinitionItems

Responses

200

Success response

GET /api/v2/group_slas/policies/definitions
GET /api/v2/group_slas/policies/{group_sla_policy_id}

Allowed For

  • Admins
operationId: GroupSlaPolicies_showPolicy

Parameters

Name In Required Type Description
group_sla_policy_id path optional integer

The id of the Group SLA policy

Responses

200

Success response

GET /api/v2/group_slas/policies/{group_sla_policy_id}

Groups 4 endpoints

GET /api/v2/groups

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Allowed For

  • Admins
  • Agents
operationId: Groups_list

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

exclude_deleted query optional boolean

Whether to exclude deleted entities

Responses

200

Success response

GET /api/v2/groups
GET /api/v2/groups/assignable

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Allowed For

  • Admins
  • Agents
operationId: Groups_listAssignableGroups

Responses

200

Success response

GET /api/v2/groups/assignable
GET /api/v2/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
operationId: Groups_getCount

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/groups/count
GET /api/v2/groups/{group_id}

Allowed For

  • Admins
  • Agents
operationId: Groups_showGroup

Parameters

Name In Required Type Description
group_id path optional integer

The ID of the group

Responses

200

Success response

GET /api/v2/groups/{group_id}

Incrementalexport 7 endpoints

GET /api/v2/incremental/organizations

Allowed For

  • Admins

Sideloading

See Organizations sideloads.

operationId: IncrementalExport_organizationsGet

Parameters

Name In Required Type Description
start_time query optional integer

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

Responses

200

Success response

GET /api/v2/incremental/organizations
GET /api/v2/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:

You can include comments in the event stream by using the comment_events
sideload. See Sideloading below. If you don’t specify the sideload, any comment
present in the ticket update is described only by Boolean comment_present
and comment_public object properties in the event’s child_events array.
The comment itself is not included.

Allowed For

  • Admins

Sideloading

The endpoint supports the comment_events sideload. Any comment present in the ticket
update is listed as an object in the event’s child_events array. Example:

"child_events": [
  {
    "id": 91048994488,
    "via": {
      "channel": "api",
      "source": {"from":{},"to":{},"rel":null}},
    "via_reference_id":null,
    "type": "Comment",
    "author_id": 5031726587,
    "body": "This is a comment",
    "html_body": "<div class="zd-comment"><p dir="auto">This is a comment</p>",
    "public": true,
    "attachments": [],
    "audit_id": 91048994468,
    "created_at": "2009-06-25T10:15:18Z",
    "event_type": "Comment"
  },
  ...
],
...
operationId: IncrementalExport_ticketEventsGetStream

Parameters

Name In Required Type Description
start_time query optional integer

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

Responses

200

Success response

GET /api/v2/incremental/ticket_events
GET /api/v2/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.

operationId: IncrementalExport_timeBasedTickets

Parameters

Name In Required Type Description
start_time query optional integer

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

Responses

200

Success response

GET /api/v2/incremental/tickets
GET /api/v2/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.

operationId: IncrementalExport_ticketsChangedSinceStart

Parameters

Name In Required Type Description
start_time query optional integer

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 query optional string

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

Responses

200

Success response

GET /api/v2/incremental/tickets/cursor
GET /api/v2/incremental/users

Allowed For

  • Admins

Sideloading

See Users sideloads.

operationId: IncrementalExport_userExportTimeBased

Parameters

Name In Required Type Description
start_time query optional integer

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 query optional integer

The number of records to return per page

Responses

200

Success response

GET /api/v2/incremental/users
GET /api/v2/incremental/users/cursor

Allowed For

  • Admins

Sideloading

See Users sideloads.

operationId: IncrementalExport_userCursorGet

Parameters

Name In Required Type Description
start_time query optional integer

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 query optional string

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

per_page query optional integer

The number of records to return per page

Responses

200

Success response

GET /api/v2/incremental/users/cursor
GET /api/v2/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”.

operationId: IncrementalExport_sampleGet

Parameters

Name In Required Type Description
start_time query optional integer

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 path optional string

The resource requested for incremental sample export

Responses

200

Success response

GET /api/v2/incremental/{incremental_resource}/sample

Incrementalskillbasedrouting 3 endpoints

GET /api/v2/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.
operationId: IncrementalSkillBasedRouting_getAttributeValues

Responses

200

Success response

GET /api/v2/incremental/routing/attribute_values
GET /api/v2/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.
operationId: IncrementalSkillBasedRouting_exportChanges

Responses

200

Success response

GET /api/v2/incremental/routing/attributes
GET /api/v2/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.
operationId: IncrementalSkillBasedRouting_routingInstanceValuesGet

Responses

200

Success response

GET /api/v2/incremental/routing/instance_values

Jobstatuses 3 endpoints

GET /api/v2/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.

operationId: JobStatuses_list

Responses

200

Success Response

GET /api/v2/job_statuses
GET /api/v2/job_statuses/show_many

Accepts a comma-separated list of job status ids.

Allowed For:

  • Agents
operationId: JobStatuses_getMany

Parameters

Name In Required Type Description
ids query required string

Comma-separated list of job status ids.

Responses

200

Success Response

GET /api/v2/job_statuses/show_many
GET /api/v2/job_statuses/{job_status_id}

Shows the status of a background job.

Allowed For:

  • Agents
operationId: JobStatuses_showStatus

Parameters

Name In Required Type Description
job_status_id path optional string

the Id of the Job status

Responses

200

Success Response

GET /api/v2/job_statuses/{job_status_id}

Locales 6 endpoints

GET /api/v2/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
operationId: Locales_listAvailable

Responses

200

Success response

GET /api/v2/locales
GET /api/v2/locales/agent

Lists the translation locales that have been localized for agents on a specific account.

Allowed For

  • Anyone
operationId: Locales_listForAgent

Responses

200

Success response

GET /api/v2/locales/agent
GET /api/v2/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
operationId: Locales_getCurrentLocale

Responses

200

Success response

GET /api/v2/locales/current
GET /api/v2/locales/detect_best_locale

Allowed For

  • Anyone
operationId: Locales_detectBestLocale

Responses

200

Success response

GET /api/v2/locales/detect_best_locale
GET /api/v2/locales/public

Lists the translation locales that are available to all accounts.

Allowed For

  • Anyone
operationId: Locales_listPublicAvailable

Responses

200

Success response

GET /api/v2/locales/public
GET /api/v2/locales/{locale_id}

Allowed For

  • Anyone
operationId: Locales_showLocale

Parameters

Name In Required Type Description
locale_id path optional string

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

Responses

200

Success Response

GET /api/v2/locales/{locale_id}

Lookuprelationships 2 endpoints

GET /api/v2/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.

operationId: LookupRelationships_filterDefinitions

Parameters

Name In Required Type Description
target_type path required string

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”

source_type query optional string

The source type for which you would like to see filter definitions.
The options are “zen:user”, “zen:ticket”, and “zen:organization”

Responses

200

Success response

GET /api/v2/relationships/definitions/{target_type}
GET /api/v2/{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.

operationId: LookupRelationships_getSourcesByTarget

Parameters

Name In Required Type Description
target_type path required string

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 path required integer

The id of the object the relationship field is targeting

field_id path required integer

The id of the lookup relationship field

source_type path required string

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”

Responses

200

Success response

GET /api/v2/{target_type}/{target_id}/relationship_fields/{field_id}/{source_type}

Macros 12 endpoints

GET /api/v2/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
operationId: Macros_list

Parameters

Name In Required Type Description
include query optional string

A sideload to include in the response. See Sideloads

access query optional string

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 query optional boolean

Filter by active macros if true or inactive macros if false

category query optional integer

Filter macros by category

group_id query optional integer

Filter macros by group

only_viewable query optional boolean

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 query optional string

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

sort_order query optional string

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

Responses

200

Success Response

GET /api/v2/macros
GET /api/v2/macros/actions

Allowed For

  • Agents
operationId: Macros_listSupportedActions

Responses

200

Success Response

GET /api/v2/macros/actions
GET /api/v2/macros/active

Lists all active shared and personal macros available to the current user.

Allowed For

  • Agents
operationId: Macros_listActive

Parameters

Name In Required Type Description
include query optional string

A sideload to include in the response. See Sideloads

access query optional string

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 query optional integer

Filter macros by category

group_id query optional integer

Filter macros by group

sort_by query optional string

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

sort_order query optional string

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

Responses

200

Success Response

GET /api/v2/macros/active
GET /api/v2/macros/attachments/{attachment_id}

Shows the properties of the specified macro attachment.

Allowed For

  • Agents
operationId: Macros_showAttachmentProperties

Parameters

Name In Required Type Description
attachment_id path optional integer

The ID of the attachment

Responses

200

Success Response

GET /api/v2/macros/attachments/{attachment_id}
GET /api/v2/macros/categories

Lists all macro categories available to the current user.

Allowed For

  • Agents
operationId: Macros_listCategories

Responses

200

Success Response

GET /api/v2/macros/categories
GET /api/v2/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
operationId: Macros_listActionDefinitions

Responses

200

Success Response

GET /api/v2/macros/definitions
GET /api/v2/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
operationId: Macros_showReplica

Parameters

Name In Required Type Description
macro_id query optional integer

The ID of the macro to replicate

ticket_id query required integer

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

Responses

200

Success Response

GET /api/v2/macros/new
GET /api/v2/macros/search

Pagination

  • Offset pagination only

See Using Offset Pagination.

Allowed For

  • Agents
operationId: Macros_searchAgents

Parameters

Name In Required Type Description
include query optional string

A sideload to include in the response. See Sideloads

access query optional string

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 query optional boolean

Filter by active macros if true or inactive macros if false

category query optional integer

Filter macros by category

group_id query optional integer

Filter macros by group

only_viewable query optional boolean

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 query optional string

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

sort_order query optional string

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

query query optional string

Query string used to find macros with matching titles

Responses

200

Success Response

GET /api/v2/macros/search
GET /api/v2/macros/{macro_id}

Allowed For

  • Agents
operationId: Macros_showMacro

Parameters

Name In Required Type Description
macro_id path optional integer

The ID of the macro

Responses

200

Success Response

GET /api/v2/macros/{macro_id}
GET /api/v2/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
operationId: Macros_showChangesToTicket

Parameters

Name In Required Type Description
macro_id path optional integer

The ID of the macro

Responses

200

Success Response

GET /api/v2/macros/{macro_id}/apply
GET /api/v2/macros/{macro_id}/attachments

Lists the attachments associated with a macro.

Allowed For

  • Agents
operationId: Macros_listAttachments

Parameters

Name In Required Type Description
macro_id path optional integer

The ID of the macro

Responses

200

Success Response

GET /api/v2/macros/{macro_id}/attachments
GET /api/v2/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
operationId: Macros_showTicketAfterChanges

Parameters

Name In Required Type Description
macro_id path optional integer

The ID of the macro

ticket_id path required integer

The ID of the ticket

Responses

200

Success Response

GET /api/v2/tickets/{ticket_id}/macros/{macro_id}/apply

Omnichannelroutingqueues 3 endpoints

GET /api/v2/queues

Allowed For

  • Admins
operationId: OmnichannelRoutingQueues_list

Responses

200

Success response

GET /api/v2/queues
GET /api/v2/queues/definitions

Allowed For

  • Admins
operationId: OmnichannelRoutingQueues_listDefinitions

Responses

200

Success response

GET /api/v2/queues/definitions
GET /api/v2/queues/{queue_id}

Allowed For

  • Admins
operationId: OmnichannelRoutingQueues_showQueue

Parameters

Name In Required Type Description
queue_id path optional string

The id of the omnichannel routing queue

Responses

200

Success response

GET /api/v2/queues/{queue_id}

Organizationfields 2 endpoints

GET /api/v2/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
operationId: OrganizationFields_list

Responses

200

Success response

GET /api/v2/organization_fields
GET /api/v2/organization_fields/{organization_field_id}

Allowed for

  • Agents
operationId: OrganizationFields_showField

Parameters

Name In Required Type Description
organization_field_id path optional

The ID or key of the organization field

Responses

200

Success response

GET /api/v2/organization_fields/{organization_field_id}

Organizationmemberships 2 endpoints

GET /api/v2/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
operationId: OrganizationMemberships_list

Responses

200

Success response

GET /api/v2/organization_memberships
GET /api/v2/organization_memberships/{organization_membership_id}

Allowed for

  • Agents
operationId: OrganizationMemberships_showMembership

Parameters

Name In Required Type Description
organization_membership_id path optional integer

The ID of the organization membership

Responses

200

Success response

GET /api/v2/organization_memberships/{organization_membership_id}

Organizationsubscriptions 2 endpoints

GET /api/v2/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.

operationId: OrganizationSubscriptions_list

Responses

200

Successful response

GET /api/v2/organization_subscriptions
GET /api/v2/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.

operationId: OrganizationSubscriptions_showDetails

Parameters

Name In Required Type Description
organization_subscription_id path optional integer

The ID of the organization subscription

Responses

200

Successful response

GET /api/v2/organization_subscriptions/{organization_subscription_id}

Organizations 9 endpoints

GET /api/v2/organization_merges/{organization_merge_id}

Retrieves the details of a specific organization merge operation. This endpoint is useful for obtaining the status and outcome of a merge that was previously initiated. It provides information such as the winning and losing organization IDs, the status of the merge, and the associated URLs.

This endpoint can be used to determine if a merge is still in progress, has completed successfully, or has encountered an error.

Allowed For

  • Admins
operationId: Organizations_getMergeDetails

Parameters

Name In Required Type Description
organization_merge_id path optional string

The ID of the organization merge

Responses

200

Success response

GET /api/v2/organization_merges/{organization_merge_id}
GET /api/v2/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.

operationId: Organizations_list

Responses

200

Success response

GET /api/v2/organizations
GET /api/v2/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
operationId: Organizations_autocomplete

Parameters

Name In Required Type Description
name query optional string

A substring of an organization to search for

field_id query optional string

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

source query optional string

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

Responses

200

Success response

400

Bad request

429

Too Many Requests

500

Internal Server Error

GET /api/v2/organizations/autocomplete
GET /api/v2/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
operationId: Organizations_getCount

Responses

200

Success response

GET /api/v2/organizations/count
GET /api/v2/organizations/search

Returns an array of organizations matching the criteria. You may search by an organization’s external_id or name, but not both:

Searching by external_id

If you set the external_id value of an organization to associate it to an external record, you can use it to search for the organization.

For an organization to be returned, its external_id must exactly match the value provided (case insensitive).

Searching by name

For an organization to be returned, its name must exactly match the value provided (case insensitive).

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.

operationId: Organizations_search

Parameters

Name In Required Type Description
external_id query optional integer

The external id of an organization

name query optional string

The name of an organization

Responses

200

Success response

GET /api/v2/organizations/search
GET /api/v2/organizations/show_many

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

Allowed For

  • Admins
  • Agents
operationId: Organizations_listMany

Parameters

Name In Required Type Description
ids query optional string

A list of organization ids

external_ids query optional string

A list of external ids

Responses

200

Success response

GET /api/v2/organizations/show_many
GET /api/v2/organizations/{organization_id}

Allowed For

  • Admins
  • Agents
operationId: Organizations_showInfo

Parameters

Name In Required Type Description
organization_id path optional integer

The ID of an organization

Responses

200

Success response

GET /api/v2/organizations/{organization_id}
GET /api/v2/organizations/{organization_id}/merges

Retrieves a list of all organization merge operations associated with a given organization. This endpoint allows you to track the history of merge actions for an organization, including ongoing and completed merges.

Each entry in the list contains details such as the ID of the merge, the winning and losing organization IDs, the current status of the merge, and a URL to access the Organization Merge record.

Pagination

  • Cursor pagination is used for this endpoint.
  • A maximum of 100 records can be returned per page.

See Pagination for more details.

Allowed For

  • Admins
operationId: Organizations_listMerges

Parameters

Name In Required Type Description
organization_id path optional integer

The ID of an organization

Responses

200

Success response

GET /api/v2/organizations/{organization_id}/merges
GET /api/v2/organizations/{organization_id}/related

Allowed For

  • Agents
operationId: Organizations_showRelatedInformation

Parameters

Name In Required Type Description
organization_id path optional integer

The ID of an organization

Responses

200

Success response

GET /api/v2/organizations/{organization_id}/related

Requests 5 endpoints

GET /api/v2/requests

Allowed for

  • End Users

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

operationId: Requests_list

Parameters

Name In Required Type Description
sort_by query optional string

Possible values are “updated_at”, “created_at”

sort_order query optional string

One of “asc”, “desc”. Defaults to “asc”

Responses

200

Success response

GET /api/v2/requests
GET /api/v2/requests/search

Examples:

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

Pagination

  • Offset pagination only

See Using Offset Pagination.

Results limit

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

Allowed For

  • End Users
operationId: Requests_searchResults

Parameters

Name In Required Type Description
query query optional string

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

Responses

200

Success response

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

Sideloads

The following sideloads are supported:

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

Allowed For

  • End Users
operationId: Requests_showRequest

Parameters

Name In Required Type Description
request_id path optional integer

The ID of the request

Responses

200

Success response

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

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Sorting

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

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

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

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

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

Allowed For

  • End Users
operationId: Requests_listComments

Parameters

Name In Required Type Description
request_id path optional integer

The ID of the request

since query optional string

Filters the comments from the given datetime

role query optional string

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

Responses

200

Success response

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

Allowed For

  • End Users
operationId: Requests_getComments

Parameters

Name In Required Type Description
request_id path optional integer

The ID of the request

ticket_comment_id path optional integer

The ID of the ticket comment

Responses

200

Success response

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

Reseller 1 endpoints

GET /api/v2/accounts/available

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

Returns “true” if the subdomain is available.

operationId: Reseller_checkSubdomainAvailability

Parameters

Name In Required Type Description
subdomain query required string

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

Responses

200

Success response

GET /api/v2/accounts/available

Resourcecollections 2 endpoints

GET /api/v2/resource_collections

Lists resource collections for the account.

Allowed for

  • Admins
operationId: ResourceCollections_list

Responses

200

Success response

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

Retrieves details for a specified resource collection.

Allowed for

  • Admins
operationId: ResourceCollections_getDetails

Parameters

Name In Required Type Description
resource_collection_id path optional integer

The id of the resource collection

Responses

200

Success response

GET /api/v2/resource_collections/{resource_collection_id}

Slapolicies 3 endpoints

GET /api/v2/slas/policies

Availability

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

Allowed For

  • Admins
operationId: SlaPolicies_list

Responses

200

Success response

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

Availability

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

Allowed For

  • Admins
operationId: SlaPolicies_getSupportedFilterDefinitionItems

Responses

200

Success response

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

Availability

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

Allowed For

  • Admins
operationId: SlaPolicies_showPolicy

Parameters

Name In Required Type Description
sla_policy_id path optional integer

The ID of the SLA Policy

Responses

200

Success response

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

Satisfactionratings 3 endpoints

GET /api/v2/satisfaction_ratings

Allowed For

  • Admins

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Filters

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

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

Examples:

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

Responses

200

Success response

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

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

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

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

Allowed For

  • Admins
operationId: SatisfactionRatings_getCount

Responses

200

Count of satisfaction ratings

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

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

Allowed For

  • Admins
operationId: SatisfactionRatings_getById

Parameters

Name In Required Type Description
satisfaction_rating_id path required integer

The id of the satisfaction rating to retrieve

Responses

200

Success response

GET /api/v2/satisfaction_ratings/{satisfaction_rating_id}

Satisfactionreasons 2 endpoints

GET /api/v2/satisfaction_reasons

List all reasons for an account

Allowed For

  • Admins
operationId: SatisfactionReasons_listReasons

Responses

200

Success response

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

Allowed For

  • Admins
operationId: SatisfactionReasons_showReasonById

Parameters

Name In Required Type Description
satisfaction_reason_id path required integer

The id of the satisfaction rating reason

Responses

200

Success response

GET /api/v2/satisfaction_reasons/{satisfaction_reason_id}

Sessions 4 endpoints

GET /api/v2/sessions

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

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Allowed For

  • Admins, Agents, End users
operationId: Sessions_getAll

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/sessions
GET /api/v2/users/me/session

Allowed For

  • Admins, Agents, End users
operationId: Sessions_showAuthenticatedSession

Responses

200

Success response

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

Allowed For

  • Admins, Agents, End users
operationId: Sessions_renewSession

Responses

200

Success response

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

Allowed For

  • Admins, Agents, End users
operationId: Sessions_showSession

Parameters

Name In Required Type Description
session_id path optional integer

The ID of the session

user_id path optional integer

The id of the user

Responses

200

Success response

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

Sharingagreements 2 endpoints

GET /api/v2/sharing_agreements

Allowed For

  • Agents
operationId: SharingAgreements_list

Responses

200

Success response

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

Returns a sharing agreement for your account.

Allowed For

  • Agents
operationId: SharingAgreements_show

Parameters

Name In Required Type Description
sharing_agreement_id path optional integer

The ID of the sharing agreement

Responses

200

Success response

GET /api/v2/sharing_agreements/{sharing_agreement_id}

Skillbasedrouting 8 endpoints

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

Returns an attribute value.

Allowed For

  • Agents and admins
operationId: SkillBasedRouting_listAgentAttributeValues

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

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

Returns a list of attributes for the account.

Sideloads

The following sideloads are supported:

Name Will sideload
attribute_values The attribute values available on the account

Allowed For

  • Agents and admins
operationId: SkillBasedRouting_listAccountAttributes

Responses

200

Success response

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

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

Allowed For

  • Admins
operationId: SkillBasedRouting_listAttributeDefinitions

Responses

200

Success response

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

Returns an attribute.

Allowed For

  • Admins
operationId: SkillBasedRouting_showAttribute

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

Responses

200

Success response

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

Returns a list of attribute values for a provided attribute.

Allowed For

  • Admins
operationId: SkillBasedRouting_listAttributeValues

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

Responses

200

Success response

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

Returns an attribute value.

Allowed For

  • Admins
operationId: SkillBasedRouting_showAttributeValue

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

attribute_value_id path optional string

The ID of the skill-based routing attribute value

Responses

200

Success response

GET /api/v2/routing/attributes/{attribute_id}/values/{attribute_value_id}
GET /api/v2/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
operationId: SkillBasedRouting_listFulfilledTickets

Parameters

Name In Required Type Description
ticket_ids query required integer

The IDs of the relevant tickets to check for matching attributes

Responses

200

Success response

GET /api/v2/routing/requirements/fulfilled
GET /api/v2/routing/tickets/{ticket_id}/instance_values

Returns a list of attributes values for the ticket.

Allowed For

  • Agents and admins
operationId: SkillBasedRouting_listTicketAttributeValues

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

GET /api/v2/routing/tickets/{ticket_id}/instance_values

Supportaddresses 2 endpoints

GET /api/v2/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
operationId: SupportAddresses_list

Responses

200

Success response

GET /api/v2/recipient_addresses
GET /api/v2/recipient_addresses/{support_address_id}

Allowed For

  • Admins
  • Agents
operationId: SupportAddresses_showSupportAddress

Parameters

Name In Required Type Description
support_address_id path optional integer

The ID of the support address

Responses

200

Success response

GET /api/v2/recipient_addresses/{support_address_id}

Suspendedtickets 2 endpoints

GET /api/v2/suspended_tickets

Allowed For

Sorting

You can sort the tickets with the sort_by and sort_order query string parameters.

Pagination

  • Cursor pagination

See Pagination.

operationId: SuspendedTickets_list

Parameters

Name In Required Type Description
sort_by query optional string

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

sort_order query optional string

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

Responses

200

Success response

GET /api/v2/suspended_tickets
GET /api/v2/suspended_tickets/{id}

Allowed For

operationId: SuspendedTickets_showTicket

Parameters

Name In Required Type Description
id path optional number

id of the suspended ticket

Responses

200

Success response

GET /api/v2/suspended_tickets/{id}

Tags 4 endpoints

GET /api/v2/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
operationId: Tags_searchTags

Parameters

Name In Required Type Description
name query optional string

A substring of a tag to search for

Responses

200

Success response

GET /api/v2/autocomplete/tags
GET /api/v2/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
operationId: Tags_listPopular

Responses

200

Success response

GET /api/v2/tags
GET /api/v2/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
operationId: Tags_getCount

Responses

200

Success response

GET /api/v2/tags/count
GET /api/v2/tickets/{ticket_id}/tags

Allowed For

  • Agents
operationId: Tags_listResourceTags

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

GET /api/v2/tickets/{ticket_id}/tags

Targetfailures 2 endpoints

GET /api/v2/target_failures

Returns the 25 most recent target failures, per target.

Stability

  • Development

Allowed For

  • Admins
operationId: TargetFailures_listRecent

Responses

200

Success response

GET /api/v2/target_failures
GET /api/v2/target_failures/{target_failure_id}

Stability

  • Development

Allowed For

  • Admins
operationId: TargetFailures_showFailure

Parameters

Name In Required Type Description
target_failure_id path optional integer

The ID of the target failure

Responses

200

Success response

GET /api/v2/target_failures/{target_failure_id}

Targets 2 endpoints

GET /api/v2/targets

Allowed For

  • Agents
operationId: Targets_list

Responses

200

Success response

GET /api/v2/targets
GET /api/v2/targets/{target_id}

Allowed For

  • Agents
operationId: Targets_showDetails

Parameters

Name In Required Type Description
target_id path optional integer

The ID of the target

Responses

200

Success response

GET /api/v2/targets/{target_id}

Ticketaudits 4 endpoints

GET /api/v2/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
operationId: TicketAudits_listAll

Parameters

Name In Required Type Description
limit query optional integer

Maximum number of results returned

Responses

200

Success response

GET /api/v2/ticket_audits
GET /api/v2/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
operationId: TicketAudits_list

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

OK response

GET /api/v2/tickets/{ticket_id}/audits
GET /api/v2/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
operationId: TicketAudits_getCount

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Count of audits on a ticket

GET /api/v2/tickets/{ticket_id}/audits/count
GET /api/v2/tickets/{ticket_id}/audits/{ticket_audit_id}

Allowed for

  • Agents
operationId: TicketAudits_show

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

ticket_audit_id path optional integer

The ID of the ticket audit

Responses

200

OK response

GET /api/v2/tickets/{ticket_id}/audits/{ticket_audit_id}

Ticketcomments 2 endpoints

GET /api/v2/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
operationId: TicketComments_list

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

include_inline_images query optional boolean

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

include query optional string

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.

Responses

200

Success response

GET /api/v2/tickets/{ticket_id}/comments
GET /api/v2/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
operationId: TicketComments_getCount

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Count of ticket comments

GET /api/v2/tickets/{ticket_id}/comments/count

Ticketfields 5 endpoints

GET /api/v2/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
operationId: TicketFields_listFields

Parameters

Name In Required Type Description
locale query optional string

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 query optional boolean

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

Responses

200

Success response

GET /api/v2/ticket_fields
GET /api/v2/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
operationId: TicketFields_count

Responses

200

Count of ticket fields

GET /api/v2/ticket_fields/count
GET /api/v2/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
operationId: TicketFields_showField

Parameters

Name In Required Type Description
ticket_field_id path optional integer

The ID of the ticket field

creator query optional boolean

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

Responses

200

Success response

GET /api/v2/ticket_fields/{ticket_field_id}
GET /api/v2/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.

operationId: TicketFields_listOptions

Parameters

Name In Required Type Description
ticket_field_id path optional integer

The ID of the ticket field

Responses

200

Success response

GET /api/v2/ticket_fields/{ticket_field_id}/options
GET /api/v2/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id}

Allowed for

  • Agents
operationId: TicketFields_showOptionById

Parameters

Name In Required Type Description
ticket_field_id path optional integer

The ID of the ticket field

ticket_field_option_id path optional integer

The ID of the ticket field option

Responses

200

Success response

GET /api/v2/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id}

Ticketforms 3 endpoints

GET /api/v2/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
operationId: TicketForms_listAllForms

Parameters

Name In Required Type Description
active query optional boolean

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

end_user_visible query optional boolean

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 query optional boolean

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 query optional boolean

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

Responses

200

Success response

GET /api/v2/ticket_forms
GET /api/v2/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
operationId: TicketForms_getMany

Parameters

Name In Required Type Description
ids query required string

IDs of the ticket forms to be shown

active query optional boolean

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

end_user_visible query optional boolean

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 query optional boolean

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 query optional boolean

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

Responses

200

Success response

GET /api/v2/ticket_forms/show_many
GET /api/v2/ticket_forms/{ticket_form_id}

Allowed For

  • Admins, Agents, and End Users
operationId: TicketForms_showForm

Parameters

Name In Required Type Description
ticket_form_id path optional integer

The ID of the ticket form

Responses

200

Success response

GET /api/v2/ticket_forms/{ticket_form_id}

Ticketmetricevents 1 endpoints

GET /api/v2/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
operationId: TicketMetricEvents_list

Parameters

Name In Required Type Description
start_time query required integer

The Unix UTC epoch time of the oldest event you’re interested in. Example: 1332034771.

Responses

200

Successful response

GET /api/v2/incremental/ticket_metric_events

Ticketmetrics 2 endpoints

GET /api/v2/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
operationId: TicketMetrics_listMetrics

Responses

200

Success response

GET /api/v2/ticket_metrics
GET /api/v2/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
operationId: TicketMetrics_showSpecificMetric

Parameters

Name In Required Type Description
ticket_metric_id path required string

The id of the ticket metric to retrieve

Responses

200

Success response

GET /api/v2/ticket_metrics/{ticket_metric_id}

Ticketskips 1 endpoints

GET /api/v2/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
operationId: TicketSkips_list

Parameters

Name In Required Type Description
user_id path optional integer

User ID of an agent

sort_order query optional string

Sort order. Defaults to “asc”

ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

GET /api/v2/users/{user_id}/skips

Tickets 11 endpoints

GET /api/v2/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.

operationId: Tickets_listDeleted

Parameters

Name In Required Type Description
sort_by query optional string

Sort by

sort_order query optional string

Sort order. Defaults to “asc”

Responses

200

Successful response

GET /api/v2/deleted_tickets
GET /api/v2/problems

The response is always ordered by updated_at in descending order

Allowed For

  • Agents

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

operationId: Tickets_listProblems

Responses

200

Successful response

GET /api/v2/problems
GET /api/v2/tickets
operationId: Tickets_list

Parameters

Name In Required Type Description
external_id query optional string

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.

Responses

200

List tickets

GET /api/v2/tickets
GET /api/v2/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
operationId: Tickets_countTickets

Responses

200

Count of tickets

GET /api/v2/tickets/count
GET /api/v2/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
operationId: Tickets_showMany

Parameters

Name In Required Type Description
ids query optional string

Comma-separated list of ticket ids

Responses

200

List tickets

GET /api/v2/tickets/show_many
GET /api/v2/tickets/{ticket_id}

Returns a number of ticket properties though not the ticket comments. To get the comments, use List Comments

Allowed For

  • Agents
operationId: Tickets_showTicketDetails

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Ticket

GET /api/v2/tickets/{ticket_id}
GET /api/v2/tickets/{ticket_id}/collaborators

Allowed For

  • Agents
operationId: Tickets_listCollaborators

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Successful response

GET /api/v2/tickets/{ticket_id}/collaborators
GET /api/v2/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
operationId: Tickets_getEmailCCs

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Successful response

GET /api/v2/tickets/{ticket_id}/email_ccs
GET /api/v2/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
operationId: Tickets_listFollowers

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Successful response

GET /api/v2/tickets/{ticket_id}/followers
GET /api/v2/tickets/{ticket_id}/incidents

Allowed For

  • Agents

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

operationId: Tickets_listIncidents

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Successful response

GET /api/v2/tickets/{ticket_id}/incidents
GET /api/v2/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 X (formerly Twitter) information associated with the ticket

Allowed For

  • Agents
operationId: Tickets_getRelatedInfo

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Successful response

GET /api/v2/tickets/{ticket_id}/related

Triggercategories 2 endpoints

GET /api/v2/trigger_categories

Returns all the trigger categories in the account.

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

operationId: TriggerCategories_getList

Parameters

Name In Required Type Description
page query optional object

Pagination parameters

sort query optional string

Sort parameters

include query optional string

Allowed sideloads

Responses

200

A paged array of trigger categories

400

Error

403

Error

GET /api/v2/trigger_categories
GET /api/v2/trigger_categories/{trigger_category_id}

Returns the trigger category with the specified ID.

operationId: TriggerCategories_showById

Parameters

Name In Required Type Description
trigger_category_id path required string

The id of the trigger category to retrieve

Responses

200

The requested trigger category

404

Error

GET /api/v2/trigger_categories/{trigger_category_id}

Triggers 7 endpoints

GET /api/v2/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
operationId: Triggers_list

Parameters

Name In Required Type Description
active query optional boolean

Filter by active triggers if true or inactive triggers if false

sort query optional string

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

sort_by query optional string

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

sort_order query optional string

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

category_id query optional string

Filter triggers by category ID

Responses

200

Success response

GET /api/v2/triggers
GET /api/v2/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
operationId: Triggers_listActiveTriggers

Parameters

Name In Required Type Description
sort query optional string

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

sort_by query optional string

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

sort_order query optional string

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

category_id query optional string

Filter triggers by category ID

Responses

200

Success response

GET /api/v2/triggers/active
GET /api/v2/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
operationId: Triggers_listDefinitions

Responses

200

Success response

GET /api/v2/triggers/definitions
GET /api/v2/triggers/search

Pagination

  • Offset pagination only

See Using Offset Pagination.

Allowed For

  • Agents

Sideloads

The following sideloads are supported. For more information, see Side-loading.

Name Will sideload
app_installation The app installation that requires each trigger, if present
permissions The permissions for each trigger
usage_1h The number of times each trigger has been used in the past hour
usage_24h The number of times each trigger has been used in the past day
usage_7d The number of times each trigger has been used in the past week
usage_30d The number of times each trigger has been used in the past thirty days

Filter

Use the filter query parameter to filter a trigger search by one or more attributes. For example, the following filter argument filters triggers by the description attribute:

{
  "json": {
    "description": "Close a ticket"
  }
}
operationId: Triggers_searchGet

Parameters

Name In Required Type Description
query query optional string

Query string used to find all triggers with matching title

filter query optional object

Trigger attribute filters for the search. See Filter

active query optional boolean

Filter by active triggers if true or inactive triggers if false

sort query optional string

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

sort_by query optional string

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

sort_order query optional string

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

include query optional string

A sideload to include in the response. See Sideloads

Responses

200

Success response

GET /api/v2/triggers/search
GET /api/v2/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.

operationId: Triggers_showTrigger

Parameters

Name In Required Type Description
trigger_id path optional integer

The ID of the trigger

Responses

200

Success response

GET /api/v2/triggers/{trigger_id}
GET /api/v2/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.

operationId: Triggers_listRevisions

Parameters

Name In Required Type Description
trigger_id path optional integer

The ID of the trigger

Responses

200

Success response

GET /api/v2/triggers/{trigger_id}/revisions
GET /api/v2/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
operationId: Triggers_showRevision

Parameters

Name In Required Type Description
trigger_id path optional integer

The ID of the trigger

trigger_revision_id path optional integer

The ID of the revision for a particular trigger

Responses

200

Success response

GET /api/v2/triggers/{trigger_id}/revisions/{trigger_revision_id}

Userfields 4 endpoints

GET /api/v2/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
operationId: UserFields_list

Responses

200

Success response

GET /api/v2/user_fields
GET /api/v2/user_fields/{user_field_id}

Allowed for

  • Agents
operationId: UserFields_showField

Parameters

Name In Required Type Description
user_field_id path optional

The ID or key of the user field

Responses

200

Success response

GET /api/v2/user_fields/{user_field_id}
GET /api/v2/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
operationId: UserFields_listOptions

Parameters

Name In Required Type Description
user_field_id path optional

The ID or key of the user field

Responses

200

Success response

GET /api/v2/user_fields/{user_field_id}/options
GET /api/v2/user_fields/{user_field_id}/options/{user_field_option_id}

Allowed for

  • Agents
operationId: UserFields_showOptionById

Parameters

Name In Required Type Description
user_field_id path optional

The ID or key of the user field

user_field_option_id path optional integer

The ID of the user field option

Responses

200

Success response

GET /api/v2/user_fields/{user_field_id}/options/{user_field_option_id}

Useridentities 2 endpoints

GET /api/v2/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
operationId: UserIdentities_list

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/users/{user_id}/identities
GET /api/v2/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
operationId: UserIdentities_showIdentity

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

user_identity_id path optional integer

The ID of the user identity

Responses

200

Success response

GET /api/v2/users/{user_id}/identities/{user_identity_id}

Userpasswords 1 endpoints

GET /api/v2/users/{user_id}/password/requirements

Allowed For

  • Agents
  • End Users
operationId: UserPasswords_listRequirements

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/users/{user_id}/password/requirements

Users 12 endpoints

GET /api/v2/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
operationId: Users_listDeleted

Responses

200

Success response

GET /api/v2/deleted_users
GET /api/v2/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
operationId: Users_countDeleted

Responses

200

Success response

GET /api/v2/deleted_users/count
GET /api/v2/deleted_users/{deleted_user_id}

Returns users that have been deleted but not permanently yet. See Permanently Delete User.

Allowed For:

  • Agents
operationId: Users_getDeletedUser

Parameters

Name In Required Type Description
deleted_user_id path optional integer

The ID of the deleted user

Responses

200

Success response

GET /api/v2/deleted_users/{deleted_user_id}
GET /api/v2/users

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Allowed For

  • Admins, Agents and Light Agents
operationId: Users_list

Parameters

Name In Required Type Description
role query optional string

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

role[] query optional string

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

permission_set query optional integer

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

external_id query optional string

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

Responses

200

Success response

GET /api/v2/users
GET /api/v2/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
operationId: Users_autocompleteList

Parameters

Name In Required Type Description
name query required string

The name to search for the user.

field_id query optional string

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

source query optional string

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

Responses

200

Success response

GET /api/v2/users/autocomplete
GET /api/v2/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
operationId: Users_countUsers

Parameters

Name In Required Type Description
role query optional string

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

role[] query optional string

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

permission_set query optional integer

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

Responses

200

Success response

GET /api/v2/users/count
GET /api/v2/users/me

The endpoint returns user information and an authenticity_token.

Allowed For

  • Anonymous users

Authenticity Token

Zendesk API calls made by end users from a Zendesk help center must include authenticity_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.

operationId: Users_showSelfInfo

Responses

200

Success response

GET /api/v2/users/me
GET /api/v2/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
operationId: Users_searchResults

Parameters

Name In Required Type Description
query query optional string

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 query optional string

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

Responses

200

Success response

GET /api/v2/users/search
GET /api/v2/users/show_many

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

Allowed For:

  • Agents
operationId: Users_getMany

Parameters

Name In Required Type Description
ids query optional string

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

external_ids query optional string

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

Responses

200

Success response

GET /api/v2/users/show_many
GET /api/v2/users/{user_id}

Allowed For

  • Agents
operationId: Users_showUser

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/users/{user_id}
GET /api/v2/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.

operationId: Users_showComplianceDeletionStatuses

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

application query optional string

Area of compliance

Responses

200

Success response

GET /api/v2/users/{user_id}/compliance_deletion_statuses
GET /api/v2/users/{user_id}/related
operationId: Users_showRelatedInfo

Parameters

Name In Required Type Description
user_id path optional integer

The id of the user

Responses

200

Success response

GET /api/v2/users/{user_id}/related

Views 12 endpoints

GET /api/v2/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
operationId: Views_listAvailable

Parameters

Name In Required Type Description
access query optional string

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

active query optional boolean

Only active views if true, inactive views if false

group_id query optional integer

Only views belonging to given group

sort_by query optional string

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

sort_order query optional string

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

Responses

200

Success response

GET /api/v2/views
GET /api/v2/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
operationId: Views_listActiveViews

Parameters

Name In Required Type Description
access query optional string

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

group_id query optional integer

Only views belonging to given group

sort_by query optional string

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

sort_order query optional string

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

Responses

200

Success response

GET /api/v2/views/active
GET /api/v2/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
operationId: Views_listCompactViews

Responses

200

Success response

GET /api/v2/views/compact
GET /api/v2/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
operationId: Views_getCount

Responses

200

Count of views

GET /api/v2/views/count
GET /api/v2/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
operationId: Views_getTicketCountForManyViews

Parameters

Name In Required Type Description
ids query required string

List of view’s ids separated by commas.

Responses

200

Success response

GET /api/v2/views/count_many
GET /api/v2/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
operationId: Views_searchResults

Parameters

Name In Required Type Description
query query required string

Query string used to find all views with matching title

access query optional string

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

active query optional boolean

Filter by active views if true or inactive views if false

group_id query optional integer

Filter views by group

sort_by query optional string

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

sort_order query optional string

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

include query optional string

A sideload to include in the response. See Sideloads

Responses

200

Success response

GET /api/v2/views/search
GET /api/v2/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
operationId: Views_listByIds

Parameters

Name In Required Type Description
ids query required string

List of view’s ids separated by commas.

active query optional boolean

Only active views if true, inactive views if false

Responses

200

Success response

GET /api/v2/views/show_many
GET /api/v2/views/{view_id}

Allowed For

  • Agents
operationId: Views_showView

Parameters

Name In Required Type Description
view_id path optional integer

The ID of the view

Responses

200

Success response

GET /api/v2/views/{view_id}
GET /api/v2/views/{view_id}/count

Returns the ticket count for a single view.

This endpoint is rate limited to 5 requests per minute, per view, per agent.

View Counts

The view count endpoints, Count Tickets in View (this endpoint) and Count Tickets in Views, let you estimate how many tickets remain in a view without having to retrieve the entire view. They’re designed to help estimate view size. From a business perspective, accuracy becomes less relevant as view size increases.

To ensure quality of service, these counts are cached more heavily as the number of tickets in a view grows. For a view with thousands of tickets, you can expect the count to be cached for 60-90 minutes. As a result, the count may not reflect the actual number of tickets in your view.

View counts are represented as JSON objects with the following attributes:

Name Type Comment
view_id integer The id of the view
url string The API url of the count
value integer The cached number of tickets in the view. Can also be null if the system is loading and caching new data. Not to be confused with 0 tickets
pretty string A pretty-printed text approximation of the view count
fresh boolean false if the cached data is stale and the system is still loading and caching new data
active boolean Only active views if true, inactive views if false, all views if null.

Example

{
  "view_count": {
    "view_id": 25,
    "url":     "https://company.zendesk.com/api/v2/views/25/count.json",
    "value":   719,
    "pretty":  "~700",
    "fresh":   true
  }
}
operationId: Views_countTickets

Parameters

Name In Required Type Description
view_id path optional integer

The ID of the view

Responses

200

Success response

GET /api/v2/views/{view_id}/count
GET /api/v2/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.

operationId: Views_executeView

Parameters

Name In Required Type Description
view_id path optional integer

The ID of the view

sort_by query optional string

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

sort_order query optional string

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

Responses

200

Success response

GET /api/v2/views/{view_id}/execute
GET /api/v2/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
operationId: Views_exportCsv

Parameters

Name In Required Type Description
view_id path optional integer

The ID of the view

Responses

200

Success response

GET /api/v2/views/{view_id}/export
GET /api/v2/views/{view_id}/tickets

Allowed For

  • Agents

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

operationId: Views_listTicketsFromView

Parameters

Name In Required Type Description
view_id path optional integer

The ID of the view

sort_by query optional string

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

sort_order query optional string

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

Responses

200

Success response

GET /api/v2/views/{view_id}/tickets

Workspaces 2 endpoints

GET /api/v2/workspaces

Allowed For

  • Admins, Agents
operationId: Workspaces_list

Responses

200

Success Response

GET /api/v2/workspaces
GET /api/v2/workspaces/{workspace_id}

Allowed For

  • Admins
operationId: Workspaces_getWorkspace

Parameters

Name In Required Type Description
workspace_id path optional integer

The id of the workspace

Responses

200

Successful response

GET /api/v2/workspaces/{workspace_id}

Xchannel 3 endpoints

GET /api/v2/channels/twitter/monitored_twitter_handles

Allowed For

  • Admins
  • Agents
operationId: XChannel_listMonitoredHandles

Responses

200

Success response

GET /api/v2/channels/twitter/monitored_twitter_handles
GET /api/v2/channels/twitter/monitored_twitter_handles/{monitored_twitter_handle_id}

Allowed For

  • Admins
  • Agents
operationId: XChannel_showMonitoredHandle

Parameters

Name In Required Type Description
monitored_twitter_handle_id path optional integer

The ID of the custom agent role

Responses

200

Success response

GET /api/v2/channels/twitter/monitored_twitter_handles/{monitored_twitter_handle_id}
GET /api/v2/channels/twitter/tickets/{comment_id}/statuses

Allowed For

  • Agents
operationId: XChannel_listTicketStatuses

Parameters

Name In Required Type Description
comment_id path optional integer

The ID of the comment

ids query optional string

Optional comment ids to retrieve tweet information for only particular comments

Responses

200

Success response

GET /api/v2/channels/twitter/tickets/{comment_id}/statuses

Schemas

object AccountSettingsActiveFeaturesObject
{
  "type": "object",
  "properties": {
    "chat": {
      "type": "boolean"
    },
    "voice": {
      "type": "boolean"
    },
    "explore": {
      "type": "boolean"
    },
    "sandbox": {
      "type": "boolean"
    },
    "twitter": {
      "type": "boolean"
    },
    "facebook": {
      "type": "boolean"
    },
    "insights": {
      "type": "boolean"
    },
    "markdown": {
      "type": "boolean"
    },
    "allow_ccs": {
      "type": "boolean"
    },
    "is_abusive": {
      "type": "boolean"
    },
    "google_login": {
      "type": "boolean"
    },
    "light_agents": {
      "type": "boolean"
    },
    "ticket_forms": {
      "type": "boolean"
    },
    "user_tagging": {
      "type": "boolean"
    },
    "bcc_archiving": {
      "type": "boolean"
    },
    "twitter_login": {
      "type": "boolean"
    },
    "business_hours": {
      "type": "boolean"
    },
    "facebook_login": {
      "type": "boolean"
    },
    "on_hold_status": {
      "type": "boolean"
    },
    "ticket_tagging": {
      "type": "boolean"
    },
    "forum_analytics": {
      "type": "boolean"
    },
    "user_org_fields": {
      "type": "boolean"
    },
    "agent_forwarding": {
      "type": "boolean"
    },
    "csat_reason_code": {
      "type": "boolean"
    },
    "dynamic_contents": {
      "type": "boolean"
    },
    "topic_suggestion": {
      "type": "boolean"
    },
    "automatic_answers": {
      "type": "boolean"
    },
    "benchmark_opt_out": {
      "type": "boolean"
    },
    "fallback_composer": {
      "type": "boolean"
    },
    "advanced_analytics": {
      "type": "boolean"
    },
    "custom_dkim_domain": {
      "type": "boolean"
    },
    "chat_about_my_ticket": {
      "type": "boolean"
    },
    "customer_satisfaction": {
      "type": "boolean"
    },
    "good_data_and_explore": {
      "type": "boolean"
    },
    "rich_content_in_emails": {
      "type": "boolean"
    },
    "satisfaction_prediction": {
      "type": "boolean"
    },
    "customer_context_as_default": {
      "type": "boolean"
    },
    "explore_on_support_ent_plan": {
      "type": "boolean"
    },
    "explore_on_support_pro_plan": {
      "type": "boolean"
    },
    "organization_access_enabled": {
      "type": "boolean"
    },
    "suspended_ticket_notification": {
      "type": "boolean"
    },
    "allow_email_template_customization": {
      "type": "boolean"
    }
  },
  "description": "The active features for an account. See [Active Features](https://developer.zendesk.com)"
}
object AccountSettingsAgentObject
{
  "type": "object",
  "properties": {
    "agent_home": {
      "type": "boolean"
    },
    "focus_mode": {
      "type": "boolean"
    },
    "agent_workspace": {
      "type": "boolean"
    },
    "idle_timeout_enabled": {
      "type": "boolean"
    },
    "unified_agent_statuses": {
      "type": "boolean"
    },
    "aw_self_serve_migration_enabled": {
      "type": "boolean"
    }
  },
  "description": "Configuration for the agent workspace. See [Agents](https://developer.zendesk.com)"
}
object AccountSettingsApiObject
{
  "type": "object",
  "properties": {
    "api_token_access": {
      "type": "string"
    },
    "api_password_access": {
      "type": "string"
    },
    "accepted_api_agreement": {
      "type": "boolean"
    }
  },
  "description": "API configuration options. See [API](https://developer.zendesk.com)"
}
object AccountSettingsAppsObject
{
  "type": "object",
  "properties": {
    "use": {
      "type": "boolean"
    },
    "create_public": {
      "type": "boolean"
    },
    "create_private": {
      "type": "boolean"
    }
  },
  "description": "Apps configuration options. See [Apps](https://developer.zendesk.com)"
}
object AccountSettingsBillingObject
{
  "type": "object",
  "properties": {
    "backend": {
      "type": "string"
    }
  },
  "description": "Billing configuration options. See [Billing](https://developer.zendesk.com)"
}
object AccountSettingsBrandingObject
{
  "type": "object",
  "properties": {
    "text_color": {
      "type": "string"
    },
    "favicon_url": {
      "type": "string",
      "nullable": true
    },
    "header_color": {
      "type": "string"
    },
    "header_logo_url": {
      "type": "string",
      "nullable": true
    },
    "tab_background_color": {
      "type": "string"
    },
    "page_background_color": {
      "type": "string"
    }
  },
  "description": "Branding settings. See [Branding](https://developer.zendesk.com)"
}
object AccountSettingsBrandsObject
{
  "type": "object",
  "properties": {
    "default_brand_id": {
      "type": "integer"
    },
    "require_brand_on_new_tickets": {
      "type": "boolean"
    }
  },
  "description": "Brand settings. See [Brands](https://developer.zendesk.com)"
}
object AccountSettingsCdnObject
{
  "type": "object",
  "properties": {
    "hosts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      }
    },
    "cdn_provider": {
      "type": "string"
    },
    "fallback_cdn_provider": {
      "type": "string"
    }
  },
  "description": "CDN settings"
}
object AccountSettingsChatObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "available": {
      "type": "boolean"
    },
    "integrated": {
      "type": "boolean"
    },
    "welcome_message": {
      "type": "string"
    },
    "maximum_request_count": {
      "type": "integer"
    }
  },
  "description": "Zendesk Chat settings. See [Chat](https://developer.zendesk.com)"
}
object AccountSettingsCrossSellObject
{
  "type": "object",
  "properties": {
    "xsell_source": {
      "type": "string",
      "nullable": true
    },
    "show_chat_tooltip": {
      "type": "boolean"
    }
  },
  "description": "Cross Sell settings"
}
object AccountSettingsGooddataAdvancedAnalyticsObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    }
  },
  "description": "GoodData settings, used for insights. Legacy configuration prior to Zendesk Explore. See [GoodData Advanced Analytics](https://developer.zendesk.com)"
}
object AccountSettingsGoogleAppsObject
{
  "type": "object",
  "properties": {
    "has_google_apps": {
      "type": "boolean"
    },
    "has_google_apps_admin": {
      "type": "boolean"
    }
  },
  "description": "Google Apps configuration. See [G Suite](https://developer.zendesk.com)"
}
object AccountSettingsGroupObject
{
  "type": "object",
  "properties": {
    "check_group_name_uniqueness": {
      "type": "boolean"
    }
  },
  "description": "Group configuration"
}
object AccountSettingsLimitsObject
{
  "type": "object",
  "properties": {
    "attachment_size": {
      "type": "integer"
    }
  },
  "description": "Account limits configuration. See [Limits](https://developer.zendesk.com)"
}
object AccountSettingsLocalizationObject
{
  "type": "object",
  "properties": {
    "locale_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "Internationalization configuration settings. See [Localization](https://developer.zendesk.com)"
}
object AccountSettingsLotusObject
{
  "type": "object",
  "properties": {
    "pod_id": {
      "type": "integer"
    },
    "reporting": {
      "type": "boolean"
    },
    "prefer_lotus": {
      "type": "boolean"
    }
  },
  "description": "Support UI settings. See [Lotus](https://developer.zendesk.com)"
}
object AccountSettingsMetricsObject
{
  "type": "object",
  "properties": {
    "account_size": {
      "type": "string"
    }
  },
  "description": "Account metrics settings. See [Metrics](https://developer.zendesk.com)"
}
object AccountSettingsObject
{
  "type": "object",
  "example": {
    "api": {
      "api_token_access": "true",
      "api_password_access": "true",
      "accepted_api_agreement": true
    },
    "cdn": {
      "hosts": [
        {
          "url": "https://p18.zdassets.com",
          "name": "default"
        },
        {
          "url": "https://d2y9oszrd3dhjh.cloudfront.net",
          "name": "cloudfront"
        }
      ],
      "cdn_provider": "default",
      "fallback_cdn_provider": "cloudfront"
    },
    "apps": {
      "use": true,
      "create_public": false,
      "create_private": true
    },
    "chat": {
      "enabled": false,
      "available": true,
      "integrated": true,
      "welcome_message": "Hi there. How can I help today?",
      "maximum_request_count": 1
    },
    "rule": {
      "macro_order": "alphabetical",
      "macro_most_used": true,
      "using_skill_based_routing": false,
      "skill_based_filtered_views": []
    },
    "user": {
      "tagging": true,
      "language_selection": true,
      "time_zone_selection": true,
      "have_gravatars_enabled": true,
      "multiple_organizations": false,
      "agent_created_welcome_emails": true,
      "end_user_phone_number_validation": false
    },
    "lotus": {
      "pod_id": 999,
      "reporting": true,
      "prefer_lotus": true
    },
    "voice": {
      "enabled": true,
      "logging": true,
      "outbound_enabled": true,
      "recordings_public": true,
      "maximum_queue_size": 5,
      "uk_mobile_forwarding": true,
      "maximum_queue_wait_time": 1,
      "agent_wrap_up_after_calls": true,
      "only_during_business_hours": false,
      "agent_confirmation_when_forwarding": true
    },
    "agents": {
      "agent_home": false,
      "focus_mode": false,
      "agent_workspace": false,
      "idle_timeout_enabled": false,
      "unified_agent_statuses": false,
      "aw_self_serve_migration_enabled": true
    },
    "brands": {
      "default_brand_id": 1873,
      "require_brand_on_new_tickets": false
    },
    "groups": {
      "check_group_name_uniqueness": true
    },
    "limits": {
      "attachment_size": 52428800
    },
    "billing": {
      "backend": "zuora"
    },
    "metrics": {
      "account_size": "100-399"
    },
    "routing": {
      "enabled": false,
      "autorouting_tag": "",
      "max_email_capacity": 0,
      "max_messaging_capacity": 0,
      "reassignment_talk_timeout": 30,
      "reassignment_messaging_enabled": true,
      "reassignment_messaging_timeout": 30
    },
    "tickets": {
      "tagging": true,
      "status_hold": false,
      "collaboration": true,
      "has_color_text": true,
      "agent_collision": true,
      "list_empty_views": true,
      "allow_group_reset": true,
      "email_attachments": false,
      "rich_text_comments": true,
      "chat_sla_enablement": false,
      "private_attachments": false,
      "emoji_autocompletion": true,
      "agent_ticket_deletion": false,
      "agent_invitation_enabled": true,
      "auto_translation_enabled": false,
      "markdown_ticket_comments": false,
      "assign_tickets_upon_solve": true,
      "using_skill_based_routing": false,
      "comments_public_by_default": true,
      "list_newest_comments_first": true,
      "assign_default_organization": true,
      "light_agent_email_ccs_allowed": false,
      "accepted_new_collaboration_tos": false,
      "maximum_personal_views_to_list": 8,
      "auto_updated_ccs_followers_rules": false,
      "is_first_comment_private_enabled": true,
      "follower_and_email_cc_collaborations": false
    },
    "twitter": {
      "shorten_url": "optional"
    },
    "branding": {
      "text_color": "FFFFFF",
      "favicon_url": null,
      "header_color": "78A300",
      "header_logo_url": null,
      "tab_background_color": "7FA239",
      "page_background_color": "333333"
    },
    "cross_sell": {
      "xsell_source": null,
      "show_chat_tooltip": true
    },
    "onboarding": {
      "product_sign_up": null,
      "onboarding_segments": null,
      "checklist_onboarding_version": 2
    },
    "statistics": {
      "forum": true,
      "search": true,
      "rule_usage": true
    },
    "google_apps": {
      "has_google_apps": false,
      "has_google_apps_admin": false
    },
    "ticket_form": {
      "ticket_forms_instructions": "Please choose your issue below",
      "raw_ticket_forms_instructions": "Please choose your issue below"
    },
    "localization": {
      "locale_ids": [
        1042
      ]
    },
    "active_features": {
      "chat": false,
      "voice": true,
      "explore": true,
      "sandbox": false,
      "twitter": true,
      "facebook": false,
      "insights": false,
      "markdown": false,
      "allow_ccs": true,
      "is_abusive": false,
      "google_login": false,
      "light_agents": false,
      "ticket_forms": true,
      "user_tagging": true,
      "bcc_archiving": false,
      "twitter_login": false,
      "business_hours": false,
      "facebook_login": false,
      "on_hold_status": false,
      "ticket_tagging": true,
      "forum_analytics": true,
      "user_org_fields": true,
      "agent_forwarding": false,
      "csat_reason_code": false,
      "dynamic_contents": false,
      "topic_suggestion": false,
      "automatic_answers": false,
      "benchmark_opt_out": false,
      "fallback_composer": false,
      "advanced_analytics": false,
      "custom_dkim_domain": true,
      "chat_about_my_ticket": false,
      "customer_satisfaction": false,
      "good_data_and_explore": false,
      "rich_content_in_emails": true,
      "satisfaction_prediction": false,
      "customer_context_as_default": false,
      "explore_on_support_ent_plan": false,
      "explore_on_support_pro_plan": false,
      "organization_access_enabled": true,
      "suspended_ticket_notification": false,
      "allow_email_template_customization": true
    },
    "side_conversations": {
      "email_channel": false,
      "slack_channel": false,
      "msteams_channel": false,
      "tickets_channel": false,
      "show_in_context_panel": false
    },
    "ticket_sharing_partners": {
      "support_addresses": [
        "support@grokpetre.zendesk.com"
      ]
    },
    "gooddata_advanced_analytics": {
      "enabled": true
    }
  },
  "properties": {
    "api": {
      "$ref": "#/components/schemas/AccountSettingsApiObject"
    },
    "cdn": {
      "$ref": "#/components/schemas/AccountSettingsCdnObject"
    },
    "apps": {
      "$ref": "#/components/schemas/AccountSettingsAppsObject"
    },
    "chat": {
      "$ref": "#/components/schemas/AccountSettingsChatObject"
    },
    "rule": {
      "$ref": "#/components/schemas/AccountSettingsRuleObject"
    },
    "user": {
      "$ref": "#/components/schemas/AccountSettingsUserObject"
    },
    "lotus": {
      "$ref": "#/components/schemas/AccountSettingsLotusObject"
    },
    "voice": {
      "$ref": "#/components/schemas/AccountSettingsVoiceObject"
    },
    "agents": {
      "$ref": "#/components/schemas/AccountSettingsAgentObject"
    },
    "brands": {
      "$ref": "#/components/schemas/AccountSettingsBrandsObject"
    },
    "groups": {
      "$ref": "#/components/schemas/AccountSettingsGroupObject"
    },
    "limits": {
      "$ref": "#/components/schemas/AccountSettingsLimitsObject"
    },
    "billing": {
      "$ref": "#/components/schemas/AccountSettingsBillingObject"
    },
    "metrics": {
      "$ref": "#/components/schemas/AccountSettingsMetricsObject"
    },
    "routing": {
      "$ref": "#/components/schemas/AccountSettingsRoutingObject"
    },
    "tickets": {
      "$ref": "#/components/schemas/AccountSettingsTicketObject"
    },
    "twitter": {
      "$ref": "#/components/schemas/AccountSettingsTwitterObject"
    },
    "branding": {
      "$ref": "#/components/schemas/AccountSettingsBrandingObject"
    },
    "cross_sell": {
      "$ref": "#/components/schemas/AccountSettingsCrossSellObject"
    },
    "onboarding": {
      "$ref": "#/components/schemas/AccountSettingsOnboardingObject"
    },
    "statistics": {
      "$ref": "#/components/schemas/AccountSettingsStatisticsObject"
    },
    "google_apps": {
      "$ref": "#/components/schemas/AccountSettingsGoogleAppsObject"
    },
    "ticket_form": {
      "$ref": "#/components/schemas/AccountSettingsTicketFormObject"
    },
    "localization": {
      "$ref": "#/components/schemas/AccountSettingsLocalizationObject"
    },
    "active_features": {
      "$ref": "#/components/schemas/AccountSettingsActiveFeaturesObject"
    },
    "side_conversations": {
      "$ref": "#/components/schemas/AccountSettingsSideConversationsObject"
    },
    "ticket_sharing_partners": {
      "$ref": "#/components/schemas/AccountSettingsTicketSharingPartnersObject"
    },
    "gooddata_advanced_analytics": {
      "$ref": "#/components/schemas/AccountSettingsGooddataAdvancedAnalyticsObject"
    }
  }
}
object AccountSettingsOnboardingObject
{
  "type": "object",
  "properties": {
    "product_sign_up": {
      "type": "string",
      "nullable": true
    },
    "onboarding_segments": {
      "type": "string",
      "nullable": true
    },
    "checklist_onboarding_version": {
      "type": "integer"
    }
  },
  "description": "Onboarding settings"
}
object AccountSettingsResponse
{
  "type": "object",
  "example": {
    "settings": {
      "api": {
        "api_token_access": "true",
        "api_password_access": "true",
        "accepted_api_agreement": true
      },
      "cdn": {
        "hosts": [
          {
            "url": "https://p18.zdassets.com",
            "name": "default"
          },
          {
            "url": "https://d2y9oszrd3dhjh.cloudfront.net",
            "name": "cloudfront"
          }
        ],
        "cdn_provider": "default",
        "fallback_cdn_provider": "cloudfront"
      },
      "apps": {
        "use": true,
        "create_public": false,
        "create_private": true
      },
      "chat": {
        "enabled": false,
        "available": true,
        "integrated": true,
        "welcome_message": "Hi there. How can I help today?",
        "maximum_request_count": 1
      },
      "rule": {
        "macro_order": "alphabetical",
        "macro_most_used": true,
        "using_skill_based_routing": false,
        "skill_based_filtered_views": []
      },
      "user": {
        "tagging": true,
        "language_selection": true,
        "time_zone_selection": true,
        "have_gravatars_enabled": true,
        "multiple_organizations": false,
        "agent_created_welcome_emails": true,
        "end_user_phone_number_validation": false
      },
      "lotus": {
        "pod_id": 999,
        "reporting": true,
        "prefer_lotus": true
      },
      "voice": {
        "enabled": true,
        "logging": true,
        "outbound_enabled": true,
        "recordings_public": true,
        "maximum_queue_size": 5,
        "uk_mobile_forwarding": true,
        "maximum_queue_wait_time": 1,
        "agent_wrap_up_after_calls": true,
        "only_during_business_hours": false,
        "agent_confirmation_when_forwarding": true
      },
      "agents": {
        "agent_home": false,
        "focus_mode": false,
        "agent_workspace": false,
        "idle_timeout_enabled": false,
        "unified_agent_statuses": false,
        "aw_self_serve_migration_enabled": true
      },
      "brands": {
        "default_brand_id": 1873,
        "require_brand_on_new_tickets": false
      },
      "groups": {
        "check_group_name_uniqueness": true
      },
      "limits": {
        "attachment_size": 52428800
      },
      "billing": {
        "backend": "zuora"
      },
      "metrics": {
        "account_size": "100-399"
      },
      "routing": {
        "enabled": false,
        "autorouting_tag": "",
        "max_email_capacity": 0,
        "max_messaging_capacity": 0
      },
      "tickets": {
        "tagging": true,
        "status_hold": false,
        "collaboration": true,
        "has_color_text": true,
        "agent_collision": true,
        "list_empty_views": true,
        "allow_group_reset": true,
        "email_attachments": false,
        "rich_text_comments": true,
        "chat_sla_enablement": false,
        "private_attachments": false,
        "emoji_autocompletion": true,
        "agent_ticket_deletion": false,
        "agent_invitation_enabled": true,
        "auto_translation_enabled": false,
        "markdown_ticket_comments": false,
        "assign_tickets_upon_solve": true,
        "using_skill_based_routing": false,
        "comments_public_by_default": true,
        "list_newest_comments_first": true,
        "assign_default_organization": true,
        "light_agent_email_ccs_allowed": false,
        "accepted_new_collaboration_tos": false,
        "maximum_personal_views_to_list": 8,
        "auto_updated_ccs_followers_rules": false,
        "is_first_comment_private_enabled": true,
        "follower_and_email_cc_collaborations": false
      },
      "twitter": {
        "shorten_url": "optional"
      },
      "branding": {
        "text_color": "FFFFFF",
        "favicon_url": null,
        "header_color": "78A300",
        "header_logo_url": null,
        "tab_background_color": "7FA239",
        "page_background_color": "333333"
      },
      "cross_sell": {
        "xsell_source": null,
        "show_chat_tooltip": true
      },
      "onboarding": {
        "product_sign_up": null,
        "onboarding_segments": null,
        "checklist_onboarding_version": 2
      },
      "statistics": {
        "forum": true,
        "search": true,
        "rule_usage": true
      },
      "google_apps": {
        "has_google_apps": false,
        "has_google_apps_admin": false
      },
      "ticket_form": {
        "ticket_forms_instructions": "Please choose your issue below",
        "raw_ticket_forms_instructions": "Please choose your issue below"
      },
      "localization": {
        "locale_ids": [
          1042
        ]
      },
      "active_features": {
        "chat": false,
        "voice": true,
        "explore": true,
        "sandbox": false,
        "twitter": true,
        "facebook": false,
        "insights": false,
        "markdown": false,
        "allow_ccs": true,
        "is_abusive": false,
        "google_login": false,
        "light_agents": false,
        "ticket_forms": true,
        "user_tagging": true,
        "bcc_archiving": false,
        "twitter_login": false,
        "business_hours": false,
        "facebook_login": false,
        "on_hold_status": false,
        "ticket_tagging": true,
        "forum_analytics": true,
        "user_org_fields": true,
        "agent_forwarding": false,
        "csat_reason_code": false,
        "dynamic_contents": false,
        "topic_suggestion": false,
        "automatic_answers": false,
        "benchmark_opt_out": false,
        "fallback_composer": false,
        "advanced_analytics": false,
        "custom_dkim_domain": true,
        "chat_about_my_ticket": false,
        "customer_satisfaction": false,
        "good_data_and_explore": false,
        "rich_content_in_emails": true,
        "satisfaction_prediction": false,
        "customer_context_as_default": false,
        "explore_on_support_ent_plan": false,
        "explore_on_support_pro_plan": false,
        "organization_access_enabled": true,
        "suspended_ticket_notification": false,
        "allow_email_template_customization": true
      },
      "side_conversations": {
        "email_channel": false,
        "slack_channel": false,
        "msteams_channel": false,
        "tickets_channel": false,
        "show_in_context_panel": false
      },
      "ticket_sharing_partners": {
        "support_addresses": [
          "support@grokpetre.zendesk.com"
        ]
      },
      "gooddata_advanced_analytics": {
        "enabled": true
      }
    }
  },
  "properties": {
    "settings": {
      "$ref": "#/components/schemas/AccountSettingsObject"
    }
  }
}
object AccountSettingsRoutingObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "autorouting_tag": {
      "type": "string"
    },
    "max_email_capacity": {
      "type": "integer"
    },
    "max_messaging_capacity": {
      "type": "integer"
    },
    "reassignment_talk_timeout": {
      "type": "integer"
    },
    "reassignment_messaging_enabled": {
      "type": "boolean"
    },
    "reassignment_messaging_timeout": {
      "type": "integer"
    }
  },
  "description": "Configuration for routing. See [Routing](https://developer.zendesk.com)"
}
object AccountSettingsRuleObject
{
  "type": "object",
  "properties": {
    "macro_order": {
      "type": "string"
    },
    "macro_most_used": {
      "type": "boolean"
    },
    "using_skill_based_routing": {
      "type": "boolean"
    },
    "skill_based_filtered_views": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    }
  },
  "description": "Rules settings for triggers, macros, views, and automations. See [Rules](https://developer.zendesk.com)"
}
object AccountSettingsSideConversationsObject
{
  "type": "object",
  "properties": {
    "email_channel": {
      "type": "boolean"
    },
    "slack_channel": {
      "type": "boolean"
    },
    "msteams_channel": {
      "type": "boolean"
    },
    "tickets_channel": {
      "type": "boolean"
    },
    "show_in_context_panel": {
      "type": "boolean"
    }
  },
  "description": "Side conversations settings"
}
object AccountSettingsStatisticsObject
{
  "type": "object",
  "properties": {
    "forum": {
      "type": "boolean"
    },
    "search": {
      "type": "boolean"
    },
    "rule_usage": {
      "type": "boolean"
    }
  },
  "description": "Account statistics settings. See [Statistics](https://developer.zendesk.com)"
}
object AccountSettingsTicketFormObject
{
  "type": "object",
  "properties": {
    "ticket_forms_instructions": {
      "type": "string"
    },
    "raw_ticket_forms_instructions": {
      "type": "string"
    }
  },
  "description": "Ticket form settings. See [Ticket Form](https://developer.zendesk.com)"
}
object AccountSettingsTicketObject
{
  "type": "object",
  "properties": {
    "tagging": {
      "type": "boolean"
    },
    "status_hold": {
      "type": "boolean"
    },
    "collaboration": {
      "type": "boolean"
    },
    "has_color_text": {
      "type": "boolean"
    },
    "agent_collision": {
      "type": "boolean"
    },
    "list_empty_views": {
      "type": "boolean"
    },
    "allow_group_reset": {
      "type": "boolean"
    },
    "email_attachments": {
      "type": "boolean"
    },
    "rich_text_comments": {
      "type": "boolean"
    },
    "chat_sla_enablement": {
      "type": "boolean"
    },
    "private_attachments": {
      "type": "boolean"
    },
    "emoji_autocompletion": {
      "type": "boolean"
    },
    "agent_ticket_deletion": {
      "type": "boolean"
    },
    "agent_invitation_enabled": {
      "type": "boolean"
    },
    "auto_translation_enabled": {
      "type": "boolean"
    },
    "markdown_ticket_comments": {
      "type": "boolean"
    },
    "assign_tickets_upon_solve": {
      "type": "boolean"
    },
    "using_skill_based_routing": {
      "type": "boolean"
    },
    "comments_public_by_default": {
      "type": "boolean"
    },
    "list_newest_comments_first": {
      "type": "boolean"
    },
    "assign_default_organization": {
      "type": "boolean"
    },
    "light_agent_email_ccs_allowed": {
      "type": "boolean"
    },
    "accepted_new_collaboration_tos": {
      "type": "boolean"
    },
    "maximum_personal_views_to_list": {
      "type": "integer"
    },
    "auto_updated_ccs_followers_rules": {
      "type": "boolean"
    },
    "is_first_comment_private_enabled": {
      "type": "boolean"
    },
    "follower_and_email_cc_collaborations": {
      "type": "boolean"
    }
  },
  "description": "Ticket settings. See [Tickets](https://developer.zendesk.com)"
}
object AccountSettingsTicketSharingPartnersObject
{
  "type": "object",
  "properties": {
    "support_addresses": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "Ticket sharing partners settings. See [Ticket Sharing Partners](https://developer.zendesk.com)"
}
object AccountSettingsTwitterObject
{
  "type": "object",
  "properties": {
    "shorten_url": {
      "type": "string"
    }
  },
  "description": "X (formerly Twitter) settings. See [X](https://developer.zendesk.com)"
}
object AccountSettingsUserObject
{
  "type": "object",
  "properties": {
    "tagging": {
      "type": "boolean"
    },
    "language_selection": {
      "type": "boolean"
    },
    "time_zone_selection": {
      "type": "boolean"
    },
    "have_gravatars_enabled": {
      "type": "boolean"
    },
    "multiple_organizations": {
      "type": "boolean"
    },
    "agent_created_welcome_emails": {
      "type": "boolean"
    },
    "end_user_phone_number_validation": {
      "type": "boolean"
    }
  },
  "description": "User settings. See [Users](https://developer.zendesk.com)"
}
object AccountSettingsVoiceObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "logging": {
      "type": "boolean"
    },
    "outbound_enabled": {
      "type": "boolean"
    },
    "recordings_public": {
      "type": "boolean"
    },
    "maximum_queue_size": {
      "type": "integer"
    },
    "uk_mobile_forwarding": {
      "type": "boolean"
    },
    "maximum_queue_wait_time": {
      "type": "integer"
    },
    "agent_wrap_up_after_calls": {
      "type": "boolean"
    },
    "only_during_business_hours": {
      "type": "boolean"
    },
    "agent_confirmation_when_forwarding": {
      "type": "boolean"
    }
  },
  "description": "Zendesk Talk settings. See [Voice](https://developer.zendesk.com)"
}
object ActionObject
{
  "type": "object",
  "properties": {
    "field": {
      "type": "string",
      "description": "The name of a ticket field to modify"
    },
    "value": {
      "type": "string",
      "description": "The new value of the field"
    }
  }
}
object ActionsObject
{
  "type": "object",
  "properties": {
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActionObject"
      }
    }
  }
}
object ActivitiesCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
object ActivitiesResponse
{
  "type": "object",
  "example": {
    "count": 1,
    "users": [
      {
        "id": 3343,
        "url": "https://example.zendesk.com/api/v2/users/3343.json",
        "name": "Samwise Gamgee",
        "role": "admin",
        "tags": [
          "101"
        ],
        "alias": "test",
        "email": "user@zendesk.com",
        "notes": "test",
        "phone": null,
        "photo": {
          "id": 8730791,
          "url": "https://example.zendesk.com/api/v2/attachments/8730791.json",
          "size": 4566,
          "width": 80,
          "height": 80,
          "inline": false,
          "deleted": false,
          "file_name": "1f84950b8d7949b3.gif",
          "thumbnails": [
            {
              "id": 8730801,
              "url": "https://example.zendesk.com/api/v2/attachments/8730801.json",
              "size": 1517,
              "width": 32,
              "height": 32,
              "inline": false,
              "deleted": false,
              "file_name": "1f84950b8d7949b3_thumb.gif",
              "content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif",
              "content_type": "image/gif",
              "mapped_content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif"
            }
          ],
          "content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif",
          "content_type": "image/gif",
          "mapped_content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif"
        },
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "test",
        "suspended": false,
        "time_zone": "American Samoa",
        "created_at": "2017-08-14T20:13:53Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:33:55Z",
        "external_id": "oev7jj",
        "user_fields": {
          "skittles": "2018-09-14T00:00:00+00:00",
          "user_field_1": "101",
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-16T22:57:45Z",
        "custom_role_id": null,
        "iana_time_zone": "Pacific/Pago_Pago",
        "organization_id": 1873,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      }
    ],
    "actors": [
      {
        "id": 158488612,
        "url": "https://example.zendesk.com/api/v2/users/158488612.json",
        "name": "Tedd",
        "role": "admin",
        "tags": [],
        "alias": "",
        "email": "cgoddard+ted@zendesk.com",
        "notes": "",
        "phone": null,
        "photo": null,
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "",
        "suspended": false,
        "time_zone": "Alaska",
        "created_at": "2020-11-17T00:32:12Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:34:38Z",
        "external_id": null,
        "user_fields": {
          "skittles": null,
          "user_field_1": null,
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-17T00:33:44Z",
        "custom_role_id": null,
        "iana_time_zone": "America/Juneau",
        "organization_id": null,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      }
    ],
    "next_page": null,
    "activities": [
      {
        "id": 29183462,
        "url": "https://example.zendesk.com/api/v2/activities/29183462.json",
        "user": {
          "id": 3343,
          "url": "https://example.zendesk.com/api/v2/users/3343.json",
          "name": "Samwise Gamgee",
          "role": "admin",
          "tags": [
            "101"
          ],
          "alias": "test",
          "email": "user@zendesk.com",
          "notes": "test",
          "phone": null,
          "photo": {
            "id": 8730791,
            "url": "https://example.zendesk.com/api/v2/attachments/8730791.json",
            "size": 4566,
            "width": 80,
            "height": 80,
            "inline": false,
            "deleted": false,
            "file_name": "1f84950b8d7949b3.gif",
            "thumbnails": [
              {
                "id": 8730801,
                "url": "https://example.zendesk.com/api/v2/attachments/8730801.json",
                "size": 1517,
                "width": 32,
                "height": 32,
                "inline": false,
                "deleted": false,
                "file_name": "1f84950b8d7949b3_thumb.gif",
                "content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif",
                "content_type": "image/gif",
                "mapped_content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif"
              }
            ],
            "content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif",
            "content_type": "image/gif",
            "mapped_content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif"
          },
          "active": true,
          "locale": "en-gb",
          "shared": false,
          "details": "",
          "verified": true,
          "locale_id": 5,
          "moderator": true,
          "role_type": null,
          "signature": "test",
          "suspended": false,
          "time_zone": "American Samoa",
          "created_at": "2017-08-14T20:13:53Z",
          "report_csv": true,
          "updated_at": "2020-11-17T00:33:55Z",
          "external_id": "oev7jj",
          "user_fields": {
            "skittles": "2018-09-14T00:00:00+00:00",
            "user_field_1": "101",
            "its_remember_september": null
          },
          "shared_agent": false,
          "last_login_at": "2020-11-16T22:57:45Z",
          "custom_role_id": null,
          "iana_time_zone": "Pacific/Pago_Pago",
          "organization_id": 1873,
          "default_group_id": 1873,
          "restricted_agent": false,
          "ticket_restriction": null,
          "shared_phone_number": null,
          "only_private_comments": false,
          "two_factor_auth_enabled": null
        },
        "verb": "tickets.assignment",
        "actor": {
          "id": 158488612,
          "url": "https://example.zendesk.com/api/v2/users/158488612.json",
          "name": "Tedd",
          "role": "admin",
          "tags": [],
          "alias": "",
          "email": "cgoddard+ted@zendesk.com",
          "notes": "",
          "phone": null,
          "photo": null,
          "active": true,
          "locale": "en-gb",
          "shared": false,
          "details": "",
          "verified": true,
          "locale_id": 5,
          "moderator": true,
          "role_type": null,
          "signature": "",
          "suspended": false,
          "time_zone": "Alaska",
          "created_at": "2020-11-17T00:32:12Z",
          "report_csv": true,
          "updated_at": "2020-11-17T00:34:38Z",
          "external_id": null,
          "user_fields": {
            "skittles": null,
            "user_field_1": null,
            "its_remember_september": null
          },
          "shared_agent": false,
          "last_login_at": "2020-11-17T00:33:44Z",
          "custom_role_id": null,
          "iana_time_zone": "America/Juneau",
          "organization_id": null,
          "default_group_id": 1873,
          "restricted_agent": false,
          "ticket_restriction": null,
          "shared_phone_number": null,
          "only_private_comments": false,
          "two_factor_auth_enabled": null
        },
        "title": "Tedd assigned ticket #1521 to you.",
        "object": {
          "ticket": {
            "id": 1521,
            "subject": "test"
          }
        },
        "target": {
          "ticket": {
            "id": 1521,
            "subject": "test"
          }
        },
        "user_id": 3343,
        "actor_id": 158488612,
        "created_at": "2020-11-17T00:34:40Z",
        "updated_at": "2020-11-17T00:34:40Z"
      }
    ],
    "previous_page": null
  },
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "users": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "readOnly": true
    },
    "actors": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "readOnly": true
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "activities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActivityObject"
      },
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object ActivityObject
{
  "type": "object",
  "title": "Ticket Activities",
  "example": {
    "id": 35,
    "url": "https://company.zendesk.com/api/v2/activities/35.json",
    "user": {
      "id": 223443,
      "name": "Johnny Agent"
    },
    "verb": "tickets.assignment",
    "actor": {
      "id": 8678530,
      "name": "James A. Rosen"
    },
    "title": "John Hopeful assigned ticket #123 to you",
    "object": {},
    "target": {},
    "user_id": 29451,
    "actor_id": 23546,
    "created_at": "2019-03-05T10:38:52Z",
    "updated_at": "2019-03-05T10:38:52Z"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned on creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of the activity"
    },
    "user": {
      "$ref": "#/components/schemas/UserObject"
    },
    "verb": {
      "type": "string",
      "readOnly": true,
      "description": "The type of activity. Can be \"tickets.assignment\", \"tickets.comment\", or \"tickets.priority_increase\""
    },
    "actor": {
      "$ref": "#/components/schemas/UserObject"
    },
    "title": {
      "type": "string",
      "readOnly": true,
      "description": "Description of the activity"
    },
    "object": {
      "type": "object",
      "readOnly": true,
      "description": "The content of the activity. Can be a ticket, comment, or change.",
      "additionalProperties": true
    },
    "target": {
      "type": "object",
      "readOnly": true,
      "description": "The target of the activity, a ticket.",
      "additionalProperties": true
    },
    "user_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the agent making the request"
    },
    "actor_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the user responsible for the ticket activity. An `actor_id` of \"-1\" is a Zendesk system user, such as an automations action."
    },
    "created_at": {
      "type": "string",
      "readOnly": true,
      "description": "When the record was created"
    },
    "updated_at": {
      "type": "string",
      "readOnly": true,
      "description": "When the record was last updated"
    }
  },
  "x-konfig-properties": {
    "user": {
      "type": "object",
      "readOnly": true,
      "description": "The full user record of the agent making the request. See [Users](https://developer.zendesk.com)"
    },
    "actor": {
      "type": "object",
      "readOnly": true,
      "description": "The full user record of the user responsible for the ticket activity. See [Users](https://developer.zendesk.com)"
    }
  }
}
object ActivityResponse
{
  "type": "object",
  "example": {
    "activity": {
      "id": 29183462,
      "url": "https://example.zendesk.com/api/v2/activities/29183462.json",
      "user": {
        "id": 3343,
        "url": "https://example.zendesk.com/api/v2/users/3343.json",
        "name": "Samwise Gamgee",
        "role": "admin",
        "tags": [
          "101"
        ],
        "alias": "test",
        "email": "user@zendesk.com",
        "notes": "test",
        "phone": null,
        "photo": {
          "id": 8730791,
          "url": "https://example.zendesk.com/api/v2/attachments/8730791.json",
          "size": 4566,
          "width": 80,
          "height": 80,
          "inline": false,
          "deleted": false,
          "file_name": "1f84950b8d7949b3.gif",
          "thumbnails": [
            {
              "id": 8730801,
              "url": "https://example.zendesk.com/api/v2/attachments/8730801.json",
              "size": 1517,
              "width": 32,
              "height": 32,
              "inline": false,
              "deleted": false,
              "file_name": "1f84950b8d7949b3_thumb.gif",
              "content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif",
              "content_type": "image/gif",
              "mapped_content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif"
            }
          ],
          "content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif",
          "content_type": "image/gif",
          "mapped_content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif"
        },
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "test",
        "suspended": false,
        "time_zone": "American Samoa",
        "created_at": "2017-08-14T20:13:53Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:33:55Z",
        "external_id": "oev7jj",
        "user_fields": {
          "skittles": "2018-09-14T00:00:00+00:00",
          "user_field_1": "101",
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-16T22:57:45Z",
        "custom_role_id": null,
        "iana_time_zone": "Pacific/Pago_Pago",
        "organization_id": 1873,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      },
      "verb": "tickets.assignment",
      "actor": {
        "id": 158488612,
        "url": "https://example.zendesk.com/api/v2/users/158488612.json",
        "name": "Tedd",
        "role": "admin",
        "tags": [],
        "alias": "",
        "email": "cgoddard+ted@zendesk.com",
        "notes": "",
        "phone": null,
        "photo": null,
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "",
        "suspended": false,
        "time_zone": "Alaska",
        "created_at": "2020-11-17T00:32:12Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:34:38Z",
        "external_id": null,
        "user_fields": {
          "skittles": null,
          "user_field_1": null,
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-17T00:33:44Z",
        "custom_role_id": null,
        "iana_time_zone": "America/Juneau",
        "organization_id": null,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      },
      "title": "Tedd assigned ticket #1521 to you.",
      "object": {
        "ticket": {
          "id": 1521,
          "subject": "test"
        }
      },
      "target": {
        "ticket": {
          "id": 1521,
          "subject": "test"
        }
      },
      "user_id": 3343,
      "actor_id": 158488612,
      "created_at": "2020-11-17T00:34:40Z",
      "updated_at": "2020-11-17T00:34:40Z"
    }
  },
  "properties": {
    "activity": {
      "$ref": "#/components/schemas/ActivityObject"
    }
  }
}
object AssigneeFieldAssignableAgentObject
{
  "type": "object",
  "title": "AssigneeFieldAssignableAgents",
  "example": {
    "id": 6473829100,
    "name": "Joe Smith",
    "avatar_url": "https://z3n-example.zendesk.com/system/photos/900005192023/my_profile.png"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "Agent Support ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the agent"
    },
    "avatar_url": {
      "type": "string",
      "nullable": true,
      "description": "URL of Agent's avatar"
    }
  }
}
object AssigneeFieldAssignableGroupAgentsResponse
{
  "type": "object",
  "example": {
    "count": 3,
    "agents": [
      {
        "id": 6473829100,
        "name": "Joe Smith",
        "avatar_url": "https://z3n-example.zendesk.com/system/photos/900005192023/my_profile.png"
      },
      {
        "id": 9182736400,
        "name": "Jane Doe",
        "avatar_url": "https://z3n-example.zendesk.com/system/photos/412005192023/my_profile.png"
      },
      {
        "id": 1928373460,
        "name": "Cookie Monster",
        "avatar_url": "https://z3n-example.zendesk.com/system/photos/887005192023/my_profile.png"
      }
    ],
    "next_page": null,
    "previous_page": null
  },
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of agents listed in `agents` property."
    },
    "agents": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableAgentObject"
      }
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object AssigneeFieldAssignableGroupObject
{
  "type": "object",
  "title": "AssigneeFieldAssignableGroups",
  "example": {
    "id": 9182736455,
    "name": "Engineering",
    "description": "Engineering team for bugs"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Group ID"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "Name of the group"
    },
    "description": {
      "type": "string",
      "readOnly": true,
      "description": "Description of the group"
    }
  }
}
object AssigneeFieldAssignableGroupsAndAgentsSearchResponse
{
  "type": "object",
  "example": {
    "count": 2,
    "agents": [
      {
        "id": 8392017465,
        "name": "Sam Technologist",
        "group": "Tech",
        "group_id": 6574839201,
        "photo_url": "https://z3n-example.zendesk.com/system/photos/410305192023/my_profile.png"
      }
    ],
    "groups": [
      {
        "id": 6574839201,
        "name": "Tech"
      }
    ]
  },
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of agents + groups listed from search result."
    },
    "agents": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableSearchAgentObject"
      }
    },
    "groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableSearchGroupObject"
      }
    }
  }
}
object AssigneeFieldAssignableGroupsResponse
{
  "type": "object",
  "example": {
    "count": 3,
    "groups": [
      {
        "id": 9182736455,
        "name": "Group for Bugs for Engineering",
        "description": "Engineering"
      },
      {
        "id": 1928374655,
        "name": "Group for feature requests",
        "description": "Product"
      },
      {
        "id": 5519283746,
        "name": "Group for customer inquiries",
        "description": "Customer Support"
      }
    ],
    "next_page": null,
    "previous_page": null
  },
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of groups listed in `groups` property."
    },
    "groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableGroupObject"
      }
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object AssigneeFieldAssignableSearchAgentObject
{
  "type": "object",
  "example": {
    "id": 6473829100,
    "name": "Joe Smith",
    "group": "Engineering",
    "group_id": 9182736455,
    "photo_url": "https://z3n-example.zendesk.com/system/photos/900005192023/my_profile.png"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "Agent ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the agent"
    },
    "group": {
      "type": "string",
      "description": "Name of the agent's group"
    },
    "group_id": {
      "type": "integer",
      "description": "Agent's Group ID"
    },
    "photo_url": {
      "type": "string",
      "nullable": true,
      "description": "URL of Avatar"
    }
  }
}
object AssigneeFieldAssignableSearchGroupObject
{
  "type": "object",
  "example": {
    "id": 9182736455,
    "name": "Engineering"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "Group ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the group"
    }
  }
}
object AttachmentBaseObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "A URL to access the attachment details"
    },
    "size": {
      "type": "integer",
      "readOnly": true,
      "description": "The size of the image file in bytes"
    },
    "width": {
      "type": "string",
      "readOnly": true,
      "description": "The width of the image file in pixels. If width is unknown, returns null"
    },
    "height": {
      "type": "string",
      "readOnly": true,
      "description": "The height of the image file in pixels. If height is unknown, returns null"
    },
    "inline": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the attachment is excluded from the attachment list and the attachment's URL\ncan be referenced within the comment of a ticket. Default is false\n"
    },
    "deleted": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the attachment has been deleted"
    },
    "file_name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the image file"
    },
    "content_url": {
      "type": "string",
      "readOnly": true,
      "description": "A full URL where the attachment image file can be downloaded. The file may be hosted externally so take care not to inadvertently send Zendesk authentication credentials. See [Working with url properties](https://developer.zendesk.com)"
    },
    "content_type": {
      "type": "string",
      "readOnly": true,
      "description": "The content type of the image. Example value: \"image/png\""
    },
    "mapped_content_url": {
      "type": "string",
      "readOnly": true,
      "description": "The URL the attachment image file has been mapped to"
    },
    "malware_scan_result": {
      "type": "string",
      "readOnly": true,
      "description": "The result of the malware scan. There is a delay between the time the attachment is uploaded and when the malware scan is completed. Usually the scan is done within a few seconds, but high load conditions can delay the scan results. Possible values: \"malware_found\", \"malware_not_found\", \"failed_to_scan\", \"not_scanned\""
    },
    "malware_access_override": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, you can download an attachment flagged as malware. If false, you can't download such an attachment."
    }
  }
}
object AttachmentObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/AttachmentBaseObject"
    },
    {
      "$ref": "#/components/schemas/AttachmentThumbnails"
    }
  ],
  "example": {
    "id": 928374,
    "size": 166144,
    "file_name": "my_funny_profile_pic.png",
    "thumbnails": [
      {
        "id": 928375,
        "size": 58298,
        "file_name": "my_funny_profile_pic_thumb.png",
        "content_url": "https://company.zendesk.com/attachments/my_funny_profile_pic_thumb.png",
        "content_type": "image/png"
      }
    ],
    "content_url": "https://company.zendesk.com/attachments/my_funny_profile_pic.png",
    "content_type": "image/png"
  },
  "description": "A file represented as an [Attachment](https://developer.zendesk.com) object"
}
object AttachmentResponse
{
  "type": "object",
  "properties": {
    "attachment": {
      "$ref": "#/components/schemas/AttachmentObject"
    }
  }
}
object AttachmentThumbnails
{
  "type": "object",
  "properties": {
    "thumbnails": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AttachmentBaseObject"
      },
      "readOnly": true,
      "description": "An array of attachment objects. Note that photo thumbnails do not have thumbnails"
    }
  }
}
object AttachmentUpdateInput
{
  "type": "object",
  "properties": {
    "malware_access_override": {
      "type": "boolean",
      "description": "If true, allows access to attachments with detected malware."
    }
  }
}
object AttachmentUpdateRequest
{
  "type": "object",
  "properties": {
    "attachment": {
      "$ref": "#/components/schemas/AttachmentUpdateInput"
    }
  }
}
object AttachmentUploadResponse
{
  "type": "object",
  "properties": {
    "upload": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "readOnly": true,
          "description": "Token for subsequent request"
        },
        "attachment": {
          "$ref": "#/components/schemas/AttachmentObject"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/AttachmentObject"
          }
        }
      }
    }
  }
}

Versions

Version Endpoints Schemas Ingested Status
2.0.0 440 454 2026-05-11 current
2.0.0 440 454 2026-04-16