Intercom API (Unstable)

The intercom API reference.

Download OpenAPI description
Languages
Servers
The production API server
https://api.intercom.io/
The european API server
https://api.eu.intercom.io/
The australian API server
https://api.au.intercom.io/

Admins

Everything about your Admins

Operations

AI Content

With the AI Content APIs, you can create and manage External Pages and Content Import Sources for your Fin Content Library.

 

External Pages are pages that you want Fin to be able to answer questions about. The API for External Pages is a great way to ingest into your Fin Content Library pages that are not publicly accessible and hence can't be crawled by Intercom.

 

Content Import Sources are the sources of those pages, and they are used to determine the default audience for the pages (configured via the UI). You should create a Content Import Source for each source of External Pages that you want to ingest into your Fin Content Library.

 

You can then iterate through the content from that source via its API and POST it to the External Pages endpoint. That endpoint has an external_id parameter which allows you to specify the identifier from the source. The endpoint will then either create a new External Page or update an existing one as appropriate.",

Operations

Articles

Everything about your Articles

Operations

Companies

Everything about your Companies

Operations

Contacts

Everything about your contacts

Operations

Conversations

Everything about your Conversations

Operations

Custom Object Instances

Everything about your Custom Object instances.

Operations

Data Attributes

Everything about your Data Attributes

Operations

Data Events

Everything about your Data Events

Operations

Data Export

Everything about your Data Exports

Operations

Help Center

Everything about your Help Center

Operations

Messages

Everything about your messages

Operations

News

Everything about your News

Operations

Notes

Everything about your Notes

Operations

Segments

Everything about your Segments

Operations

Subscription Types

Everything about subscription types

Operations

Switch

Everything about Switch

Operations

Tags

Everything about tags

Operations

Teams

Everything about your Teams

Operations

Ticket States

Everything about your ticket states

Operations

Ticket Type Attributes

Everything about your ticket type attributes

Operations

Create a new attribute for a ticket type

Request

You can create a new attribute for a ticket type.

Path
ticket_type_idstringrequired

The unique identifier for the ticket type 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 Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
Bodyapplication/json
namestringrequired

The name of the ticket type attribute

Example: "Bug Priority"
descriptionstringrequired

The description of the attribute presented to the teammate or contact

Example: "Priority level of the bug"
data_typestringrequired

The data type of the attribute

Enum"string""list""integer""decimal""boolean""datetime""files"
Example: "string"
required_to_createboolean

Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox.

Default false
Example: false
required_to_create_for_contactsboolean

Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger.

Default false
Example: false
visible_on_createboolean

Whether the attribute is visible to teammates when creating a ticket in Inbox.

Default true
Example: true
visible_to_contactsboolean

Whether the attribute is visible to contacts when creating a ticket in Messenger.

Default true
Example: true
multilineboolean

Whether the attribute allows multiple lines of text (only applicable to string attributes)

Example: false
list_itemsstring

A comma delimited list of items for the attribute value (only applicable to list attributes)

Example: "Low Priority,Medium Priority,High Priority"
allow_multiple_valuesboolean

Whether the attribute allows multiple files to be attached to it (only applicable to file attributes)

Example: false
curl -i -X POST \
  'https://api.intercom.io/ticket_types/{ticket_type_id}/attributes' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "name": "Attribute Title",
    "description": "Attribute Description",
    "data_type": "string",
    "required_to_create": false
  }'

Responses

Ticket Type Attribute created

Bodyapplication/json
typestring

String representing the object's type. Always has the value ticket_type_attribute.

Example: "ticket_type_attribute"
idstring

The id representing the ticket type attribute.

Example: "1"
workspace_idstring

The id of the workspace that the ticket type attribute belongs to.

Example: "ecahpwf5"
namestring

The name of the ticket type attribute

Example: "Title"
descriptionstring

The description of the ticket type attribute

Example: "Bug title."
data_typestring

The type of the data attribute (allowed values: "string list integer decimal boolean datetime files")

Example: "string"
input_optionsobject

Input options for the attribute

Example: "multiline: true"
orderinteger

The order of the attribute against other attributes

Example: 1
required_to_createboolean

Whether the attribute is required or not for teammates.

Default false
Example: false
required_to_create_for_contactsboolean

Whether the attribute is required or not for contacts.

Default false
Example: false
visible_on_createboolean

Whether the attribute is visible or not to teammates.

Default true
Example: false
visible_to_contactsboolean

Whether the attribute is visible or not to contacts.

Default true
Example: false
defaultboolean

Whether the attribute is built in or not.

Example: true
ticket_type_idinteger

The id of the ticket type that the attribute belongs to.

Example: 42
archivedboolean

Whether the ticket type attribute is archived or not.

Example: false
created_atinteger(timestamp)

The date and time the ticket type attribute was created.

updated_atinteger(timestamp)

The date and time the ticket type attribute was last updated.

Response
application/json
{ "type": "ticket_type_attribute", "id": "106", "workspace_id": "this_is_an_id640_that_should_be_at_least_", "name": "Attribute Title", "description": "Attribute Description", "data_type": "string", "input_options": { "multiline": false }, "order": 2, "required_to_create": false, "required_to_create_for_contacts": false, "visible_on_create": true, "visible_to_contacts": true, "default": false, "ticket_type_id": 59, "archived": false, "created_at": 1727857320, "updated_at": 1727857320 }

Update an existing attribute for a ticket type

Request

You can update an existing attribute for a ticket type.

Path
ticket_type_idstringrequired

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

idstringrequired

The unique identifier for the ticket type attribute 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 Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
Bodyapplication/json
namestring

The name of the ticket type attribute

Example: "Bug Priority"
descriptionstring

The description of the attribute presented to the teammate or contact

Example: "Priority level of the bug"
required_to_createboolean

Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox.

Default false
Example: false
required_to_create_for_contactsboolean

Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger.

Default false
Example: false
visible_on_createboolean

Whether the attribute is visible to teammates when creating a ticket in Inbox.

Default true
Example: true
visible_to_contactsboolean

Whether the attribute is visible to contacts when creating a ticket in Messenger.

Default true
Example: true
multilineboolean

Whether the attribute allows multiple lines of text (only applicable to string attributes)

Example: false
list_itemsstring

A comma delimited list of items for the attribute value (only applicable to list attributes)

Example: "Low Priority,Medium Priority,High Priority"
allow_multiple_valuesboolean

Whether the attribute allows multiple files to be attached to it (only applicable to file attributes)

Example: false
archivedboolean

Whether the attribute should be archived and not shown during creation of the ticket (it will still be present on previously created tickets)

Example: false
curl -i -X PUT \
  'https://api.intercom.io/ticket_types/{ticket_type_id}/attributes/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "description": "New Attribute Description"
  }'

Responses

Ticket Type Attribute updated

Bodyapplication/json
typestring

String representing the object's type. Always has the value ticket_type_attribute.

Example: "ticket_type_attribute"
idstring

The id representing the ticket type attribute.

Example: "1"
workspace_idstring

The id of the workspace that the ticket type attribute belongs to.

Example: "ecahpwf5"
namestring

The name of the ticket type attribute

Example: "Title"
descriptionstring

The description of the ticket type attribute

Example: "Bug title."
data_typestring

The type of the data attribute (allowed values: "string list integer decimal boolean datetime files")

Example: "string"
input_optionsobject

Input options for the attribute

Example: "multiline: true"
orderinteger

The order of the attribute against other attributes

Example: 1
required_to_createboolean

Whether the attribute is required or not for teammates.

Default false
Example: false
required_to_create_for_contactsboolean

Whether the attribute is required or not for contacts.

Default false
Example: false
visible_on_createboolean

Whether the attribute is visible or not to teammates.

Default true
Example: false
visible_to_contactsboolean

Whether the attribute is visible or not to contacts.

Default true
Example: false
defaultboolean

Whether the attribute is built in or not.

Example: true
ticket_type_idinteger

The id of the ticket type that the attribute belongs to.

Example: 42
archivedboolean

Whether the ticket type attribute is archived or not.

Example: false
created_atinteger(timestamp)

The date and time the ticket type attribute was created.

updated_atinteger(timestamp)

The date and time the ticket type attribute was last updated.

Response
application/json
{ "type": "ticket_type_attribute", "id": "111", "workspace_id": "this_is_an_id644_that_should_be_at_least_", "name": "name", "description": "New Attribute Description", "data_type": "string", "order": 0, "required_to_create": false, "required_to_create_for_contacts": false, "visible_on_create": false, "visible_to_contacts": false, "default": false, "ticket_type_id": 61, "archived": false, "created_at": 1727857322, "updated_at": 1727857322 }

Ticket Types

Everything about your ticket types

Operations

Tickets

Everything about your tickets

Operations

Visitors

Everything about your Visitors

Operations

Models