Skip to content

Intercom API (2.7)

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

SchemasOperations

Articles

Everything about your Articles

SchemasOperations

Companies

Everything about your Companies

SchemasOperations

Contacts

Everything about your contacts

SchemasOperations

Conversations

Everything about your Conversations

SchemasOperations

Data Attributes

Everything about your Data Attributes

SchemasOperations

Data Events

Everything about your Data Events

SchemasOperations

Data Export

Everything about your Data Exports

SchemasOperations

Help Center

Everything about your Help Center

SchemasOperations

Messages

Everything about your messages

SchemasOperations
SchemasOperations
SchemasOperations

Segments

Everything about your Segments

SchemasOperations

Subscription Types

Everything about subscription types

SchemasOperations

Subscription Types

A subscription type lets customers easily opt out of non-essential communications without missing what's important to them.

typestring

The type of the object - subscription

Example: "subscription"
idstring

The unique identifier representing the subscription type.

Example: "123456"
statestring

The state of the subscription type.

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

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

translationsArray of objects(Translation)

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

consent_typestring

Describes the type of consent.

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

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

Items Enum"email""sms_message"
Example: ["email"]
{ "type": "subscription", "id": "123456", "state": "live", "default_translation": { "name": "Announcements", "description": "Offers, product and feature announcements", "locale": "en" }, "translations": [ {} ], "consent_type": "opt_in", "content_types": [ "email" ] }

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.

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

Responses

Successful

Bodyapplication/json
typestring

The type of the object

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

A list of subscription type objects associated with the workspace .

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

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.

Security
bearerAuth
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.7
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: 2.7
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/63a07ddf05a32042dffac965/subscriptions \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.7' \
  -d '{
    "id": 16,
    "consent_type": "opt_in"
  }'

Responses

Successful

Bodyapplication/json
typestring

The type of the object - subscription

Example: "subscription"
idstring

The unique identifier representing the subscription type.

Example: "123456"
statestring

The state of the subscription type.

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

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

translationsArray of objects(Translation)

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

consent_typestring

Describes the type of consent.

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

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": "16", "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.

Security
bearerAuth
Path
contact_idstringrequired

The unique identifier for the contact which is given by Intercom

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

Responses

Successful

Bodyapplication/json
typestring

The type of the object - subscription

Example: "subscription"
idstring

The unique identifier representing the subscription type.

Example: "123456"
statestring

The state of the subscription type.

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

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

translationsArray of objects(Translation)

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

consent_typestring

Describes the type of consent.

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

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": "32", "state": "live", "consent_type": "opt_in", "default_translation": { "name": "Newsletters", "description": "Lorem ipsum dolor sit amet", "locale": "en" }, "translations": [ {} ], "content_types": [ "sms_message" ] }

Request

You can list all subscription types. A list of subscription type objects will be returned.

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

Responses

Successful

Bodyapplication/json
typestring

The type of the object

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

A list of subscription type objects associated with the workspace .

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

Visitors

Everything about your Visitors

Operations
Schemas