Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://{subdomain}.{domain}.com
/api/v2/uploads
Uploads a file that can be attached to a ticket comment. It doesn’t attach the file to the comment. For details and examples, see Attaching ticket comments with the API.
The endpoint has a required filename query parameter. The parameter specifies what the file will be named when attached to the ticket comment (to give the agent more context about the file). The parameter does not specify the file on the local system to be uploaded. While the two names can be different, their file extensions must be the same. If they don’t match, the agent’s browser or file reader could give an error when attempting to open the attachment.
The Content-Type header must contain a recognized MIME type that correctly describes the type of the uploaded file. Failing to send a recognized, correct type may cause undesired behavior. For example, in-browser audio playback may be interrupted by the browser’s security mechanisms for MP3s uploaded with an incorrect type.
Adding multiple files to the same upload is handled by splitting requests and passing the API token received from the first request to each subsequent request. The token is valid for 3 days.
Note: Even if private attachments are enabled in the Zendesk Support instance, uploaded files are visible to any authenticated user at the content_URL specified in the JSON response until the upload token is consumed. Once a file is associated with a ticket or post, visibility is restricted to users with access to the ticket or post with the attachment.
Created response
POST /api/v2/uploads
/api/v2/audit_logs/export
| 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[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[action] | query | optional | string | Filter audit logs by the action |
Accepted description
POST /api/v2/audit_logs/export
/api/v2/automations
Creates an automation.
New automations must be unique and have at least one condition that is true only once or an action that nullifies at least one of the conditions. Active automations can have overlapping conditions but can’t be identical.
The request must include the following conditions in the all array:
status, type, group_id, assignee_id, or requester_id.Created response
POST /api/v2/automations
/api/v2/channels/voice/agents/{agent_id}/tickets/{ticket_id}/display
Allows you to instruct an agent’s browser to open a ticket.
When the message is successfully delivered to an agent’s browser:
Status: 200 OK
When agent_id or ticket_id is invalid:
Status: 404 Not Found
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| agent_id | path | optional | integer | ID of an agent |
| ticket_id | path | optional | integer | The ID of the ticket |
Successful response
When the agent_id or ticket_id is invalid
POST /api/v2/channels/voice/agents/{agent_id}/tickets/{ticket_id}/display
/api/v2/channels/voice/agents/{agent_id}/users/{user_id}/display
Allows you to instruct an agent’s browser to open a user’s profile.
When the message is successfully delivered to an agent’s browser:
Status: 200 OK
When agent_id or user_id is invalid:
Status: 404 Not Found
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| agent_id | path | optional | integer | ID of an agent |
| user_id | path | optional | integer | The id of the user |
Successful response
When the agent_id or user_id is invalid
POST /api/v2/channels/voice/agents/{agent_id}/users/{user_id}/display
/api/v2/channels/voice/tickets
Creating tickets using Talk Partner Edition follows the same conventions as the Create Ticket endpoint. See Create Ticket.
The POST request takes a mandatory ticket object that lists the values to set when the ticket is created.
You may also include an optional display_to_agent value such as the ID of the agent that will see the newly created ticket.
Tickets created using this endpoint must have a via_id parameter. See the following
section for possible values.
Tickets created using this endpoint must have one of the following via_id parameters:
| ID | Description |
|---|---|
| 44 | Voicemail |
| 45 | Phone call (inbound) |
| 46 | Phone call (outbound) |
The POST request takes a mandatory ticket object that lists the values to set when the ticket is created.
The ticket must have a voice_comment with the following values:
| Name | Type | Comment |
|---|---|---|
| from | string | Incoming phone number |
| to | string | Dialed phone number |
| recording_url | string | URL of the recording |
| started_at | date | ISO 8601 timestamp of the call starting time |
| call_duration | integer | Duration in seconds of the call |
| answered_by_id | integer | The agent who answered the call |
| transcription_text | string | Transcription of the call (optional) |
| location | string | Location of the caller (optional) |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| agent_id | path | optional | integer | ID of an agent |
| ticket_id | path | optional | integer | The ID of the ticket |
application/json
TicketCreateVoicemailTicketRequest
| Property | Type | Required |
|---|---|---|
| ticket | object | optional |
| └ via_id | integer | optional |
| └ comment | object | optional |
| └ id | integer | optional |
| └ via | object | optional |
| └ source | object | optional |
| └ channel | string | optional |
| └ body | string | optional |
| └ type | string | optional |
| └ public | boolean | optional |
| └ uploads | array | optional |
| └ audit_id | integer | optional |
| └ metadata | object | optional |
| └ author_id | integer | optional |
| └ html_body | string | optional |
| └ created_at | string | optional |
| └ plain_body | string | optional |
| └ attachments | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ size | integer | optional |
| └ width | string | optional |
| └ height | string | optional |
| └ inline | boolean | optional |
| └ deleted | boolean | optional |
| └ file_name | string | optional |
| └ content_url | string | optional |
| └ content_type | string | optional |
| └ mapped_content_url | string | optional |
| └ malware_scan_result | string | optional |
| └ malware_access_override | boolean | optional |
| └ thumbnails | array | optional |
| └ priority | string | optional |
| └ voice_comment | object | optional |
| └ to | string | optional |
| └ from | string | optional |
| └ location | string | optional |
| └ started_at | string | optional |
| └ call_duration | integer | optional |
| └ recording_url | string | optional |
| └ answered_by_id | integer | optional |
| └ transcription_text | string | optional |
| display_to_agent | integer | optional |
Successful response
When the agent_id or ticket_id is invalid
POST /api/v2/channels/voice/tickets
/api/v2/bookmarks
application/json
BookmarkCreateRequest
| Property | Type | Required |
|---|---|---|
| bookmark | object | optional |
| └ ticket_id | integer | optional |
Successfully created
Successfully created
POST /api/v2/bookmarks
/api/v2/brands
application/json
BrandCreateRequest
| Property | Type | Required |
|---|---|---|
| brand | object | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ logo | object | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ size | integer | optional |
| └ width | string | optional |
| └ height | string | optional |
| └ inline | boolean | optional |
| └ deleted | boolean | optional |
| └ file_name | string | optional |
| └ content_url | string | optional |
| └ content_type | string | optional |
| └ mapped_content_url | string | optional |
| └ malware_scan_result | string | optional |
| └ malware_access_override | boolean | optional |
| └ thumbnails | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ size | integer | optional |
| └ width | string | optional |
| └ height | string | optional |
| └ inline | boolean | optional |
| └ deleted | boolean | optional |
| └ file_name | string | optional |
| └ content_url | string | optional |
| └ content_type | string | optional |
| └ mapped_content_url | string | optional |
| └ malware_scan_result | string | optional |
| └ malware_access_override | boolean | optional |
| └ name | string | required |
| └ active | boolean | optional |
| └ default | boolean | optional |
| └ brand_url | string | optional |
| └ subdomain | string | required |
| └ created_at | string | optional |
| └ is_deleted | boolean | optional |
| └ updated_at | string | optional |
| └ host_mapping | string | optional |
| └ has_help_center | boolean | optional |
| └ ticket_form_ids | array | optional |
| └ help_center_state | string | optional |
| └ signature_template | string | optional |
Successful response
POST /api/v2/brands
/api/v2/any_channel/channelback/report_error
The POST request takes a JSON object parameter which contains information about the
problematic channelback.
| Name | Type | Required | Comments |
|---|---|---|---|
| instance_push_id | string | yes | The ID of the account to which data will be pushed. This was passed to the integration service when the administrator set up the account |
| external_id | string | yes | Unique identifier of the external resource from the original channelback (string) |
| description | string | no | A human readable description of the error |
| request_id | string | no | A unique identifier for the request |
The response does not include a response body
Success response
POST /api/v2/any_channel/channelback/report_error
/api/v2/any_channel/push
Pushes Channel framework content to Zendesk.
The POST request takes a JSON object parameter which contains data about all
the resources that the client is pushing.
| Name | Type | Required | Comments |
|---|---|---|---|
| instance_push_id | string | yes | The account ID where data will be pushed. This was passed to the integration service when the administrator set up the account |
| request_id | string | no | A unique identifier for the push request |
| external_resources | array | yes | The resources to push |
| Name | Type | Max length | Mandatory | Comments |
|---|---|---|---|---|
| external_id | string | 255 | yes | Unique identifier of the external resource. Must be ASCII characters |
| internal_note | boolean | no | If true creates a new internal note comment | |
| message | string | 65535 | yes | Text to be converted to a ticket or comment |
| html_message | string | 65535 | no | HTML version of message |
| parent_id | string | 511 | no | Unique identifier of the external resource for which this is a response. Used to choose the correct thread. Responses may include parent_id or thread_id, but not both. See Conversation threads |
| thread_id | string | 255 | no | Arbitrary identifier of the thread to which this item should belong. Responses may include parent_id or thread_id, but not both. See Conversation threads |
| created_at | string | yes | When the resource was created in the origin system, as an ISO 8601 extended format date-time. Example: ‘2015-09-08T22:48:09Z’ | |
| author | object | yes | See author object below | |
| display_info | array | no | Array of integration-specific data used by apps to modify the agent UI. See display_info object below | |
| allow_channelback | boolean | no | If false, prevents the agent from making additional comments on the message in the Zendesk interface | |
| fields | array | no | Array of ticket fields to set in Zendesk and their values. See fields array | |
| file_urls | array | 10 | no | Array of files to be imported into Zendesk. See file urls in the Channel framework docs |
| Name | Type | Max chars | Mandatory | Comments |
|---|---|---|---|---|
| external_id | string | 255 | yes | Unique identifier of the user in the origin service |
| name | string | 255 | no | If not supplied, defaults to external id |
| image_url | string | 255 | no | URL to an image for the user |
| locale | String | 255 | no | The user’s locale. Must be one of the supported locales in Zendesk |
| fields | array | no | Array of items containing user field identifier (‘id’) and value of field (‘value’.) For system fields (‘notes’ or ‘details’), the identifier is the English name. For custom fields, the identifier may be the ID or the name |
| Name | Type | Max chars | Mandatory | Comments |
|---|---|---|---|---|
| type | string | 255 | yes | Globally unique type identifier defined by the integration origin service. Examples: a GUID or URI |
| data | string | 65535 | yes | JSON data containing display hints |
The fields array lists ticket fields to set in Zendesk and their values. Each item consists of a field identifier (id) and a value (value) for the field. For Zendesk system fields such as subject, the identifier is the English name. For custom fields, the identifier may be a field ID or a name. See Ticket Fields.
The fields array can only set ticket values on ticket creation, not on ticket updates.
The response is a JSON object containing a single key:
| Name | Type | Comments |
|---|---|---|
| results | array | An array of result objects |
The results array contains an entry for each item in the incoming external_resources array, in the
same order. For example, if you call push with 3 external resources, a successful response will include
results with three entries, corresponding to your 3 resources.
| Name | Type | Comments |
|---|---|---|
| external_resource_id | string | The external ID of the resource, as passed in |
| status | object | The status of the import for the indicated resource. See status object |
| Name | Type | Comments |
|---|---|---|
| code | string | A code indicating the status of the import of the resource, as described in status codes |
| description | string | In the case of an exception, a description of the exception. Otherwise, not present. |
| Key | Description |
|---|---|
| success | The external resource was successfully converted to a ticket or comment |
| already_imported | Reimport of the external resource was skipped due to a pre-existing ticket or comment for the resource |
| could_not_locate_parent_external_resource | The parent resource, as identified by parent_id in the request, could not be found. The unrecognized parent ID is returned in the description of the status |
| processing_error | An internal exception occurred while processing the resource. See description in the status object |
| halted | This resource was not processed because processing of previous resources failed |
Success response
POST /api/v2/any_channel/push
/api/v2/any_channel/validate_token
The POST request takes a JSON object parameter which contains the token to be validated.
| Name | Type | Required | Comments |
|---|---|---|---|
| instance_push_id | string | yes | The ID of the account to which data will be pushed. This was passed to the integration service when the administrator set up the account |
| request_id | string | no | A unique identifier for the push request |
The response body is empty.
Success response
POST /api/v2/any_channel/validate_token
/api/v2/custom_objects/{custom_object_key}/fields
Creates any of the following custom field types:
See About custom field types in Zendesk help.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
application/json
CustomObjectFieldsCreateRequest
| Property | Type | Required |
|---|---|---|
| custom_object_field | object | optional |
| └ id | integer | optional |
| └ key | string | required |
| └ tag | string | optional |
| └ url | string | optional |
| └ type | string | required |
| └ title | string | required |
| └ active | boolean | optional |
| └ system | boolean | optional |
| └ position | integer | optional |
| └ raw_title | string | optional |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ description | string | optional |
| └ raw_description | string | optional |
| └ relationship_filter | object | optional |
| └ custom_field_options | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ name | string | required |
| └ value | string | required |
| └ position | integer | optional |
| └ raw_name | string | optional |
| └ regexp_for_validation | string | optional |
| └ relationship_target_type | string | optional |
Created
POST /api/v2/custom_objects/{custom_object_key}/fields
/api/v2/custom_objects/{custom_object_key}/jobs
Queues a background job to perform bulk actions on up to 100 custom object records per single request.
Takes a job object with two nested fields:
action, one of:
"create""delete""delete_by_external_id""create_or_update_by_external_id""update"items
"create" action, an array of JSON objects representing the custom object records being created"delete" action, an array of strings representing Zendesk record ids"delete_by_external_id" action, an array of strings representing external ids"create_or_update_by_external_id" action, an array of JSON objects representing the custom object records being created or updated"update" action, an array of JSON objects representing the custom object records being updatedThis endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
application/json
CustomObjectRecordsBulkCreateRequest
| Property | Type | Required |
|---|---|---|
| job | object | optional |
| └ items | array | optional |
| └ id | string | optional |
| └ url | string | optional |
| └ name | string | required |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ external_id | string | optional |
| └ custom_object_key | string | optional |
| └ created_by_user_id | string | optional |
| └ updated_by_user_id | string | optional |
| └ custom_object_fields | object | optional |
| └ action | string | optional |
Created
POST /api/v2/custom_objects/{custom_object_key}/jobs
/api/v2/custom_objects/{custom_object_key}/records
Creates a custom object record according to all the properties described by a custom object definition
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
application/json
CustomObjectRecordsCreateRequest
| Property | Type | Required |
|---|---|---|
| custom_object_record | object | optional |
| └ id | string | optional |
| └ url | string | optional |
| └ name | string | required |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ external_id | string | optional |
| └ custom_object_key | string | optional |
| └ created_by_user_id | string | optional |
| └ updated_by_user_id | string | optional |
| └ custom_object_fields | object | optional |
Created
POST /api/v2/custom_objects/{custom_object_key}/records
/api/v2/custom_objects
Creates an object describing all the properties required to create a custom object record
application/json
CustomObjectsCreateRequest
| Property | Type | Required |
|---|---|---|
| custom_object | object | optional |
| └ key | string | optional |
| └ title | string | optional |
| └ title_pluralized | string | optional |
Created
POST /api/v2/custom_objects
/api/v2/custom_roles
manage_roles permissionCreated response
POST /api/v2/custom_roles
/api/v2/custom_statuses
Takes a custom_status object that specifies the custom ticket status properties to create.
application/json
CustomStatusCreateRequest
| Property | Type | Required |
|---|---|---|
| custom_status | object | optional |
| └ active | boolean | optional |
| └ agent_label | string | optional |
| └ description | string | optional |
| └ end_user_label | string | optional |
| └ end_user_description | string | optional |
| └ status_category | string | optional |
Created
POST /api/v2/custom_statuses
/api/v2/dynamic_content/items
Create a new content item, with one or more variants in the item’s variants array. See Specifying item variants.
The default_locale_id and variant locale_id values must be one of the locales the account has active. You can get the list with the List Locales endpoint.
Created response
POST /api/v2/dynamic_content/items
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants
You can only create one variant for each locale id. If a locale variant already exists, the request is rejected.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Created response
POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/create_many
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Created response
POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/create_many
/api/v2/group_memberships
Assigns an agent to a given group.
Created response
POST /api/v2/group_memberships
/api/v2/group_memberships/create_many
Assigns up to 100 agents to given groups.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion.
Success response
POST /api/v2/group_memberships/create_many
/api/v2/group_slas/policies
Created response
POST /api/v2/group_slas/policies
/api/v2/groups
Created response
POST /api/v2/groups
/api/v2/macros
application/json
MacrosCreateNewMacroRequest
| Property | Type | Required |
|---|---|---|
| macro | object | optional |
| └ title | string | required |
| └ active | boolean | optional |
| └ actions | array | required |
| └ field | string | optional |
| └ value | string | optional |
| └ description | string | optional |
| └ restriction | object | optional |
| └ id | integer | optional |
| └ ids | array | optional |
| └ type | string | optional |
OK
POST /api/v2/macros
/api/v2/macros/attachments
Allows an attachment to be uploaded that can be associated with a macro at a later time.
Note: To ensure an uploaded attachment is not lost, associate it with a macro as soon as possible. From time to time, old attachments that are not not associated with any macro are purged.
Created Response
POST /api/v2/macros/attachments
/api/v2/macros/{macro_id}/attachments
Allows an attachment to be uploaded and associated with a macro at the same time.
Note: A macro can be associated with up to five attachments.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| macro_id | path | optional | integer | The ID of the macro |
Success Response
POST /api/v2/macros/{macro_id}/attachments
/api/v2/queues
Created response
POST /api/v2/queues
/api/v2/organization_fields
Creates any of the following custom field types:
See About custom field types in Zendesk help.
Created response
POST /api/v2/organization_fields
/api/v2/organization_memberships
Assigns a user to a given organization. Returns an error with status 422 if the user is already assigned to the organization.
Created response
POST /api/v2/organization_memberships
/api/v2/organization_memberships/create_many
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Success response
POST /api/v2/organization_memberships/create_many
/api/v2/organization_subscriptions
End users can only subscribe to shared organizations in which they’re members.
application/json
OrganizationSubscriptionCreateRequest
| Property | Type | Required |
|---|---|---|
| organization_subscription | object | optional |
| └ user_id | integer | optional |
| └ organization_id | integer | optional |
Successful response
POST /api/v2/organization_subscriptions
/api/v2/organizations
You must provide a unique name for each organization. Normally
the system doesn’t allow records to be created with identical names.
However, a race condition can occur if you make two or more identical
POSTs very close to each other, causing the records to have identical
organization names.
Created
POST /api/v2/organizations
/api/v2/organizations/create_many
Accepts an array of up to 100 organization objects.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Success response
POST /api/v2/organizations/create_many
/api/v2/organizations/create_or_update
Creates an organization if it doesn’t already exist, or updates
an existing organization. Using this method means one less call
to check if an organization exists before creating it. You need
to specify the id or external id when updating
an organization to avoid a duplicate error response. Name is
not available as a matching criteria.
Success response
Created response
POST /api/v2/organizations/create_or_update
/api/v2/push_notification_devices/destroy_many
Unregisters the mobile devices that are receiving push notifications. Specify the devices as an array of mobile device tokens.
application/json
PushNotificationDevicesRequest
| Property | Type | Required |
|---|---|---|
| push_notification_devices | array | optional |
Successful response
POST /api/v2/push_notification_devices/destroy_many
/api/v2/requests
Accepts a request object that sets one or more properties.
In addition to the writable request properties in the JSON Format table above, you can set the following properties when creating a request.
| Name | Type | Mandatory | Comment |
|---|---|---|---|
| comment | object | yes | Describes the problem, incident, question, or task. See Request comments |
| collaborators | array | no | Adds collaborators (cc’s) to the request. An email notification is sent to them when the ticket is created. See Setting collaborators |
| requester | object | yes* | *Required for anonymous requests. Specifies the requester of the anonymous request. See Creating anonymous requests |
Once a ticket is closed (as distinct from solved), it can’t be reopened. However, you can create a new request that references the closed ticket. To create the follow-up request, include a via_followup_source_id property in the request object that specifies the closed ticket. The parameter only works with closed tickets. It has no effect with other tickets.
Created response
POST /api/v2/requests
/api/v2/accounts
Created response
POST /api/v2/accounts
/api/v2/resource_collections
Creates a resource collection from a provided payload object. The payload object is specified the same way as the content of a requirements.json file in a Zendesk app. See Specifying Apps Requirements in the Zendesk Apps framework docs.
The response includes a job
status for creation of the specified resources.
Success response
POST /api/v2/resource_collections
/api/v2/slas/policies
Created response
POST /api/v2/slas/policies
/api/v2/tickets/{ticket_id}/satisfaction_rating
Creates a CSAT rating for a solved ticket, or for a ticket that was previously
solved and then reopened.
Only the end user listed as the ticket requester can create a satisfaction rating for the ticket.
The end user must be a verified user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | required | integer | The id of the ticket |
Success response
POST /api/v2/tickets/{ticket_id}/satisfaction_rating
/api/v2/sharing_agreements
Created response
POST /api/v2/sharing_agreements
/api/v2/routing/agents/{user_id}/instance_values
Adds the specified attributes if no attributes exists, or replaces all existing attributes with the specified attributes.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
Success response
POST /api/v2/routing/agents/{user_id}/instance_values
/api/v2/routing/attributes
Creates an attribute.
Created response
POST /api/v2/routing/attributes
/api/v2/routing/attributes/{attribute_id}/values
Creates an attribute value.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| attribute_id | path | optional | string | The ID of the skill-based routing attribute |
Created response
POST /api/v2/routing/attributes/{attribute_id}/values
/api/v2/routing/tickets/{ticket_id}/instance_values
Adds the specified attributes if no attributes exists, or replaces all existing attributes with the specified attributes.
Invalid or deleted attributes are ignored.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
Success response
POST /api/v2/routing/tickets/{ticket_id}/instance_values
/api/v2/recipient_addresses
Adds a Zendesk or external support address to your account.
To add a Zendesk address, use the following syntax: {local-part}@{accountname}.zendesk.com.
Example: ‘sales-team@example.zendesk.com’. The local-part can be anything you like.
To add an external email address such as help@omniwearshop.com, the email must already exist and you must set up forwarding on your email server. The exact steps depend on your mail server. See Forwarding incoming email to Zendesk Support. After setting up forwarding, run the Verify Support Address Forwarding endpoint. The address won’t work in Zendesk Support until it’s been verified.
Created response
POST /api/v2/recipient_addresses
/api/v2/suspended_tickets/attachments
Makes copies of any attachments on a suspended ticket and returns them as attachment tokens. If the ticket is manually recovered, you can include the attachment tokens on the new ticket.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | optional | number | id of the suspended ticket |
Success response
POST /api/v2/suspended_tickets/attachments
/api/v2/suspended_tickets/export
Exports a list of suspended tickets for the Zendesk Support instance. To export the list, the endpoint enqueues a job to create a CSV file with the data. When done, Zendesk sends the requester an email containing a link to the CSV file. In the CSV, tickets are sorted by the update timestamp in ascending order.
#### Allowed For
#### Rate limits
Limited to one request per minute and up to one million records in return. The rate-limiting mechanism behaves identically to the one described in Usage limits.
We recommend using the Retry-After header value as described in Catching errors caused by rate limiting.
Ok
POST /api/v2/suspended_tickets/export
/api/v2/tickets/{ticket_id}/tags
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
Created response
POST /api/v2/tickets/{ticket_id}/tags
/api/v2/targets
Created response
POST /api/v2/targets
/api/v2/ticket_fields
Creates any of the following custom field types:
| Custom field type | Description |
|---|---|
| text | Default custom field type when type is not specified |
| textarea | For multi-line text |
| checkbox | To capture a boolean value. Allowed values are true or false |
| date | Example: 2021-04-16 |
| integer | String composed of numbers. May contain an optional decimal point |
| decimal | For numbers containing decimals |
| regexp | Matches the Regex pattern found in the custom field settings |
| partialcreditcard | A credit card number. Only the last 4 digits are retained |
| multiselect | Enables users to choose multiple options from a dropdown menu |
| tagger | Single-select dropdown menu. It contains one or more tag values belonging to the field’s options. Example: ( {“id”: 21938362, “value”: [“hd_3000”, “hd_5555”]}) |
| lookup | A field to create a relationship (see lookup relationships) to another object such as a user, ticket, or organization |
See About custom field types in the Zendesk Help Center.
We recommend the following best practices for ticket fields limits. Creating more than these amounts can affect performance.
Created response
POST /api/v2/ticket_fields
/api/v2/ticket_fields/{ticket_field_id}/options
Creates or updates an option for the given drop-down ticket field.
To update an option, include the id of the option in the custom_field_option object. Example:
{"custom_field_option": {"id": 10002, "name": "Pineapples", ... }
If an option exists for the given ID, the option will be updated. Otherwise, a new option will be created.
Returns one of the following status codes:
Location: /api/v2/ticket_fields/{ticket_field_id}/options.json if the ticket field option already exists in the databaseLocation: /api/v2/ticket_fields/{ticket_field_id}/options.json if the ticket field option is newYou can make 100 requests every 1 minute using this endpoint.
The rate limiting mechanism behaves as described in
Monitoring your request activity in the API introduction.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_field_id | path | optional | integer | The ID of the ticket field |
Success response
Created response
POST /api/v2/ticket_fields/{ticket_field_id}/options
/api/v2/ticket_forms
Created response
POST /api/v2/ticket_forms
/api/v2/ticket_forms/{ticket_form_id}/clone
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_form_id | path | optional | integer | The ID of the ticket form |
Success response
POST /api/v2/ticket_forms/{ticket_form_id}/clone
/api/v2/imports/tickets
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archive_immediately | query | optional | boolean | If |
application/json
TicketImportRequest
| Property | Type | Required |
|---|---|---|
| ticket | object | optional |
| └ tags | array | optional |
| └ subject | string | optional |
| └ comments | array | optional |
| └ value | string | optional |
| └ id | integer | optional |
| └ via | object | optional |
| └ source | object | optional |
| └ channel | string | optional |
| └ body | string | optional |
| └ type | string | optional |
| └ public | boolean | optional |
| └ uploads | array | optional |
| └ audit_id | integer | optional |
| └ metadata | object | optional |
| └ author_id | integer | optional |
| └ html_body | string | optional |
| └ created_at | string | optional |
| └ plain_body | string | optional |
| └ attachments | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ size | integer | optional |
| └ width | string | optional |
| └ height | string | optional |
| └ inline | boolean | optional |
| └ deleted | boolean | optional |
| └ file_name | string | optional |
| └ content_url | string | optional |
| └ content_type | string | optional |
| └ mapped_content_url | string | optional |
| └ malware_scan_result | string | optional |
| └ malware_access_override | boolean | optional |
| └ thumbnails | array | optional |
| └ assignee_id | integer | optional |
| └ description | string | optional |
| └ requester_id | integer | optional |
Successfully created
POST /api/v2/imports/tickets
/api/v2/imports/tickets/create_many
Accepts an array of up to 100 ticket objects.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| archive_immediately | query | optional | boolean | If |
application/json
TicketBulkImportRequest
| Property | Type | Required |
|---|---|---|
| tickets | array | optional |
| └ tags | array | optional |
| └ subject | string | optional |
| └ comments | array | optional |
| └ value | string | optional |
| └ id | integer | optional |
| └ via | object | optional |
| └ source | object | optional |
| └ channel | string | optional |
| └ body | string | optional |
| └ type | string | optional |
| └ public | boolean | optional |
| └ uploads | array | optional |
| └ audit_id | integer | optional |
| └ metadata | object | optional |
| └ author_id | integer | optional |
| └ html_body | string | optional |
| └ created_at | string | optional |
| └ plain_body | string | optional |
| └ attachments | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ size | integer | optional |
| └ width | string | optional |
| └ height | string | optional |
| └ inline | boolean | optional |
| └ deleted | boolean | optional |
| └ file_name | string | optional |
| └ content_url | string | optional |
| └ content_type | string | optional |
| └ mapped_content_url | string | optional |
| └ malware_scan_result | string | optional |
| └ malware_access_override | boolean | optional |
| └ thumbnails | array | optional |
| └ assignee_id | integer | optional |
| └ description | string | optional |
| └ requester_id | integer | optional |
Successful response
POST /api/v2/imports/tickets/create_many
/api/v2/skips
Record a new ticket skip for the current user.
Success response
POST /api/v2/skips
/api/v2/problems/autocomplete
Returns tickets whose type is “problem” and whose subject contains the string specified in the text parameter.
You can specify the text parameter in the request body rather than the query string. Example:
{"text": "fire"}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| text | query | optional | string | The text to search for |
application/json
TicketsAutocompleteProblemsRequest
| Property | Type | Required |
|---|---|---|
| text | string | optional |
Successful response
POST /api/v2/problems/autocomplete
/api/v2/tickets
application/json
TicketCreateRequest
| Property | Type | Required |
|---|---|---|
| ticket | object | optional |
| └ tags | array | optional |
| └ type | string | optional |
| └ due_at | string | optional |
| └ status | string | optional |
| └ comment | object | required |
| └ id | integer | optional |
| └ via | object | optional |
| └ source | object | optional |
| └ channel | string | optional |
| └ body | string | optional |
| └ type | string | optional |
| └ public | boolean | optional |
| └ uploads | array | optional |
| └ audit_id | integer | optional |
| └ metadata | object | optional |
| └ author_id | integer | optional |
| └ html_body | string | optional |
| └ created_at | string | optional |
| └ plain_body | string | optional |
| └ attachments | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ size | integer | optional |
| └ width | string | optional |
| └ height | string | optional |
| └ inline | boolean | optional |
| └ deleted | boolean | optional |
| └ file_name | string | optional |
| └ content_url | string | optional |
| └ content_type | string | optional |
| └ mapped_content_url | string | optional |
| └ malware_scan_result | string | optional |
| └ malware_access_override | boolean | optional |
| └ thumbnails | array | optional |
| └ subject | string | optional |
| └ group_id | integer | optional |
| └ priority | string | optional |
| └ email_ccs | array | optional |
| └ action | string | optional |
| └ user_id | string | optional |
| └ user_email | string | optional |
| └ user_name | string | optional |
| └ followers | array | optional |
| └ action | string | optional |
| └ user_id | string | optional |
| └ user_email | string | optional |
| └ problem_id | integer | optional |
| └ assignee_id | integer | optional |
| └ external_id | string | optional |
| └ safe_update | boolean | optional |
| └ requester_id | integer | optional |
| └ custom_fields | array | optional |
| └ id | integer | optional |
| └ key | string | required |
| └ tag | string | optional |
| └ url | string | optional |
| └ type | string | required |
| └ title | string | required |
| └ active | boolean | optional |
| └ system | boolean | optional |
| └ position | integer | optional |
| └ raw_title | string | optional |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ description | string | optional |
| └ raw_description | string | optional |
| └ relationship_filter | object | optional |
| └ custom_field_options | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ name | string | required |
| └ value | string | required |
| └ position | integer | optional |
| └ raw_name | string | optional |
| └ regexp_for_validation | string | optional |
| └ relationship_target_type | string | optional |
| └ updated_stamp | string | optional |
| └ assignee_email | string | optional |
| └ organization_id | integer | optional |
| └ collaborator_ids | array | optional |
| └ …15 more | object | optional |
Create ticket
POST /api/v2/tickets
/api/v2/tickets/create_many
Accepts an array of up to 100 ticket objects. Note: Every ticket created with this endpoint may be affected by your business rules, which can include sending email notifications to your end users. If you are importing historical tickets or creating more than 1000 tickets, consider using the Ticket Bulk Import endpoint.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
application/json
TicketsCreateRequest
| Property | Type | Required |
|---|---|---|
| tickets | array | optional |
| └ tags | array | optional |
| └ type | string | optional |
| └ due_at | string | optional |
| └ status | string | optional |
| └ comment | object | required |
| └ id | integer | optional |
| └ via | object | optional |
| └ source | object | optional |
| └ channel | string | optional |
| └ body | string | optional |
| └ type | string | optional |
| └ public | boolean | optional |
| └ uploads | array | optional |
| └ audit_id | integer | optional |
| └ metadata | object | optional |
| └ author_id | integer | optional |
| └ html_body | string | optional |
| └ created_at | string | optional |
| └ plain_body | string | optional |
| └ attachments | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ size | integer | optional |
| └ width | string | optional |
| └ height | string | optional |
| └ inline | boolean | optional |
| └ deleted | boolean | optional |
| └ file_name | string | optional |
| └ content_url | string | optional |
| └ content_type | string | optional |
| └ mapped_content_url | string | optional |
| └ malware_scan_result | string | optional |
| └ malware_access_override | boolean | optional |
| └ thumbnails | array | optional |
| └ subject | string | optional |
| └ group_id | integer | optional |
| └ priority | string | optional |
| └ email_ccs | array | optional |
| └ action | string | optional |
| └ user_id | string | optional |
| └ user_email | string | optional |
| └ user_name | string | optional |
| └ followers | array | optional |
| └ action | string | optional |
| └ user_id | string | optional |
| └ user_email | string | optional |
| └ problem_id | integer | optional |
| └ assignee_id | integer | optional |
| └ external_id | string | optional |
| └ safe_update | boolean | optional |
| └ requester_id | integer | optional |
| └ custom_fields | array | optional |
| └ id | integer | optional |
| └ key | string | required |
| └ tag | string | optional |
| └ url | string | optional |
| └ type | string | required |
| └ title | string | required |
| └ active | boolean | optional |
| └ system | boolean | optional |
| └ position | integer | optional |
| └ raw_title | string | optional |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ description | string | optional |
| └ raw_description | string | optional |
| └ relationship_filter | object | optional |
| └ custom_field_options | array | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ name | string | required |
| └ value | string | required |
| └ position | integer | optional |
| └ raw_name | string | optional |
| └ regexp_for_validation | string | optional |
| └ relationship_target_type | string | optional |
| └ updated_stamp | string | optional |
| └ assignee_email | string | optional |
| └ organization_id | integer | optional |
| └ collaborator_ids | array | optional |
| └ …15 more | object | optional |
Create many tickets
POST /api/v2/tickets/create_many
/api/v2/tickets/{ticket_id}/merge
Merges one or more tickets into the ticket with the specified id.
See Merging tickets
in the Support Help Center for ticket merging rules.
Any attachment to the source ticket is copied to the target ticket.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
Agents in the Enterprise account must have merge permissions.
See Creating custom roles and assigning agents (Enterprise)
in the Support Help Center.
The request takes a data object with the following properties:
| Name | Type | Required | Comments |
|---|---|---|---|
| ids | array | yes | Ids of tickets to merge into the target ticket |
| target_comment | string | no | Private comment to add to the target ticket. This comment is optional but strongly recommended |
| source_comment | string | no | Private comment to add to the source ticket. This comment is optional but strongly recommended |
| target_comment_is_public | boolean | no | Whether comments in the target ticket are public or private |
| source_comment_is_public | boolean | no | Whether comments in the source tickets are public or private |
target_comment and source_comment can be used to provide a reason for the merge for recordkeeping purposes. If the source ticket has attachments, they are included in target_comment.
Comments are private and can’t be modified in the following cases:
In any other case, comments default to private but can be modified with the comment privacy parameters.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
application/json
TicketMergeInput
| Property | Type | Required |
|---|---|---|
| ids | array | required |
| source_comment | string | optional |
| target_comment | string | optional |
| source_comment_is_public | boolean | optional |
| target_comment_is_public | boolean | optional |
Successful response
POST /api/v2/tickets/{ticket_id}/merge
/api/v2/trigger_categories
Creates a trigger category.
application/json
TriggerCategoriesCreateCategoryRequest
| Property | Type | Required |
|---|---|---|
| trigger_category | object | optional |
| └ name | string | required |
| └ position | integer | optional |
The created trigger category
Error
Error
POST /api/v2/trigger_categories
/api/v2/trigger_categories/jobs
Creates a job that performs a batch operation for the given trigger categories.
application/json
BatchJobRequest
| Property | Type | Required |
|---|---|---|
| job | object | optional |
| └ items | object | optional |
| └ triggers | array | optional |
| └ id | string | required |
| └ active | boolean | optional |
| └ position | integer | optional |
| └ category_id | string | optional |
| └ trigger_categories | array | optional |
| └ id | string | required |
| └ position | integer | required |
| └ action | string | optional |
The response to the batch job
Error
POST /api/v2/trigger_categories/jobs
/api/v2/triggers
application/json
TriggerWithCategoryRequest
| Property | Type | Required |
|---|---|---|
| trigger | object | optional |
| └ id | integer | optional |
| └ url | string | optional |
| └ title | string | required |
| └ active | boolean | optional |
| └ actions | array | required |
| └ field | string | optional |
| └ value | object | optional |
| └ default | boolean | optional |
| └ position | integer | optional |
| └ raw_title | string | optional |
| └ conditions | object | required |
| └ all | array | optional |
| └ field | string | optional |
| └ value | object | optional |
| └ operator | string | optional |
| └ any | array | optional |
| └ field | string | optional |
| └ value | object | optional |
| └ operator | string | optional |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ category_id | string | optional |
| └ description | string | optional |
Created response
POST /api/v2/triggers
/api/v2/user_fields
Creates any of the following custom field types:
See About custom field types in Zendesk help.
Created response
POST /api/v2/user_fields
/api/v2/user_fields/{user_field_id}/options
Creates a new option or updates an existing option for the given drop-down user field.
To update an option, include the id of the option in the custom_field_option object. Example: {"custom_field_option": {"id": 10002, "name": "Pineapples", ... }. If an option exists for the given ID, the option will be updated. Otherwise, a new option will be created.
Returns one of the following status codes:
Location: /api/v2/user_fields/{user_field_id}/options.json if the user field option already exists in the databaseLocation: /api/v2/user_fields/{user_field_id}/options.json if the user field option is new| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_field_id | path | optional | The ID or key of the user field |
Success response
Created response
POST /api/v2/user_fields/{user_field_id}/options
/api/v2/users/{user_id}/identities
Adds an identity to a user’s profile. An agent can add an identity to any user profile.
Supported identity types:
| Type | Example |
|---|---|
{ "type" : "email", "value" : "someone@example.com" } |
|
{ "type" : "twitter", "value" : "screen_name" } |
|
{ "type" : "facebook", "value" : "855769377321" } |
|
{ "type" : "google", "value" : "example@gmail.com" } |
|
| agent_forwarding | { "type" : "agent_forwarding", "value" : "+1 555-123-4567" } |
| phone_number | { "type" : "phone_number", "value" : "+1 555-123-4567" } |
To create an identity without sending out a verification email, include a "skip_verify_email": true property.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
Created response
POST /api/v2/users/{user_id}/identities
/api/v2/users/{user_id}/password
An admin can set a user’s password only if the setting is enabled in Zendesk Support under Settings > Security > Global. The setting is off by default. Only the account owner can access and change this setting.
API token authentication is not permitted on this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
Success description
POST /api/v2/users/{user_id}/password
/api/v2/users
application/json
UserRequest
| Property | Type | Required |
|---|---|---|
| user | object | required |
Created response
POST /api/v2/users
/api/v2/users/create_many
Accepts an array of up to 100 user objects.
Note: To protect the data in your Zendesk account, bulk user imports are not enabled by default in Zendesk accounts. The account owner must contact Zendesk Customer Support to enable the imports. A 403 Forbidden
error is returned if data imports are not enabled.
You can assign a user to an existing organization by setting an
organization_id property in the user object.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
application/json
UsersRequest
| Property | Type | Required |
|---|---|---|
| users | array | required |
Success response
POST /api/v2/users/create_many
/api/v2/users/create_or_update
Creates a user if the user does not already exist, or updates an existing user
identified by e-mail address or external ID.
If you don’t specify a role parameter, the new user is assigned the role of end user.
If you need to create users without sending out a verification email, include a "skip_verify_email": true property in the body.
When providing an external id to identify an existing user to update, the search for the user record is not case sensitive.
However, if an existing user is found, the system will update the user’s external id to match the case of the external id used to find the user.
application/json
UserRequest
| Property | Type | Required |
|---|---|---|
| user | object | required |
Successful response, when user exits
Created response, when user is new
POST /api/v2/users/create_or_update
/api/v2/users/create_or_update_many
Accepts an array of up to 100 user objects. For each user, the user is created if it does not
already exist, or the existing user is updated.
Note: To protect the data in your Zendesk account, bulk user imports are not enabled by default in Zendesk accounts. The account owner must contact Zendesk Customer Support to enable the imports. A 403 Forbidden
error is returned if data imports are not enabled.
Each individual user object can identify an existing user by email or by external_id.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
application/json
UsersRequest
| Property | Type | Required |
|---|---|---|
| users | array | required |
Success response
POST /api/v2/users/create_or_update_many
/api/v2/users/logout_many
Accepts a comma-separated list of up to 100 user ids.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | Accepts a comma-separated list of up to 100 user ids. |
Accepted response
POST /api/v2/users/logout_many
/api/v2/users/request_create
Sends the owner a reminder email to update their subscription so more agents can be created.
application/json
UserRequest
| Property | Type | Required |
|---|---|---|
| user | object | required |
description
POST /api/v2/users/request_create
/api/v2/views
The JSON format consists of one property, a view object that lists the values to set when the view is created.
Note: The request must include at least one condition in the all array that checks one of the following fields: status, type, group_id, assignee_id, or requester_id.
| Name | Description |
|---|---|
| title | Required. The title of the view |
| all | Required. An array of one or more conditions. A ticket must meet all of them to be included in the view. See Conditions reference |
| any | An array of one or more conditions. A ticket must meet any of them to be included in the view. See Conditions reference |
| description | The description of the view |
| active | Allowed values are true or false. Determines if the view is displayed or not |
| output | An object that specifies the columns to display. Example: "output": {"columns": ["status", "description", "priority"]}. See View columns |
| restriction | An object that describes who can access the view. To give all agents access to the view, omit this property |
The restriction object has the following properties.
| Name | Comment |
|---|---|
| type | Allowed values are “Group” or “User” |
| id | The numeric ID of a single group or user |
| ids | The numeric IDs of a single or more groups. Recommended for “Group” type |
If type is “Group”, the ids property is the preferred method of specifying the group id or ids.
{
"view": {
"title": "Kelly's tickets",
"raw_title": "{{dc.tickets_assigned_to_kelly}}",
"description": "Tickets that are assigned to Kelly",
"active": true,
"position": 3,
"restriction": {
"type": "User",
"id": "213977756"
},
"all": [
{
"field": "status",
"operator": "less_than",
"value": "solved"
},
{
"field": "group_id",
"operator": "is",
"value": "24000932"
},
{
"field": "custom_fields_360011872073",
"operator": "is",
"value": "Canada"
},
...
],
"output": {
"columns": ["status", "requester", "assignee"],
"group_by": "assignee",
"group_order": "desc",
"sort_by": "status",
"sort_order": "desc"
}
}
}
The output request parameter lets you specify what columns to include in the view in the agent interface. Example: "output": {"columns": ["status", "description", "priority"]}. The following table lists possible columns for views in the agent UI and the corresponding values in the columns array.
For custom fields, specify the id of the custom field in the columns array.
You can specify a total of 10 columns to a view.
| View column title in UI | Value |
|---|---|
| Assigned | assigned |
| Assignee | assignee |
| Due Date | due_date |
| Group | group |
| ID | nice_id |
| Updated | updated |
| Assignee updated | updated_assignee |
| Requester updated | updated_requester |
| Updater | updated_by_type |
| Organization | organization |
| Priority | priority |
| Requested | created |
| Requester | requester |
| Requester language | locale_id |
| Satisfaction | satisfaction_score |
| Solved | solved |
| Status category | status |
| Subject | description |
| Submitter | submitter |
| Ticket form | ticket_form |
| Type | type |
| Brand | brand |
| Ticket status | custom_status_id |
You can group and sort items in the view by adding items to the output parameter:
| Attribute | Description |
|---|---|
group_by, sort_by |
Sort or group the tickets by a column in the View columns table. The subject and submitter columns are not supported |
group_order, sort_order |
Either “asc” or “desc” |
Success response
POST /api/v2/views
/api/v2/views/preview
You can preview views by constructing the conditions in the proper format and nesting them under the view property. See Conditions reference. The output can also be controlled by passing in any of the following parameters and nesting them under the output property.
| Name | Type | Comment |
|---|---|---|
| columns | Array | The ticket fields to display. System fields are looked up by name, custom fields by title or id. See the View columns table |
| group_by | String | When present, the field by which the tickets are grouped |
| group_order | String | The direction the tickets are grouped. May be one of “asc” or “desc” |
| sort_order | String | The direction the tickets are sorted. May be one of “asc” or “desc” |
| sort_by | String | The ticket field used for sorting. This will either be a title or a custom field id. |
This endpoint is rate limited to 5 requests per minute, per view, per agent.
Success response
POST /api/v2/views/preview
/api/v2/views/preview/count
Returns the ticket count for a single preview.
Success response
POST /api/v2/views/preview/count
/api/v2/workspaces
application/json
WorkspacesCreateNewRequest
| Property | Type | Required |
|---|---|---|
| workspace | object | optional |
| └ title | string | optional |
| └ macros | array | optional |
| └ conditions | object | optional |
| └ all | array | optional |
| └ field | string | optional |
| └ value | string | optional |
| └ operator | string | optional |
| └ any | array | optional |
| └ field | string | optional |
| └ value | string | optional |
| └ operator | string | optional |
| └ description | string | optional |
| └ ticket_form_id | number | optional |
Created workspace
POST /api/v2/workspaces
/api/v2/channels/twitter/tickets
Turns a tweet into a ticket. You must provide the tweet id as well as the id of a monitored X (formerly Twitter) handle configured for your account.
The submitter of the ticket is set to be the user submitting the API request.
description
POST /api/v2/channels/twitter/tickets
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)"
}
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)"
}
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)"
}
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)"
}
AccountSettingsBillingObject
{
"type": "object",
"properties": {
"backend": {
"type": "string"
}
},
"description": "Billing configuration options. See [Billing](https://developer.zendesk.com)"
}
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)"
}
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)"
}
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"
}
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)"
}
AccountSettingsCrossSellObject
{
"type": "object",
"properties": {
"xsell_source": {
"type": "string",
"nullable": true
},
"show_chat_tooltip": {
"type": "boolean"
}
},
"description": "Cross Sell settings"
}
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)"
}
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)"
}
AccountSettingsGroupObject
{
"type": "object",
"properties": {
"check_group_name_uniqueness": {
"type": "boolean"
}
},
"description": "Group configuration"
}
AccountSettingsLimitsObject
{
"type": "object",
"properties": {
"attachment_size": {
"type": "integer"
}
},
"description": "Account limits configuration. See [Limits](https://developer.zendesk.com)"
}
AccountSettingsLocalizationObject
{
"type": "object",
"properties": {
"locale_ids": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"description": "Internationalization configuration settings. See [Localization](https://developer.zendesk.com)"
}
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)"
}
AccountSettingsMetricsObject
{
"type": "object",
"properties": {
"account_size": {
"type": "string"
}
},
"description": "Account metrics settings. See [Metrics](https://developer.zendesk.com)"
}
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"
}
}
}
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"
}
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"
}
}
}
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)"
}
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)"
}
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"
}
AccountSettingsStatisticsObject
{
"type": "object",
"properties": {
"forum": {
"type": "boolean"
},
"search": {
"type": "boolean"
},
"rule_usage": {
"type": "boolean"
}
},
"description": "Account statistics settings. See [Statistics](https://developer.zendesk.com)"
}
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)"
}
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)"
}
AccountSettingsTicketSharingPartnersObject
{
"type": "object",
"properties": {
"support_addresses": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Ticket sharing partners settings. See [Ticket Sharing Partners](https://developer.zendesk.com)"
}
AccountSettingsTwitterObject
{
"type": "object",
"properties": {
"shorten_url": {
"type": "string"
}
},
"description": "X (formerly Twitter) settings. See [X](https://developer.zendesk.com)"
}
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)"
}
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)"
}
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"
}
}
}
ActionsObject
{
"type": "object",
"properties": {
"actions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActionObject"
}
}
}
}
ActivitiesCountResponse
{
"type": "object",
"properties": {
"count": {
"type": "object",
"properties": {
"value": {
"type": "integer"
},
"refreshed_at": {
"type": "string",
"format": "date-time"
}
}
}
}
}
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
}
}
}
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)"
}
}
}
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"
}
}
}
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"
}
}
}
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
}
}
}
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"
}
}
}
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"
}
}
}
}
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
}
}
}
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"
}
}
}
AssigneeFieldAssignableSearchGroupObject
{
"type": "object",
"example": {
"id": 9182736455,
"name": "Engineering"
},
"properties": {
"id": {
"type": "integer",
"description": "Group ID"
},
"name": {
"type": "string",
"description": "Name of the group"
}
}
}
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."
}
}
}
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"
}
AttachmentResponse
{
"type": "object",
"properties": {
"attachment": {
"$ref": "#/components/schemas/AttachmentObject"
}
}
}
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"
}
}
}
AttachmentUpdateInput
{
"type": "object",
"properties": {
"malware_access_override": {
"type": "boolean",
"description": "If true, allows access to attachments with detected malware."
}
}
}
AttachmentUpdateRequest
{
"type": "object",
"properties": {
"attachment": {
"$ref": "#/components/schemas/AttachmentUpdateInput"
}
}
}
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"
}
}
}
}
}
}
| Version | Endpoints | Schemas | Ingested | Status |
|---|---|---|---|---|
| 2.0.0 | 440 | 454 | 2026-05-11 | current |
| 2.0.0 | 440 | 454 | 2026-04-16 |