Skip to content

List all conversations

Request

You can fetch a list of all conversations.

You can optionally request the result page size and the cursor to start after to fetch the result.

Pagination

You can use pagination to limit the number of results returned. The default is 20 results per page. See the pagination section for more details on how to use the starting_after param.

Tickets are only included in the results if the access token has the read_tickets scope. Without it, tickets are left out and no error is returned.

Security
bearerAuth
Query
per_pageinteger, <= 150

How many results per page

Default:20
starting_afterstring

String used to get the next page of conversations.

include_monitorsboolean

If set to true, the response will include a monitor_evaluations array on each conversation with the latest QA monitor evaluation for each monitor that has evaluated it.

Default:false
Example:include_monitors=true
include_scorecardsboolean

If set to true, the response will include a scorecards array on each conversation with any QA scorecard results.

Default:false
Example:include_scorecards=true
Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.

Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:Preview
curl -i -X GET \
  'https://api.intercom.io/conversations?per_page=20&starting_after=string&include_monitors=true&include_scorecards=true' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Intercom-Version: Preview'

Responses

successful

Bodyapplication/json
typestring

Always conversation.list

Value:"conversation.list"
Example:"conversation.list"
conversationsArray of objects(Conversation List Item)

The list of conversation objects

total_countinteger

A count of the total number of objects.

Example:12345
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
{ "type": "conversation.list", "pages": { "type": "pages", "page": 1, "per_page": 20, "total_pages": 1 }, "total_count": 1, "conversations": [ { … } ] }