POST/tickets

Create a ticket

Creates a ticket using a ticket type and one or more affected contacts. Supply ticket_type_id and contacts; you can also provide ticket attributes, assignment details, or a conversation to link. A 200 response returns the created ticket and its current state.

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

1 parameter · 9 body fields
Intercom-Versionstringoptional
The 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 details to create. ticket_type_id and contacts are required; contacts currently allows only one contact.

skip_notificationsbooleanoptional
Option to disable notifications when a Ticket is created.
ticket_type_idstringrequired
The ID of the type of ticket you want to create
contactsarray<ID>required
The list of contacts (users or leads) affected by this ticket. Currently only one is allowed
conversation_to_link_idstringoptional
The ID of the conversation you want to link to the ticket. Here are the valid ways of linking two tickets: - conversation | back-office ticket - customer tickets | non-shared back-office ticket - conversation | tracker ticket - customer ticket | tracker ticket
company_idstringoptional
The ID of the company that the ticket is associated with. The unique identifier for the company which is given by Intercom
created_atintegeroptional
The time the ticket was created. If not provided, the current time will be used.
ticket_attributesobjectoptional
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](ref:get_ticket-types). 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`).
assignmentobjectoptional
Assignment details for the ticket, including an admin assignee ID or team assignee ID.
channelstringoptional
The channel for the ticket. Only supported for customer ticket types. Defaults to messenger if not provided.
Allowed:email

2 status codes
200Returns the created ticket, including its identifier, ticket type, contacts, attributes, assignment, state, and timestamps.
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.
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

Error handling

A 401 is returned when the request is unauthorized. ticket_type_id and contacts are required, and contacts currently accepts only one contact. If provided, channel must be email; it is supported only for customer ticket types.