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

Internal Articles

Everything about your Internal Articles

Operations

Internal Articles

The data returned about your internal articles when you list them.

typestring

The type of object - internal_article.

Default "internal_article"
Value"internal_article"
Example: "internal_article"
idstring

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

Example: "6871119"
titlestring

The title of the article.

bodystring or null

The body of the article in HTML.

Example: "Default language body in html"
owner_idinteger

The id of the owner of the article.

Example: "5017691"
author_idinteger

The id of the author of the article.

Example: "5017691"
created_atinteger(date-time)

The time when the article was created.

Example: 1672928359
updated_atinteger(date-time)

The time when the article was last updated.

Example: 1672928610
localestring

The default locale of the article.

Example: "en"
{ "type": "internal_article", "id": "6871119", "title": "string", "body": "Default language body in html", "owner_id": "5017691", "author_id": "5017691", "created_at": 1672928359, "updated_at": 1672928610, "locale": "en" }

Internal Article Search Response

The results of an Internal Article search

typestring

The type of the object - list.

Value"list"
Example: "list"
total_countinteger

The total number of Internal Articles matching the search query

Example: 5
dataobject

An object containing the results of the search.

pagesobject or null(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.

{ "type": "list", "total_count": 5, "data": { "internal_articles": [ … ] }, "pages": { "type": "pages", "page": 1, "next": { … }, "per_page": 2, "total_pages": 13 } }

List all articles

Request

You can fetch a list of all internal articles by making a GET request to https://api.intercom.io/internal_articles.

Security
bearerAuth
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/internal_articles \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of the object - list.

Value"list"
Example: "list"
pagesobject or null(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.

total_countinteger

A count of the total number of internal articles.

Example: 1
dataArray of objects(Internal Articles)

An array of Internal Article objects

Response
application/json
{ "type": "list", "pages": { "type": "pages", "page": 1, "per_page": 25, "total_pages": 1 }, "total_count": 1, "data": [ { … } ] }

Create an internal article

Request

You can create a new internal article by making a POST request to https://api.intercom.io/internal_articles.

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

The title of the article.

Example: "Thanks for everything"
bodystring

The content of the article.

Example: "<p>This is the body in html</p>"
author_idintegerrequired

The id of the author of the article.

Example: 1295
owner_idintegerrequired

The id of the owner of the article.

Example: 1295
curl -i -X POST \
  https://api.intercom.io/internal_articles \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "title": "Thanks for everything",
    "body": "Body of the Article",
    "owner_id": 991266252,
    "author_id": 991266252,
    "locale": "en"
  }'

Responses

internal article created

Bodyapplication/json
typestring

The type of object - internal_article.

Default "internal_article"
Value"internal_article"
Example: "internal_article"
idstring

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

Example: "6871119"
titlestring

The title of the article.

bodystring or null

The body of the article in HTML.

Example: "Default language body in html"
owner_idinteger

The id of the owner of the article.

Example: "5017691"
author_idinteger

The id of the author of the article.

Example: "5017691"
created_atinteger(date-time)

The time when the article was created.

Example: 1672928359
updated_atinteger(date-time)

The time when the article was last updated.

Example: 1672928610
localestring

The default locale of the article.

Example: "en"
Response
application/json
{ "id": "42", "title": "Thanks for everything", "body": "Body of the Article", "owner_id": 991266252, "author_id": 991266252, "locale": "en" }

Retrieve an internal article

Request

You can fetch the details of a single internal article by making a GET request to https://api.intercom.io/internal_articles/<id>.

Security
bearerAuth
Path
idintegerrequired

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

Example: 123
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/internal_articles/123 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

Internal article found

Bodyapplication/json
typestring

The type of object - internal_article.

Default "internal_article"
Value"internal_article"
Example: "internal_article"
idstring

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

Example: "6871119"
titlestring

The title of the article.

bodystring or null

The body of the article in HTML.

Example: "Default language body in html"
owner_idinteger

The id of the owner of the article.

Example: "5017691"
author_idinteger

The id of the author of the article.

Example: "5017691"
created_atinteger(date-time)

The time when the article was created.

Example: 1672928359
updated_atinteger(date-time)

The time when the article was last updated.

Example: 1672928610
localestring

The default locale of the article.

Example: "en"
Response
application/json
{ "id": "45", "body": "Body of the Article", "owner_id": 991266252, "author_id": 991266252, "locale": "en" }

Update an internal article

Request

You can update the details of a single internal article by making a PUT request to https://api.intercom.io/internal_articles/<id>.

Security
bearerAuth
Path
idintegerrequired

The unique identifier for the internal article which is given by Intercom.

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

The title of the article.

Example: "Thanks for everything"
bodystring

The content of the article.

author_idinteger

The id of the author of the article.

Example: 1295
owner_idinteger

The id of the author of the article.

Example: 1295
curl -i -X PUT \
  https://api.intercom.io/internal_articles/123 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "title": "Christmas is here!",
    "body": "<p>New gifts in store for the jolly season</p>"
  }'

Responses

successful

Bodyapplication/json
typestring

The type of object - internal_article.

Default "internal_article"
Value"internal_article"
Example: "internal_article"
idstring

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

Example: "6871119"
titlestring

The title of the article.

bodystring or null

The body of the article in HTML.

Example: "Default language body in html"
owner_idinteger

The id of the owner of the article.

Example: "5017691"
author_idinteger

The id of the author of the article.

Example: "5017691"
created_atinteger(date-time)

The time when the article was created.

Example: 1672928359
updated_atinteger(date-time)

The time when the article was last updated.

Example: 1672928610
localestring

The default locale of the article.

Example: "en"
Response
application/json
{ "id": "48", "body": "Body of the Article", "owner_id": 991266252, "author_id": 991266252, "locale": "en" }

Delete an internal article

Request

You can delete a single internal article by making a DELETE request to https://api.intercom.io/internal_articles/<id>.

Security
bearerAuth
Path
idintegerrequired

The unique identifier for the internal article which is given by Intercom.

Example: 123
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/internal_articles/123 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
idstring

The unique identifier for the internal article which you provided in the URL.

Example: "6890762"
objectstring

The type of object which was deleted. - internal_article

Value"internal_article"
Example: "internal_article"
deletedboolean

Whether the internal article was deleted successfully or not.

Example: true
Response
application/json
{ "id": "51", "object": "internal_article", "deleted": true }

Search for internal articles

Request

You can search for internal articles by making a GET request to https://api.intercom.io/internal_articles/search.

Security
bearerAuth
Query
folder_idstring

The ID of the folder to search in.

Example: folder_id=123
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/internal_articles/search?folder_id=123' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

Search successful

Bodyapplication/json
typestring

The type of the object - list.

Value"list"
Example: "list"
total_countinteger

The total number of Internal Articles matching the search query

Example: 5
dataobject

An object containing the results of the search.

pagesobject or null(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", "total_count": 1, "data": { "internal_articles": [ … ] }, "pages": { "type": "pages", "page": 1, "total_pages": 1, "per_page": 10 } }

Away Status Reasons

Everything about your away status reasons

Operations

Companies

Everything about your Companies

Operations

Contacts

Everything about your contacts

Operations

Conversations

Everything about your Conversations

Operations

Custom Channel Events

With the closed beta "Custom Channel" integration, you can bring Fin and Intercom capabilities to your own platform via API, enabling powerful custom integrations.

Intercom treats your integration like any other Intercom channel, allowing your application and Intercom to exchange events seamlessly. This makes it possible, for example, for your users to interact with Fin directly within your own application’s UI.

Note: If you are interested in joining our closed beta and have a use case to integrate with "Fin over API", please reach out to your account manager or our support team for further information.

Operations

Custom Object Instances

Everything about your Custom Object instances.

Permission Requirements

From now on, to access this endpoint, you need additional permissions. Please head over to the Developer Hub app package authentication settings to configure the required permissions.

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

Jobs

Everything about jobs

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

Reporting Data Export

Operations

WhatsApp

Operations