Intercom API (2.12)

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

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

Convert Visitor Request Payload

You can merge a Visitor to a Contact of role type lead or user.

typestringrequired

Represents the role of the Contact model. Accepts lead or user.

Example: "user"
userobject or objectrequired

The unique identifiers retained after converting or merging.

Any of:

The unique identifiers retained after converting or merging.

user.​idstringrequired

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

Example: "8a88a590-e1c3-41e2-a502-e0649dbf721c"
user.​user_idstring

A unique identifier for the contact which is given to Intercom, which will be represented as external_id.

Example: "8a88a590-e1c3-41e2-a502-e0649dbf721c"
user.​emailstring

The contact's email, retained by default if one is present.

Example: "winstonsmith@truth.org"
visitorobject or object or objectrequired

The unique identifiers to convert a single Visitor.

Any of:

The unique identifiers to convert a single Visitor.

visitor.​idstringrequired

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

Example: "8a88a590-e1c3-41e2-a502-e0649dbf721c"
visitor.​user_idstring

A unique identifier for the contact which is given to Intercom.

Example: "8a88a590-e1c3-41e2-a502-e0649dbf721c"
visitor.​emailstring

The visitor's email.

Example: "winstonsmith@truth.org"
{ "type": "user", "user": { "id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "user_id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "email": "winstonsmith@truth.org" }, "visitor": { "id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "user_id": "8a88a590-e1c3-41e2-a502-e0649dbf721c", "email": "winstonsmith@truth.org" } }

Create Article Request Payload

You can create an Article

titlestringrequired

The title of the article.For multilingual articles, this will be the title of the default language's content.

Example: "Thanks for everything"
descriptionstring

The description of the article. For multilingual articles, this will be the description of the default language's content.

Example: "Description of the Article"
bodystring

The content of the article. For multilingual articles, this will be the body of the default language's content.

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

The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace.

Example: 1295
statestring

Whether the article will be published or will be a draft. Defaults to draft. For multilingual articles, this will be the state of the default language's content.

Enum"published""draft"
Example: "draft"
parent_idinteger

The id of the article's parent collection or section. An article without this field stands alone.

Example: 18
parent_typestring

The type of parent, which can either be a collection or section.

Example: "collection"
translated_contentobject or null(Article Translated Content)

The Translated Content of an Article. The keys are the locale codes and the values are the translated content of the article.

{ "title": "Thanks for everything", "description": "Description of the Article", "body": "<p>This is the body in html</p>", "author_id": 1295, "state": "draft", "parent_id": 18, "parent_type": "collection", "translated_content": { "type": "article_translated_content", "ar": {}, "bg": {}, "bs": {}, "ca": {}, "cs": {}, "da": {}, "de": {}, "el": {}, "en": {}, "es": {}, "et": {}, "fi": {}, "fr": {}, "he": {}, "hr": {}, "hu": {}, "id": {}, "it": {}, "ja": {}, "ko": {}, "lt": {}, "lv": {}, "mn": {}, "nb": {}, "nl": {}, "pl": {}, "pt": {}, "ro": {}, "ru": {}, "sl": {}, "sr": {}, "sv": {}, "tr": {}, "vi": {}, "pt-BR": {}, "zh-CN": {}, "zh-TW": {} } }

Create Collection Request Payload

You can create a collection

namestringrequired

The name of the collection. For multilingual collections, this will be the name of the default language's content.

Example: "collection 51"
descriptionstring

The description of the collection. For multilingual collections, this will be the description of the default language's content.

Example: "English description"
translated_contentobject or null(Group Translated Content)

The Translated Content of an Group. The keys are the locale codes and the values are the translated content of the Group.

parent_idstring or null

The id of the parent collection. If null then it will be created as the first level collection.

Example: "6871118"
help_center_idinteger or null

The id of the help center where the collection will be created. If null then it will be created in the default help center.

Example: "123"
{ "name": "collection 51", "description": "English description", "translated_content": { "type": "group_translated_content", "ar": {}, "bg": {}, "bs": {}, "ca": {}, "cs": {}, "da": {}, "de": {}, "el": {}, "en": {}, "es": {}, "et": {}, "fi": {}, "fr": {}, "he": {}, "hr": {}, "hu": {}, "id": {}, "it": {}, "ja": {}, "ko": {}, "lt": {}, "lv": {}, "mn": {}, "nb": {}, "nl": {}, "pl": {}, "pt": {}, "ro": {}, "ru": {}, "sl": {}, "sr": {}, "sv": {}, "tr": {}, "vi": {}, "pt-BR": {}, "zh-CN": {}, "zh-TW": {} }, "parent_id": "6871118", "help_center_id": "123" }