Unfortunately, this feature is not supported on mobile devices. For the best experience, please use a computer.

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

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

Activity Log

Activities performed by Admins.

idstring

The id representing the activity.

Example:

"6"

performed_byobject

Details about the Admin involved in the activity.

metadataobject or null(Activity Log Metadata)

Additional data provided about Admin activity.

created_atinteger(date-time)

The time the activity was created.

Example:

1671028894

activity_typestring
Enum"admin_assignment_limit_change""admin_away_mode_change""admin_deletion""admin_deprovisioned""admin_impersonation_end""admin_impersonation_start""admin_invite_change""admin_invite_creation""admin_invite_deletion""admin_login_failure"
Example:

"app_name_change"

activity_descriptionstring

A sentence or two describing the activity.

Example:

"Admin updated the app's name to "My App"."

{ "id": "6", "performed_by": { "type": "admin", "id": "1295", "email": "john@example.com", "ip": "198.51.100.255" }, "metadata": { "sign_in_method": "email_password", "external_id": "f3b87a2e09d514c6c2e79b9a", "away_mode": true, "away_status_reason": "😌 On a break", "reassign_conversations": false, "source": "admin update from web - Admin id: 93", "auto_changed": false, "update_by": 93, "update_by_name": "Joe Bloggs" }, "created_at": 1671028894, "activity_type": "app_name_change", "activity_description": "Admin updated the app's name to \"My App\"." }

Paginated Response

A paginated list of activity logs.

typestring

String representing the object's type. Always has the value activity_log.list.

Example:

"activity_log.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.

activity_logsArray of objects or null(Activity Log)

An array of activity logs

{ "type": "activity_log.list", "pages": { "type": "pages", "page": 1, "next": {}, "per_page": 2, "total_pages": 13 }, "activity_logs": [ {} ] }

Activity Log Metadata

Additional data provided about Admin activity.

sign_in_methodstring or null

The way the admin signed in.

Example:

"email_password"

external_idstring or null

The unique identifier for the contact which is provided by the Client.

Example:

"f3b87a2e09d514c6c2e79b9a"

away_modeboolean or null

The away mode status which is set to true when away and false when returned.

Example:

true

away_status_reasonstring or null

The reason the Admin is away.

Example:

"😌 On a break"

reassign_conversationsboolean or null

Indicates if conversations should be reassigned while an Admin is away.

Example:

false

sourcestring or null

The action that initiated the status change.

Example:

"admin update from web - Admin id: 93"

auto_changedstring or null

Indicates if the status was changed automatically or manually.

Example:

false

update_byinteger or null

The ID of the Admin who initiated the activity.

Example:

93

update_by_namestring or null

The name of the Admin who initiated the activity.

Example:

"Joe Bloggs"

{ "sign_in_method": "email_password", "external_id": "f3b87a2e09d514c6c2e79b9a", "away_mode": true, "away_status_reason": "😌 On a break", "reassign_conversations": false, "source": "admin update from web - Admin id: 93", "auto_changed": false, "update_by": 93, "update_by_name": "Joe Bloggs" }

Addressable List

A list used to access other resources from a parent model.

typestring(uri)

The addressable object type

Example:

"note"

idstring

The id of the addressable object

Example:

"123"

urlstring(uri)

Url to get more company resources for this contact

Example:

"/contacts/5ba682d23d7cf92bef87bfd4/notes"

{ "type": "note", "id": "123", "url": "/contacts/5ba682d23d7cf92bef87bfd4/notes" }

Admins

A list of admins associated with a given workspace.

typestring

String representing the object's type. Always has the value admin.list.

Example:

"admin.list"

adminsArray of objects or null(Admin)

A list of admins associated with a given workspace.

{ "type": "admin.list", "admins": [ {} ] }

Admin Priority Level

Admin priority levels for the team

primary_admin_idsArray of integers or null

The primary admin ids for the team

Example:

[493881]

secondary_admin_idsArray of integers or null

The secondary admin ids for the team

Example:

[814865]

{ "primary_admin_ids": [ 493881 ], "secondary_admin_ids": [ 814865 ] }

Admin Reply

Payload of the request to reply on behalf of an admin

message_typestringrequired
Enum"comment""note""quick_reply"
Example:

"comment"

typestringrequired
Value"admin"
Example:

"admin"

bodystring

The text body of the reply. Notes accept some HTML formatting. Must be present for comment and note message types.

Example:

"Hello there!"

admin_idstringrequired

The id of the admin who is authoring the comment.

Example:

"3156780"

created_atinteger

The time the reply was created. If not provided, the current time will be used.

Example:

1590000000

reply_optionsArray of objects(Quick Reply Options)

The quick reply options to display. Must be present for quick_reply message types.

attachment_urlsArray of strings(uri)<= 10 items

A list of image URLs that will be added as attachments. You can include up to 10 URLs.

attachment_filesArray of objects(Conversation attachment files)<= 10 items

A list of files that will be added as attachments. You can include up to 10 files

{ "message_type": "comment", "type": "admin", "body": "Hello there!", "admin_id": "3156780", "created_at": 1590000000, "reply_options": [ {} ], "attachment_urls": [ "http://example.com" ], "attachment_files": [ {} ] }

Admin Reply on ticket

Payload of the request to reply on behalf of an admin

message_typestringrequired
Enum"comment""note""quick_reply"
Example:

"comment"

typestringrequired
Value"admin"
Example:

"admin"

bodystring

The text body of the reply. Notes accept some HTML formatting. Must be present for comment and note message types.

Example:

"Hello there!"

admin_idstringrequired

The id of the admin who is authoring the comment.

Example:

"3156780"

created_atinteger

The time the reply was created. If not provided, the current time will be used.

Example:

1590000000

reply_optionsArray of objects(Quick Reply Options)

The quick reply options to display. Must be present for quick_reply message types.

attachment_urlsArray of strings(uri)<= 10 items

A list of image URLs that will be added as attachments. You can include up to 10 URLs.

{ "message_type": "comment", "type": "admin", "body": "Hello there!", "admin_id": "3156780", "created_at": 1590000000, "reply_options": [ {} ], "attachment_urls": [ "http://example.com" ] }

Admin

Admins are the teammate accounts that have access to a workspace

typestring

String representing the object's type. Always has the value admin.

Example:

"admin"

idstring

The id representing the admin.

Example:

"1295"

namestring

The name of the admin.

Example:

"Hoban Washburne"

emailstring

The email of the admin.

Example:

"wash@serenity.io"

job_titlestring

The job title of the admin.

Example:

"Philosopher"

away_mode_enabledboolean

Identifies if this admin is currently set in away mode.

Example:

false

away_mode_reassignboolean

Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.

Example:

false

has_inbox_seatboolean

Identifies if this admin has a paid inbox seat to restrict/allow features that require them.

Example:

true

team_idsArray of integers

This is a list of ids of the teams that this admin is part of.

Example:

[814865]

avatarobject

This object represents the avatar associated with the admin.

email_verifiedboolean or null

Identifies if this admin's email is verified.

Example:

true

appobject or null(App)

App is a workspace on Intercom

{ "type": "admin", "id": "1295", "name": "Hoban Washburne", "email": "wash@serenity.io", "job_title": "Philosopher", "away_mode_enabled": false, "away_mode_reassign": false, "has_inbox_seat": true, "team_ids": [ 814865 ], "avatar": { "type": "avatar", "image_url": "https://example.com/avatar.png" }, "email_verified": true, "app": { "type": "app", "id_code": "xyz789", "name": "ACME", "region": "US", "timezone": "America/Los_Angeles", "created_at": 1671465577, "identity_verification": false } }

App

App is a workspace on Intercom

typestring
Default "app"
Example:

"app"

id_codestring

The id of the app.

Example:

"xyz789"

namestring

The name of the app.

Example:

"ACME"

regionstring

The Intercom region the app is located in.

Example:

"US"

timezonestring

The timezone of the region where the app is located.

Example:

"America/Los_Angeles"

created_atinteger

When the app was created.

Example:

1671465577

identity_verificationboolean

Whether or not the app uses identity verification.

Example:

false

{ "type": "app", "id_code": "xyz789", "name": "ACME", "region": "US", "timezone": "America/Los_Angeles", "created_at": 1671465577, "identity_verification": false }

Article Content

The Content of an Article.

typestring or null

The type of object - article_content .

Enumnull"article_content"
Example:

"article_content"

titlestring

The title of the article.

Example:

"How to create a new article"

descriptionstring

The description of the article.

Example:

"This article will show you how to create a new article."

bodystring

The body of the article.

Example:

"This is the body of the article."

author_idinteger

The ID of the author of the article.

Example:

"5017691"

statestring

Whether the article is published or is a draft .

Enum"published""draft"
Example:

"draft"

created_atinteger(date-time)

The time when the article was created (seconds).

Example:

1663597223

updated_atinteger(date-time)

The time when the article was last updated (seconds).

Example:

1663597260

urlstring

The URL of the article.

Example:

"http://intercom.test/help/en/articles/3-default-language"

{ "type": "article_content", "title": "How to create a new article", "description": "This article will show you how to create a new article.", "body": "This is the body of the article.", "author_id": "5017691", "state": "draft", "created_at": 1663597223, "updated_at": 1663597260, "url": "http://intercom.test/help/en/articles/3-default-language" }

Articles

This will return a list of articles for the App.

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 articles.

Example:

1

dataArray of objects(Articles)

An array of Article objects

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

Article Statistics

The statistics of an article.

typestring

The type of object - article_statistics.

Default "article_statistics"
Value"article_statistics"
Example:

"article_statistics"

viewsinteger

The number of total views the article has received.

Example:

10

conversionsinteger

The number of conversations started from the article.

Example:

0

reactionsinteger

The number of total reactions the article has received.

Example:

10

happy_reaction_percentagenumber(float)

The percentage of happy reactions the article has received against other types of reaction.

Example:

40

neutral_reaction_percentagenumber(float)

The percentage of neutral reactions the article has received against other types of reaction.

Example:

40

sad_reaction_percentagenumber