---
title: "Update Ticket"
method: PUT
path: "/api/v2/tickets/{ticket_id}"
tags: ["Tickets"]
---

# Update Ticket

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

## Path parameters

- `ticket_id` integer, required

## Request body

- TicketUpdateRequest
  - `ticket` TicketUpdateInput
    - `additional_collaborators` CollaboratorObject[] — An array of numeric IDs, emails, or objects containing name and email properties. See [Setting Collaborators](/api-reference/ticketing/tickets/tickets/#setting-collaborators). An email notification is sent to them when the ticket is updated
      - `email` string, email
      - `name` string
    - `assignee_email` string, email — The email address of the agent to assign the ticket to
    - `assignee_id` integer — The agent currently assigned to the ticket
    - `attribute_value_ids` integer[] — An array of the IDs of attribute values to be associated with the ticket
    - `collaborator_ids` integer[] — The ids of users currently CC'ed on the ticket
    - `comment` TicketCommentObject
      - `attachments` AttachmentObject[] — Attachments, if any. See [Attachment](/api-reference/ticketing/tickets/ticket-attachments/)
        - `content_type` string — The content type of the image. Example value: "image/png"
        - `content_url` string — 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](/documentation/ticketing/managing-tickets/working-with-url-properties)
        - `deleted` boolean — If true, the attachment has been deleted
        - `file_name` string — The name of the image file
        - `height` integer — The height of the image file in pixels. If height is unknown, returns null
        - `id` integer — Automatically assigned when created
        - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
        - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
        - `malware_scan_result` string — 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"
        - `mapped_content_url` string — The URL the attachment image file has been mapped to
        - `size` integer — The size of the image file in bytes
        - `url` string — A URL to access the attachment details
        - `width` integer — The width of the image file in pixels. If width is unknown, returns null
        - `thumbnails` AttachmentBaseObject[] — An array of attachment objects. Note that photo thumbnails do not have thumbnails
          - `content_type` string — The content type of the image. Example value: "image/png"
          - `content_url` string — 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](/documentation/ticketing/managing-tickets/working-with-url-properties)
          - `deleted` boolean — If true, the attachment has been deleted
          - `file_name` string — The name of the image file
          - `height` integer — The height of the image file in pixels. If height is unknown, returns null
          - `id` integer — Automatically assigned when created
          - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
          - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
          - `malware_scan_result` string — 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"
          - `mapped_content_url` string — The URL the attachment image file has been mapped to
          - `size` integer — The size of the image file in bytes
          - `url` string — A URL to access the attachment details
          - `width` integer — The width of the image file in pixels. If width is unknown, returns null
      - `audit_id` integer — The id of the ticket audit record. See [Show Audit](/api-reference/ticketing/tickets/ticket_audits/#show-audit)
      - `author_id` integer — The id of the comment author. See [Author id](#author-id)
      - `body` string — The comment string. See [Bodies](#bodies)
      - `created_at` string, date-time — The time the comment was created
      - `html_body` string — The comment formatted as HTML. See [Bodies](#bodies)
      - `id` integer — Automatically assigned when the comment is created
      - `metadata` object — System information (web client, IP address, etc.) and comment flags, if any. See [Comment flags](#comment-flags)
      - `plain_body` string — The comment presented as plain text. See [Bodies](#bodies)
      - `public` boolean — true if a public comment; false if an internal note. The initial value set on ticket creation persists for any additional comment unless you change it
      - `type` string — `Comment` or `VoiceComment`. The JSON object for adding voice comments to tickets is different. See [Adding voice comments to tickets](/documentation/ticketing/managing-tickets/adding-voice-comments-to-tickets)
      - `uploads` string[] — List of tokens received from [uploading files](/api-reference/ticketing/tickets/ticket-attachments/#upload-files) for comment attachments. The files are attached by creating or updating tickets with the tokens. See [Attaching files](/api-reference/ticketing/tickets/tickets/#attaching-files) in Tickets
      - `via` TicketAuditViaObject — Describes how the object was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
        - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
        - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
    - `custom_fields` object[] — Custom fields for the ticket. See [Setting custom field values](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values)
      - `id` integer — The id of the custom field
      - `value` union — The value of the custom field
        - string
        - integer
        - boolean
        - string[]
        - number
    - `custom_status_id` integer — The custom ticket status id of the ticket. See [custom ticket statuses](#custom-ticket-statuses)
    - `due_at` string, date-time, nullable — If this is a ticket of type "task" it has a due date. Due date format uses [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
    - `email_ccs` EmailCCObject[] — An array of objects that represent agent or end users email CCs to add or delete from the ticket. See [Setting email CCs](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-email-ccs)
      - `action` 'put' | 'delete'
      - `user_email` string, email
      - `user_id` string
      - `user_name` string
    - `external_id` string — An id you can use to link Zendesk Support tickets to local records
    - `followers` FollowerObject[] — An array of objects that represent agent followers to add or delete from the ticket. See [Setting followers](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-followers)
      - `action` 'put' | 'delete'
      - `user_email` string, email
      - `user_id` string
    - `group_id` integer — The group this ticket is assigned to
    - `organization_id` integer — The organization of the requester. You can only specify the ID of an organization associated with the requester. See [Organization Memberships](/api-reference/ticketing/organizations/organization_memberships/)
    - `priority` 'urgent' | 'high' | 'normal' | 'low' — The urgency with which the ticket should be addressed.
    - `problem_id` integer — For tickets of type "incident", the ID of the problem the incident is linked to
    - `requester_id` integer — The user who requested this ticket
    - `safe_update` boolean — Optional boolean. Prevents updates with outdated ticket data (`updated_stamp` property required when true)
    - `sharing_agreement_ids` integer[] — An array of the numeric IDs of sharing agreements. Note that this replaces any existing agreements
    - `status` 'new' | 'open' | 'pending' | 'hold' | 'solved' | 'closed' — The state of the ticket. If your account has activated custom ticket statuses, this is the ticket's status category. See [custom ticket statuses](#custom-ticket-statuses).
    - `subject` string — The value of the subject field for this ticket
    - `tags` string[] — The array of tags applied to this ticket
    - `type` 'problem' | 'incident' | 'question' | 'task' — The type of this ticket.
    - `updated_stamp` string, date-time — Datetime of last update received from API. See the safe_update property

## Response `200`

Successful request

- TicketUpdateResponse
  - `audit` AuditObject
    - `author_id` integer — ID of the user who created the audit
    - `created_at` string, date-time — When the audit was created
    - `events` AuditEvent[] — Array of events that occurred in this audit
      - union
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Create', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `field_name` string — The name of the field that was set
          - `value` union — The value of the field that was set
            - string
            - unknown[]
              - …
            - object
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Change', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `field_name` string — The name of the field that was changed
          - `value` union — The value of the field that was changed
            - string
            - unknown[]
              - …
            - object
          - `previous_value` union — The previous value of the field that was changed
            - string
            - unknown[]
              - …
            - object
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Comment', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `body` string — The comment body
          - `html_body` string — The comment formatted as HTML
          - `public` boolean — Whether the comment is public
          - `trusted` boolean — Whether the comment is trusted
          - `author_id` integer — The comment author ID
          - `attachments` AttachmentObject[]
            - `content_type` string — The content type of the image. Example value: "image/png"
            - `content_url` string — 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](/documentation/ticketing/managing-tickets/working-with-url-properties)
            - `deleted` boolean — If true, the attachment has been deleted
            - `file_name` string — The name of the image file
            - `height` integer — The height of the image file in pixels. If height is unknown, returns null
            - `id` integer — Automatically assigned when created
            - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
            - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
            - `malware_scan_result` string — 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"
            - `mapped_content_url` string — The URL the attachment image file has been mapped to
            - `size` integer — The size of the image file in bytes
            - `url` string — A URL to access the attachment details
            - `width` integer — The width of the image file in pixels. If width is unknown, returns null
            - `thumbnails` AttachmentBaseObject[] — An array of attachment objects. Note that photo thumbnails do not have thumbnails
              - …
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'CommentRedactionEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `comment_id` integer — The comment with the redacted text
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'AttachmentRedactionEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `attachment_id` integer — The redacted attachment
          - `comment_id` integer — The comment with the redacted attachment
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'VoiceComment', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `data` object — Properties describing the voice comment
          - `formatted_from` string — A formatted version of the phone number which dialed the call
          - `formatted_to` string — A formatted version of the phone number which answered the call
          - `body` string — Comment added to the ticket
          - `html_body` string — The comment formatted to HTML
          - `public` boolean — If true, the ticket requester can see the comment
          - `trusted` boolean — If this comment is trusted or marked as being potentially fraudulent
          - `author_id` integer — The comment author, typically the agent assigned to the ticket
          - `transcription_visible` boolean — Whether the transcription is visible on the ticket
          - `attachments` AttachmentObject[]
            - `content_type` string — The content type of the image. Example value: "image/png"
            - `content_url` string — 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](/documentation/ticketing/managing-tickets/working-with-url-properties)
            - `deleted` boolean — If true, the attachment has been deleted
            - `file_name` string — The name of the image file
            - `height` integer — The height of the image file in pixels. If height is unknown, returns null
            - `id` integer — Automatically assigned when created
            - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
            - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
            - `malware_scan_result` string — 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"
            - `mapped_content_url` string — The URL the attachment image file has been mapped to
            - `size` integer — The size of the image file in bytes
            - `url` string — A URL to access the attachment details
            - `width` integer — The width of the image file in pixels. If width is unknown, returns null
            - `thumbnails` AttachmentBaseObject[] — An array of attachment objects. Note that photo thumbnails do not have thumbnails
              - …
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'CommentPrivacyChange', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `comment_id` integer — The id of the comment that changed privacy
          - `public` boolean — Tells if the comment was made public or private
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'SuspendedTicketRecovery', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `cause` string — The details of the suspension
          - `cause_name` string — The key of the cause of suspension
          - `cause_id` integer — The id of the cause of suspension
          - `recovery_details` string — The details of the recovery, including the recovery type and the recovery author's name
          - `recovery_type` 'manual' | 'automatic' — The type of recovery
          - `recovered_at` string, date-time — The date of recovery
          - `recovered_by` integer — The user who performed the recovery
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Notification', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `subject` string — The subject of the message sent to the recipients
          - `body` string — The message sent to the recipients
          - `recipients` integer[] — An array of recipient IDs
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'NotificationWithCcs', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `subject` string — The subject of the message sent to the recipients
          - `body` string — The message sent to the recipients
          - `recipients` integer[] — An array of recipient IDs
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'SmsNotification', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `body` string — The message sent to the recipients
          - `recipients` integer[] — An array of recipient IDs
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Cc', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `body` string — The message sent to the recipients
          - `recipients` integer[] — An array of recipient IDs
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'FollowerNotificationEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `subject` string — The subject of the message sent to the recipients
          - `body` string — The message sent to the recipients
          - `recipients` integer[] — An array of recipient IDs
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'FollowersChange', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `previous_followers` integer[] — The previous followers on the ticket
          - `current_followers` integer[] — The current followers on the ticket
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'EmailCcChange', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `previous_email_ccs` string[] — The previous email CCs on the ticket
          - `current_email_ccs` string[] — The current email CCs on the ticket
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'MacroReference', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `macro_id` integer — The id of the macro this event refers to
          - `macro_title` string — The title of the macro this event refers to
          - `macro_deleted` boolean — Whether or not the macro this event refers to is deleted
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'SatisfactionRating', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `score` 'offered' | 'unoffered' | 'good' | 'bad' — The rating state
          - `assignee_id` integer — Who the ticket was assigned to upon rating time
          - `body` string — The users comment posted during rating
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'TicketSharingEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `agreement_id` integer — The sharing agreement id
          - `action` 'shared' | 'unshared' — The sharing action
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'OrganizationActivity', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `subject` string — The subject of the message sent to the recipients
          - `body` string — The message sent to the recipients
          - `recipients` integer[] — An array of recipient IDs
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Error', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `message` string — The error message
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Tweet', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `direct_message` boolean — Whether this tweet was a direct message
          - `body` string — The body of the tweet
          - `recipients` integer[] — An array of recipient IDs
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'FacebookEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `page` object — The name and graph id of the Facebook Page associated with the event
          - `communication` integer — The Zendesk Support id of the associated communication
          - `ticket_via` 'post' | 'message' — Post or message depending on the association
          - `body` string — The value of the message posted to Facebook
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'FacebookComment', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `data` object — Properties of the Facebook comment
          - `body` string — The actual comment made by the author
          - `html_body` string — The actual comment made by the author formatted as HTML
          - `public` boolean — If this is a public comment or an internal-agents-only note
          - `trusted` boolean — If this comment is trusted or marked as being potentially fraudulent
          - `author_id` integer — The id of the author of this comment
          - `graph_object_id` string — The graph object id of the associated Facebook Wall post or message
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'External', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `resource` string — External target id
          - `body` string — Trigger message for this target event
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'LogMeInTranscript', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `body` string — An audit of the transcript
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'Push', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `value` string — Data being pushed out of our system
          - `value_reference` string — A reference to the destination of the data
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'ChatStartedEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `value` unknown[] — Properties of the messaging conversation
            - unknown
          - `history` unknown[] — Data about chat events
            - unknown
          - `webpath` unknown[] — The webpath for the messaging conversation
            - unknown
          - `attachments` AttachmentObject[]
            - `content_type` string — The content type of the image. Example value: "image/png"
            - `content_url` string — 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](/documentation/ticketing/managing-tickets/working-with-url-properties)
            - `deleted` boolean — If true, the attachment has been deleted
            - `file_name` string — The name of the image file
            - `height` integer — The height of the image file in pixels. If height is unknown, returns null
            - `id` integer — Automatically assigned when created
            - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
            - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
            - `malware_scan_result` string — 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"
            - `mapped_content_url` string — The URL the attachment image file has been mapped to
            - `size` integer — The size of the image file in bytes
            - `url` string — A URL to access the attachment details
            - `width` integer — The width of the image file in pixels. If width is unknown, returns null
            - `thumbnails` AttachmentBaseObject[] — An array of attachment objects. Note that photo thumbnails do not have thumbnails
              - …
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'ChatEndedEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `value` unknown[] — Properties of the messaging conversation
            - unknown
          - `attachments` AttachmentObject[]
            - `content_type` string — The content type of the image. Example value: "image/png"
            - `content_url` string — 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](/documentation/ticketing/managing-tickets/working-with-url-properties)
            - `deleted` boolean — If true, the attachment has been deleted
            - `file_name` string — The name of the image file
            - `height` integer — The height of the image file in pixels. If height is unknown, returns null
            - `id` integer — Automatically assigned when created
            - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
            - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
            - `malware_scan_result` string — 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"
            - `mapped_content_url` string — The URL the attachment image file has been mapped to
            - `size` integer — The size of the image file in bytes
            - `url` string — A URL to access the attachment details
            - `width` integer — The width of the image file in pixels. If width is unknown, returns null
            - `thumbnails` AttachmentBaseObject[] — An array of attachment objects. Note that photo thumbnails do not have thumbnails
              - …
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'AssociateAttValsEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `attribute_values` AttributeValueObject[] — Skills assigned to the ticket
            - `id` string, uuid — Attribute value ID
            - `name` string — Attribute value name
            - `attribute_id` string, uuid — The ID of the attribute (skill type)
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'SurveyOffered', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `assigned_user_id` integer, nullable — The id of the user assigned to the ticket at the time the survey was offered
          - `assigned_group_id` integer, nullable — The id of the group assigned to the ticket at the time the survey was offered
          - `survey_id` string — A ULID representing the survey that was offered
          - `survey_type` string — The type of the survey that was offered
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'SurveyResponseSubmitted', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `assigned_user_id` integer, nullable — The id of the user assigned to the ticket at the time the survey response was submitted
          - `assigned_group_id` integer, nullable — The id of the group assigned to the ticket at the time the survey response was submitted
          - `survey_response_id` string — A ULID representing the survey response that was submitted
          - `survey_type` string — The type of the survey that was offered
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'OfferedToEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `assignee` integer — The id of the agent the ticket was offered to
          - `skills` AttributeValueObject[] — Skills used to route the ticket to an agent
            - `id` string, uuid — Attribute value ID
            - `name` string — Attribute value name
            - `attribute_id` string, uuid — The ID of the attribute (skill type)
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'RoutingChannelEvent', required — The type of event
          - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
          - `previous` string — The previous routing channel
          - `current` string — The current routing channel
        - object
          - `id` integer, required — Automatically assigned when the event is created
          - `type` 'WebhookEvent', required — The type of event
          - `via` object — How the webhook event was triggered
            - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
            - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
              - …
    - `id` integer — Automatically assigned audit ID
    - `metadata` object — Additional metadata about the audit
    - `ticket_id` integer — ID of the ticket this audit belongs to
    - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
      - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
      - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
        - `from` object
          - `address` string, nullable
          - `id` integer, nullable
          - `name` string, nullable
          - `title` string, nullable
        - `rel` string, nullable
        - `to` object
          - `address` string
          - `name` string
  - `ticket` TicketObject
    - `allow_attachments` boolean — Permission for agents to add add attachments to a comment. Defaults to true
    - `allow_channelback` boolean — Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket
    - `assignee_email` string — Write only. The email address of the agent to assign the ticket to
    - `assignee_id` integer — The agent currently assigned to the ticket
    - `attribute_value_ids` integer[] — Write only. An array of the IDs of attribute values to be associated with the ticket
    - `brand_id` integer — The id of the brand this ticket is associated with. See [Setting up multiple brands](https://support.zendesk.com/hc/en-us/articles/4408829476378)
    - `collaborator_ids` integer[] — The ids of users currently CC'ed on the ticket
    - `collaborators` CollaboratorObject[] — POST requests only. Users to add as cc's when creating a ticket. See [Setting Collaborators](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-collaborators)
      - `email` string, email
      - `name` string
    - `comment` object — Write only. An object that adds a comment to the ticket. See [Ticket comments](/api-reference/ticketing/tickets/ticket_comments/). To include an attachment with the comment, see [Attaching files](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#attaching-files). A ticket can contain up to 5000 comments in total, including both public and private comments. Once this limit is reached, any additional attempts to add comments results in a 422 error. The ticket can still be updated in other ways, provided that no new comments are added.
    - `created_at` string, date-time — When this record was created
    - `custom_fields` object[] — Custom fields for the ticket. See [Setting custom field values](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values)
      - `id` integer — The id of the custom field
      - `value` union — The value of the custom field
        - string
        - integer
        - boolean
        - string[]
        - number
    - `custom_status_id` integer — The custom ticket status id of the ticket. See [custom ticket statuses](#custom-ticket-statuses)
    - `description` string — Read-only first comment on the ticket. When [creating a ticket](#create-ticket), use `comment` to set the description. See [Description and first comment](#description-and-first-comment)
    - `due_at` string, date-time, nullable — If this is a ticket of type "task" it has a due date. Due date format uses [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format
    - `email_cc_ids` integer[] — The ids of agents or end users currently CC'ed on the ticket. Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `email_ccs` object — Write only. An array of objects that represents agent or end users email CCs to add or delete from the ticket. See [Setting email CCs](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#setting-email-ccs). Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `external_id` string — An id you can use to link Zendesk Support tickets to local records
    - `follower_ids` integer[] — The ids of agents currently following the ticket. Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `followers` object — Write only. An array of objects that represents agent followers to add or delete from the ticket. See [Setting followers](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#setting-followers). Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `followup_ids` integer[] — The ids of the followups created from this ticket. Ids are only visible once the ticket is closed
    - `forum_topic_id` integer — The topic in the Zendesk Web portal this ticket originated from, if any. The Web portal is deprecated
    - `from_messaging_channel` boolean — If true, the ticket's [via type](/documentation/ticketing/reference-guides/via-object-reference/) is a messaging channel.
    - `generated_timestamp` integer — A Unix timestamp that represents the most accurate reading of when this record was last updated. It is updated for all ticket updates, including system updates
    - `group_id` integer — The group this ticket is assigned to
    - `has_incidents` boolean — Is true if a ticket is a problem type and has one or more incidents linked to it. Otherwise, the value is false.
    - `id` integer — Automatically assigned when the ticket is created
    - `is_public` boolean — Is true if any comments are public, false otherwise
    - `macro_id` integer — Write only. A macro ID to be recorded in the ticket audit
    - `macro_ids` integer[] — POST requests only. List of macro IDs to be recorded in the ticket audit
    - `metadata` object — Write only. Metadata for the audit. In the `audit` object, the data is specified in the `custom` property of the `metadata` object. See [Setting Metadata](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#setting-metadata)
    - `organization_id` integer — The organization of the requester. You can only specify the ID of an organization associated with the requester. See [Organization Memberships](/api-reference/ticketing/organizations/organization_memberships/)
    - `priority` 'urgent' | 'high' | 'normal' | 'low' — The urgency with which the ticket should be addressed
    - `problem_id` integer — For tickets of type "incident", the ID of the problem the incident is linked to
    - `raw_subject` string — The dynamic content placeholder, if present, or the "subject" value, if not. See [Dynamic Content Items](/api-reference/ticketing/ticket-management/dynamic_content/)
    - `recipient` string — The original recipient e-mail address of the ticket. Notification emails for the ticket are sent from this address
    - `requester` object — Write only. See [Creating a ticket with a new requester](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#creating-a-ticket-with-a-new-requester)
    - `requester_id` integer, required — The user who requested this ticket
    - `safe_update` boolean — Write only. Optional boolean. When true and an `update_stamp` date is included, protects against ticket update collisions and returns a message to let you know if one occurs. See [Protecting against ticket update collisions](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#protecting-against-ticket-update-collisions). A value of false has the same effect as true. Omit the property to force the updates to not be safe
    - `satisfaction_rating` object — The satisfaction rating of the ticket, if it exists, or the state of satisfaction, "offered" or "unoffered". The value is null for plan types that don't support CSAT
    - `sharing_agreement_ids` integer[] — The ids of the sharing agreements used for this ticket
    - `status` 'new' | 'open' | 'pending' | 'hold' | 'solved' | 'closed' — The state of the ticket. If your account has activated custom ticket statuses, this is the ticket's status category. See [custom ticket statuses](#custom-ticket-statuses)
    - `subject` string — The value of the subject field for this ticket. See [Subject](/api-reference/ticketing/tickets/tickets/#subject)
    - `submitter_id` integer — The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket
    - `tags` string[] — The array of tags applied to this ticket. Unless otherwise specified, the [set tag](/api-reference/ticketing/ticket-management/tags/#set-tags) behavior is used, which overwrites and replaces existing tags
    - `ticket_form_id` integer — Enterprise only. The id of the ticket form to render for the ticket
    - `type` 'problem' | 'incident' | 'question' | 'task' — The type of this ticket
    - `updated_at` string, date-time — When this record last got updated. It is updated only if the update generates a [ticket event](#incremental-ticket-event-export)
    - `updated_stamp` string — Write only. Datetime of last update received from API. See the `safe_update` property
    - `url` string — The API url of this ticket
    - `via` object — For more information, see the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
      - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
      - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
    - `via_followup_source_id` integer — POST requests only. The id of a closed ticket when creating a follow-up ticket. See [Creating a follow-up ticket](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#creating-a-follow-up-ticket)
    - `via_id` integer — Write only. For more information, see the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference/)
    - `voice_comment` object — Write only. See [Creating voicemail ticket](/api-reference/voice/talk-partner-edition-api/reference/#creating-voicemail-tickets)

## Changes

> 29 revisions in range; 1 not diffed.

- **2026-05-13** `d53eac07ba68` — 1 breaking, 1 info
  - added `#/components/schemas/WebhookEvent` to the `audit/events/items/` response property `oneOf` list for the response status `200`
  - added `WebhookEvent` discriminator mapping keys to the `audit/events/items/` response property for the response status `200`
- **2026-01-27** `3afbc34a07aa` — 4 breaking
  - the `audit/events/items/oneOf[#/components/schemas/OfferedToEvent]/allOf[subschema #2]/skills/items/attribute_id` response's property type/format changed from `integer`/`` to `string`/`uuid` for status `200`
  - the `audit/events/items/oneOf[#/components/schemas/OfferedToEvent]/allOf[subschema #2]/skills/items/id` response's property type/format changed from `integer`/`` to `string`/`uuid` for status `200`
  - the `audit/events/items/oneOf[#/components/schemas/SkillAssignedEvent]/allOf[subschema #2]/attribute_values/items/attribute_id` response's property type/format changed from `integer`/`` to `string`/`uuid` for status `200`
  - the `audit/events/items/oneOf[#/components/schemas/SkillAssignedEvent]/allOf[subschema #2]/attribute_values/items/id` response's property type/format changed from `integer`/`` to `string`/`uuid` for status `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/botbrains-io/apis/support-api/changes/api/v2/tickets/:ticket_id/put.md)

---

[API](https://skmtc.dev/botbrains-io/apis/support-api.md) · [All operations](https://skmtc.dev/botbrains-io/apis/support-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/botbrains-io/support-api/revisions/d53eac07ba68/schema)
