Skip to main content
POST
/
ticket
/
{external_id}
/
comment
Create a comment on a ticket
curl --request POST \
  --url https://thalamus.nerds.nl/api/v1/ticket/{external_id}/comment \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "body": "<p>Customer called again about the issue.</p>",
  "external_id": "CMT-98765",
  "external_contact_id": "C-10042",
  "external_agent_id": "AGT-42",
  "visibility": "public",
  "created_at": "2026-03-09T14:20:00Z"
}
'
{
  "success": true,
  "data": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "external_id": "<string>",
    "external_ticket_id": "<string>",
    "body": "<string>",
    "visibility": "public",
    "created_at": "2023-11-07T05:31:56Z"
  },
  "message": "<string>"
}

Authorizations

Authorization
string
header
required

Partner API key (e.g. nerds_live_a8f3d9k2m5n7p1q4r6t8v0w2x4y6z8)

Path Parameters

external_id
string
required

External ticket ID from the partner's source system

Example:

"328099"

Body

application/json
body
string
required

Comment body (HTML or plain text)

Example:

"<p>Customer called again about the issue.</p>"

external_id
string | null

External comment ID (for idempotent upsert)

Example:

"CMT-98765"

external_contact_id
string | null

External contact ID of the comment author (if customer)

Example:

"C-10042"

external_agent_id
string | null

External agent ID of the comment author (if agent)

Example:

"AGT-42"

visibility
enum<string>
default:public

Comment visibility

Available options:
public,
internal,
private
created_at
string<date-time> | null

Original creation timestamp

Example:

"2026-03-09T14:20:00Z"

Response

Comment updated (duplicate external_id)

success
boolean
Example:

true

data
object
message
string