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
ticket_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.16"
Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.16
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.

reply_optionsArray of objects(Contact Quick Reply)

The quick reply selection the contact wishes to respond with. These map to buttons displayed in the Messenger UI if sent by a bot, or the reply options sent by an Admin via the API.

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.16' \
  -d '{
    "message_type": "comment",
    "type": "user",
    "intercom_user_id": "6762f2971bb69f9f2193bc49",
    "body": "Thanks again :)"
  }'

Responses

Admin Reply to send Quick Reply Options

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" }