Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://{subdomain}.{domain}.com
/api/v2/account/settings
Updates settings for the account. See JSON Format above for the settings you can update.
Success response
PUT /api/v2/account/settings
/api/v2/attachments/{attachment_id}
Toggles enabling or restricting agent access to attachments with detected malware.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| attachment_id | path | optional | integer | The ID of the attachment |
application/json
AttachmentUpdateRequest
| Property | Type | Required |
|---|---|---|
| attachment | object | optional |
| └ malware_access_override | boolean | optional |
Success response
PUT /api/v2/attachments/{attachment_id}
/api/v2/tickets/{ticket_id}/comments/{comment_id}/attachments/{attachment_id}/redact
Redaction allows you to permanently remove attachments from an existing comment on a ticket. Once removed from a comment, the attachment is replaced with an empty “redacted.txt” file.
The redaction is permanent. It is not possible to undo redaction or see what was removed. Once a ticket is closed, redacting its attachments is no longer possible.
Also, if you want to redact an inline attachment, you can use the include_inline_images parameter in the List Comments operation to obtain the inline attachment ID, and use it in the request URL.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
| comment_id | path | optional | integer | The ID of the comment |
| attachment_id | path | optional | integer | The ID of the attachment |
OK response
PUT /api/v2/tickets/{ticket_id}/comments/{comment_id}/attachments/{attachment_id}/redact
/api/v2/automations/update_many
Note: You might be restricted from updating some default automations. If included in a bulk update, the unrestricted automations will be updated.
The PUT request expects an automations object that lists the automations to update.
Each automation may have the following properties:
| Name | Mandatory | Description |
|---|---|---|
| id | yes | The ID of the automation to update |
| position | no | The new position of the automation |
| active | no | The active status of the automation (true or false) |
{
"automations": [
{"id": 25, "position": 3},
{"id": 23, "position": 5},
{"id": 27, "position": 9},
{"id": 22, "position": 7}
]
}
Success response
PUT /api/v2/automations/update_many
/api/v2/automations/{automation_id}
Updates an automation.
Updated automations must be unique and have at least one condition that is true only once or an action that nullifies at least one of the conditions. Active automations can have overlapping conditions but can’t be identical.
The request must include the following conditions in the all array:
Note: Updating a condition or action updates both the conditions and actions arrays, clearing all existing values of both arrays. Include all your conditions and actions when updating any condition or action.
Note: You might be restricted from updating some default automations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| automation_id | path | optional | integer | The ID of the automation |
Success response
PUT /api/v2/automations/{automation_id}
/api/v2/brands/{brand_id}
Returns an updated brand.
A brand image can be updated by uploading a local file using the update brand endpoint. See the Using curl sections below for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| brand_id | path | optional | integer | The ID of the brand |
application/json
BrandUpdateRequest
| 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
PUT /api/v2/brands/{brand_id}
/api/v2/custom_objects/{custom_object_key}/fields/reorder
Sets a preferred order of custom fields for a specific object by providing field ids in the desired order.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
Reordered
PUT /api/v2/custom_objects/{custom_object_key}/fields/reorder
/api/v2/custom_roles/{custom_role_id}
manage_roles permission| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_role_id | path | optional | integer | The ID of the custom agent role |
Success response
PUT /api/v2/custom_roles/{custom_role_id}
/api/v2/custom_status/default
Updates the default values for many custom ticket statuses at once.
application/json
BulkUpdateDefaultCustomStatusRequest
| Property | Type | Required |
|---|---|---|
| ids | string | optional |
Updated
PUT /api/v2/custom_status/default
/api/v2/custom_statuses/{custom_status_id}
Takes a custom_status object that specifies the properties to update.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_status_id | path | optional | integer | The id of the custom status |
application/json
CustomStatusUpdateRequest
| 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 |
Updated
PUT /api/v2/custom_statuses/{custom_status_id}
/api/v2/dynamic_content/items/{dynamic_content_item_id}
The only attribute you can change is the name.
To add a variant to the item, or to update or delete the variants of the item, use the Item Variants API.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Success response
PUT /api/v2/dynamic_content/items/{dynamic_content_item_id}
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/update_many
Updates one or more variants. See Update Variant.
You must specify the variants by id in the body. To get the variant ids, see List Variants.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Success response
PUT /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/update_many
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
Updates the specified variant. You don’t need to include all the properties. If you just want to update content, for example, then include just that.
You can’t switch the active state of the default variant of an item. Similarly, you can’t switch the default to false if the variant is the default. You must make another variant default instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
| dynammic_content_variant_id | path | optional | integer | The ID of the variant |
Success response
PUT /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
/api/v2/object_layouts/{object_type}/essentials_card
Updates the essentials card for an object type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| object_type | path | optional | string | Essentials card type. Example: |
Success response
PUT /api/v2/object_layouts/{object_type}/essentials_card
/api/v2/users/{user_id}/group_memberships/{group_membership_id}/make_default
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
| group_membership_id | path | optional | integer | The ID of the group membership |
Success response
PUT /api/v2/users/{user_id}/group_memberships/{group_membership_id}/make_default
/api/v2/group_slas/policies/reorder
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| group_sla_policy_ids | query | optional | array | The ids of the Group SLA policies to reorder |
Success response
PUT /api/v2/group_slas/policies/reorder
/api/v2/group_slas/policies/{group_sla_policy_id}
Updates the specified policy.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| group_sla_policy_id | path | optional | integer | The id of the Group SLA policy |
Success response
PUT /api/v2/group_slas/policies/{group_sla_policy_id}
/api/v2/groups/{group_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| group_id | path | optional | integer | The ID of the group |
Success response
PUT /api/v2/groups/{group_id}
/api/v2/macros/update_many
Updates the provided macros with the specified changes.
application/json
MacroUpdateManyInput
| Property | Type | Required |
|---|---|---|
| macros | array | optional |
| └ id | integer | required |
| └ active | boolean | optional |
| └ position | integer | optional |
Success Response
PUT /api/v2/macros/update_many
/api/v2/macros/{macro_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| macro_id | path | optional | integer | The ID of the macro |
application/json
MacrosUpdateMacroAgentRequest
| 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
PUT /api/v2/macros/{macro_id}
/api/v2/queues/{queue_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| queue_id | path | optional | string | The id of the omnichannel routing queue |
Success response
PUT /api/v2/queues/{queue_id}
/api/v2/organization_fields/reorder
Success response
PUT /api/v2/organization_fields/reorder
/api/v2/organization_fields/{organization_field_id}
Drop-down fields return an array of custom_field_options which specify the name, value, and order of drop-down options. When updating a drop-down field, note the following information:
id along with the name and valueid along with the name and valuecustom_field_options array relative to the other optionscurl https://{subdomain}.zendesk.com/api/v2/organization_fields/{organization_field_id}.json \
-H "Content-Type: application/json" -X PUT \
-d '{"organization_field": {"custom_field_options": [{"id": 124, "name": "Option 2", "value": "option_2"}, {"id": 123, "name": "Option 1", "value": "option_1"}, {"id": 125, "name": "Option 3", "value": "option_3"}]}}' \
-v -u {email_address}:{password}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| organization_field_id | path | optional | The ID or key of the organization field |
Success response
PUT /api/v2/organization_fields/{organization_field_id}
/api/v2/users/{user_id}/organization_memberships/{organization_membership_id}/make_default
Sets the default organization membership of a given user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
| organization_membership_id | path | optional | integer | The ID of the organization membership |
Success response
PUT /api/v2/users/{user_id}/organization_memberships/{organization_membership_id}/make_default
/api/v2/users/{user_id}/organizations/{organization_id}/make_default
Sets the default organization membership of a given user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
| organization_id | path | optional | integer | The ID of an organization |
Success response
PUT /api/v2/users/{user_id}/organizations/{organization_id}/make_default
/api/v2/organizations/update_many
Bulk or batch updates up to 100 organizations.
To make the same change to multiple organizations, use the following endpoint and data format:
https://{subdomain}.zendesk.com/api/v2/organizations/update_many.json?ids=1,2,3
{
"organization": {
"notes": "Priority"
}
}
To make different changes to multiple organizations, use the following endpoint and data format:
https://{subdomain}.zendesk.com/api/v2/organizations/update_many.json
{
"organizations": [
{ "id": 1, "notes": "Priority" },
{ "id": 2, "notes": "Normal" }
]
}
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 with no permissions restrictions can only update “notes” on organizations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | A list of organization ids |
| external_ids | query | optional | string | A list of external ids |
Success response
PUT /api/v2/organizations/update_many
/api/v2/organizations/{organization_id}
Agents with no permissions restrictions can only update “notes” on organizations.
Note: Updating an organization’s domain_names property overwrites all existing domain_names values. To prevent this, submit a complete list of domain_names for the organization in your request.
{
"organization": {
"notes": "Something interesting"
}
}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| organization_id | path | optional | integer | The ID of an organization |
Success response
Too Many Requests
PUT /api/v2/organizations/{organization_id}
/api/v2/organizations/{organization_id}/merge
Merges two organizations by moving all users, tickets, and domain names from the organization specified by {organization_id} to the organization specified by winner_id. After the merge:
Organization Merge record which contains a status indicating the progress of the merge.Note: This operation is irreversible.
| Status | Description |
|---|---|
| new | A job has been queued to merge the two organizations. |
| in progress | The job to merge the two organizations has started. |
| error | An error occurred during the merge job. The merge can be retried by repeating the API call. |
| complete | The merge has been completed successfully. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| organization_id | path | optional | integer | The ID of an organization |
application/json
OrganizationMergeRequest
| Property | Type | Required |
|---|---|---|
| organization_merge | object | optional |
| └ winner_id | integer | optional |
Success response
PUT /api/v2/organizations/{organization_id}/merge
/api/v2/requests/{request_id}
Updates a request with a comment or collaborators (cc’s). The end user who created the request can also use it to mark the request as solved. The endpoint can’t be used to update other request attributes.
This endpoint can only update the following properties in the request.
| Name | Type | Required | Description |
|---|---|---|---|
| comment | object | no | Adds a comment to the request. See Request comments |
| solved | boolean | no | Marks the request as solved. Example: {"request": {"solved": "true"}}. End users can mark requests as solved only if the request’s can_be_solved_by_me property is true. The property is true only when the ticket is assigned to an agent and the ticket type is not a problem but a question, task, or incident |
| additional_collaborators | array | no | Adds collaborators to the request. An email notification is sent to them when the ticket is updated. See Adding collaborators |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| request_id | path | optional | integer | The ID of the request |
Success response
PUT /api/v2/requests/{request_id}
/api/v2/resource_collections/{resource_collection_id}
Updates a resource collection using a provided payload object. The payload object is specified the same way as the content of a requirements.json file in a Zendesk app. See Specifying Apps Requirements in the Zendesk Apps framework docs.
The response includes a job
status for the resource updates.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| resource_collection_id | path | optional | integer | The id of the resource collection |
Success response
PUT /api/v2/resource_collections/{resource_collection_id}
/api/v2/slas/policies/reorder
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| sla_policy_ids | query | optional | array | The IDs of the SLA Policies to reorder |
Success response
PUT /api/v2/slas/policies/reorder
/api/v2/slas/policies/{sla_policy_id}
Updates the specified policy.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| sla_policy_id | path | optional | integer | The ID of the SLA Policy |
Success response
PUT /api/v2/slas/policies/{sla_policy_id}
/api/v2/sharing_agreements/{sharing_agreement_id}
Returns an updated sharing agreement. Only status is allowed to be updated.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| sharing_agreement_id | path | optional | integer | The ID of the sharing agreement |
Success response
PUT /api/v2/sharing_agreements/{sharing_agreement_id}
/api/v2/routing/attributes/{attribute_id}
Updates an attribute.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| attribute_id | path | optional | string | The ID of the skill-based routing attribute |
Success response
PUT /api/v2/routing/attributes/{attribute_id}
/api/v2/recipient_addresses/{support_address_id}
Updates an existing support address for your account.
You can’t use this endpoint to update a support address’s email property.
Instead, you can create a new address using the Create Support
Address endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| support_address_id | path | optional | integer | The ID of the support address |
Success response
PUT /api/v2/recipient_addresses/{support_address_id}
/api/v2/recipient_addresses/{support_address_id}/verify
Sends a test email to the specified support address to verify that email forwarding for the address works. An external support address won’t work in Zendesk Support until it’s verified.
Note: You don’t need to verify Zendesk system support addresses.
The endpoint takes the following body: {"type": "forwarding"}. The value of the type property defaults to “forwarding” if none is specified, but the values “spf” and “dns” are also accepted.
Use this endpoint after adding an external support address to Zendesk Support and setting up forwarding on your email server. See Forwarding incoming email to Zendesk Support.
The endpoint doesn’t return the results of the test. Instead, use the Show Support Address endpoint to check that the forwarding_status property is “verified”.
Other verification checks can also be performed using this API. These include SPF checks and DNS checks.
When calling the endpoint with type set to “spf”, it will queries the DNS records to check that the SPF records for Zendesk are present for outbound emails.
When calling the endpoint with type set to “dns”, it runs checks on your CNAME records to make sure they are set up properly in your DNS.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| support_address_id | path | optional | integer | The ID of the support address |
Success response
PUT /api/v2/recipient_addresses/{support_address_id}/verify
/api/v2/suspended_tickets/recover_many
Accepts up to 100 ids (the auto-generated id, not the ticket id.) Note that suspended tickets that fail to be recovered are still included in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | A comma separated list of ids of suspended tickets to recover. |
Success response
PUT /api/v2/suspended_tickets/recover_many
/api/v2/suspended_tickets/{id}/recover
Note: During recovery, the API sets the requester to the authenticated agent who called the API, not the original requester. This prevents the ticket from being re-suspended after recovery. To preserve the original requester, use the Recover Multiple Suspended Tickets endpoint with the single ticket.
This endpoint does not queue an asynchronous job that can be tracked from Job Statuses. Instead, it processes the request with a synchronous response.
tickets array in the response.suspended_tickets array in the response.suspended_tickets array of the failures in the response.| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | optional | number | id of the suspended ticket |
Success response
Recovery failed response
PUT /api/v2/suspended_tickets/{id}/recover
/api/v2/tickets/{ticket_id}/tags
You can also add tags to multiple tickets with the Update Many
Tickets endpoint.
If the same ticket is updated by multiple API requests at
the same time, some tags could be lost because of ticket
update collisions. Include updated_stamp and safe_update
properties in the request body to make a safe update.
For updated_stamp, retrieve and specify the ticket’s
latest updated_at timestamp. The tag update only occurs
if the updated_stamp timestamp matches the ticket’s
actual updated_at timestamp at the time of the request.
If the timestamps don’t match (in other words, if the
ticket was updated since you retrieved the ticket’s
last updated_at timestamp), the request returns a
409 Conflict error.
{
"tags": ["customer"],
"updated_stamp":"2019-09-12T21:45:16Z",
"safe_update":"true"
}
For details, see Protecting against ticket update collisions.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
Success response
PUT /api/v2/tickets/{ticket_id}/tags
/api/v2/targets/{target_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| target_id | path | optional | integer | The ID of the target |
Success response
PUT /api/v2/targets/{target_id}
/api/v2/tickets/{ticket_id}/audits/{ticket_audit_id}/make_private
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
| ticket_audit_id | path | optional | integer | The ID of the ticket audit |
description
PUT /api/v2/tickets/{ticket_id}/audits/{ticket_audit_id}/make_private
/api/v2/chat_file_redactions/{ticket_id}
Permanently removes one or more chat attachments from a chat ticket.
Note: This does not work on active chats. For chat tickets that predate March 2020, consider using Redact Ticket Comment In Agent Workspace.
Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.
| Name | Type | Required | Description |
|---|---|---|---|
| chat_id | string | true | The chat_id in the ChatStartedEvent event in the ticket audit. See Ticket Audits |
| chat_indexes | array | true | The array of chat_index in the ChatFileAttachment event in the ticket audit. See Ticket Audits |
To get the required body properties, make a request to the Ticket Audits endpoint. Example response:
Status 200 OK
{
"audits": [
"events": [
{
"id": 1932802680168,
"type": "ChatStartedEvent",
"value": {
"visitor_id": "10502823-16EkM3T6VNq7KMd",
"chat_id": "2109.10502823.Sjuj2YrBpXwei",
"history": [
{
"chat_index": 0,
"type": "ChatFileAttachment",
"filename": "image1.jpg"
},
{
"chat_index": 1,
"type": "ChatFileAttachment",
"filename": "image2.jpg"
}
]
}
}
]
]
}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
Success response
PUT /api/v2/chat_file_redactions/{ticket_id}
/api/v2/chat_redactions/{ticket_id}
Permanently removes words or strings from a chat ticket’s comment.
Wrap <redact> tags around the content in the chat comment you want redacted. Example:
{
"text": "My ID number is <redact>847564</redact>!"
}
The characters contained in the tag will be replaced by the ▇ symbol.
Note: This does not work on active chats. For chat tickets that predate March 2020, consider using Redact Ticket Comment In Agent Workspace.
Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.
| Name | Type | Required | Description |
|---|---|---|---|
| chat_id | string | true | The chat_id in the ChatStartedEvent event in the ticket audit. See Ticket Audits |
| chat_index | integer | true | The chat_index in the ChatMessage event in the ticket audit. See Ticket Audits |
| text | string | true | The message in the ChatMessage event in the ticket audit. See Ticket Audits. Wrap message with <redact> tags |
To get the required body properties, make a request to the Ticket Audit endpoint. Example response:
Status 200 OK
{
"audits": [
"events": [
{
"id": 1932802680168,
"type": "ChatStartedEvent",
"value": {
"visitor_id": "10502823-16EkM3T6VNq7KMd",
"chat_id": "2109.10502823.Sjuj2YrBpXwei",
"history": [
{
"chat_index": 0,
"type": "ChatMessage",
"message": "My ID number is 847564!"
}
]
}
}
]
]
}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
Success response
PUT /api/v2/chat_redactions/{ticket_id}
/api/v2/comment_redactions/{ticket_comment_id}
Redaction allows you to permanently remove words, strings, or attachments from a ticket comment.
In the html_body of the comment, wrap the content you want redacted in <redact> tags. Example:
{
"html_body": "<div class=\"zd-comment\" dir=\"auto\">My ID number is <redact>847564</redact>!</div>",
"ticket_id":100
}
The characters in the redact tag will be replaced by the ▇ symbol.
To redact HTML elements such inline images, anchor tags, and links, add the redact tag attribute to the element as well as the <redact> tag to inner text, if any. Example:
<a href="http://example.com" redact><redact>some link</redact></a>
The redact attribute only redacts the tag. Any inner text will be left behind if not enclosed in a <redact> tag.
Redaction is permanent and can not be undone. Data is permanently deleted from Zendesk servers with no way to recover it.
This endpoint provides all the same functionality that the Redact String in Comment endpoint provides, plus:
Redaction of comments in closed tickets
Redaction of comments in archived tickets
Redaction of formatted text (bold, italics, hyperlinks)
Limitations: When content is redacted from an email comment, the content is also redacted from the original email through a background job. It may take a while for the changes to be completed.
Note: We recommend using this endpoint instead of the Redact String in Comment endpoint, which will eventually be deprecated.
Agent Workspace must be enabled on the account. For professional accounts, deleting tickets must be enabled for agents. On Enterprise accounts, you can assign agents to a custom role with permissions to redact ticket content.
| Name | Type | Required | Description |
|---|---|---|---|
| ticket_id | integer | true | The ID of the ticket |
| html_body | string | false | The html_body of the comment containing <redact> tags or redact attributes |
| external_attachment_urls | array | false | Array of attachment URLs belonging to the comment to be redacted. See content_url property of Attachment |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_comment_id | path | optional | integer | The ID of the ticket comment |
Success response
PUT /api/v2/comment_redactions/{ticket_comment_id}
/api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
| ticket_comment_id | path | optional | integer | The ID of the ticket comment |
description
PUT /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private
/api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/redact
Permanently removes words or strings from a ticket comment. Specify the string to redact in an object with a text property. Example: '{"text": "987-65-4320"}'. The characters of the word or string are replaced by the ▇ symbol.
If the comment was made by email, the endpoint also attempts to redact the string from the original email retained by Zendesk for audit purposes.
Note: If you use the rich text editor, support for redacting formatted text (bold, italics, hyperlinks) is limited.
Redaction is permanent. You can’t undo the redaction or see what was removed. Once a ticket is closed, you can no longer redact strings from its comments.
To use this endpoint, the “Agents can delete tickets” option must be enabled in the Zendesk Support admin interface at Admin > Settings > Agents.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
| ticket_comment_id | path | optional | integer | The ID of the ticket comment |
Success response
PUT /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/redact
/api/v2/ticket_fields/{ticket_field_id}
You can also use the update endpoint to add, update, or remove options in a drop-down custom field. Updating field options for multi-select fields works exactly the same as drop-down field options.
Important: Unless you want to remove some options, you must specify all existing options in any update request. Omitting an option removes it from the drop-down field, which removes its values from any tickets or macros.
Use the custom_field_options attribute to update the options. The attribute consists of an array of option objects, with each object consisting of a name and value property. The properties correspond to the “Title” and “Tag” text boxes in the admin interface. Example request body:
{"ticket_field": {
"custom_field_options": [
{"name": "Apple Pie", "value": "apple"},
{"name": "Pecan Pie", "value": "pecan"}
]
}
}
curl https://{subdomain}.zendesk.com/api/v2/ticket_fields/{id}.json \
-d '{"ticket_field": {"custom_field_options": [{"name": "Apple Pie", "value": "apple"}, {"name": "Pecan Pie", "value": "pecan"}]}}' \
-H "Content-Type: application/json" -X PUT \
-v -u {email_address}:{password}
Status: 200 OK
{
"ticket_field": {
"id":21938362,
"type":"tagger",
"title":"Pies",
...
"custom_field_options": [
{
"id":21029772,
"name":"Apple Pie",
"raw_name":"Apple Pie",
"value":"apple",
"default":false
},
...
]
}
}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_field_id | path | optional | integer | The ID of the ticket field |
| creator | query | optional | boolean | If true, displays the |
Success response
PUT /api/v2/ticket_fields/{ticket_field_id}
/api/v2/ticket_forms/reorder
You can pass in the following parameter in the payload:
| Name | Type | Comment |
|---|---|---|
| ticket_form_ids | array | An array of ticket form ids. Example: “[2, 23, 46, 50]” |
Success response
PUT /api/v2/ticket_forms/reorder
/api/v2/ticket_forms/{ticket_form_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_form_id | path | optional | integer | The ID of the ticket form |
Success response
PUT /api/v2/ticket_forms/{ticket_form_id}
/api/v2/deleted_tickets/restore_many
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | Comma-separated list of ticket ids |
Empty response
PUT /api/v2/deleted_tickets/restore_many
/api/v2/deleted_tickets/{ticket_id}/restore
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
Empty response
PUT /api/v2/deleted_tickets/{ticket_id}/restore
/api/v2/tickets/mark_many_as_spam
Accepts a comma-separated list of up to 100 ticket ids.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | Comma-separated list of ticket ids |
Successful response
PUT /api/v2/tickets/mark_many_as_spam
/api/v2/tickets/update_many
Accepts an array of up to 100 ticket objects, or a comma-separated list of up to 100 ticket ids.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | Comma-separated list of ticket ids |
Successful response
PUT /api/v2/tickets/update_many
/api/v2/tickets/{ticket_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
application/json
TicketUpdateRequest
| Property | Type | Required |
|---|---|---|
| ticket | object | optional |
| └ tags | array | optional |
| └ type | string | optional |
| └ due_at | string | optional |
| └ status | string | 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 |
| └ 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 |
| └ …4 more | object | optional |
Successful request
PUT /api/v2/tickets/{ticket_id}
/api/v2/tickets/{ticket_id}/mark_as_spam
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ticket_id | path | optional | integer | The ID of the ticket |
Successful response
PUT /api/v2/tickets/{ticket_id}/mark_as_spam
/api/v2/triggers/reorder
Alters the firing order of triggers in the account. See
Reordering and sorting triggers
in the Zendesk Help Center. The firing order is set in a trigger_ids array in the request body.
You must include every trigger id in your account to reorder the triggers. If not, the endpoint will return 404 Forbidden.
Reordering triggers via the API is not permitted if you have more than one trigger category. If there is more than one
trigger category, the endpoint will return a LimitOneCategory error.
Success response
PUT /api/v2/triggers/reorder
/api/v2/triggers/update_many
Updates the position or the active status of multiple triggers. Any additional properties are ignored.
The PUT request expects a triggers object that lists the triggers to update.
Each trigger may have the following properties:
| Name | Mandatory | Description |
|---|---|---|
| id | yes | The ID of the trigger to update |
| position | no | The new position of the trigger |
| active | no | The active status of the trigger (true or false) |
| category_id | no | The ID of the new category the trigger is to be moved to |
{
"triggers": [
{"id": 25, "position": 3},
{"id": 23, "position": 5},
{"id": 27, "position": 9},
{"id": 22, "position": 7}
]
}
application/json
TriggerBulkUpdateRequest
| Property | Type | Required |
|---|---|---|
| triggers | array | optional |
| └ id | integer | required |
| └ active | boolean | optional |
| └ position | integer | optional |
| └ category_id | string | optional |
Success response
PUT /api/v2/triggers/update_many
/api/v2/triggers/{trigger_id}
Updating a condition or action updates both the conditions and actions arrays,
clearing all existing values of both arrays. Include all your conditions
and actions when updating any condition or action.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| trigger_id | path | optional | integer | The ID of the trigger |
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 |
Success response
PUT /api/v2/triggers/{trigger_id}
/api/v2/user_fields/reorder
Success response
PUT /api/v2/user_fields/reorder
/api/v2/user_fields/{user_field_id}
Dropdown fields return an array of custom_field_options which specify the name, value and order of the list of dropdown options.
Understand the following behavior when updating a dropdown field:
id along with name and value.id along with name and value.custom_field_options array relative to the other options.curl https://{subdomain}.zendesk.com/api/v2/user_fields/{user_field_id}.json \
-H "Content-Type: application/json" -X PUT \
-d '{"user_field": {"custom_field_options": [{"id": 124, "name": "Option 2", "value": "option_2"}, {"id": 123, "name": "Option 1", "value": "option_1"}, {"id": 125, "name": "Option 2", "value": "option_3"}]}}' \
-v -u {email_address}:{password}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_field_id | path | optional | The ID or key of the user field |
Success response
PUT /api/v2/user_fields/{user_field_id}
/api/v2/users/{user_id}/identities/{user_identity_id}
This endpoint allows you to:
value property of the specified identityYou can’t change an identity’s primary attribute with this endpoint. You must use the Make Identity Primary endpoint instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
| user_identity_id | path | optional | integer | The ID of the user identity |
Success response
PUT /api/v2/users/{user_id}/identities/{user_identity_id}
/api/v2/users/{user_id}/identities/{user_identity_id}/make_primary
Sets the specified identity as primary. To change other attributes, use the Update Identity endpoint. This is a collection-level operation and the correct behavior for an API client is to subsequently reload the entire collection.
The first endpoint is the preferred option if authenticating as an agent. If authenticating as an end user, you can only use the second endpoint. In addition, an end user can only make an email identity primary if the email is verified.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
| user_identity_id | path | optional | integer | The ID of the user identity |
Success response
PUT /api/v2/users/{user_id}/identities/{user_identity_id}/make_primary
/api/v2/users/{user_id}/identities/{user_identity_id}/request_verification
Sends the user a verification email with a link to verify ownership of the email address.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
| user_identity_id | path | optional | integer | The ID of the user identity |
Success description
PUT /api/v2/users/{user_id}/identities/{user_identity_id}/request_verification
/api/v2/users/{user_id}/identities/{user_identity_id}/verify
Sets the specified identity as verified.
For security reasons, you can’t use this endpoint to update the email identity of the account owner. To verify the person’s identity, send a verification email. See Verifying the account owner’s email address in Zendesk help.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
| user_identity_id | path | optional | integer | The ID of the user identity |
Success response
PUT /api/v2/users/{user_id}/identities/{user_identity_id}/verify
/api/v2/users/{user_id}/password
You can only change your own password. Nobody can change the password of another user because it requires knowing the user’s existing password. However, an admin can set a new password for another user without knowing the existing password. See Set a User’s Password above.
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
PUT /api/v2/users/{user_id}/password
/api/v2/users/update_many
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | Id of the users to update. Comma separated |
| external_ids | query | optional | string | External Id of the users to update. Comma separated |
application/json
UsersUpdateManyRequest
Successful response
PUT /api/v2/users/update_many
/api/v2/users/{user_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
application/json
UserRequest
| Property | Type | Required |
|---|---|---|
| user | object | required |
Success response
PUT /api/v2/users/{user_id}
/api/v2/users/{user_id}/merge
Merges the end user specified in the path parameter into the existing end user specified in the request body.
Any two end users can be merged with the exception of end users created by sharing agreements.
Agents and admins cannot be merged.
For more information about how user data is merged, see Merging a user’s duplicate account in Zendesk help.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | optional | integer | The id of the user |
application/json
UserRequest
| Property | Type | Required |
|---|---|---|
| user | object | required |
Success response
PUT /api/v2/users/{user_id}/merge
/api/v2/views/update_many
The PUT request expects a views object that lists the views to update.
Each view may have the following properties:
| Name | Mandatory | Description |
|---|---|---|
| id | yes | The ID of the view to update |
| position | no | The new position of the view |
| active | no | The active status of the view (true or false) |
{
"views": [
{"id": 25, "position": 3},
{"id": 23, "position": 5},
{"id": 27, "position": 9},
{"id": 22, "position": 7}
]
}
Success response
PUT /api/v2/views/update_many
/api/v2/views/{view_id}
The PUT request takes one property, a view object that lists the values to update. All properties are optional.
Note: Updating a condition updates the containing array, clearing the other conditions. Include all your conditions when updating any condition.
| Name | Description |
|---|---|
| title | The title of the view |
| all | An array of one or more conditions. A ticket must meet all the conditions to be included in the view. The PUT request replaces all existing conditions. See Conditions reference |
| any | An array of one or more conditions. A ticket must meet any of them to be included in the view. At least one all condition must be defined with the any conditions. The PUT request replaces all existing any conditions. See Conditions reference |
| active | Allowed values are true or false. Determines if the view is displayed or not |
| output | An object that specifies the columns to display. Example: "output": {"columns": ["status", "description," "priority"]}. See View columns |
| restriction | An object that describes who can access the view. To give all agents access to the view, omit this property |
The restriction object has the following properties.
| Name | Comment |
|---|---|
| type | Allowed values are “Group” or “User” |
| id | The numeric ID of a single group or user |
| ids | The numeric IDs of a single or more groups. Recommended for “Group” type |
If type is “Group”, the ids property is the preferred method of specifying the group id or ids.
You can also update how items are sorted and grouped. See View sorting in Create View.
{
"view": {
"title": "Code red tickets",
"restriction": {
"type": "Group",
"ids": [10052, 10057, 10062, 10002]
},
"all": [
{
"field": "priority",
"operator": "is",
"value": "urgent"
}
],
"output": {
"columns": ["status", "requester", "assignee", "updated"]
}
}
}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| view_id | path | optional | integer | The ID of the view |
Success response
PUT /api/v2/views/{view_id}
/api/v2/workspaces/reorder
application/json
WorkspacesReorderWorkspacesRequest
| Property | Type | Required |
|---|---|---|
| ids | array | optional |
Succesful response
PUT /api/v2/workspaces/reorder
/api/v2/workspaces/{workspace_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| workspace_id | path | optional | integer | The id of the workspace |
application/json
WorkspacesUpdateWorkspaceRequest
| 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 |
OK
PUT /api/v2/workspaces/{workspace_id}
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 |