The intercom API reference.
Home//
REST API Reference
/- List all conversations
Conversation List Item
Conversation
Add tag to a conversation
Remove tag from a conversation
Creates a conversation
Retrieve a conversation
Update a conversation
Search conversations
Reply to a conversation
Manage a conversation
Run Assignment Rules on a conversation
Attach a contact to a conversation
Detach a contact from a group conversation
Redact a conversation part
Convert a conversation to a ticket
List all conversations
Intercom API (2.10)
Download OpenAPI description
Overview
URL
License
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/
- The production API serverhttps://api.intercom.io/conversations/{conversation_id}/tags/{id}
- The european API serverhttps://api.eu.intercom.io/conversations/{conversation_id}/tags/{id}
- The australian API serverhttps://api.au.intercom.io/conversations/{conversation_id}/tags/{id}
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X DELETE \
https://api.intercom.io/conversations/64619700005694/tags/7522907 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: 2.10' \
-d '{
"admin_id": 991267925
}'Response
application/json
{ "type": "tag", "id": "133", "name": "Manual tag", "applied_at": 1663597223, "applied_by": { "type": "admin", "id": "456" } }
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.
Security
bearerAuth
- The production API serverhttps://api.intercom.io/conversations
- The european API serverhttps://api.eu.intercom.io/conversations
- The australian API serverhttps://api.au.intercom.io/conversations
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X GET \
'https://api.intercom.io/conversations?per_page=20&starting_after=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: 2.10'Response
application/json
{ "type": "conversation.list", "pages": { "type": "pages", "page": 1, "per_page": 20, "total_pages": 1 }, "total_count": 1, "conversations": [ { … } ] }
Request
You can create a conversation that has been initiated by a contact (ie. user or lead).
Sending for visitors
You can also send a message from a visitor by specifying their user_id or id value in the from field, along with a type field value of contact. This visitor will be automatically converted to a contact with a lead role once the conversation is created.
This will return the Message model that has been created.
Security
bearerAuth
- The production API serverhttps://api.intercom.io/conversations
- The european API serverhttps://api.eu.intercom.io/conversations
- The australian API serverhttps://api.au.intercom.io/conversations
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X POST \
https://api.intercom.io/conversations \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: 2.10' \
-d '{
"from": {
"type": "user",
"id": "6657ac8a6abd0166b52ae266"
},
"body": "Hello there"
}'Response
application/json
{ "type": "user_message", "id": "403918318", "created_at": 1717021835, "body": "Hello there", "message_type": "inapp", "conversation_id": "483" }