Intercom API (Unstable)

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

AI Content

With the AI Content APIs, you can create and manage External Pages and Content Import Sources for your Fin Content Library.

 

External Pages are pages that you want Fin to be able to answer questions about. The API for External Pages is a great way to ingest into your Fin Content Library pages that are not publicly accessible and hence can't be crawled by Intercom.

 

Content Import Sources are the sources of those pages, and they are used to determine the default audience for the pages (configured via the UI). You should create a Content Import Source for each source of External Pages that you want to ingest into your Fin Content Library.

 

You can then iterate through the content from that source via its API and POST it to the External Pages endpoint. That endpoint has an external_id parameter which allows you to specify the identifier from the source. The endpoint will then either create a new External Page or update an existing one as appropriate.",

Operations

Articles

Everything about your Articles

Operations

Companies

Everything about your Companies

Operations

Contacts

Everything about your contacts

Operations

Conversations

Everything about your Conversations

Operations

Custom Object Instances

Everything about your Custom Object instances.

Operations

Custom Object Instance

A Custom Object Instance represents an instance of a custom object type. This allows you to create and set custom attributes to store data about your customers that is not already captured by Intercom. The parent object includes recommended default attributes and you can add your own custom attributes.

idstring

The Intercom defined id representing the custom object instance.

Example: "5a7a19e9f59ae20001d1c1e6"
external_idstring

The id you have defined for the custom object instance.

Example: "0001d1c1e65a7a19e9f59ae2"
typestring

The identifier of the custom object type that defines the structure of the custom object instance.

Example: "Order"
custom_attributesobject

The custom attributes you have set on the custom object instance.

{ "id": "5a7a19e9f59ae20001d1c1e6", "external_id": "0001d1c1e65a7a19e9f59ae2", "type": "Order", "custom_attributes": { "property1": "string", "property2": "string" } }

Create or Update a Custom Object Instance

Request

Create or update a custom object instance

Path
custom_object_type_identifierstringrequired

The unique identifier of the custom object type that defines the structure of the custom object instance.

Example: Order
Headers
Intercom-Versionstring(intercom_version)

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

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

A unique identifier for the Custom Object instance in the external system it originated from.

external_created_atinteger or null(date-time)

The time when the Custom Object instance was created in the external system it originated from.

Example: 1571672154
external_updated_atinteger or null(date-time)

The time when the Custom Object instance was last updated in the external system it originated from.

Example: 1571672154
custom_attributesobject or null

The custom attributes which are set for the Custom Object instance.

curl -i -X POST \
  'https://api.intercom.io/custom_object_instances/{custom_object_type_identifier}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "external_id": "123",
    "external_created_at": 1392036272,
    "external_updated_at": 1392036272
  }'

Responses

successful

Bodyapplication/json
idstring

The Intercom defined id representing the custom object instance.

Example: "5a7a19e9f59ae20001d1c1e6"
external_idstring

The id you have defined for the custom object instance.

Example: "0001d1c1e65a7a19e9f59ae2"
typestring

The identifier of the custom object type that defines the structure of the custom object instance.

Example: "Order"
custom_attributesobject

The custom attributes you have set on the custom object instance.

Response
application/json
{ "id": "6", "type": "object_type_identifier_1", "custom_attributes": {}, "external_id": "123", "external_created_at": 1392036272, "external_updated_at": 1392036272, "created_at": 1727857226, "updated_at": 1727857226 }

Get Custom Object Instance by External ID

Request

Fetch a Custom Object Instance by external_id.

Path
custom_object_type_identifierstringrequired

The unique identifier of the custom object type that defines the structure of the custom object instance.

Example: Order
Query
external_idFind by id (object) or Find by external_id (object)required
One of:

The Intercom defined id representing the custom object instance.

external_id.​external_idstringrequired
Headers
Intercom-Versionstring(intercom_version)

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

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
curl -i -X GET \
  'https://api.intercom.io/custom_object_instances/{custom_object_type_identifier}?external_id=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
idstring

The Intercom defined id representing the custom object instance.

Example: "5a7a19e9f59ae20001d1c1e6"
external_idstring

The id you have defined for the custom object instance.

Example: "0001d1c1e65a7a19e9f59ae2"
typestring

The identifier of the custom object type that defines the structure of the custom object instance.

Example: "Order"
custom_attributesobject

The custom attributes you have set on the custom object instance.

Response
application/json
{ "id": "8", "type": "object_type_identifier_4", "custom_attributes": {}, "external_id": "123", "external_created_at": null, "external_updated_at": null, "created_at": 1727857228, "updated_at": 1727857228 }

Get Custom Object Instance by ID

Request

Fetch a Custom Object Instance by id.

Path
custom_object_type_identifierstringrequired

The unique identifier of the custom object type that defines the structure of the custom object instance.

Example: Order
idstringrequired

The id or external_id of the custom object instance

Headers
Intercom-Versionstring(intercom_version)

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

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

Responses

successful

Bodyapplication/json
idstring

The Intercom defined id representing the custom object instance.

Example: "5a7a19e9f59ae20001d1c1e6"
external_idstring

The id you have defined for the custom object instance.

Example: "0001d1c1e65a7a19e9f59ae2"
typestring

The identifier of the custom object type that defines the structure of the custom object instance.

Example: "Order"
custom_attributesobject

The custom attributes you have set on the custom object instance.

Response
application/json
{ "id": "9", "type": "object_type_identifier_6", "custom_attributes": {}, "external_id": "123", "external_created_at": null, "external_updated_at": null, "created_at": 1727857229, "updated_at": 1727857229 }

Delete a Custom Object Instance

Request

Delete a single Custom Object instance using the Intercom defined id.

Path
custom_object_type_identifierstringrequired

The unique identifier of the custom object type that defines the structure of the custom object instance.

Example: Order
idstringrequired

The Intercom defined id of the custom object instance

Headers
Intercom-Versionstring(intercom_version)

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

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

Responses

successful

Bodyapplication/json
objectstring

The unique identifier of the Custom Object type that defines the structure of the Custom Object instance.

Example: "Order"
idstring

The Intercom defined id representing the Custom Object instance.

Example: "123"
deletedboolean

Whether the Custom Object instance is deleted or not.

Example: true
Response
application/json
{ "id": "10", "object": "object_type_identifier_8", "deleted": true }

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 States

Everything about your ticket states

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