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

News Item

A News Item is a content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers.

typestring

The type of object.

Value"news-item"
Example: "news-item"
idstring

The unique identifier for the news item which is given by Intercom.

Example: "141"
workspace_idstring

The id of the workspace which the news item belongs to.

Example: "t74hdn32"
titlestring

The title of the news item.

Example: "New feature: News Items"
bodystring

The news item body, which may contain HTML.

Example: "We are excited to announce the launch of News Items, a new content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers."
sender_idinteger

The id of the sender of the news item. Must be a teammate on the workspace.

Example: 123
statestring

News items will not be visible to your users in the assigned newsfeeds until they are set live.

Enum"draft""live"
Example: "live"
newsfeed_assignmentsArray of objects(Newsfeed Assignment)

A list of newsfeed_assignments to assign to the specified newsfeed.

labelsArray of strings or null

Label names displayed to users to categorize the news item.

Example: ["Product Update"]
cover_image_urlstring or null(uri)

URL of the image used as cover. Must have .jpg or .png extension.

Example: "https://example.com/cover.jpg"
reactionsArray of strings or null

Ordered list of emoji reactions to the news item. When empty, reactions are disabled.

Example: ["👍"]
deliver_silentlyboolean

When set to true, the news item will appear in the messenger newsfeed without showing a notification badge.

Example: true
created_atinteger(timestamp)

Timestamp for when the news item was created.

Example: 1610589632
updated_atinteger(timestamp)

Timestamp for when the news item was last updated.

Example: 1610589632
{ "type": "news-item", "id": "141", "workspace_id": "t74hdn32", "title": "New feature: News Items", "body": "We are excited to announce the launch of News Items, a new content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers.", "sender_id": 123, "state": "live", "newsfeed_assignments": [ {} ], "labels": [ "Product Update" ], "cover_image_url": "https://example.com/cover.jpg", "reactions": [ "👍" ], "deliver_silently": true, "created_at": 1610589632, "updated_at": 1610589632 }

Newsfeed

A newsfeed is a collection of news items, targeted to a specific audience.

Newsfeeds currently cannot be edited through the API, please refer to this article to set up your newsfeeds in Intercom.

idstring

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

Example: "12312"
typestring

The type of object.

Value"newsfeed"
Example: "newsfeed"
namestring

The name of the newsfeed. This name will never be visible to your users.

Example: "My Newsfeed"
created_atinteger(timestamp)

Timestamp for when the newsfeed was created.

Example: 1674917488
updated_atinteger(timestamp)

Timestamp for when the newsfeed was last updated.

Example: 1674917488
{ "id": "12312", "type": "newsfeed", "name": "My Newsfeed", "created_at": 1674917488, "updated_at": 1674917488 }

Newsfeed Assignment

Assigns a news item to a newsfeed.

newsfeed_idinteger

The unique identifier for the newsfeed which is given by Intercom. Publish dates cannot be in the future, to schedule news items use the dedicated feature in app (see this article).

Example: 198313
published_atinteger(timestamp)

Publish date of the news item on the newsfeed, use this field if you want to set a publish date in the past (e.g. when importing existing news items). On write, this field will be ignored if the news item state is "draft".

Example: 1674917488
{ "newsfeed_id": 198313, "published_at": 1674917488 }

List all news items

Request

You can fetch a list of all news items

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/news/news_items \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of object

Enum"list""conversation.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 objects.

Example: 1
dataArray of News Item (object) or Newsfeed (object)

An array of Objects

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

Create a news item

Request

You can create a news item

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 news item.

Example: "Halloween is here!"
bodystring

The news item body, which may contain HTML.

Example: "<p>New costumes in store for this spooky season</p>"
sender_idintegerrequired

The id of the sender of the news item. Must be a teammate on the workspace.

Example: 123
statestring

News items will not be visible to your users in the assigned newsfeeds until they are set live.

Enum"draft""live"
Example: "live"
deliver_silentlyboolean

When set to true, the news item will appear in the messenger newsfeed without showing a notification badge.

Example: true
labelsArray of strings

Label names displayed to users to categorize the news item.

Example: ["Product","Update","New"]
reactionsArray of strings or null

Ordered list of emoji reactions to the news item. When empty, reactions are disabled.

Example: ["😆","😅"]
newsfeed_assignmentsArray of objects(Newsfeed Assignment)

A list of newsfeed_assignments to assign to the specified newsfeed.

curl -i -X POST \
  https://api.intercom.io/news/news_items \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "title": "Halloween is here!",
    "body": "<p>New costumes in store for this spooky season</p>",
    "labels": [
      "Product",
      "Update",
      "New"
    ],
    "sender_id": 991267118,
    "deliver_silently": true,
    "reactions": [
      "😆",
      "😅"
    ],
    "state": "live",
    "newsfeed_assignments": [
      {
        "newsfeed_id": 3,
        "published_at": 1664638214
      }
    ]
  }'

Responses

successful

Bodyapplication/json
typestring

The type of object.

Value"news-item"
Example: "news-item"
idstring

The unique identifier for the news item which is given by Intercom.

Example: "141"
workspace_idstring

The id of the workspace which the news item belongs to.

Example: "t74hdn32"
titlestring

The title of the news item.

Example: "New feature: News Items"
bodystring

The news item body, which may contain HTML.

Example: "We are excited to announce the launch of News Items, a new content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers."
sender_idinteger

The id of the sender of the news item. Must be a teammate on the workspace.

Example: 123
statestring

News items will not be visible to your users in the assigned newsfeeds until they are set live.

Enum"draft""live"
Example: "live"
newsfeed_assignmentsArray of objects(Newsfeed Assignment)

A list of newsfeed_assignments to assign to the specified newsfeed.

labelsArray of strings or null

Label names displayed to users to categorize the news item.

Example: ["Product Update"]
cover_image_urlstring or null(uri)

URL of the image used as cover. Must have .jpg or .png extension.

Example: "https://example.com/cover.jpg"
reactionsArray of strings or null

Ordered list of emoji reactions to the news item. When empty, reactions are disabled.

Example: ["👍"]
deliver_silentlyboolean

When set to true, the news item will appear in the messenger newsfeed without showing a notification badge.

Example: true
created_atinteger(timestamp)

Timestamp for when the news item was created.

Example: 1610589632
updated_atinteger(timestamp)

Timestamp for when the news item was last updated.

Example: 1610589632
Response
application/json
{ "id": "5", "type": "news-item", "workspace_id": "this_is_an_id532_that_should_be_at_least_", "title": "Halloween is here!", "body": "<p>New costumes in store for this spooky season</p>", "sender_id": 991267118, "state": "live", "labels": [ "New", "Product", "Update" ], "cover_image_url": null, "reactions": [ "😆", "😅" ], "deliver_silently": true, "created_at": 1733144524, "updated_at": 1733144524, "newsfeed_assignments": [ {} ] }

Retrieve a news item

Request

You can fetch the details of a single news item.

Path
idintegerrequired

The unique identifier for the news item 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/news/news_items/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of object.

Value"news-item"
Example: "news-item"
idstring

The unique identifier for the news item which is given by Intercom.

Example: "141"
workspace_idstring

The id of the workspace which the news item belongs to.

Example: "t74hdn32"
titlestring

The title of the news item.

Example: "New feature: News Items"
bodystring

The news item body, which may contain HTML.

Example: "We are excited to announce the launch of News Items, a new content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers."
sender_idinteger

The id of the sender of the news item. Must be a teammate on the workspace.

Example: 123
statestring

News items will not be visible to your users in the assigned newsfeeds until they are set live.

Enum"draft""live"
Example: "live"
newsfeed_assignmentsArray of objects(Newsfeed Assignment)

A list of newsfeed_assignments to assign to the specified newsfeed.

labelsArray of strings or null

Label names displayed to users to categorize the news item.

Example: ["Product Update"]
cover_image_urlstring or null(uri)

URL of the image used as cover. Must have .jpg or .png extension.

Example: "https://example.com/cover.jpg"
reactionsArray of strings or null

Ordered list of emoji reactions to the news item. When empty, reactions are disabled.

Example: ["👍"]
deliver_silentlyboolean

When set to true, the news item will appear in the messenger newsfeed without showing a notification badge.

Example: true
created_atinteger(timestamp)

Timestamp for when the news item was created.

Example: 1610589632
updated_atinteger(timestamp)

Timestamp for when the news item was last updated.

Example: 1610589632
Response
application/json
{ "id": "6", "type": "news-item", "workspace_id": "this_is_an_id536_that_should_be_at_least_", "title": "We have news", "body": "<p>Hello there,</p>", "sender_id": 991267121, "state": "live", "labels": [], "cover_image_url": null, "reactions": [ null, null, null, null ], "deliver_silently": false, "created_at": 1733144526, "updated_at": 1733144526, "newsfeed_assignments": [ {} ] }

Update a news item

Request

Path
idintegerrequired

The unique identifier for the news item 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
titlestringrequired

The title of the news item.

Example: "Halloween is here!"
bodystring

The news item body, which may contain HTML.

Example: "<p>New costumes in store for this spooky season</p>"
sender_idintegerrequired

The id of the sender of the news item. Must be a teammate on the workspace.

Example: 123
statestring

News items will not be visible to your users in the assigned newsfeeds until they are set live.

Enum"draft""live"
Example: "live"
deliver_silentlyboolean

When set to true, the news item will appear in the messenger newsfeed without showing a notification badge.

Example: true
labelsArray of strings

Label names displayed to users to categorize the news item.

Example: ["Product","Update","New"]
reactionsArray of strings or null

Ordered list of emoji reactions to the news item. When empty, reactions are disabled.

Example: ["😆","😅"]
newsfeed_assignmentsArray of objects(Newsfeed Assignment)

A list of newsfeed_assignments to assign to the specified newsfeed.

curl -i -X PUT \
  'https://api.intercom.io/news/news_items/{id}' \
  -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>",
    "sender_id": 991267129,
    "reactions": [
      "😝",
      "😂"
    ]
  }'

Responses

successful

Bodyapplication/json
typestring

The type of object.

Value"news-item"
Example: "news-item"
idstring

The unique identifier for the news item which is given by Intercom.

Example: "141"
workspace_idstring

The id of the workspace which the news item belongs to.

Example: "t74hdn32"
titlestring

The title of the news item.

Example: "New feature: News Items"
bodystring

The news item body, which may contain HTML.

Example: "We are excited to announce the launch of News Items, a new content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers."
sender_idinteger

The id of the sender of the news item. Must be a teammate on the workspace.

Example: 123
statestring

News items will not be visible to your users in the assigned newsfeeds until they are set live.

Enum"draft""live"
Example: "live"
newsfeed_assignmentsArray of objects(Newsfeed Assignment)

A list of newsfeed_assignments to assign to the specified newsfeed.

labelsArray of strings or null

Label names displayed to users to categorize the news item.

Example: ["Product Update"]
cover_image_urlstring or null(uri)

URL of the image used as cover. Must have .jpg or .png extension.

Example: "https://example.com/cover.jpg"
reactionsArray of strings or null

Ordered list of emoji reactions to the news item. When empty, reactions are disabled.

Example: ["👍"]
deliver_silentlyboolean

When set to true, the news item will appear in the messenger newsfeed without showing a notification badge.

Example: true
created_atinteger(timestamp)

Timestamp for when the news item was created.

Example: 1610589632
updated_atinteger(timestamp)

Timestamp for when the news item was last updated.

Example: 1610589632
Response
application/json
{ "id": "9", "type": "news-item", "workspace_id": "this_is_an_id542_that_should_be_at_least_", "title": "Christmas is here!", "body": "<p>New gifts in store for the jolly season</p>", "sender_id": 991267129, "state": "live", "labels": [], "cover_image_url": null, "reactions": [ "😝", "😂" ], "deliver_silently": false, "created_at": 1733144529, "updated_at": 1733144530, "newsfeed_assignments": [] }

Delete a news item

Request

You can delete a single news item.

Path
idintegerrequired

The unique identifier for the news item 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/news/news_items/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
idstring

The unique identifier for the news item which you provided in the URL.

Example: "6890762"
objectstring

The type of object which was deleted - news-item.

Value"news-item"
Example: "news-item"
deletedboolean

Whether the news item was deleted successfully or not.

Example: true
Response
application/json
{ "id": "12", "object": "news-item", "deleted": true }

List all live newsfeed items

Request

You can fetch a list of all news items that are live on a given newsfeed

Path
idstringrequired

The unique identifier for the news feed item 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/news/newsfeeds/{id}/items' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of object

Enum"list""conversation.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 objects.

Example: 1
dataArray of News Item (object) or Newsfeed (object)

An array of Objects

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

List all newsfeeds

Request

You can fetch a list of all newsfeeds

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/news/newsfeeds \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
typestring

The type of object

Enum"list""conversation.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 objects.

Example: 1
dataArray of News Item (object) or Newsfeed (object)

An array of Objects

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

Retrieve a newsfeed

Request

You can fetch the details of a single newsfeed

Path
idstringrequired

The unique identifier for the news feed item 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/news/newsfeeds/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Unstable'

Responses

successful

Bodyapplication/json
idstring

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

Example: "12312"
typestring

The type of object.

Value"newsfeed"
Example: "newsfeed"
namestring

The name of the newsfeed. This name will never be visible to your users.

Example: "My Newsfeed"
created_atinteger(timestamp)

Timestamp for when the newsfeed was created.

Example: 1674917488
updated_atinteger(timestamp)

Timestamp for when the newsfeed was last updated.

Example: 1674917488
Response
application/json
{ "id": "22", "type": "newsfeed", "name": "Visitor Feed", "created_at": 1733144540, "updated_at": 1733144540 }

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