Skillbasedrouting 6 endpoints

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

Deletes an attribute value.

Allowed For

  • Agents
operationId: SkillBasedRouting_deleteAttributeValue

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

attribute_value_id path optional string

The ID of the skill-based routing attribute value

Responses

204

No Content response

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

Returns an attribute value.

Allowed For

  • Admins
operationId: SkillBasedRouting_showAttributeValue

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

attribute_value_id path optional string

The ID of the skill-based routing attribute value

Responses

200

Success response

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

Updates an attribute value.

Allowed For

  • Admins
operationId: SkillBasedRouting_updateAttributeValue

Parameters

Name In Required Type Description
attribute_id path optional string

The ID of the skill-based routing attribute

attribute_value_id path optional string

The ID of the skill-based routing attribute value

Responses

200

Success response

PATCH /api/v2/routing/attributes/{attribute_id}/values/{attribute_value_id}
GET /api/v2/routing/requirements/fulfilled

Returns a list of ticket ids that contain attributes matching the current user’s attributes. Accepts a ticket_ids parameter for relevant tickets to check for matching attributes.

Allowed For

  • Agents and admins
operationId: SkillBasedRouting_listFulfilledTickets

Parameters

Name In Required Type Description
ticket_ids query required integer

The IDs of the relevant tickets to check for matching attributes

Responses

200

Success response

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

Returns a list of attributes values for the ticket.

Allowed For

  • Agents and admins
operationId: SkillBasedRouting_listTicketAttributeValues

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

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

Adds the specified attributes if no attributes exists, or replaces all existing attributes with the specified attributes.

Invalid or deleted attributes are ignored.

Allowed For

  • Admins
operationId: SkillBasedRouting_setTicketAttributeValues

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

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

Supportaddresses 6 endpoints

GET /api/v2/recipient_addresses

Lists all the support addresses for the account.

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Allowed For

  • Admins
  • Agents
operationId: SupportAddresses_list

Responses

200

Success response

GET /api/v2/recipient_addresses
POST /api/v2/recipient_addresses

Adds a Zendesk or external support address to your account.

To add a Zendesk address, use the following syntax: {local-part}@{accountname}.zendesk.com.
Example: ‘sales-team@example.zendesk.com’. The local-part can be anything you like.

To add an external email address such as help@omniwearshop.com, the email must already exist and you must set up forwarding on your email server. The exact steps depend on your mail server. See Forwarding incoming email to Zendesk Support. After setting up forwarding, run the Verify Support Address Forwarding endpoint. The address won’t work in Zendesk Support until it’s been verified.

Allowed For

operationId: SupportAddresses_createSupportAddress

Responses

201

Created response

POST /api/v2/recipient_addresses
DELETE /api/v2/recipient_addresses/{support_address_id}

Deletes a support address.

Allowed For

operationId: SupportAddresses_deleteSupportAddress

Parameters

Name In Required Type Description
support_address_id path optional integer

The ID of the support address

Responses

204

No Content response

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

Allowed For

  • Admins
  • Agents
operationId: SupportAddresses_showSupportAddress

Parameters

Name In Required Type Description
support_address_id path optional integer

The ID of the support address

Responses

200

Success response

GET /api/v2/recipient_addresses/{support_address_id}
PUT /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.

Allowed For

operationId: SupportAddresses_updateExistingAddress

Parameters

Name In Required Type Description
support_address_id path optional integer

The ID of the support address

Responses

200

Success response

PUT /api/v2/recipient_addresses/{support_address_id}
PUT /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.

Allowed For

operationId: SupportAddresses_verifyForwarding

Parameters

Name In Required Type Description
support_address_id path optional integer

The ID of the support address

Responses

200

Success response

PUT /api/v2/recipient_addresses/{support_address_id}/verify

Suspendedtickets 8 endpoints

GET /api/v2/suspended_tickets

Allowed For

Sorting

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

Pagination

  • Cursor pagination

See Pagination.

operationId: SuspendedTickets_list

Parameters

Name In Required Type Description
sort_by query optional string

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

sort_order query optional string

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

Responses

200

Success response

GET /api/v2/suspended_tickets
POST /api/v2/suspended_tickets/attachments

Makes copies of any attachments on a suspended ticket and returns them as attachment tokens. If the ticket is manually recovered, you can include the attachment tokens on the new ticket.

Allowed For

operationId: SuspendedTickets_copyAttachments

Parameters

Name In Required Type Description
id path optional number

id of the suspended ticket

Responses

200

Success response

POST /api/v2/suspended_tickets/attachments
DELETE /api/v2/suspended_tickets/destroy_many

Accepts up to 100 ids (the auto-generated id, not the ticket id.)

Allowed For

operationId: SuspendedTickets_deleteMany

Parameters

Name In Required Type Description
ids query optional string

A comma separated list of ids of suspended tickets to delete.

Responses

204

No Content response

DELETE /api/v2/suspended_tickets/destroy_many
POST /api/v2/suspended_tickets/export

Exports a list of suspended tickets for the Zendesk Support instance. To export the list, the endpoint enqueues a job to create a CSV file with the data. When done, Zendesk sends the requester an email containing a link to the CSV file. In the CSV, tickets are sorted by the update timestamp in ascending order.

#### Allowed For

#### Rate limits

Limited to one request per minute and up to one million records in return. The rate-limiting mechanism behaves identically to the one described in Usage limits.
We recommend using the Retry-After header value as described in Catching errors caused by rate limiting.

operationId: SuspendedTickets_exportList

Responses

200

Ok

POST /api/v2/suspended_tickets/export
PUT /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.

Allowed For

operationId: SuspendedTickets_recoverMany

Parameters

Name In Required Type Description
ids query optional string

A comma separated list of ids of suspended tickets to recover.

Responses

200

Success response

PUT /api/v2/suspended_tickets/recover_many
DELETE /api/v2/suspended_tickets/{id}

Allowed For

  • Unrestricted agents
operationId: SuspendedTickets_deleteTicket

Parameters

Name In Required Type Description
id path optional number

id of the suspended ticket

Responses

204

No Content response

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

Allowed For

operationId: SuspendedTickets_showTicket

Parameters

Name In Required Type Description
id path optional number

id of the suspended ticket

Responses

200

Success response

GET /api/v2/suspended_tickets/{id}
PUT /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.

  • If all recoveries are successful, it returns a 200 with a tickets array in the response.
  • If all recoveries fail, it returns a 422 with a suspended_tickets array in the response.
  • If there is a mixture of successes and failures in a single call, it returns a 422 with a suspended_tickets array of the failures in the response.

Allowed For

operationId: SuspendedTickets_recoverTicket

Parameters

Name In Required Type Description
id path optional number

id of the suspended ticket

Responses

200

Success response

422

Recovery failed response

PUT /api/v2/suspended_tickets/{id}/recover

Tags 7 endpoints

GET /api/v2/autocomplete/tags

Returns an array of registered and recent tag names that start with the characters specified in the name query parameter. You must specify at least 2 characters.

Pagination

  • Offset pagination only

See Using Offset Pagination.

Allowed For

  • Agents
operationId: Tags_searchTags

Parameters

Name In Required Type Description
name query optional string

A substring of a tag to search for

Responses

200

Success response

GET /api/v2/autocomplete/tags
GET /api/v2/tags

Lists up to the 20,000 most popular tags in the last 60 days, in decreasing popularity.

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Allowed For

  • Agents
operationId: Tags_listPopular

Responses

200

Success response

GET /api/v2/tags
GET /api/v2/tags/count

Returns an approximate count of tags. If the count exceeds 100,000, it
is updated every 24 hours.

The refreshed_at property of the count object is a timestamp that indicates when
the count was last updated.

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

Allowed For

  • Admins
operationId: Tags_getCount

Responses

200

Success response

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

You can also delete tags from multiple tickets with the
Update Many Tickets endpoint.

This endpoint supports safe updates. See Safe Update.

Allowed For

  • Agents
operationId: Tags_removeFromTicket

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

204

No Content response

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

Allowed For

  • Agents
operationId: Tags_listResourceTags

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

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

Allowed For

  • Agents
operationId: Tags_setTicketTags

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

201

Created response

POST /api/v2/tickets/{ticket_id}/tags
PUT /api/v2/tickets/{ticket_id}/tags

You can also add tags to multiple tickets with the Update Many
Tickets
endpoint.

Safe Update

If the same ticket is updated by multiple API requests at
the same time, some tags could be lost because of ticket
update collisions. Include updated_stamp and safe_update
properties in the request body to make a safe update.

For updated_stamp, retrieve and specify the ticket’s
latest updated_at timestamp. The tag update only occurs
if the updated_stamp timestamp matches the ticket’s
actual updated_at timestamp at the time of the request.
If the timestamps don’t match (in other words, if the
ticket was updated since you retrieved the ticket’s
last updated_at timestamp), the request returns a
409 Conflict error.

Example

{
  "tags": ["customer"],
  "updated_stamp":"2019-09-12T21:45:16Z",
  "safe_update":"true"
}

For details, see Protecting against ticket update collisions.

Allowed For

  • Agents
operationId: Tags_addMultiple

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

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

Targetfailures 2 endpoints

GET /api/v2/target_failures

Returns the 25 most recent target failures, per target.

Stability

  • Development

Allowed For

  • Admins
operationId: TargetFailures_listRecent

Responses

200

Success response

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

Stability

  • Development

Allowed For

  • Admins
operationId: TargetFailures_showFailure

Parameters

Name In Required Type Description
target_failure_id path optional integer

The ID of the target failure

Responses

200

Success response

GET /api/v2/target_failures/{target_failure_id}

Targets 5 endpoints

GET /api/v2/targets

Allowed For

  • Agents
operationId: Targets_list

Responses

200

Success response

GET /api/v2/targets
POST /api/v2/targets

Allowed For

  • Admins
operationId: Targets_createNewTarget

Responses

201

Created response

POST /api/v2/targets
DELETE /api/v2/targets/{target_id}

Allowed For

  • Admins
operationId: Targets_remove

Parameters

Name In Required Type Description
target_id path optional integer

The ID of the target

Responses

204

No Content response

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

Allowed For

  • Agents
operationId: Targets_showDetails

Parameters

Name In Required Type Description
target_id path optional integer

The ID of the target

Responses

200

Success response

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

Allowed For

  • Admins
operationId: Targets_updateTarget

Parameters

Name In Required Type Description
target_id path optional integer

The ID of the target

Responses

200

Success response

PUT /api/v2/targets/{target_id}

Ticketaudits 5 endpoints

GET /api/v2/ticket_audits

Returns ticket audits. Archived tickets are not included in the response. Use the List Audits for a Ticket endpoint to
retrieve audit records for an archived ticket. To learn more about archived tickets, see About archived tickets.

This endpoint should not be used for capturing change data. When continually chasing the tail of a cursor, some records will be skipped. For this use case, use the Incremental Ticket Event Export API.

Pagination

  • Cursor pagination

See Pagination.

Returns a maximum of 100 records per page.

Allowed For

  • Admins
operationId: TicketAudits_listAll

Parameters

Name In Required Type Description
limit query optional integer

Maximum number of results returned

Responses

200

Success response

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

Lists the audits for a specified ticket.

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Note: Audits for Archived Tickets do not support pagination for this endpoint.

Allowed for

  • Agents
operationId: TicketAudits_list

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

OK response

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

Returns an approximate count of audits for a specified ticket. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours.

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

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

Allowed for

  • Agents
operationId: TicketAudits_getCount

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Count of audits on a ticket

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

Allowed for

  • Agents
operationId: TicketAudits_show

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

ticket_audit_id path optional integer

The ID of the ticket audit

Responses

200

OK response

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

Allowed for

  • Agents
operationId: TicketAudits_convertToPrivate

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

ticket_audit_id path optional integer

The ID of the ticket audit

Responses

200

description

PUT /api/v2/tickets/{ticket_id}/audits/{ticket_audit_id}/make_private

Ticketcomments 7 endpoints

PUT /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.

Allowed For

  • Agents

Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.

Request Body Properties

Name Type Required Description
chat_id string true The chat_id in the ChatStartedEvent event in the ticket audit. See Ticket Audits
chat_indexes array true The array of chat_index in the ChatFileAttachment event in the ticket audit. See Ticket Audits

To get the required body properties, make a request to the Ticket Audits endpoint. Example response:

Status 200 OK
{
  "audits": [
    "events": [
      {
        "id": 1932802680168,
        "type": "ChatStartedEvent",
        "value": {
          "visitor_id": "10502823-16EkM3T6VNq7KMd",
          "chat_id": "2109.10502823.Sjuj2YrBpXwei",
          "history": [
            {
              "chat_index": 0,
              "type": "ChatFileAttachment",
              "filename": "image1.jpg"
            },
            {
              "chat_index": 1,
              "type": "ChatFileAttachment",
              "filename": "image2.jpg"
            }
          ]
        }
      }
    ]
  ]
}
operationId: TicketComments_redactAttachment

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

PUT /api/v2/chat_file_redactions/{ticket_id}
PUT /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.

Allowed For

  • Agents

Agent Workspace must enabled for the account. Deleting tickets must be enabled for agents.

Request Body Properties

Name Type Required Description
chat_id string true The chat_id in the ChatStartedEvent event in the ticket audit. See Ticket Audits
chat_index integer true The chat_index in the ChatMessage event in the ticket audit. See Ticket Audits
text string true The message in the ChatMessage event in the ticket audit. See Ticket Audits. Wrap message with <redact> tags

To get the required body properties, make a request to the Ticket Audit endpoint. Example response:

Status 200 OK
{
  "audits": [
    "events": [
      {
        "id": 1932802680168,
        "type": "ChatStartedEvent",
        "value": {
          "visitor_id": "10502823-16EkM3T6VNq7KMd",
          "chat_id": "2109.10502823.Sjuj2YrBpXwei",
          "history": [
            {
              "chat_index": 0,
              "type": "ChatMessage",
              "message": "My ID number is 847564!"
            }
          ]
        }
      }
    ]
  ]
}
operationId: TicketComments_redactChatComment

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Success response

PUT /api/v2/chat_redactions/{ticket_id}
PUT /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.

Allowed For

  • Agents

Agent Workspace must be enabled on the account. For professional accounts, deleting tickets must be enabled for agents. On Enterprise accounts, you can assign agents to a custom role with permissions to redact ticket content.

Request Body Properties

Name Type Required Description
ticket_id integer true The ID of the ticket
html_body string false The html_body of the comment containing <redact> tags or redact attributes
external_attachment_urls array false Array of attachment URLs belonging to the comment to be redacted. See content_url property of Attachment
operationId: TicketComments_redactCommentInWorkspace

Parameters

Name In Required Type Description
ticket_comment_id path optional integer

The ID of the ticket comment

Responses

200

Success response

PUT /api/v2/comment_redactions/{ticket_comment_id}
GET /api/v2/tickets/{ticket_id}/comments

Returns the comments added to the ticket.

Each comment may include a content_url for an attachment or a recording_url for a voice comment that points to a file that may be hosted externally. For security reasons, take care not to inadvertently send Zendesk authentication credentials to third parties when attempting to access these files. See Working with url properties.

Pagination

  • Cursor pagination (recommended)
  • Offset pagination

See Pagination.

Returns a maximum of 100 records per page.

Sorting

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

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

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

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

Name Type Required Comments
sort_order string no One of asc, desc. Defaults to asc

Allowed For

  • Agents
operationId: TicketComments_list

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

include_inline_images query optional boolean

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

include query optional string

Accepts “users”. Use this parameter to list email CCs by side-loading users. Example: ?include=users. Note: If the comment source is email, a deleted user will be represented as the CCd email address. If the comment source is anything else, a deleted user will be represented as the user name.

Responses

200

Success response

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

Returns an approximate count of the comments added to the ticket. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours.

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

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

Allowed For

  • Agents
operationId: TicketComments_getCount

Parameters

Name In Required Type Description
ticket_id path optional integer

The ID of the ticket

Responses

200

Count of ticket comments

GET /api/v2/tickets/{ticket_id}/comments/count
PUT /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private

Allowed For

  • Agents
operationId: TicketComments_makePrivate

Parameters

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

Responses

200

description

PUT /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/make_private
PUT /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.

Allowed For

  • Agents
operationId: TicketComments_redactString

Parameters

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

Responses

200

Success response

PUT /api/v2/tickets/{ticket_id}/comments/{ticket_comment_id}/redact

Ticketfields 4 endpoints

GET /api/v2/ticket_fields

Returns a list of all system and custom ticket fields in your account.

Cursor pagination returns a maximum of 100 records per page and fields are returned in the order specified by their id.

If the results are not paginated every field is returned in the response and fields are returned in the order specified by the position and id.

For accounts without access to multiple ticket forms, positions can be changed using the Update Ticket Field endpoint or the Ticket Forms page in Zendesk Support (Admin > Manage > Ticket Forms). The Ticket Forms page shows the fields for the account. The order of the fields is used in the different products to show the field values in the tickets.

For accounts with access to multiple ticket forms, positions can only be changed using the Update Ticket Field endpoint because products use the order defined on each form to show the field values instead of the general position of the ticket field in the account.

Consider caching this resource to use with the Tickets API.

Pagination

  • Cursor pagination (recommended)
  • No pagination

See Pagination.

Sideloads

The following sideloads are supported:

Name Will sideload
users The user or users that created the ticket field

Allowed For

  • Agents
operationId: TicketFields_listFields

Parameters

Name In Required Type Description
locale query optional string

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

creator query optional boolean

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

Responses

200

Success response

GET /api/v2/ticket_fields
POST /api/v2/ticket_fields

Creates any of the following custom field types:

Custom field type Description
text Default custom field type when type is not specified
textarea For multi-line text
checkbox To capture a boolean value. Allowed values are true or false
date Example: 2021-04-16
integer String composed of numbers. May contain an optional decimal point
decimal For numbers containing decimals
regexp Matches the Regex pattern found in the custom field settings
partialcreditcard A credit card number. Only the last 4 digits are retained
multiselect Enables users to choose multiple options from a dropdown menu
tagger Single-select dropdown menu. It contains one or more tag values belonging to the field’s options. Example: ( {“id”: 21938362, “value”: [“hd_3000”, “hd_5555”]})
lookup A field to create a relationship (see lookup relationships) to another object such as a user, ticket, or organization

See About custom field types in the Zendesk Help Center.

Allowed For

  • Admins

Field limits

We recommend the following best practices for ticket fields limits. Creating more than these amounts can affect performance.

  • 400 ticket fields per account if your account doesn’t have ticket forms
  • 400 ticket fields per ticket form if your account has ticket forms
operationId: TicketFields_createField

Responses

201

Created response

POST /api/v2/ticket_fields
GET /api/v2/ticket_fields/count

Returns an approximate count of system and custom ticket fields in the account. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours.

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

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

Allowed For

  • Agents
operationId: TicketFields_count

Responses

200

Count of ticket fields

GET /api/v2/ticket_fields/count
DELETE /api/v2/ticket_fields/{ticket_field_id}

Allowed for

  • Admins
operationId: TicketFields_deleteField

Parameters

Name In Required Type Description
ticket_field_id path optional integer

The ID of the ticket field

creator query optional boolean

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

Responses

204

No Content response

DELETE /api/v2/ticket_fields/{ticket_field_id}
Load more endpoints