Skip to content

Change ticket type

Request

You can change the type of a ticket. The new ticket type must be in the same category as the current type. Attributes matching by name and type are automatically transferred from the old type; values provided in ticket_attributes override transferred values.

Security
bearerAuth
Path
ticket_idstringrequired

The unique identifier for the ticket which is given by Intercom.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default:"2.16"
Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.16
Bodyapplication/json
ticket_type_idstringrequired

The ID of the new ticket type. Must be in the same category as the current type.

Example:"1234"
ticket_state_idstringrequired

The ID of the ticket state for the new ticket type.

Example:"5678"
ticket_attributesobject

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.

Example:
{ "_default_title_": "example", "_default_description_": "having a problem" }
curl -i -X POST \
  'https://api.intercom.io/tickets/{ticket_id}/change_type' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.16' \
  -d '{
    "ticket_type_id": "1234",
    "ticket_state_id": "5678"
  }'

Responses

Successful response

Bodyapplication/json
typestring

Always ticket

Default:"ticket"
Value:"ticket"
Example:"ticket"
idstring

The unique identifier for the ticket which is given by Intercom.

Example:"1295"
ticket_idstring

The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries.

Example:"1390"
categorystring

Category of the Ticket.

Enum:"Customer""Back-office""Tracker"
Example:"Customer"
ticket_attributesobject(Ticket Attributes)

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_.

Example:
{ "_default_title_": "Found a bug", "_default_description_": "The button's not working" }
ticket_stateobject or null(Ticket State)

A ticket state, used to define the state of a ticket.

ticket_typeobject or null(Ticket Type)

A ticket type, used to define the data fields to be captured in a ticket.

contactsobject(Contacts)

The list of contacts affected by a ticket.

admin_assignee_idinteger

The id representing the admin assigned to the ticket. If it's not assigned to an admin it will return 0.

Example:1295
team_assignee_idinteger

The id representing the team assigned to the ticket. If it's not assigned to a team it will return 0.

Example:1295
created_atinteger, (date-time)

The time the ticket was created as a UTC Unix timestamp.

Example:1663597223
updated_atinteger, (date-time)

The last time the ticket was updated as a UTC Unix timestamp.

Example:1663597260
openboolean

Whether or not the ticket is open. If false, the ticket is closed.

Example:true
snoozed_untilinteger, (date-time)

The time the ticket will be snoozed until as a UTC Unix timestamp. If null, the ticket is not currently snoozed.

Example:1663597260
linked_objectsobject(Linked Objects)

An object containing metadata about linked conversations and linked tickets. Up to 1000 can be returned.

ticket_partsobject(Ticket Parts)

A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.

is_sharedboolean

Whether or not the ticket is shared with the customer.

Example:true
previous_ticket_state_idstring or null

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.

Example:"7493"
Response
{ "type": "ticket", "id": "494", "ticket_id": "53", "ticket_attributes": { "_default_title_": "example", "_default_description_": "having a problem" }, "ticket_state": "submitted", "ticket_type": { "type": "ticket_type", "id": "1234", "name": "my-new-ticket-type", "description": "my ticket type description is awesome.", "icon": "🦁", "workspace_id": "this_is_an_id664_that_should_be_at_least_", "archived": false, "created_at": 1719493065, "updated_at": 1719493065, "is_internal": false, "ticket_type_attributes": {}, "category": "Back-office" }, "contacts": { "type": "contact.list", "contacts": [] }, "admin_assignee_id": 0, "team_assignee_id": 0, "created_at": 1719493065, "updated_at": 1719493068, "ticket_parts": { "type": "ticket_part.list", "ticket_parts": [], "total_count": 1 }, "open": true, "linked_objects": { "type": "list", "data": [], "total_count": 0, "has_more": false }, "category": "Back-office", "is_shared": false, "ticket_state_internal_label": "Submitted", "ticket_state_external_label": "Submitted" }