Skip to content

Reply to a ticket

Request

You can reply to a ticket with a message from an admin or on behalf of a contact, or with a note for admins.

Security
bearerAuth
Path
idstring(Ticket ID)required

The id of the ticket to target.

Not the Inbox ticket ID

This is the internal id field from the API response, not the ticket_id displayed in the Intercom Inbox (e.g., #12345). Use the id value from the ticket object returned by the API.

Example:123
Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default:"2.13"
Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.13
Bodyapplication/json
One of:
One of:

Payload of the request to reply on behalf of a contact using their intercom_user_id

message_typestringrequired
Value:"comment"
typestringrequired
Value:"user"
bodystringrequired

The text body of the comment.

created_atinteger

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

Example:1590000000
attachment_urlsArray of strings, (uri), <= 10 items(Attachment URLs)

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

intercom_user_idstringrequired

The identifier for the contact as given by Intercom.

curl -i -X POST \
  https://api.intercom.io/tickets/123/reply \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: 2.13' \
  -d '{
    "message_type": "comment",
    "type": "user",
    "intercom_user_id": "677c56b36abd011ad17ff5b6",
    "body": "Thanks again :)"
  }'

Responses

Admin quick_reply reply

Bodyapplication/json
typestring

Always ticket_part

Value:"ticket_part"
Example:"ticket_part"
idstring

The id representing the part.

Example:"3"
part_typestring

Type of the part

Enum:"note""comment""quick_reply"
Example:"note"
bodystring or null

The message body, which may contain HTML.

Example:"<p>Okay!</p>"
created_atinteger, (date-time)

The time the note was created.

Example:1663597223
updated_atinteger, (date-time)

The last time the note was updated.

Example:1663597260

The author that wrote or triggered the part. Can be a bot, admin, team or user.

attachmentsArray of objects(Ticket part attachments)

A list of attachments for the part.

redactedboolean

Whether or not the ticket part has been redacted.

Example:false
Response
{ "type": "ticket_part", "id": "156", "part_type": "note", "body": "<h2>An Unordered HTML List</h2>\n<ul>\n<li>Coffee</li>\n<li>Tea</li>\n<li>Milk</li>\n</ul>\n<h2>An Ordered HTML List</h2>\n<ol>\n<li>Coffee</li>\n<li>Tea</li>\n<li>Milk</li>\n</ol>", "created_at": 1734537884, "updated_at": 1734537884, "author": { "id": "991267943", "type": "admin", "name": "Ciaran419 Lee", "email": "admin419@email.com" }, "attachments": [], "redacted": false, "app_package_code": "test-integration" }