PUT/tickets/{ticket_id}

Update a ticket

Updates an existing ticket's attributes, state, company, visibility, assignment, or open and snoozed status. Supply only the ticket properties you want to change, and use skip_notifications to control update notifications. A successful response returns the updated ticket.

2 parameters · 9 body fields
ticket_idstringrequired
The ticket's unique internal API identifier. Use the ticket object's `id`, not the `ticket_id` shown in the Inbox.
Intercom-Versionstringoptional
The Intercom API version to use. Defaults to 2.17 when omitted.
Allowed:1.01.11.21.31.42.02.12.22.32.42.52.6Default:2.17

Ticket properties to update. All listed fields are optional.

skip_notificationsbooleanoptional
Option to disable notifications when a Ticket is updated.
ticket_attributesobjectoptional
The attributes set on the ticket.
ticket_state_idstringoptional
The ID of the ticket state associated with the ticket type.
company_idstringoptional
The ID of the company that the ticket is associated with. The unique identifier for the company which is given by Intercom. Set to nil to remove company.
openbooleanoptional
Specify if a ticket is open. Set to false to close a ticket. Closing a ticket will also unsnooze it.
is_sharedbooleanoptional
Specify whether the ticket is visible to users.
snoozed_untilintegeroptional
The time you want the ticket to reopen.
admin_idintegeroptional
The ID of the admin performing ticket update. Needed for workflows execution and attributing actions to specific admins.
assignee_idstringoptional
The ID of the admin or team to which the ticket is assigned. Set this 0 to unassign it.

4 status codes
200Returns the updated ticket object, including its attributes, state, type, contacts, and assignment details.
typestringoptional
Always ticket
Allowed:ticketDefault:ticket
idstringoptional
The unique identifier for the ticket which is given by Intercom.
ticket_idstringoptional
The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries.
categorystringoptional
Category of the Ticket.
Allowed:CustomerBack-officeTracker
channelstringoptional
The channel the ticket was created through. Defaults to messenger when no channel is specified at creation.
ticket_attributesobjectoptional
An object containing the different attributes associated to the ticket as key-value pairs. For the default title and description attributes, the keys are `_default_title_` and `_default_description_`.
ticket_stateobjectoptional
A ticket state, used to define the state of a ticket.
ticket_typeobjectoptional
A ticket type, used to define the data fields to be captured in a ticket.
contactsobjectoptional
The list of contacts affected by a ticket.
admin_assignee_idintegeroptional
The id representing the admin assigned to the ticket. If it's not assigned to an admin it will return 0.
team_assignee_idintegeroptional
The id representing the team assigned to the ticket. If it's not assigned to a team it will return 0.
created_atintegeroptional
The time the ticket was created as a UTC Unix timestamp.
updated_atintegeroptional
The last time the ticket was updated as a UTC Unix timestamp.
openbooleanoptional
Whether or not the ticket is open. If false, the ticket is closed.
snoozed_untilintegeroptional
The time the ticket will be snoozed until as a UTC Unix timestamp. If null, the ticket is not currently snoozed.
linked_objectsobjectoptional
An object containing metadata about linked conversations and linked tickets. Up to 1000 can be returned.
ticket_partsobjectoptional
A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.
is_sharedbooleanoptional
Whether or not the ticket is shared with the customer.
previous_ticket_state_idstringoptional
The ID of the previous ticket state from the most recent state change. Returns null if no state change history exists. Useful for tracking state transitions for reporting and compliance.
400Returned when the ticket state ID is invalid or is not associated with the ticket type.

One documented failure

  • ticket_state_id_invalid

    Ticket state id is not valid or is not associated with the ticket type

401Returned when the request is unauthorized.

One documented failure

  • unauthorized

    Access Token Invalid

typestringrequired
The type is error.list
request_idstringoptional
errorsarray<object>required
An array of one or more error objects
404Returned when the assignee cannot be found.

One documented failure

  • assignee_not_found

    Assignee not found

Error handling

A 400 is returned when ticket_state_id is invalid or is not associated with the ticket type. A 401 is returned when the request is unauthorized, and a 404 is returned when the assignee cannot be found. The ticket_id path parameter must be the ticket's internal API identifier, not its Inbox ID.