Skip to content

Update a ticket

Request

You can update a ticket.

Security
bearerAuth
Path
ticket_idstringrequired

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

Not the Inbox ticket ID

This is the internal id field from the API response, not the ticket_id displayed in the Intercom Inbox (e.g., #12345). Use the id value from the ticket object returned by the API.

Headers
Intercom-Versionstring(intercom_version)

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

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

The attributes set on the ticket.

Example:
{ "_default_title_": "example", "_default_description_": "having a problem" }
ticket_state_idstring

The ID of the ticket state associated with the ticket type.

Example:"123"
company_idstring

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.

Example:"5f4d3c1c-7b1b-4d7d-a97e-6095715c6632"
openboolean

Specify if a ticket is open. Set to false to close a ticket. Closing a ticket will also unsnooze it.

Example:true
is_sharedboolean

Specify whether the ticket is visible to users.

Example:true
snoozed_untilinteger, (timestamp)

The time you want the ticket to reopen.

Example:1673609604
admin_idinteger

The ID of the admin performing ticket update. Needed for workflows execution and attributing actions to specific admins.

Example:123
assignee_idstring

The ID of the admin or team to which the ticket is assigned. Set this 0 to unassign it.

Example:"123"
skip_notificationsboolean

Option to disable notifications when a Ticket is updated.

Example:true
curl -i -X PUT \
  'https://api.intercom.io/tickets/{ticket_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.15' \
  -d '{
    "ticket_attributes": {
      "_default_title_": "example",
      "_default_description_": "there is a problem"
    },
    "admin_id": 991268011,
    "assignee_id": 991268013,
    "open": true,
    "snoozed_until": 1673609604,
    "ticket_state_id": 8498
  }'

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_idstring

The id representing the admin assigned to the ticket.

Example:"1295"
team_assignee_idstring

The id representing the team assigned to the ticket.

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
Response
{ "type": "ticket", "id": "627", "ticket_id": "34", "ticket_attributes": { "_default_title_": "example", "_default_description_": "there is a problem" }, "ticket_state": { "type": "ticket_state", "id": "8498", "category": "in_progress", "internal_label": "In progress", "external_label": "In progress" }, "ticket_type": { "type": "ticket_type", "id": "90", "name": "my-ticket-type-25", "description": "my ticket type description is awesome.", "icon": "🦁", "workspace_id": "this_is_an_id692_that_should_be_at_least_", "archived": false, "created_at": 1734537948, "updated_at": 1734537948, "is_internal": false, "ticket_type_attributes": {}, "category": "Back-office" }, "contacts": { "type": "contact.list", "contacts": [] }, "admin_assignee_id": "991268013", "team_assignee_id": "0", "created_at": 1734537950, "updated_at": 1734537955, "ticket_parts": { "type": "ticket_part.list", "ticket_parts": [], "total_count": 6 }, "open": true, "snoozed_until": 1734627600, "linked_objects": { "type": "list", "data": [], "total_count": 0, "has_more": false }, "category": "Back-office", "is_shared": false }