Intercom API (2.11)

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

Articles

Everything about your Articles

Operations

Companies

Everything about your Companies

Operations

Company

Companies allow you to represent organizations using your product. Each company will have its own description and be associated with contacts. You can fetch, create, update and list companies.

typestring

Value is company

Value"company"
Example: "company"
idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestringrequired

The name of the company.

Example: "Blue Sun"
app_idstringrequired

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

Example: "ecahpwf5"
planobject
company_idstringrequired

The company id you have defined for the company.

Example: "6"
remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
sizeintegerrequired

The number of employees in the company.

Example: 100
websitestringrequired

The URL for the company website.

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

The industry that the company operates in.

Example: "Software"
monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
session_countintegerrequired

How many sessions the company has recorded.

Example: 100
user_countintegerrequired

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

{ "type": "company", "id": "531ee472cce572a6ec000006", "name": "Blue Sun", "app_id": "ecahpwf5", "plan": { "type": "plan", "id": "269315", "name": "Pro" }, "company_id": "6", "remote_created_at": 1663597223, "created_at": 1663597223, "updated_at": 1663597223, "last_request_at": 1663597223, "size": 100, "website": "https://www.intercom.com", "industry": "Software", "monthly_spend": 100, "session_count": 100, "user_count": 100, "custom_attributes": { "paid_subscriber": true, "monthly_spend": 155.5, "team_mates": 9 }, "tags": { "type": "tag.list", "tags": [ … ] }, "segments": { "type": "segment.list", "segments": [ … ] } }

Create or Update a company

Request

You can create or update a company.

Companies will be only visible in Intercom when there is at least one associated user.

Companies are looked up via company_id in a POST request, if not found via company_id, the new company will be created, if found, that company will be updated.

Using `company_id`

You can set a unique company_id value when creating a company. However, it is not possible to update company_id. Be sure to set a unique value once upon creation of the company.

Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
Bodyapplication/json
namestring

The name of the Company

Example: "Intercom"
company_idstring

The company id you have defined for the company. Can't be updated

Example: "625e90fc55ab113b6d92175f"
planstring

The name of the plan you have associated with the company.

Example: "Enterprise"
sizeinteger

The number of employees in this company.

Example: "100"
websitestring

The URL for this company's website. Please note that the value specified here is not validated. Accepts any string.

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

The industry that this company operates in.

Example: "Manufacturing"
custom_attributesobject

A hash of key/value pairs containing any other data about the company you want Intercom to store.

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

The time the company was created by you.

Example: 1394531169
monthly_spendinteger

How much revenue the company generates for your business. Note that this will truncate floats. i.e. it only allow for whole integers, 155.98 will be truncated to 155. Note that this has an upper limit of 2**31-1 or 2147483647..

Example: 1000
curl -i -X POST \
  https://api.intercom.io/companies \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "company_id": "company_remote_id",
    "name": "my company",
    "remote_created_at": 1374138000
  }'

Responses

Successful

Bodyapplication/json
typestring

Value is company

Value"company"
Example: "company"
idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestringrequired

The name of the company.

Example: "Blue Sun"
app_idstringrequired

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

Example: "ecahpwf5"
planobject
company_idstringrequired

The company id you have defined for the company.

Example: "6"
remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
sizeintegerrequired

The number of employees in the company.

Example: 100
websitestringrequired

The URL for the company website.

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

The industry that the company operates in.

Example: "Software"
monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
session_countintegerrequired

How many sessions the company has recorded.

Example: 100
user_countintegerrequired

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": "company_remote_id", "id": "667d607c8a68186f43bafd1e", "app_id": "this_is_an_id116_that_should_be_at_least_", "name": "my company", "remote_created_at": 1374138000, "created_at": 1719492732, "updated_at": 1719492732, "monthly_spend": 0, "session_count": 0, "user_count": 0, "tags": { "type": "tag.list", "tags": [] }, "segments": { "type": "segment.list", "segments": [] }, "plan": {}, "custom_attributes": { "creation_source": "api" } }

Retrieve companies

Request

You can fetch a single company by passing in company_id or name.

https://api.intercom.io/companies?name={name}

https://api.intercom.io/companies?company_id={company_id}

You can fetch all companies and filter by segment_id or tag_id as a query parameter.

https://api.intercom.io/companies?tag_id={tag_id}

https://api.intercom.io/companies?segment_id={segment_id}

Query
namestring

The name of the company to filter by.

Example: name=my company
company_idstring

The company_id of the company to filter by.

Example: company_id=12345
tag_idstring

The tag_id of the company to filter by.

Example: tag_id=678910
segment_idstring

The segment_id of the company to filter by.

Example: segment_id=98765
pageinteger

The page of results to fetch. Defaults to first page

Example: page=1
per_pageinteger

How many results to display per page. Defaults to 15

Example: per_page=15
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X GET \
  'https://api.intercom.io/companies?company_id=string&name=string&page=0&per_page=0&segment_id=string&tag_id=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of object - list.

Value"list"
Example: "list"
pagesobject(Cursor based pages)

Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.

total_countintegerrequired

The total number of companies.

Example: 100
dataArray of objects(Company)required

An array containing Company Objects.

data[].​typestring

Value is company

Value"company"
Example: "company"
data[].​idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
data[].​namestringrequired

The name of the company.

Example: "Blue Sun"
data[].​app_idstringrequired

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

Example: "ecahpwf5"
data[].​planobject
data[].​company_idstringrequired

The company id you have defined for the company.

Example: "6"
data[].​remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
data[].​created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
data[].​updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
data[].​last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
data[].​sizeintegerrequired

The number of employees in the company.

Example: 100
data[].​websitestringrequired

The URL for the company website.

Example: "https://www.intercom.com"
data[].​industrystringrequired

The industry that the company operates in.

Example: "Software"
data[].​monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
data[].​session_countintegerrequired

How many sessions the company has recorded.

Example: 100
data[].​user_countintegerrequired

The number of users in the company.

Example: 100
data[].​custom_attributesobject

The custom attributes you have set on the company.

Example: {"paid_subscriber":true,"monthly_spend":155.5,"team_mates":9}
data[].​tagsobject

The list of tags associated with the company

data[].​segmentsobject

The list of segments associated with the company

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

Retrieve a company by ID

Request

You can fetch a single company.

Path
company_idstringrequired

The unique identifier for the company which is given by Intercom

Example: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X GET \
  'https://api.intercom.io/companies/{company_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestring

Value is company

Value"company"
Example: "company"
idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestringrequired

The name of the company.

Example: "Blue Sun"
app_idstringrequired

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

Example: "ecahpwf5"
planobject
company_idstringrequired

The company id you have defined for the company.

Example: "6"
remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
sizeintegerrequired

The number of employees in the company.

Example: 100
websitestringrequired

The URL for the company website.

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

The industry that the company operates in.

Example: "Software"
monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
session_countintegerrequired

How many sessions the company has recorded.

Example: 100
user_countintegerrequired

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": "667d60808a68186f43bafd31", "app_id": "this_is_an_id128_that_should_be_at_least_", "name": "company1", "remote_created_at": 1719492736, "created_at": 1719492736, "updated_at": 1719492736, "monthly_spend": 0, "session_count": 0, "user_count": 1, "tags": { "type": "tag.list", "tags": [] }, "segments": { "type": "segment.list", "segments": [] }, "plan": {}, "custom_attributes": {} }

Update a company

Request

You can update a single company using the Intercom provisioned id.

Using `company_id`

When updating a company it is not possible to update company_id. This can only be set once upon creation of the company.

Path
company_idstringrequired

The unique identifier for the company which is given by Intercom

Example: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X PUT \
  'https://api.intercom.io/companies/{company_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestring

Value is company

Value"company"
Example: "company"
idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestringrequired

The name of the company.

Example: "Blue Sun"
app_idstringrequired

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

Example: "ecahpwf5"
planobject
company_idstringrequired

The company id you have defined for the company.

Example: "6"
remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
sizeintegerrequired

The number of employees in the company.

Example: 100
websitestringrequired

The URL for the company website.

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

The industry that the company operates in.

Example: "Software"
monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
session_countintegerrequired

How many sessions the company has recorded.

Example: 100
user_countintegerrequired

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": "667d60828a68186f43bafd3b", "app_id": "this_is_an_id134_that_should_be_at_least_", "name": "company2", "remote_created_at": 1719492738, "created_at": 1719492738, "updated_at": 1719492738, "monthly_spend": 0, "session_count": 0, "user_count": 1, "tags": { "type": "tag.list", "tags": [] }, "segments": { "type": "segment.list", "segments": [] }, "plan": {}, "custom_attributes": {} }

Delete a company

Request

You can delete a single company.

Path
company_idstringrequired

The unique identifier for the company which is given by Intercom

Example: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632
Headers
Intercom-Versionstring(intercom_version)

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

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

Responses

Successful

Bodyapplication/json
idstringrequired

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

Example: "5b7e8b2f-7a1a-4e6c-8e1b-4f9d4f4c4d4f"
objectstringrequired

The type of object which was deleted. - company

Value"company"
Example: "company"
deletedbooleanrequired

Whether the company was deleted successfully or not.

Example: true
Response
application/json
{ "id": "667d60848a68186f43bafd45", "object": "company", "deleted": true }

List attached contacts

Request

You can fetch a list of all contacts that belong to a company.

Path
company_idstringrequired

The unique identifier for the company which is given by Intercom

Example: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632
Query
pageinteger

The page of results to fetch. Defaults to first page

Example: page=1
per_pageinteger

How many results to return per page. Defaults to 15

Example: per_page=15
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X GET \
  'https://api.intercom.io/companies/{company_id}/contacts?page=0&per_page=0' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of object - list

Value"list"
Example: "list"
dataArray of objects(Contact)required

An array containing Contact Objects

data[].​typestring

The type of object.

Example: "contact"
data[].​idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
data[].​external_idstring or nullrequired

The unique identifier for the contact which is provided by the Client.

Example: "f3b87a2e09d514c6c2e79b9a"
data[].​workspace_idstringrequired

The id of the workspace which the contact belongs to.

Example: "ecahpwf5"
data[].​rolestringrequired

The role of the contact.

Example: "user"
data[].​emailstringrequired

The contact's email.

Example: "joe@example.com"
data[].​email_domainstring

The contact's email domain.

Example: "example.com"
data[].​phonestring or nullrequired

The contacts phone.

Example: "+1123456789"
data[].​formatted_phonestring or null

The contacts phone number normalized to the E164 format

Example: "+1123456789"
data[].​namestring or nullrequired

The contacts name.

Example: "John Doe"
data[].​owner_idinteger or nullrequired

The id of an admin that has been assigned account ownership of the contact.

Example: 123
data[].​has_hard_bouncedbooleanrequired

Whether the contact has had an email sent to them hard bounce.

Example: true
data[].​marked_email_as_spambooleanrequired

Whether the contact has marked an email sent to them as spam.

Example: true
data[].​unsubscribed_from_emailsbooleanrequired

Whether the contact is unsubscribed from emails.

Example: true
data[].​created_atinteger(date-time)required

(UNIX timestamp) The time when the contact was created.

Example: 1571672154
data[].​updated_atinteger(date-time)required

(UNIX timestamp) The time when the contact was last updated.

Example: 1571672154
data[].​signed_up_atinteger or null(date-time)required

(UNIX timestamp) The time specified for when a contact signed up.

Example: 1571672154
data[].​last_seen_atinteger or null(date-time)required

(UNIX timestamp) The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually).

Example: 1571672154
data[].​last_replied_atinteger or null(date-time)required

(UNIX timestamp) The time when the contact last messaged in.

Example: 1571672154
data[].​last_contacted_atinteger or null(date-time)required

(UNIX timestamp) The time when the contact was last messaged.

Example: 1571672154
data[].​last_email_opened_atinteger or null(date-time)required

(UNIX timestamp) The time when the contact last opened an email.

Example: 1571672154
data[].​last_email_clicked_atinteger or null(date-time)required

(UNIX timestamp) The time when the contact last clicked a link in an email.

Example: 1571672154
data[].​language_overridestring or nullrequired

A preferred language setting for the contact, used by the Intercom Messenger even if their browser settings change.

Example: "en"
data[].​browserstring or nullrequired

The name of the browser which the contact is using.

Example: "Chrome"
data[].​browser_versionstring or nullrequired

The version of the browser which the contact is using.

Example: "80.0.3987.132"
data[].​browser_languagestring or nullrequired

The language set by the browser which the contact is using.

Example: "en-US"
data[].​osstring or nullrequired

The operating system which the contact is using.

Example: "Mac OS X"
data[].​android_app_namestring or null

The name of the Android app which the contact is using.

Example: "Intercom"
data[].​android_app_versionstring or null

The version of the Android app which the contact is using.

Example: "5.0.0"
data[].​android_devicestring or null

The Android device which the contact is using.

Example: "Pixel 3"
data[].​android_os_versionstring or null

The version of the Android OS which the contact is using.

Example: "10"
data[].​android_sdk_versionstring or null

The version of the Android SDK which the contact is using.

Example: "28"
data[].​android_last_seen_atinteger or null(date-time)

(UNIX timestamp) The time when the contact was last seen on an Android device.

Example: 1571672154
data[].​ios_app_namestring or null

The name of the iOS app which the contact is using.

Example: "Intercom"
data[].​ios_app_versionstring or null

The version of the iOS app which the contact is using.

Example: "5.0.0"
data[].​ios_devicestring or null

The iOS device which the contact is using.

Example: "iPhone 11"
data[].​ios_os_versionstring or null

The version of iOS which the contact is using.

Example: "13.3.1"
data[].​ios_sdk_versionstring or null

The version of the iOS SDK which the contact is using.

Example: "13.3.1"
data[].​ios_last_seen_atinteger or null(date-time)

(UNIX timestamp) The last time the contact used the iOS app.

Example: 1571672154
data[].​custom_attributesobject

The custom attributes which are set for the contact.

data[].​avatarobject or nullrequired
data[].​avatar.​typestring

The type of object

Example: "avatar"
data[].​avatar.​image_urlstring or null(uri)

An image URL containing the avatar of a contact.

Example: "https://example.org/128Wash.jpg"
data[].​tagsobject(Contact Tags)

An object containing tags meta data about the tags that a contact has. Up to 10 will be displayed here. Use the url to get more.

data[].​notesobject(Contact notes)

An object containing notes meta data about the notes that a contact has. Up to 10 will be displayed here. Use the url to get more.

data[].​companiesobject(Contact companies)

An object containing companies meta data about the companies that a contact has. Up to 10 will be displayed here. Use the url to get more.

data[].​locationobject(Contact Location)required

An object containing location metadata about a Intercom contact.

data[].​location.​typestringrequired

Always location

Value"location"
Example: "location"
data[].​location.​countrystring or null

The country that the contact is located in

Example: "Ireland"
data[].​location.​regionstring or null

The overal region that the contact is located in

Example: "Dublin"
data[].​location.​citystring or null

The city that the contact is located in

Example: "Dublin"
data[].​social_profilesobject(Social Profile)required

An object containing social profiles that a contact has.

data[].​social_profiles.​dataArray of objects(Social Profile)required

A list of social profiles objects associated with the contact.

data[].​social_profiles.​data[].​typestringrequired

value is "social_profile"

Example: "social_profile"
data[].​social_profiles.​data[].​namestringrequired

The name of the Social media profile

Example: "Facebook"
data[].​social_profiles.​data[].​urlstring(uri)required

The name of the Social media profile

Example: "http://twitter.com/th1sland"
total_countintegerrequired

The total number of contacts

Example: 100
pagesobject(Cursor based pages)

Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.

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

List attached segments for companies

Request

You can fetch a list of all segments that belong to a company.

Path
company_idstringrequired

The unique identifier for the company which is given by Intercom

Example: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X GET \
  'https://api.intercom.io/companies/{company_id}/segments' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of object - list

Value"list"
Example: "list"
dataArray of objects(Segment)required

An array containing Segment Objects

data[].​typestringrequired

The type of object.

Value"segment"
Example: "segment"
data[].​idstringrequired

The unique identifier representing the segment.

Example: "56203d253cba154d39010062"
data[].​namestringrequired

The name of the segment.

Example: "Active"
data[].​created_atintegerrequired

The time the segment was created.

Example: 1394621988
data[].​updated_atinteger

The time the segment was updated.

Example: 1394622004
data[].​person_typestringrequired

Type of the contact: contact (lead) or user.

Enum"contact""user"
Example: "contact"
data[].​countinteger or null

The number of items in the user segment. It's returned when include_count=true is included in the request.

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

List all companies

Request

You can list companies. The company list is sorted by the last_request_at field and by default is ordered descending, most recently requested first.

Note that the API does not include companies who have no associated users in list responses.

When using the Companies endpoint and the pages object to iterate through the returned companies, there is a limit of 10,000 Companies that can be returned. If you need to list or iterate on more than 10,000 Companies, please use the Scroll API.

Pagination

You can use pagination to limit the number of results returned. The default is 20 results per page. See the pagination section for more details on how to use the starting_after param.

Query
pageinteger

The page of results to fetch. Defaults to first page

Example: page=1
per_pageinteger

How many results to return per page. Defaults to 15

Example: per_page=15
orderstring

asc or desc. Return the companies in ascending or descending order. Defaults to desc

Example: order=desc
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X POST \
  'https://api.intercom.io/companies/list?order=string&page=0&per_page=0' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of object - list.

Value"list"
Example: "list"
pagesobject(Cursor based pages)

Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.

total_countintegerrequired

The total number of companies.

Example: 100
dataArray of objects(Company)required

An array containing Company Objects.

data[].​typestring

Value is company

Value"company"
Example: "company"
data[].​idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
data[].​namestringrequired

The name of the company.

Example: "Blue Sun"
data[].​app_idstringrequired

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

Example: "ecahpwf5"
data[].​planobject
data[].​company_idstringrequired

The company id you have defined for the company.

Example: "6"
data[].​remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
data[].​created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
data[].​updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
data[].​last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
data[].​sizeintegerrequired

The number of employees in the company.

Example: 100
data[].​websitestringrequired

The URL for the company website.

Example: "https://www.intercom.com"
data[].​industrystringrequired

The industry that the company operates in.

Example: "Software"
data[].​monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
data[].​session_countintegerrequired

How many sessions the company has recorded.

Example: 100
data[].​user_countintegerrequired

The number of users in the company.

Example: 100
data[].​custom_attributesobject

The custom attributes you have set on the company.

Example: {"paid_subscriber":true,"monthly_spend":155.5,"team_mates":9}
data[].​tagsobject

The list of tags associated with the company

data[].​segmentsobject

The list of segments associated with the company

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

Scroll over all companies

Request

The list all companies functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. The Scroll API provides an efficient mechanism for iterating over all companies in a dataset.

  • Each app can only have 1 scroll open at a time. You'll get an error message if you try to have more than one open per app.
  • If the scroll isn't used for 1 minute, it expires and calls with that scroll param will fail
  • If the end of the scroll is reached, "companies" will be empty and the scroll parameter will expire
Scroll Parameter

You can get the first page of companies by simply sending a GET request to the scroll endpoint. For subsequent requests you will need to use the scroll parameter from the response.

Scroll network timeouts

Since scroll is often used on large datasets network errors such as timeouts can be encountered. When this occurs you will see a HTTP 500 error with the following message: "Request failed due to an internal network error. Please restart the scroll operation." If this happens, you will need to restart your scroll query: It is not possible to continue from a specific point when using scroll.

Query
scroll_paramstring
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X GET \
  'https://api.intercom.io/companies/scroll?scroll_param=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of object - list

Value"list"
Example: "list"
dataArray of objects(Company)required
data[].​typestring

Value is company

Value"company"
Example: "company"
data[].​idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
data[].​namestringrequired

The name of the company.

Example: "Blue Sun"
data[].​app_idstringrequired

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

Example: "ecahpwf5"
data[].​planobject
data[].​company_idstringrequired

The company id you have defined for the company.

Example: "6"
data[].​remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
data[].​created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
data[].​updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
data[].​last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
data[].​sizeintegerrequired

The number of employees in the company.

Example: 100
data[].​websitestringrequired

The URL for the company website.

Example: "https://www.intercom.com"
data[].​industrystringrequired

The industry that the company operates in.

Example: "Software"
data[].​monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
data[].​session_countintegerrequired

How many sessions the company has recorded.

Example: 100
data[].​user_countintegerrequired

The number of users in the company.

Example: 100
data[].​custom_attributesobject

The custom attributes you have set on the company.

Example: {"paid_subscriber":true,"monthly_spend":155.5,"team_mates":9}
data[].​tagsobject

The list of tags associated with the company

data[].​segmentsobject

The list of segments associated with the company

pagesobject(Cursor based pages)

Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed.

total_countinteger or nullrequired

The total number of companies

Example: 100
scroll_paramstring

The scroll parameter to use in the next request to fetch the next page of results.

Example: "25b649f7-4d33-4ef6-88f5-60e5b8244309"
Response
application/json
{ "type": "list", "data": [ { … } ], "pages": null, "total_count": null, "scroll_param": "12d403b5-dc79-47b5-8ea1-01a5ac8cb6cc" }

Attach a Contact to a Company

Request

You can attach a company to a single contact.

Path
contact_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.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
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/{contact_id}/companies' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "id": "667d608d8a68186f43bafd70"
  }'

Responses

Successful

Bodyapplication/json
typestring

Value is company

Value"company"
Example: "company"
idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestringrequired

The name of the company.

Example: "Blue Sun"
app_idstringrequired

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

Example: "ecahpwf5"
planobject
company_idstringrequired

The company id you have defined for the company.

Example: "6"
remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
sizeintegerrequired

The number of employees in the company.

Example: 100
websitestringrequired

The URL for the company website.

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

The industry that the company operates in.

Example: "Software"
monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
session_countintegerrequired

How many sessions the company has recorded.

Example: 100
user_countintegerrequired

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": "667d608d8a68186f43bafd70", "app_id": "this_is_an_id166_that_should_be_at_least_", "name": "company6", "remote_created_at": 1719492749, "created_at": 1719492749, "updated_at": 1719492749, "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
contact_idstringrequired

The unique identifier for the contact which is given by Intercom

Example: 63a07ddf05a32042dffac965
Query
pageinteger

The page of results to fetch. Defaults to first page

Example: page=1
per_pageinteger

How many results to display per page. Defaults to 15

Example: per_page=15
Headers
Intercom-Versionstring(intercom_version)

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

Default 2.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X GET \
  'https://api.intercom.io/contacts/{contact_id}/companies?page=0&per_page=0' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

The type of object

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

An array containing Company Objects

companies[].​typestring

Value is company

Value"company"
Example: "company"
companies[].​idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
companies[].​namestringrequired

The name of the company.

Example: "Blue Sun"
companies[].​app_idstringrequired

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

Example: "ecahpwf5"
companies[].​planobject
companies[].​company_idstringrequired

The company id you have defined for the company.

Example: "6"
companies[].​remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
companies[].​created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
companies[].​updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
companies[].​last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
companies[].​sizeintegerrequired

The number of employees in the company.

Example: 100
companies[].​websitestringrequired

The URL for the company website.

Example: "https://www.intercom.com"
companies[].​industrystringrequired

The industry that the company operates in.

Example: "Software"
companies[].​monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
companies[].​session_countintegerrequired

How many sessions the company has recorded.

Example: 100
companies[].​user_countintegerrequired

The number of users in the company.

Example: 100
companies[].​custom_attributesobject

The custom attributes you have set on the company.

Example: {"paid_subscriber":true,"monthly_spend":155.5,"team_mates":9}
companies[].​tagsobject

The list of tags associated with the company

companies[].​segmentsobject

The list of segments associated with the company

total_countintegerrequired

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
company_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.11
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.11
curl -i -X DELETE \
  'https://api.intercom.io/contacts/{contact_id}/companies/{company_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestring

Value is company

Value"company"
Example: "company"
idstringrequired

The Intercom defined id representing the company.

Example: "531ee472cce572a6ec000006"
namestringrequired

The name of the company.

Example: "Blue Sun"
app_idstringrequired

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

Example: "ecahpwf5"
planobject
company_idstringrequired

The company id you have defined for the company.

Example: "6"
remote_created_atintegerrequired

The time the company was created by you.

Example: 1663597223
created_atintegerrequired

The time the company was added in Intercom.

Example: 1663597223
updated_atintegerrequired

The last time the company was updated.

Example: 1663597223
last_request_atintegerrequired

The time the company last recorded making a request.

Example: 1663597223
sizeintegerrequired

The number of employees in the company.

Example: 100
websitestringrequired

The URL for the company website.

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

The industry that the company operates in.

Example: "Software"
monthly_spendintegerrequired

How much revenue the company generates for your business.

Example: 100
session_countintegerrequired

How many sessions the company has recorded.

Example: 100
user_countintegerrequired

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": "667d60918a68186f43bafd80", "app_id": "this_is_an_id174_that_should_be_at_least_", "name": "company8", "remote_created_at": 1719492753, "created_at": 1719492753, "updated_at": 1719492753, "monthly_spend": 0, "session_count": 0, "user_count": 0, "tags": { "type": "tag.list", "tags": [] }, "segments": { "type": "segment.list", "segments": [] }, "plan": {}, "custom_attributes": {} }

Contacts

Everything about your contacts

Operations

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 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