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

Create a note

Request

You can add a note to a single contact.

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

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.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/63a07ddf05a32042dffac965/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.

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.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/63a07ddf05a32042dffac965/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": [ {}, {} ] }

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