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

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.

Security
bearerAuth
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=1&per_page=15&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).

Security
bearerAuth
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.

Security
bearerAuth
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/63a07ddf05a32042dffac965/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 }

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