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

Tag

A tag allows you to label your contacts, companies, and conversations and list them using that tag.

typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

{ "type": "tag", "id": "123456", "name": "Test tag", "applied_at": 1663597223, "applied_by": { "type": "contact", "id": "1a2b3c" } }

List tags attached to a contact

Request

You can fetch a list of all tags that are attached to a specific contact.

Path
contact_idstringrequired

The unique identifier for the contact which is given by Intercom

Example: 63a07ddf05a32042dffac965
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
curl -i -X GET \
  'https://api.intercom.io/contacts/{contact_id}/tags' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of the object

Value"list"
Example: "list"
dataArray of objects(Tag)

A list of tags objects associated with the workspace .

Response
application/json
{ "type": "list", "data": [ { … } ] }

Add tag to a contact

Request

You can tag a specific contact. This will return a tag object for the tag that was added to the contact.

Path
contact_idstringrequired

The unique identifier for the contact which is given by Intercom

Example: 63a07ddf05a32042dffac965
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
idstringrequired

The unique identifier for the tag which is given by Intercom

Example: "7522907"
curl -i -X POST \
  'https://api.intercom.io/contacts/{contact_id}/tags' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "id": 572
  }'

Responses

successful

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "572", "name": "Manual tag" }

Remove tag from a contact

Request

You can remove tag from a specific contact. This will return a tag object for the tag that was removed from the contact.

Path
contact_idstringrequired

The unique identifier for the contact which is given by Intercom

Example: 63a07ddf05a32042dffac965
idstringrequired

The unique identifier for the tag which is given by Intercom

Example: 7522907
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
curl -i -X DELETE \
  'https://api.intercom.io/contacts/{contact_id}/tags/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "575", "name": "Manual tag" }

Add tag to a conversation

Request

You can tag a specific conversation. This will return a tag object for the tag that was added to the conversation.

Path
conversation_idstringrequired

conversation_id

Example: 64619700005694
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
idstringrequired

The unique identifier for the tag which is given by Intercom

Example: "7522907"
admin_idstringrequired

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

Example: "780"
curl -i -X POST \
  'https://api.intercom.io/conversations/{conversation_id}/tags' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "id": 577,
    "admin_id": 991266910
  }'

Responses

successful

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "577", "name": "Manual tag" }

Remove tag from a conversation

Request

You can remove tag from a specific conversation. This will return a tag object for the tag that was removed from the conversation.

Path
conversation_idstringrequired

conversation_id

Example: 64619700005694
idstringrequired

id

Example: 7522907
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
admin_idstringrequired

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

Example: "123"
curl -i -X DELETE \
  'https://api.intercom.io/conversations/{conversation_id}/tags/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "admin_id": 991266914
  }'

Responses

successful

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "580", "name": "Manual tag" }

List all tags

Request

You can fetch a list of all tags for a given workspace.

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
curl -i -X GET \
  https://api.intercom.io/tags \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of the object

Value"list"
Example: "list"
dataArray of objects(Tag)

A list of tags objects associated with the workspace .

Response
application/json
{ "type": "list", "data": [ { … } ] }

Create or update a tag, Tag or untag companies, Tag contacts

Request

You can use this endpoint to perform the following operations:

1. Create a new tag: You can create a new tag by passing in the tag name as specified in "Create or Update Tag Request Payload" described below.

2. Update an existing tag: You can update an existing tag by passing the id of the tag as specified in "Create or Update Tag Request Payload" described below.

3. Tag Companies: You can tag single company or a list of companies. You can tag a company by passing in the tag name and the company details as specified in "Tag Company Request Payload" described below. Also, if the tag doesn't exist then a new one will be created automatically.

4. Untag Companies: You can untag a single company or a list of companies. You can untag a company by passing in the tag id and the company details as specified in "Untag Company Request Payload" described below.

5. Tag Multiple Users: You can tag a list of users. You can tag the users by passing in the tag name and the user details as specified in "Tag Users Request Payload" described below.

Each operation will return a tag object.

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
One of:

You can create or update an existing tag.

namestringrequired

The name of the tag, which will be created if not found, or the new name for the tag if this is an update request. Names are case insensitive.

Example: "Independent"
idstring

The id of tag to updates.

Example: "656452352"
curl -i -X POST \
  https://api.intercom.io/tags \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "name": "test"
  }'

Responses

Action successful

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "596", "name": "test" }

Find a specific tag

Request

You can fetch the details of tags that are on the workspace by their id. This will return a tag object.

Path
idstringrequired

The unique identifier of a given tag

Example: 123
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
curl -i -X GET \
  'https://api.intercom.io/tags/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

Tag found

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "604", "name": "Manual tag" }

Delete tag

Request

You can delete the details of tags that are on the workspace by passing in the id.

Path
idstringrequired

The unique identifier of a given tag

Example: 123
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
curl -i -X DELETE \
  'https://api.intercom.io/tags/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

Successful

Response
application/json
{ "type": "error.list", "request_id": "19c75ddc-8fad-4e45-9461-a42e16801f2e", "errors": [ { … } ] }

Add tag to a ticket

Request

You can tag a specific ticket. This will return a tag object for the tag that was added to the ticket.

Path
ticket_idstringrequired

ticket_id

Example: 64619700005694
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
idstringrequired

The unique identifier for the tag which is given by Intercom

Example: "7522907"
admin_idstringrequired

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

Example: "780"
curl -i -X POST \
  'https://api.intercom.io/tickets/{ticket_id}/tags' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "id": 612,
    "admin_id": 991267242
  }'

Responses

successful

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "612", "name": "Manual tag" }

Remove tag from a ticket

Request

You can remove tag from a specific ticket. This will return a tag object for the tag that was removed from the ticket.

Path
ticket_idstringrequired

ticket_id

Example: 64619700005694
idstringrequired

The unique identifier for the tag which is given by Intercom

Example: 7522907
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
admin_idstringrequired

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

Example: "123"
curl -i -X DELETE \
  'https://api.intercom.io/tickets/{ticket_id}/tags/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "admin_id": 991267257
  }'

Responses

successful

Bodyapplication/json
typestring

value is "tag"

Example: "tag"
idstring

The id of the tag

Example: "123456"
namestring

The name of the tag

Example: "Test tag"
applied_atinteger(date-time)

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)

reference to another object

Response
application/json
{ "type": "tag", "id": "615", "name": "Manual tag" }

Teams

Everything about your Teams

Operations

Ticket States

Everything about your ticket states

Operations

Ticket Type Attributes

Everything about your ticket type attributes

Operations

Ticket Types

Everything about your ticket types

Operations

Tickets

Everything about your tickets

Operations

Visitors

Everything about your Visitors

Operations

Models