The intercom API reference.
The intercom API reference.
Tickets are how you track requests from your users.
The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries.
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_
.
The state the ticket is currenly in
The state the ticket is currently in, in a human readable form - visible in Intercom
The state the ticket is currently in, in a human readable form - visible to customers, in the messenger, email and tickets portal.
A ticket type, used to define the data fields to be captured in a ticket.
The time the ticket was created as a UTC Unix timestamp.
The last time the ticket was updated as a UTC Unix timestamp.
A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.
{ "type": "ticket", "id": "1295", "ticket_id": "1390", "ticket_attributes": { "_default_title_": "Found a bug", "_default_description_": "The button's not working" }, "ticket_state": "submitted", "ticket_state_internal_label": "string", "ticket_state_external_label": "string", "ticket_type": { "type": "ticket_type", "id": "1295", "name": "Bug", "description": "A bug that has been reported.", "icon": "🐞", "workspace_id": "ecahpwf5", "ticket_type_attributes": { … }, "archived": false, "created_at": 0, "updated_at": 0 }, "contacts": { "type": "contact.list", "contacts": [ … ] }, "admin_assignee_id": "1295", "team_assignee_id": "1295", "created_at": 1663597223, "updated_at": 1663597260, "ticket_parts": { "type": "ticket_part.list", "ticket_parts": [ … ], "total_count": 2 }, "is_shared": true }
A Ticket Part represents a message in the ticket.
The previous state of the ticket.
The state of the ticket.
The author that wrote or triggered the part. Can be a bot, admin, team or user.
{ "type": "ticket_part", "id": "3", "part_type": "comment", "body": "<p>Okay!</p>", "previous_ticket_state": "submitted", "ticket_state": "submitted", "created_at": 1663597223, "updated_at": 1663597260, "assigned_to": { "type": "contact", "id": "1a2b3c" }, "author": { "type": "admin", "id": "274", "name": "Operator", "email": "operator+abcd1234@intercom.io" }, "attachments": [ { … } ], "external_id": "abcd1234", "redacted": false }
A ticket type, used to define the data fields to be captured in a ticket.
String representing the object's type. Always has the value ticket_type
.
A list of attributes associated with a given ticket type.
{ "type": "ticket_type", "id": "1295", "name": "Bug", "description": "A bug that has been reported.", "icon": "🐞", "workspace_id": "ecahpwf5", "ticket_type_attributes": { "type": "string", "ticket_type_attributes": [ … ] }, "archived": false, "created_at": 0, "updated_at": 0 }
The type of the reply. Only note
is supported at the moment.
curl -i -X POST \
'https://api.intercom.io/tickets/{id}/reply' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: 2.9' \
-d '{
"message_type": "note",
"type": "admin",
"admin_id": 991267687,
"body": "<html> <body> <h2>An Unordered HTML List</h2> <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul> <h2>An Ordered HTML List</h2> <ol> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol> </body> </html>"
}'
{ "type": "ticket_part", "id": "98", "part_type": "note", "body": "<h2>An Unordered HTML List</h2>\n<ul>\n<li>Coffee</li>\n<li>Tea</li>\n<li>Milk</li>\n</ul>\n<h2>An Ordered HTML List</h2>\n<ol>\n<li>Coffee</li>\n<li>Tea</li>\n<li>Milk</li>\n</ol>", "created_at": 1717021664, "updated_at": 1717021664, "author": { "id": "991267687", "type": "admin", "name": "Ciaran382 Lee", "email": "admin382@email.com" }, "attachments": [], "redacted": false }
The list of contacts (users or leads) affected by this ticket. Currently only one is allowed
The ID of the company that the ticket is associated with. The ID that you set upon company creation.
The attributes set on the ticket. When setting the default title and description attributes, the attribute keys that should be used are _default_title_
and _default_description_
. When setting ticket type attributes of the list attribute type, the key should be the attribute name and the value of the attribute should be the list item id, obtainable by listing the ticket type. For example, if the ticket type has an attribute called priority
of type list
, the key should be priority
and the value of the attribute should be the guid of the list item (e.g. de1825a0-0164-4070-8ca6-13e22462fa7e
).
curl -i -X POST \
https://api.intercom.io/tickets \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: 2.9' \
-d '{
"ticket_type_id": 69,
"contacts": [
{
"id": "6657abe46abd0164c24b0df2"
}
],
"ticket_attributes": {
"_default_title_": "example",
"_default_description_": "there is a problem"
}
}'
Successful response
The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries.
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_
.
The state the ticket is currenly in
The state the ticket is currently in, in a human readable form - visible in Intercom
The state the ticket is currently in, in a human readable form - visible to customers, in the messenger, email and tickets portal.
A ticket type, used to define the data fields to be captured in a ticket.
The time the ticket was created as a UTC Unix timestamp.
The last time the ticket was updated as a UTC Unix timestamp.
A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.
{ "type": "ticket", "id": "446", "ticket_attributes": { "_default_title_": "example", "_default_description_": "there is a problem" }, "ticket_state": "submitted", "ticket_state_internal_label": "Submitted", "ticket_state_external_label": "Submitted", "ticket_type": { "type": "ticket_type", "id": "69", "name": "my-ticket-type-6", "description": "my ticket type description is awesome.", "icon": "🦁", "workspace_id": "this_is_an_id643_that_should_be_at_least_", "archived": false, "created_at": 1717021667, "updated_at": 1717021667, "is_internal": false, "ticket_type_attributes": { … } }, "contacts": { "type": "contact.list", "contacts": [ … ] }, "admin_assignee_id": "0", "team_assignee_id": "0", "created_at": 1717021669, "updated_at": 1717021669, "ticket_parts": { "type": "ticket_part.list", "ticket_parts": [ … ], "total_count": 1 } }
The attributes set on the ticket.
The state of the ticket.
curl -i -X PUT \
'https://api.intercom.io/tickets/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: 2.9' \
-d '{
"ticket_attributes": {
"_default_title_": "example",
"_default_description_": "there is a problem"
},
"state": "in_progress",
"assignment": {
"admin_id": "991267719",
"assignee_id": "991267721"
},
"open": true,
"snoozed_until": 1673609604
}'
Successful response
The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries.
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_
.
The state the ticket is currenly in
The state the ticket is currently in, in a human readable form - visible in Intercom
The state the ticket is currently in, in a human readable form - visible to customers, in the messenger, email and tickets portal.
A ticket type, used to define the data fields to be captured in a ticket.
The time the ticket was created as a UTC Unix timestamp.
The last time the ticket was updated as a UTC Unix timestamp.
A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.
{ "type": "ticket", "id": "447", "ticket_attributes": { "_default_title_": "example", "_default_description_": "there is a problem" }, "ticket_state": "in_progress", "ticket_state_internal_label": "In progress", "ticket_state_external_label": "In progress", "ticket_type": { "type": "ticket_type", "id": "71", "name": "my-ticket-type-8", "description": "my ticket type description is awesome.", "icon": "🦁", "workspace_id": "this_is_an_id647_that_should_be_at_least_", "archived": false, "created_at": 1717021671, "updated_at": 1717021671, "is_internal": false, "ticket_type_attributes": { … } }, "contacts": { "type": "contact.list", "contacts": [ … ] }, "admin_assignee_id": "991267721", "team_assignee_id": "0", "created_at": 1717021672, "updated_at": 1717021674, "ticket_parts": { "type": "ticket_part.list", "ticket_parts": [ … ], "total_count": 5 } }
curl -i -X GET \
'https://api.intercom.io/tickets/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: 2.9'
Ticket found
The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries.
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_
.
The state the ticket is currenly in
The state the ticket is currently in, in a human readable form - visible in Intercom
The state the ticket is currently in, in a human readable form - visible to customers, in the messenger, email and tickets portal.
A ticket type, used to define the data fields to be captured in a ticket.
The time the ticket was created as a UTC Unix timestamp.
The last time the ticket was updated as a UTC Unix timestamp.
A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts.
{ "type": "ticket", "id": "450", "ticket_attributes": { "_default_title_": "attribute_value", "_default_description_": null }, "ticket_state": "submitted", "ticket_state_internal_label": "Submitted", "ticket_state_external_label": "Submitted", "ticket_type": { "type": "ticket_type", "id": "75", "name": "my-ticket-type-12", "description": "my ticket type description is awesome.", "icon": "🦁", "workspace_id": "this_is_an_id655_that_should_be_at_least_", "archived": false, "created_at": 1717021681, "updated_at": 1717021681, "is_internal": false, "ticket_type_attributes": { … } }, "contacts": { "type": "contact.list", "contacts": [ … ] }, "admin_assignee_id": "0", "team_assignee_id": "0", "created_at": 1717021682, "updated_at": 1717021682, "ticket_parts": { "type": "ticket_part.list", "ticket_parts": [ … ], "total_count": 1 } }