Intercom API (2.12)

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

Attach a Contact to a Company

Request

You can attach a company to a single contact.

Path
idstringrequired

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

The unique identifier for the company which is given by Intercom

Example: "58a430d35458202d41b1e65b"
curl -i -X POST \
  'https://api.intercom.io/contacts/{id}/companies' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.12' \
  -d '{
    "id": "677c55186abd011ad17ff4a3"
  }'

Responses

Successful

Bodyapplication/json
typestring

Value is company

Value"company"
Example: "company"
idstring

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestring

The name of the company.

Example: "Blue Sun"
app_idstring

The Intercom defined code of the workspace the company is associated to.

Example: "ecahpwf5"
planobject
company_idstring

The company id you have defined for the company.

Example: "6"
remote_created_atinteger

The time the company was created by you.

Example: 1663597223
created_atinteger

The time the company was added in Intercom.

Example: 1663597223
updated_atinteger

The last time the company was updated.

Example: 1663597223
last_request_atinteger

The time the company last recorded making a request.

Example: 1663597223
sizeinteger

The number of employees in the company.

Example: 100
websitestring

The URL for the company website.

Example: "https://www.intercom.com"
industrystring

The industry that the company operates in.

Example: "Software"
monthly_spendinteger

How much revenue the company generates for your business.

Example: 100
session_countinteger

How many sessions the company has recorded.

Example: 100
user_countinteger

The number of users in the company.

Example: 100
custom_attributesobject

The custom attributes you have set on the company.

Example: {"paid_subscriber":true,"monthly_spend":155.5,"team_mates":9}
tagsobject

The list of tags associated with the company

segmentsobject

The list of segments associated with the company

Response
application/json
{ "type": "company", "company_id": "1", "id": "677c55186abd011ad17ff4a3", "app_id": "this_is_an_id197_that_should_be_at_least_", "name": "company6", "remote_created_at": 1736201496, "created_at": 1736201496, "updated_at": 1736201496, "monthly_spend": 0, "session_count": 0, "user_count": 1, "tags": { "type": "tag.list", "tags": [] }, "segments": { "type": "segment.list", "segments": [] }, "plan": {}, "custom_attributes": {} }

List attached companies for contact

Request

You can fetch a list of companies that are associated to a contact.

Path
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 2.12
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.12
curl -i -X GET \
  https://api.intercom.io/contacts/63a07ddf05a32042dffac965/companies \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.12'

Responses

successful

Bodyapplication/json
typestring

The type of object

Value"list"
Example: "list"
companiesArray of objects(Company)

An array containing Company Objects

total_countinteger

The total number of companies associated to this contact

Example: 100
pagesobject(Pagination Object)

The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests.

Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows.

Response
application/json
{ "type": "list", "data": [ { … } ], "pages": { "type": "pages", "next": null, "page": 1, "per_page": 50, "total_pages": 1 }, "total_count": 1 }

Detach a contact from a company

Request

You can detach a company from a single contact.

Path
contact_idstringrequired

The unique identifier for the contact which is given by Intercom

Example: 58a430d35458202d41b1e65b
idstringrequired

The unique identifier for the company which is given by Intercom

Example: 58a430d35458202d41b1e65b
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.12
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.12
curl -i -X DELETE \
  https://api.intercom.io/contacts/58a430d35458202d41b1e65b/companies/58a430d35458202d41b1e65b \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.12'

Responses

Successful

Bodyapplication/json
typestring

Value is company

Value"company"
Example: "company"
idstring

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestring

The name of the company.

Example: "Blue Sun"
app_idstring

The Intercom defined code of the workspace the company is associated to.

Example: "ecahpwf5"
planobject
company_idstring

The company id you have defined for the company.

Example: "6"
remote_created_atinteger

The time the company was created by you.

Example: 1663597223
created_atinteger

The time the company was added in Intercom.

Example: 1663597223
updated_atinteger

The last time the company was updated.

Example: 1663597223
last_request_atinteger

The time the company last recorded making a request.

Example: 1663597223
sizeinteger

The number of employees in the company.

Example: 100
websitestring

The URL for the company website.

Example: "https://www.intercom.com"
industrystring

The industry that the company operates in.

Example: "Software"
monthly_spendinteger

How much revenue the company generates for your business.

Example: 100
session_countinteger

How many sessions the company has recorded.

Example: 100
user_countinteger

The number of users in the company.

Example: 100
custom_attributesobject

The custom attributes you have set on the company.

Example: {"paid_subscriber":true,"monthly_spend":155.5,"team_mates":9}
tagsobject

The list of tags associated with the company

segmentsobject

The list of segments associated with the company

Response
application/json
{ "type": "company", "company_id": "1", "id": "677c551e6abd011ad17ff4b3", "app_id": "this_is_an_id205_that_should_be_at_least_", "name": "company8", "remote_created_at": 1736201502, "created_at": 1736201502, "updated_at": 1736201502, "monthly_spend": 0, "session_count": 0, "user_count": 0, "tags": { "type": "tag.list", "tags": [] }, "segments": { "type": "segment.list", "segments": [] }, "plan": {}, "custom_attributes": {} }

Conversations

Everything about your Conversations

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

Ticket Types

Everything about your ticket types

Operations

Tickets

Everything about your tickets

Operations

Visitors

Everything about your Visitors

Operations

Models