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

Contacts

Everything about your contacts

Operations

Contact

Contact are the objects that represent your leads and users in Intercom.

typestring

The type of object.

Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or nullrequired

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

Example: "f3b87a2e09d514c6c2e79b9a"
workspace_idstringrequired

The id of the workspace which the contact belongs to.

Example: "ecahpwf5"
rolestringrequired

The role of the contact.

Example: "user"
emailstringrequired

The contact's email.

Example: "joe@example.com"
email_domainstring

The contact's email domain.

Example: "example.com"
phonestring or nullrequired

The contacts phone.

Example: "+1123456789"
formatted_phonestring or null

The contacts phone number normalized to the E164 format

Example: "+1123456789"
namestring or nullrequired

The contacts name.

Example: "John Doe"
owner_idinteger or nullrequired

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

Example: 123
has_hard_bouncedbooleanrequired

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

Example: true
marked_email_as_spambooleanrequired

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

Example: true
unsubscribed_from_emailsbooleanrequired

Whether the contact is unsubscribed from emails.

Example: true
created_atinteger(date-time)required

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

Example: 1571672154
updated_atinteger(date-time)required

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

Example: 1571672154
signed_up_atinteger or null(date-time)required

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

Example: 1571672154
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
last_replied_atinteger or null(date-time)required

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

Example: 1571672154
last_contacted_atinteger or null(date-time)required

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

Example: 1571672154
last_email_opened_atinteger or null(date-time)required

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

Example: 1571672154
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
language_overridestring or nullrequired

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

Example: "en"
browserstring or nullrequired

The name of the browser which the contact is using.

Example: "Chrome"
browser_versionstring or nullrequired

The version of the browser which the contact is using.

Example: "80.0.3987.132"
browser_languagestring or nullrequired

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

Example: "en-US"
osstring or nullrequired

The operating system which the contact is using.

Example: "Mac OS X"
android_app_namestring or null

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

Example: "Intercom"
android_app_versionstring or null

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

Example: "5.0.0"
android_devicestring or null

The Android device which the contact is using.

Example: "Pixel 3"
android_os_versionstring or null

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

Example: "10"
android_sdk_versionstring or null

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

Example: "28"
android_last_seen_atinteger or null(date-time)

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

Example: 1571672154
ios_app_namestring or null

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

Example: "Intercom"
ios_app_versionstring or null

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

Example: "5.0.0"
ios_devicestring or null

The iOS device which the contact is using.

Example: "iPhone 11"
ios_os_versionstring or null

The version of iOS which the contact is using.

Example: "13.3.1"
ios_sdk_versionstring or null

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

Example: "13.3.1"
ios_last_seen_atinteger or null(date-time)

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

Example: 1571672154
custom_attributesobject

The custom attributes which are set for the contact.

avatarobject or nullrequired
avatar.​typestring

The type of object

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

An image URL containing the avatar of a contact.

Example: "https://example.org/128Wash.jpg"
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.

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.

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.

locationobject(Contact Location)required

An object containing location metadata about a Intercom contact.

location.​typestringrequired

Always location

Value"location"
Example: "location"
location.​countrystring or null

The country that the contact is located in

Example: "Ireland"
location.​regionstring or null

The overal region that the contact is located in

Example: "Dublin"
location.​citystring or null

The city that the contact is located in

Example: "Dublin"
social_profilesobject(Social Profile)required

An object containing social profiles that a contact has.

social_profiles.​dataArray of objects(Social Profile)required

A list of social profiles objects associated with the contact.

social_profiles.​data[].​typestringrequired

value is "social_profile"

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

The name of the Social media profile

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

The name of the Social media profile

Example: "http://twitter.com/th1sland"
{ "type": "contact", "id": "5ba682d23d7cf92bef87bfd4", "external_id": "f3b87a2e09d514c6c2e79b9a", "workspace_id": "ecahpwf5", "role": "user", "email": "joe@example.com", "email_domain": "example.com", "phone": "+1123456789", "formatted_phone": "+1123456789", "name": "John Doe", "owner_id": 123, "has_hard_bounced": true, "marked_email_as_spam": true, "unsubscribed_from_emails": true, "created_at": 1571672154, "updated_at": 1571672154, "signed_up_at": 1571672154, "last_seen_at": 1571672154, "last_replied_at": 1571672154, "last_contacted_at": 1571672154, "last_email_opened_at": 1571672154, "last_email_clicked_at": 1571672154, "language_override": "en", "browser": "Chrome", "browser_version": "80.0.3987.132", "browser_language": "en-US", "os": "Mac OS X", "android_app_name": "Intercom", "android_app_version": "5.0.0", "android_device": "Pixel 3", "android_os_version": "10", "android_sdk_version": "28", "android_last_seen_at": 1571672154, "ios_app_name": "Intercom", "ios_app_version": "5.0.0", "ios_device": "iPhone 11", "ios_os_version": "13.3.1", "ios_sdk_version": "13.3.1", "ios_last_seen_at": 1571672154, "custom_attributes": {}, "avatar": { "type": "avatar", "image_url": "https://example.org/128Wash.jpg" }, "tags": { "data": [ … ], "url": "/contacts/5ba682d23d7cf92bef87bfd4/tags", "total_count": 100, "has_more": true }, "notes": { "data": [ … ], "url": "/contacts/5ba682d23d7cf92bef87bfd4/notes", "total_count": 100, "has_more": true }, "companies": { "data": [ … ], "url": "/contacts/5ba682d23d7cf92bef87bfd4/companies", "total_count": 100, "has_more": true }, "location": { "type": "location", "country": "Ireland", "region": "Dublin", "city": "Dublin" }, "social_profiles": { "data": [ … ] } }

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

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": {} }

List all notes

Request

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

Path
contact_idstringrequired

The unique identifier of a contact.

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}/notes?page=0&per_page=0' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful response

Bodyapplication/json
typestringrequired

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

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

An array of notes.

data[].​typestringrequired

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

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

The id of the note.

Example: "17495962"
data[].​created_atinteger(timestamp)required

The time the note was created.

Example: 1674589321
data[].​contactobject or nullrequired

Represents the contact that the note was created about.

data[].​contact.​typestring

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

Value"contact"
data[].​contact.​idstring

The id of the contact.

Example: "214656d0c743eafcfde7f248"
data[].​authorobject(Admin)required

Admins are teammate accounts that have access to a workspace.

data[].​author.​typestring

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

Value"admin"
Example: "admin"
data[].​author.​idstringrequired

The id representing the admin.

Example: "1295"
data[].​author.​namestringrequired

The name of the admin.

Example: "Hoban Washburne"
data[].​author.​emailstringrequired

The email of the admin.

Example: "wash@serenity.io"
data[].​author.​job_titlestringrequired

The job title of the admin.

Example: "Philosopher"
data[].​author.​away_mode_enabledbooleanrequired

Identifies if this admin is currently set in away mode.

Example: false
data[].​author.​away_mode_reassignbooleanrequired

Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.

Example: false
data[].​author.​has_inbox_seatbooleanrequired

Identifies if this admin has a paid inbox seat to restrict/allow features that require them.

Example: true
data[].​author.​team_idsArray of integersrequired

This object represents the avatar associated with the admin.

Example: [814865]
data[].​author.​avatarstring or null(uri)

Image for the associated team or teammate

Example: "https://picsum.photos/200/300"
data[].​author.​team_priority_levelobject(Team Priority Level)

Admin priority levels for teams

data[].​bodystringrequired

The body text of the note.

Example: "<p>Text for the note.</p>"
total_countintegerrequired

A count of the total number of notes.

Example: 1
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": 3, "pages": { "type": "pages", "next": null, "page": 1, "per_page": 50, "total_pages": 1 } }

Create a note

Request

You can add a note to a single contact.

Path
contact_idstringrequired

The unique identifier of a given contact.

Example: 123
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
bodystringrequired

The text of the note.

Example: "New note"
admin_idstring

The unique identifier of a given admin.

Example: "123"
curl -i -X POST \
  'https://api.intercom.io/contacts/{contact_id}/notes' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "contact_id": "667d60978a68186f43bafd9e",
    "admin_id": 991267493,
    "body": "Hello"
  }'

Responses

Successful response

Bodyapplication/json
typestringrequired

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

Value"note"
Example: "note"
idstringrequired

The id of the note.

Example: "17495962"
created_atinteger(timestamp)required

The time the note was created.

Example: 1674589321
contactobject or nullrequired

Represents the contact that the note was created about.

contact.​typestring

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

Value"contact"
contact.​idstring

The id of the contact.

Example: "214656d0c743eafcfde7f248"
authorobject(Admin)required

Admins are teammate accounts that have access to a workspace.

author.​typestring

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

Value"admin"
Example: "admin"
author.​idstringrequired

The id representing the admin.

Example: "1295"
author.​namestringrequired

The name of the admin.

Example: "Hoban Washburne"
author.​emailstringrequired

The email of the admin.

Example: "wash@serenity.io"
author.​job_titlestringrequired

The job title of the admin.

Example: "Philosopher"
author.​away_mode_enabledbooleanrequired

Identifies if this admin is currently set in away mode.

Example: false
author.​away_mode_reassignbooleanrequired

Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.

Example: false
author.​has_inbox_seatbooleanrequired

Identifies if this admin has a paid inbox seat to restrict/allow features that require them.

Example: true
author.​team_idsArray of integersrequired

This object represents the avatar associated with the admin.

Example: [814865]
author.​avatarstring or null(uri)

Image for the associated team or teammate

Example: "https://picsum.photos/200/300"
author.​team_priority_levelobject(Team Priority Level)

Admin priority levels for teams

bodystringrequired

The body text of the note.

Example: "<p>Text for the note.</p>"
Response
application/json
{ "type": "note", "id": "34", "created_at": 1719492759, "contact": { "type": "contact", "id": "667d60978a68186f43bafd9e" }, "author": { "type": "admin", "id": "991267493", "name": "Ciaran103 Lee", "email": "admin103@email.com", "away_mode_enabled": false, "away_mode_reassign": false }, "body": "<p>Hello</p>" }

List attached segments for contact

Request

You can fetch a list of segments that are associated to a 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 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}/segments' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

The type of the object

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

Segment objects associated with the contact.

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 subscriptions for a contact

Request

You can fetch a list of subscription types that are attached to a contact. These can be subscriptions that a user has 'opted-in' to or has 'opted-out' from, depending on the subscription type. This will return a list of Subscription Type objects that the contact is associated with.

The data property will show a combined list of:

1.Opt-out subscription types that the user has opted-out from. 2.Opt-in subscription types that the user has opted-in to receiving.

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 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}/subscriptions' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of the object

Value"list"
Example: "list"
dataArray of objects(Subscription Types)required

A list of subscription type objects associated with the workspace .

data[].​typestringrequired

The type of the object - subscription

Example: "subscription"
data[].​idstringrequired

The unique identifier representing the subscription type.

Example: "123456"
data[].​statestringrequired

The state of the subscription type.

Enum"live""draft""archived"
Example: "live"
data[].​default_translationobject(Translation)required

A translation object contains the localised details of a subscription type.

data[].​default_translation.​namestringrequired

The localised name of the subscription type.

Example: "Announcements"
data[].​default_translation.​descriptionstringrequired

The localised description of the subscription type.

Example: "Offers, product and feature announcements"
data[].​default_translation.​localestringrequired

The two character identifier for the language of the translation object.

Example: "en"
data[].​translationsArray of objects(Translation)required

An array of translations objects with the localised version of the subscription type in each available locale within your translation settings.

data[].​translations[].​namestringrequired

The localised name of the subscription type.

Example: "Announcements"
data[].​translations[].​descriptionstringrequired

The localised description of the subscription type.

Example: "Offers, product and feature announcements"
data[].​translations[].​localestringrequired

The two character identifier for the language of the translation object.

Example: "en"
data[].​consent_typestringrequired

Describes the type of consent.

Enum"opt_out""opt_in"
Example: "opt_in"
data[].​content_typesArray of stringsrequired

The message types that this subscription supports - can contain email or sms_message.

Items Enum"email""sms_message"
Example: ["email"]
Response
application/json
{ "type": "list", "data": [ { … }, { … } ] }

Add subscription to a contact

Request

You can add a specific subscription to a contact. In Intercom, we have two different subscription types based on user consent - opt-out and opt-in:

1.Attaching a contact to an opt-out subscription type will opt that user out from receiving messages related to that subscription type.

2.Attaching a contact to an opt-in subscription type will opt that user in to receiving messages related to that subscription type.

This will return a subscription type model for the subscription type 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 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 subscription which is given by Intercom

Example: "37846"
consent_typestringrequired

The consent_type of a subscription, opt_out or opt_in.

Example: "opt_in"
curl -i -X POST \
  'https://api.intercom.io/contacts/{contact_id}/subscriptions' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "id": 108,
    "consent_type": "opt_in"
  }'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of the object - subscription

Example: "subscription"
idstringrequired

The unique identifier representing the subscription type.

Example: "123456"
statestringrequired

The state of the subscription type.

Enum"live""draft""archived"
Example: "live"
default_translationobject(Translation)required

A translation object contains the localised details of a subscription type.

default_translation.​namestringrequired

The localised name of the subscription type.

Example: "Announcements"
default_translation.​descriptionstringrequired

The localised description of the subscription type.

Example: "Offers, product and feature announcements"
default_translation.​localestringrequired

The two character identifier for the language of the translation object.

Example: "en"
translationsArray of objects(Translation)required

An array of translations objects with the localised version of the subscription type in each available locale within your translation settings.

translations[].​namestringrequired

The localised name of the subscription type.

Example: "Announcements"
translations[].​descriptionstringrequired

The localised description of the subscription type.

Example: "Offers, product and feature announcements"
translations[].​localestringrequired

The two character identifier for the language of the translation object.

Example: "en"
consent_typestringrequired

Describes the type of consent.

Enum"opt_out""opt_in"
Example: "opt_in"
content_typesArray of stringsrequired

The message types that this subscription supports - can contain email or sms_message.

Items Enum"email""sms_message"
Example: ["email"]
Response
application/json
{ "type": "subscription", "id": "108", "state": "live", "consent_type": "opt_in", "default_translation": { "name": "Newsletters", "description": "Lorem ipsum dolor sit amet", "locale": "en" }, "translations": [ { … } ], "content_types": [ "sms_message" ] }

Remove subscription from a contact

Request

You can remove a specific subscription from a contact. This will return a subscription type model for the subscription type that was removed from the contact.

Path
contact_idstringrequired

The unique identifier for the contact which is given by Intercom

Example: 63a07ddf05a32042dffac965
subscription_idstringrequired

The unique identifier for the subscription type which is given by Intercom

Example: 37846
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}/subscriptions/{subscription_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

Successful

Bodyapplication/json
typestringrequired

The type of the object - subscription

Example: "subscription"
idstringrequired

The unique identifier representing the subscription type.

Example: "123456"
statestringrequired

The state of the subscription type.

Enum"live""draft""archived"
Example: "live"
default_translationobject(Translation)required

A translation object contains the localised details of a subscription type.

default_translation.​namestringrequired

The localised name of the subscription type.

Example: "Announcements"
default_translation.​descriptionstringrequired

The localised description of the subscription type.

Example: "Offers, product and feature announcements"
default_translation.​localestringrequired

The two character identifier for the language of the translation object.

Example: "en"
translationsArray of objects(Translation)required

An array of translations objects with the localised version of the subscription type in each available locale within your translation settings.

translations[].​namestringrequired

The localised name of the subscription type.

Example: "Announcements"
translations[].​descriptionstringrequired

The localised description of the subscription type.

Example: "Offers, product and feature announcements"
translations[].​localestringrequired

The two character identifier for the language of the translation object.

Example: "en"
consent_typestringrequired

Describes the type of consent.

Enum"opt_out""opt_in"
Example: "opt_in"
content_typesArray of stringsrequired

The message types that this subscription supports - can contain email or sms_message.

Items Enum"email""sms_message"
Example: ["email"]
Response
application/json
{ "type": "subscription", "id": "124", "state": "live", "consent_type": "opt_in", "default_translation": { "name": "Newsletters", "description": "Lorem ipsum dolor sit amet", "locale": "en" }, "translations": [ { … } ], "content_types": [ "sms_message" ] }

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 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}/tags' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

The type of the object

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

A list of tags objects associated with the workspace .

data[].​typestringrequired

value is "tag"

Example: "tag"
data[].​idstringrequired

The id of the tag

Example: "123456"
data[].​namestringrequired

The name of the tag

Example: "Test tag"
data[].​applied_atinteger(date-time)required

The time when the tag was applied to the object

Example: 1663597223
data[].​applied_byobject(Reference)required

reference to another object

data[].​applied_by.​typestringrequired
Example: "contact"
data[].​applied_by.​idstring or null
Example: "1a2b3c"
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 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 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: 2.11' \
  -d '{
    "id": 94
  }'

Responses

successful

Bodyapplication/json
typestringrequired

value is "tag"

Example: "tag"
idstringrequired

The id of the tag

Example: "123456"
namestringrequired

The name of the tag

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

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)required

reference to another object

applied_by.​typestringrequired
Example: "contact"
applied_by.​idstring or null
Example: "1a2b3c"
Response
application/json
{ "type": "tag", "id": "94", "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
tag_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 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}/tags/{tag_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

value is "tag"

Example: "tag"
idstringrequired

The id of the tag

Example: "123456"
namestringrequired

The name of the tag

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

The time when the tag was applied to the object

Example: 1663597223
applied_byobject(Reference)required

reference to another object

applied_by.​typestringrequired
Example: "contact"
applied_by.​idstring or null
Example: "1a2b3c"
Response
application/json
{ "type": "tag", "id": "97", "name": "Manual tag" }

Update a contact

Request

You can update an existing contact (ie. user or lead).

Path
contact_idstringrequired

id

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

The role of the contact.

external_idstring

A unique identifier for the contact which is given to Intercom

emailstring

The contacts email

Example: "jdoe@example.com"
phonestring or null

The contacts phone

Example: "+353871234567"
namestring or null

The contacts name

Example: "John Doe"
avatarstring or null

An image URL containing the avatar of a contact

Example: "https://www.example.com/avatar_image.jpg"
signed_up_atinteger or null(date-time)

The time specified for when a contact signed up

Example: 1571672154
last_seen_atinteger or null(date-time)

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

Example: 1571672154
owner_idinteger or null

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

Example: 123
unsubscribed_from_emailsboolean or null

Whether the contact is unsubscribed from emails

Example: true
custom_attributesobject or null

The custom attributes which are set for the contact

curl -i -X PUT \
  'https://api.intercom.io/contacts/{contact_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "email": "joebloggs@intercom.io",
    "name": "joe bloggs"
  }'

Responses

successful

Bodyapplication/json
typestring

The type of object.

Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or nullrequired

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

Example: "f3b87a2e09d514c6c2e79b9a"
workspace_idstringrequired

The id of the workspace which the contact belongs to.

Example: "ecahpwf5"
rolestringrequired

The role of the contact.

Example: "user"
emailstringrequired

The contact's email.

Example: "joe@example.com"
email_domainstring

The contact's email domain.

Example: "example.com"
phonestring or nullrequired

The contacts phone.

Example: "+1123456789"
formatted_phonestring or null

The contacts phone number normalized to the E164 format

Example: "+1123456789"
namestring or nullrequired

The contacts name.

Example: "John Doe"
owner_idinteger or nullrequired

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

Example: 123
has_hard_bouncedbooleanrequired

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

Example: true
marked_email_as_spambooleanrequired

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

Example: true
unsubscribed_from_emailsbooleanrequired

Whether the contact is unsubscribed from emails.

Example: true
created_atinteger(date-time)required

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

Example: 1571672154
updated_atinteger(date-time)required

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

Example: 1571672154
signed_up_atinteger or null(date-time)required

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

Example: 1571672154
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
last_replied_atinteger or null(date-time)required

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

Example: 1571672154
last_contacted_atinteger or null(date-time)required

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

Example: 1571672154
last_email_opened_atinteger or null(date-time)required

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

Example: 1571672154
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
language_overridestring or nullrequired

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

Example: "en"
browserstring or nullrequired

The name of the browser which the contact is using.

Example: "Chrome"
browser_versionstring or nullrequired

The version of the browser which the contact is using.

Example: "80.0.3987.132"
browser_languagestring or nullrequired

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

Example: "en-US"
osstring or nullrequired

The operating system which the contact is using.

Example: "Mac OS X"
android_app_namestring or null

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

Example: "Intercom"
android_app_versionstring or null

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

Example: "5.0.0"
android_devicestring or null

The Android device which the contact is using.

Example: "Pixel 3"
android_os_versionstring or null

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

Example: "10"
android_sdk_versionstring or null

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

Example: "28"
android_last_seen_atinteger or null(date-time)

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

Example: 1571672154
ios_app_namestring or null

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

Example: "Intercom"
ios_app_versionstring or null

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

Example: "5.0.0"
ios_devicestring or null

The iOS device which the contact is using.

Example: "iPhone 11"
ios_os_versionstring or null

The version of iOS which the contact is using.

Example: "13.3.1"
ios_sdk_versionstring or null

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

Example: "13.3.1"
ios_last_seen_atinteger or null(date-time)

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

Example: 1571672154
custom_attributesobject

The custom attributes which are set for the contact.

avatarobject or nullrequired
avatar.​typestring

The type of object

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

An image URL containing the avatar of a contact.

Example: "https://example.org/128Wash.jpg"
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.

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.

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.

locationobject(Contact Location)required

An object containing location metadata about a Intercom contact.

location.​typestringrequired

Always location

Value"location"
Example: "location"
location.​countrystring or null

The country that the contact is located in

Example: "Ireland"
location.​regionstring or null

The overal region that the contact is located in

Example: "Dublin"
location.​citystring or null

The city that the contact is located in

Example: "Dublin"
social_profilesobject(Social Profile)required

An object containing social profiles that a contact has.

social_profiles.​dataArray of objects(Social Profile)required

A list of social profiles objects associated with the contact.

social_profiles.​data[].​typestringrequired

value is "social_profile"

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

The name of the Social media profile

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

The name of the Social media profile

Example: "http://twitter.com/th1sland"
Response
application/json
{ "type": "contact", "id": "667d60a88a68186f43bafdb8", "workspace_id": "this_is_an_id248_that_should_be_at_least_", "external_id": "70", "role": "user", "email": "joebloggs@intercom.io", "phone": null, "name": "joe bloggs", "avatar": null, "owner_id": null, "social_profiles": { "type": "list", "data": [] }, "has_hard_bounced": false, "marked_email_as_spam": false, "unsubscribed_from_emails": false, "created_at": 1719492776, "updated_at": 1719492776, "signed_up_at": 1719492776, "last_seen_at": null, "last_replied_at": null, "last_contacted_at": null, "last_email_opened_at": null, "last_email_clicked_at": null, "language_override": null, "browser": null, "browser_version": null, "browser_language": null, "os": null, "location": { "type": "location", "country": null, "region": null, "city": null, "country_code": null, "continent_code": null }, "android_app_name": null, "android_app_version": null, "android_device": null, "android_os_version": null, "android_sdk_version": null, "android_last_seen_at": null, "ios_app_name": null, "ios_app_version": null, "ios_device": null, "ios_os_version": null, "ios_sdk_version": null, "ios_last_seen_at": null, "custom_attributes": {}, "tags": { "type": "list", "data": [], "url": "/contacts/667d60a88a68186f43bafdb8/tags", "total_count": 0, "has_more": false }, "notes": { "type": "list", "data": [], "url": "/contacts/667d60a88a68186f43bafdb8/notes", "total_count": 0, "has_more": false }, "companies": { "type": "list", "data": [], "url": "/contacts/667d60a88a68186f43bafdb8/companies", "total_count": 0, "has_more": false }, "opted_out_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60a88a68186f43bafdb8/subscriptions", "total_count": 0, "has_more": false }, "opted_in_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60a88a68186f43bafdb8/subscriptions", "total_count": 0, "has_more": false }, "utm_campaign": null, "utm_content": null, "utm_medium": null, "utm_source": null, "utm_term": null, "referrer": null }

Get a contact

Request

You can fetch the details of a single contact.

Path
contact_idstringrequired

id

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.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}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestring

The type of object.

Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or nullrequired

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

Example: "f3b87a2e09d514c6c2e79b9a"
workspace_idstringrequired

The id of the workspace which the contact belongs to.

Example: "ecahpwf5"
rolestringrequired

The role of the contact.

Example: "user"
emailstringrequired

The contact's email.

Example: "joe@example.com"
email_domainstring

The contact's email domain.

Example: "example.com"
phonestring or nullrequired

The contacts phone.

Example: "+1123456789"
formatted_phonestring or null

The contacts phone number normalized to the E164 format

Example: "+1123456789"
namestring or nullrequired

The contacts name.

Example: "John Doe"
owner_idinteger or nullrequired

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

Example: 123
has_hard_bouncedbooleanrequired

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

Example: true
marked_email_as_spambooleanrequired

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

Example: true
unsubscribed_from_emailsbooleanrequired

Whether the contact is unsubscribed from emails.

Example: true
created_atinteger(date-time)required

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

Example: 1571672154
updated_atinteger(date-time)required

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

Example: 1571672154
signed_up_atinteger or null(date-time)required

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

Example: 1571672154
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
last_replied_atinteger or null(date-time)required

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

Example: 1571672154
last_contacted_atinteger or null(date-time)required

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

Example: 1571672154
last_email_opened_atinteger or null(date-time)required

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

Example: 1571672154
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
language_overridestring or nullrequired

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

Example: "en"
browserstring or nullrequired

The name of the browser which the contact is using.

Example: "Chrome"
browser_versionstring or nullrequired

The version of the browser which the contact is using.

Example: "80.0.3987.132"
browser_languagestring or nullrequired

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

Example: "en-US"
osstring or nullrequired

The operating system which the contact is using.

Example: "Mac OS X"
android_app_namestring or null

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

Example: "Intercom"
android_app_versionstring or null

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

Example: "5.0.0"
android_devicestring or null

The Android device which the contact is using.

Example: "Pixel 3"
android_os_versionstring or null

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

Example: "10"
android_sdk_versionstring or null

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

Example: "28"
android_last_seen_atinteger or null(date-time)

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

Example: 1571672154
ios_app_namestring or null

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

Example: "Intercom"
ios_app_versionstring or null

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

Example: "5.0.0"
ios_devicestring or null

The iOS device which the contact is using.

Example: "iPhone 11"
ios_os_versionstring or null

The version of iOS which the contact is using.

Example: "13.3.1"
ios_sdk_versionstring or null

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

Example: "13.3.1"
ios_last_seen_atinteger or null(date-time)

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

Example: 1571672154
custom_attributesobject

The custom attributes which are set for the contact.

avatarobject or nullrequired
avatar.​typestring

The type of object

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

An image URL containing the avatar of a contact.

Example: "https://example.org/128Wash.jpg"
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.

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.

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.

locationobject(Contact Location)required

An object containing location metadata about a Intercom contact.

location.​typestringrequired

Always location

Value"location"
Example: "location"
location.​countrystring or null

The country that the contact is located in

Example: "Ireland"
location.​regionstring or null

The overal region that the contact is located in

Example: "Dublin"
location.​citystring or null

The city that the contact is located in

Example: "Dublin"
social_profilesobject(Social Profile)required

An object containing social profiles that a contact has.

social_profiles.​dataArray of objects(Social Profile)required

A list of social profiles objects associated with the contact.

social_profiles.​data[].​typestringrequired

value is "social_profile"

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

The name of the Social media profile

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

The name of the Social media profile

Example: "http://twitter.com/th1sland"
Response
application/json
{ "type": "contact", "id": "667d60a98a68186f43bafdb9", "workspace_id": "this_is_an_id252_that_should_be_at_least_", "external_id": "70", "role": "user", "email": "joe@bloggs.com", "phone": null, "name": "Joe Bloggs", "avatar": null, "owner_id": null, "social_profiles": { "type": "list", "data": [] }, "has_hard_bounced": false, "marked_email_as_spam": false, "unsubscribed_from_emails": false, "created_at": 1719492777, "updated_at": 1719492777, "signed_up_at": 1719492777, "last_seen_at": null, "last_replied_at": null, "last_contacted_at": null, "last_email_opened_at": null, "last_email_clicked_at": null, "language_override": null, "browser": null, "browser_version": null, "browser_language": null, "os": null, "location": { "type": "location", "country": null, "region": null, "city": null, "country_code": null, "continent_code": null }, "android_app_name": null, "android_app_version": null, "android_device": null, "android_os_version": null, "android_sdk_version": null, "android_last_seen_at": null, "ios_app_name": null, "ios_app_version": null, "ios_device": null, "ios_os_version": null, "ios_sdk_version": null, "ios_last_seen_at": null, "custom_attributes": {}, "tags": { "type": "list", "data": [], "url": "/contacts/667d60a98a68186f43bafdb9/tags", "total_count": 0, "has_more": false }, "notes": { "type": "list", "data": [], "url": "/contacts/667d60a98a68186f43bafdb9/notes", "total_count": 0, "has_more": false }, "companies": { "type": "list", "data": [], "url": "/contacts/667d60a98a68186f43bafdb9/companies", "total_count": 0, "has_more": false }, "opted_out_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60a98a68186f43bafdb9/subscriptions", "total_count": 0, "has_more": false }, "opted_in_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60a98a68186f43bafdb9/subscriptions", "total_count": 0, "has_more": false }, "utm_campaign": null, "utm_content": null, "utm_medium": null, "utm_source": null, "utm_term": null, "referrer": null }

Delete a contact

Request

You can delete a single contact.

Path
contact_idstringrequired

id

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}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

always contact

Value"contact"
Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or null

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

Example: "f3b87a2e09d514c6c2e79b9a"
deletedbooleanrequired

Whether the contact is deleted or not.

Example: true
Response
application/json
{ "id": "667d60aa8a68186f43bafdba", "external_id": "70", "type": "contact", "deleted": true }

Merge a lead and a user

Request

You can merge a contact with a role of lead into a contact with a role of user.

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
fromstringrequired

The unique identifier for the contact to merge away from. Must be a lead.

Example: "5d70dd30de4efd54f42fd526"
intostringrequired

The unique identifier for the contact to merge into. Must be a user.

Example: "5ba682d23d7cf92bef87bfd4"
curl -i -X POST \
  https://api.intercom.io/contacts/merge \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "from": "667d60ac8a68186f43bafdbb",
    "into": "667d60ac8a68186f43bafdbc"
  }'

Responses

successful

Bodyapplication/json
typestring

The type of object.

Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or nullrequired

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

Example: "f3b87a2e09d514c6c2e79b9a"
workspace_idstringrequired

The id of the workspace which the contact belongs to.

Example: "ecahpwf5"
rolestringrequired

The role of the contact.

Example: "user"
emailstringrequired

The contact's email.

Example: "joe@example.com"
email_domainstring

The contact's email domain.

Example: "example.com"
phonestring or nullrequired

The contacts phone.

Example: "+1123456789"
formatted_phonestring or null

The contacts phone number normalized to the E164 format

Example: "+1123456789"
namestring or nullrequired

The contacts name.

Example: "John Doe"
owner_idinteger or nullrequired

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

Example: 123
has_hard_bouncedbooleanrequired

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

Example: true
marked_email_as_spambooleanrequired

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

Example: true
unsubscribed_from_emailsbooleanrequired

Whether the contact is unsubscribed from emails.

Example: true
created_atinteger(date-time)required

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

Example: 1571672154
updated_atinteger(date-time)required

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

Example: 1571672154
signed_up_atinteger or null(date-time)required

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

Example: 1571672154
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
last_replied_atinteger or null(date-time)required

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

Example: 1571672154
last_contacted_atinteger or null(date-time)required

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

Example: 1571672154
last_email_opened_atinteger or null(date-time)required

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

Example: 1571672154
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
language_overridestring or nullrequired

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

Example: "en"
browserstring or nullrequired

The name of the browser which the contact is using.

Example: "Chrome"
browser_versionstring or nullrequired

The version of the browser which the contact is using.

Example: "80.0.3987.132"
browser_languagestring or nullrequired

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

Example: "en-US"
osstring or nullrequired

The operating system which the contact is using.

Example: "Mac OS X"
android_app_namestring or null

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

Example: "Intercom"
android_app_versionstring or null

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

Example: "5.0.0"
android_devicestring or null

The Android device which the contact is using.

Example: "Pixel 3"
android_os_versionstring or null

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

Example: "10"
android_sdk_versionstring or null

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

Example: "28"
android_last_seen_atinteger or null(date-time)

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

Example: 1571672154
ios_app_namestring or null

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

Example: "Intercom"
ios_app_versionstring or null

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

Example: "5.0.0"
ios_devicestring or null

The iOS device which the contact is using.

Example: "iPhone 11"
ios_os_versionstring or null

The version of iOS which the contact is using.

Example: "13.3.1"
ios_sdk_versionstring or null

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

Example: "13.3.1"
ios_last_seen_atinteger or null(date-time)

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

Example: 1571672154
custom_attributesobject

The custom attributes which are set for the contact.

avatarobject or nullrequired
avatar.​typestring

The type of object

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

An image URL containing the avatar of a contact.

Example: "https://example.org/128Wash.jpg"
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.

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.

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.

locationobject(Contact Location)required

An object containing location metadata about a Intercom contact.

location.​typestringrequired

Always location

Value"location"
Example: "location"
location.​countrystring or null

The country that the contact is located in

Example: "Ireland"
location.​regionstring or null

The overal region that the contact is located in

Example: "Dublin"
location.​citystring or null

The city that the contact is located in

Example: "Dublin"
social_profilesobject(Social Profile)required

An object containing social profiles that a contact has.

social_profiles.​dataArray of objects(Social Profile)required

A list of social profiles objects associated with the contact.

social_profiles.​data[].​typestringrequired

value is "social_profile"

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

The name of the Social media profile

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

The name of the Social media profile

Example: "http://twitter.com/th1sland"
Response
application/json
{ "type": "contact", "id": "667d60ac8a68186f43bafdbc", "workspace_id": "this_is_an_id260_that_should_be_at_least_", "external_id": "70", "role": "user", "email": "joe@bloggs.com", "phone": null, "name": "Joe Bloggs", "avatar": null, "owner_id": null, "social_profiles": { "type": "list", "data": [] }, "has_hard_bounced": false, "marked_email_as_spam": false, "unsubscribed_from_emails": false, "created_at": 1719492780, "updated_at": 1719492780, "signed_up_at": 1719492780, "last_seen_at": null, "last_replied_at": null, "last_contacted_at": null, "last_email_opened_at": null, "last_email_clicked_at": null, "language_override": null, "browser": null, "browser_version": null, "browser_language": null, "os": null, "location": { "type": "location", "country": null, "region": null, "city": null, "country_code": null, "continent_code": null }, "android_app_name": null, "android_app_version": null, "android_device": null, "android_os_version": null, "android_sdk_version": null, "android_last_seen_at": null, "ios_app_name": null, "ios_app_version": null, "ios_device": null, "ios_os_version": null, "ios_sdk_version": null, "ios_last_seen_at": null, "custom_attributes": {}, "tags": { "type": "list", "data": [], "url": "/contacts/667d60ac8a68186f43bafdbc/tags", "total_count": 0, "has_more": false }, "notes": { "type": "list", "data": [], "url": "/contacts/667d60ac8a68186f43bafdbc/notes", "total_count": 0, "has_more": false }, "companies": { "type": "list", "data": [], "url": "/contacts/667d60ac8a68186f43bafdbc/companies", "total_count": 0, "has_more": false }, "opted_out_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60ac8a68186f43bafdbc/subscriptions", "total_count": 0, "has_more": false }, "opted_in_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60ac8a68186f43bafdbc/subscriptions", "total_count": 0, "has_more": false }, "utm_campaign": null, "utm_content": null, "utm_medium": null, "utm_source": null, "utm_term": null, "referrer": null }

Search contacts

Request

You can search for multiple contacts by the value of their attributes in order to fetch exactly who you want.

To search for contacts, you need to send a POST request to https://api.intercom.io/contacts/search.

This will accept a query object in the body which will define your filters in order to search for contacts.

Optimizing search queries

Search queries can be complex, so optimizing them can help the performance of your search. Use the AND and OR operators to combine multiple filters to get the exact results you need and utilize pagination to limit the number of results returned. The default is 50 results per page. See the pagination section for more details on how to use the starting_after param.

Contact Creation Delay

If a contact has recently been created, there is a possibility that it will not yet be available when searching. This means that it may not appear in the response. This delay can take a few minutes. If you need to be instantly notified it is recommended to use webhooks and iterate to see if they match your search filters.

Nesting & Limitations

You can nest these filters in order to get even more granular insights that pinpoint exactly what you need. Example: (1 OR 2) AND (3 OR 4). There are some limitations to the amount of multiple's there can be:

  • There's a limit of max 2 nested filters
  • There's a limit of max 15 filters for each AND or OR group

Searching for Timestamp Fields

All timestamp fields (created_at, updated_at etc.) are indexed as Dates for Contact Search queries; Datetime queries are not currently supported. This means you can only query for timestamp fields by day - not hour, minute or second. For example, if you search for all Contacts with a created_at value greater (>) than 1577869200 (the UNIX timestamp for January 1st, 2020 9:00 AM), that will be interpreted as 1577836800 (January 1st, 2020 12:00 AM). The search results will then include Contacts created from January 2nd, 2020 12:00 AM onwards. If you'd like to get contacts created on January 1st, 2020 you should search with a created_at value equal (=) to 1577836800 (January 1st, 2020 12:00 AM). This behaviour applies only to timestamps used in search queries. The search results will still contain the full UNIX timestamp and be sorted accordingly.

Accepted Fields

Most key listed as part of the Contacts Model are searchable, whether writeable or not. The value you search for has to match the accepted type, otherwise the query will fail (ie. as created_at accepts a date, the value cannot be a string such as "foorbar").

FieldType
idString
roleString
Accepts user or lead
nameString
avatarString
owner_idInteger
emailString
email_domainString
phoneString
external_idString
created_atDate (UNIX Timestamp)
signed_up_atDate (UNIX Timestamp)
updated_atDate (UNIX Timestamp)
last_seen_atDate (UNIX Timestamp)
last_contacted_atDate (UNIX Timestamp)
last_replied_atDate (UNIX Timestamp)
last_email_opened_atDate (UNIX Timestamp)
last_email_clicked_atDate (UNIX Timestamp)
language_overrideString
browserString
browser_languageString
osString
location.countryString
location.regionString
location.cityString
unsubscribed_from_emailsBoolean
marked_email_as_spamBoolean
has_hard_bouncedBoolean
ios_last_seen_atDate (UNIX Timestamp)
ios_app_versionString
ios_deviceString
ios_app_deviceString
ios_os_versionString
ios_app_nameString
ios_sdk_versionString
android_last_seen_atDate (UNIX Timestamp)
android_app_versionString
android_deviceString
android_app_nameString
andoid_sdk_versionString
segment_idString
tag_idString
custom_attributes.{attribute_name}String

Accepted Operators

Searching based on `created_at`

You cannot use the <= or >= operators to search by created_at.

The table below shows the operators you can use to define how you want to search for the value. The operator should be put in as a string ("="). The operator has to be compatible with the field's type (eg. you cannot search with > for a given string value as it's only compatible for integer's and dates).

OperatorValid TypesDescription
=AllEquals
!=AllDoesn't Equal
INAllIn
Shortcut for OR queries
Values must be in Array
NINAllNot In
Shortcut for OR ! queries
Values must be in Array
>Integer
Date (UNIX Timestamp)
Greater than
<Integer
Date (UNIX Timestamp)
Lower than
~StringContains
!~StringDoesn't Contain
^StringStarts With
$StringEnds With
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
querySingle Filter Search Request (object) or Multiple Filter Search Request (object)required
One of:

Search using Intercoms Search APIs with a single filter.

query.​fieldstring

The accepted field that you want to search on.

Enum"id""role""name""avatar""owner_id""email""email_domain""phone""external_id""created_at"
Example: "custom_attributes.favorite_color"
query.​operatorstring

The accepted operators you can use to define how you want to search for the value.

Enum"=""!=""IN""NIN""<"">""~""!~""^""$"
Example: ">"
query.​valuestring or integer or (Array of strings or integers)

The value that you want to search on.

Example: "73732934"
One of:

The value that you want to search on.

string

The value that you want to search on.

paginationobject(Pagination: Starting After)
curl -i -X POST \
  https://api.intercom.io/contacts/search \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "query": {
      "operator": "AND",
      "value": [
        {
          "field": "created_at",
          "operator": ">",
          "value": "1306054154"
        }
      ]
    },
    "pagination": {
      "per_page": 5
    }
  }'

Responses

successful

Bodyapplication/json
typestringrequired

Always list

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

The list of 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

A count of the total number of objects.

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": 5, "total_pages": 0 } }

List all contacts

Request

You can fetch a list of all contacts (ie. users or leads) in your workspace.

Pagination

You can use pagination to limit the number of results returned. The default is 50 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 display per page. Defaults to 15

Example: per_page=15
starting_afterstring

String used to get the next page of conversations.

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?page=0&per_page=0&starting_after=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

Always list

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

The list of 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

A count of the total number of objects.

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": 10, "total_pages": 0 } }

Create contact

Request

You can create a new contact (ie. user or lead).

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

Payload to create a contact

rolestring

The role of the contact.

external_idstring

A unique identifier for the contact which is given to Intercom

emailstringrequired

The contacts email

Example: "jdoe@example.com"
phonestring or null

The contacts phone

Example: "+353871234567"
namestring or null

The contacts name

Example: "John Doe"
avatarstring or null

An image URL containing the avatar of a contact

Example: "https://www.example.com/avatar_image.jpg"
signed_up_atinteger or null(date-time)

The time specified for when a contact signed up

Example: 1571672154
last_seen_atinteger or null(date-time)

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

Example: 1571672154
owner_idinteger or null

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

Example: 123
unsubscribed_from_emailsboolean or null

Whether the contact is unsubscribed from emails

Example: true
custom_attributesobject or null

The custom attributes which are set for the contact

curl -i -X POST \
  https://api.intercom.io/contacts \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.11' \
  -d '{
    "email": "joebloggs@intercom.io"
  }'

Responses

successful

Bodyapplication/json
typestring

The type of object.

Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or nullrequired

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

Example: "f3b87a2e09d514c6c2e79b9a"
workspace_idstringrequired

The id of the workspace which the contact belongs to.

Example: "ecahpwf5"
rolestringrequired

The role of the contact.

Example: "user"
emailstringrequired

The contact's email.

Example: "joe@example.com"
email_domainstring

The contact's email domain.

Example: "example.com"
phonestring or nullrequired

The contacts phone.

Example: "+1123456789"
formatted_phonestring or null

The contacts phone number normalized to the E164 format

Example: "+1123456789"
namestring or nullrequired

The contacts name.

Example: "John Doe"
owner_idinteger or nullrequired

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

Example: 123
has_hard_bouncedbooleanrequired

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

Example: true
marked_email_as_spambooleanrequired

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

Example: true
unsubscribed_from_emailsbooleanrequired

Whether the contact is unsubscribed from emails.

Example: true
created_atinteger(date-time)required

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

Example: 1571672154
updated_atinteger(date-time)required

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

Example: 1571672154
signed_up_atinteger or null(date-time)required

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

Example: 1571672154
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
last_replied_atinteger or null(date-time)required

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

Example: 1571672154
last_contacted_atinteger or null(date-time)required

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

Example: 1571672154
last_email_opened_atinteger or null(date-time)required

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

Example: 1571672154
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
language_overridestring or nullrequired

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

Example: "en"
browserstring or nullrequired

The name of the browser which the contact is using.

Example: "Chrome"
browser_versionstring or nullrequired

The version of the browser which the contact is using.

Example: "80.0.3987.132"
browser_languagestring or nullrequired

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

Example: "en-US"
osstring or nullrequired

The operating system which the contact is using.

Example: "Mac OS X"
android_app_namestring or null

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

Example: "Intercom"
android_app_versionstring or null

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

Example: "5.0.0"
android_devicestring or null

The Android device which the contact is using.

Example: "Pixel 3"
android_os_versionstring or null

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

Example: "10"
android_sdk_versionstring or null

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

Example: "28"
android_last_seen_atinteger or null(date-time)

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

Example: 1571672154
ios_app_namestring or null

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

Example: "Intercom"
ios_app_versionstring or null

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

Example: "5.0.0"
ios_devicestring or null

The iOS device which the contact is using.

Example: "iPhone 11"
ios_os_versionstring or null

The version of iOS which the contact is using.

Example: "13.3.1"
ios_sdk_versionstring or null

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

Example: "13.3.1"
ios_last_seen_atinteger or null(date-time)

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

Example: 1571672154
custom_attributesobject

The custom attributes which are set for the contact.

avatarobject or nullrequired
avatar.​typestring

The type of object

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

An image URL containing the avatar of a contact.

Example: "https://example.org/128Wash.jpg"
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.

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.

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.

locationobject(Contact Location)required

An object containing location metadata about a Intercom contact.

location.​typestringrequired

Always location

Value"location"
Example: "location"
location.​countrystring or null

The country that the contact is located in

Example: "Ireland"
location.​regionstring or null

The overal region that the contact is located in

Example: "Dublin"
location.​citystring or null

The city that the contact is located in

Example: "Dublin"
social_profilesobject(Social Profile)required

An object containing social profiles that a contact has.

social_profiles.​dataArray of objects(Social Profile)required

A list of social profiles objects associated with the contact.

social_profiles.​data[].​typestringrequired

value is "social_profile"

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

The name of the Social media profile

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

The name of the Social media profile

Example: "http://twitter.com/th1sland"
Response
application/json
{ "type": "contact", "id": "667d60b08a68186f43bafdbf", "workspace_id": "this_is_an_id272_that_should_be_at_least_", "external_id": null, "role": "user", "email": "joebloggs@intercom.io", "phone": null, "name": null, "avatar": null, "owner_id": null, "social_profiles": { "type": "list", "data": [] }, "has_hard_bounced": false, "marked_email_as_spam": false, "unsubscribed_from_emails": false, "created_at": 1719492784, "updated_at": 1719492784, "signed_up_at": null, "last_seen_at": null, "last_replied_at": null, "last_contacted_at": null, "last_email_opened_at": null, "last_email_clicked_at": null, "language_override": null, "browser": null, "browser_version": null, "browser_language": null, "os": null, "location": { "type": "location", "country": null, "region": null, "city": null, "country_code": null, "continent_code": null }, "android_app_name": null, "android_app_version": null, "android_device": null, "android_os_version": null, "android_sdk_version": null, "android_last_seen_at": null, "ios_app_name": null, "ios_app_version": null, "ios_device": null, "ios_os_version": null, "ios_sdk_version": null, "ios_last_seen_at": null, "custom_attributes": {}, "tags": { "type": "list", "data": [], "url": "/contacts/667d60b08a68186f43bafdbf/tags", "total_count": 0, "has_more": false }, "notes": { "type": "list", "data": [], "url": "/contacts/667d60b08a68186f43bafdbf/notes", "total_count": 0, "has_more": false }, "companies": { "type": "list", "data": [], "url": "/contacts/667d60b08a68186f43bafdbf/companies", "total_count": 0, "has_more": false }, "opted_out_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60b08a68186f43bafdbf/subscriptions", "total_count": 0, "has_more": false }, "opted_in_subscription_types": { "type": "list", "data": [], "url": "/contacts/667d60b08a68186f43bafdbf/subscriptions", "total_count": 0, "has_more": false }, "utm_campaign": null, "utm_content": null, "utm_medium": null, "utm_source": null, "utm_term": null, "referrer": null }

Archive contact

Request

You can archive a single contact.

Path
contact_idstringrequired

id

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.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/contacts/{contact_id}/archive' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

always contact

Value"contact"
Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or null

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

Example: "f3b87a2e09d514c6c2e79b9a"
archivedbooleanrequired

Whether the contact is archived or not.

Example: true
Response
application/json
{ "id": "667d60b18a68186f43bafdc0", "external_id": "70", "type": "contact", "archived": true }

Unarchive contact

Request

You can unarchive a single contact.

Path
contact_idstringrequired

id

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.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/contacts/{contact_id}/unarchive' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: 2.11'

Responses

successful

Bodyapplication/json
typestringrequired

always contact

Value"contact"
Example: "contact"
idstringrequired

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

Example: "5ba682d23d7cf92bef87bfd4"
external_idstring or null

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

Example: "f3b87a2e09d514c6c2e79b9a"
archivedbooleanrequired

Whether the contact is archived or not.

Example: false
Response
application/json
{ "id": "667d60b28a68186f43bafdc1", "external_id": "70", "type": "contact", "archived": false }

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