POST/tickets/{ticket_id}/change_type

Change a ticket's type

Changes a ticket to a different ticket type and sets a state for that type. The new ticket type must be in the same category as the current type, and matching attributes transfer automatically. Values supplied in ticket_attributes override transferred values.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

2 parameters · 3 body fields
ticket_idstringrequired
The unique identifier of the ticket to change.
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

The new ticket type and state, with optional attribute values for the ticket.

ticket_type_idstringrequired
The ID of the new ticket type. Must be in the same category as the current type.
ticket_state_idstringrequired
The ID of the ticket state for the new ticket type.
ticket_attributesobjectoptional
The attributes to set on the ticket for the new type. Attributes matching by name and type are transferred automatically from the old type; values provided here override the transferred values.

4 status codes
200Returns the updated ticket object, including its new type, state, and attributes.
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 request is invalid, including when the ticket type is not in the same category as the current type.

2 documented failures

  • parameter_not_found

    ticket_type_id is a required parameter

  • parameter_invalid

    Cannot change to the same ticket type

typestringrequired
The type is error.list
request_idstringoptional
errorsarray<object>required
An array of one or more error objects
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 ticket is not found.

One documented failure

  • not_found

    Resource Not Found

typestringrequired
The type is error.list
request_idstringoptional
errorsarray<object>required
An array of one or more error objects

Error handling

A 400 is returned when the request is invalid, including when the new ticket type is not in the same category as the current type. A 401 is returned when the request is unauthorized, and a 404 is returned when the ticket is not found. Include both required body fields, ticket_type_id and ticket_state_id; the ticket_id path parameter must identify the ticket to change.