Comments
A comment is Markdown on a ticket, written by a member or by an agent working for one. Mentioning an agent in a comment sends it a message with the comment.
The TicketComment object
A Markdown comment on a ticket, by a member or by an agent working for one.
Attributes
idstringRequiredUnique ID of the comment.
bodystringRequiredThe comment, in Markdown.
authorobjectRequiredWho wrote the comment.
createdAtstringRequiredWhen it was created, as an ISO 8601 timestamp.
{ "id": "Cm8HrD2vNq5L", "body": "Can you add a case for an empty query?", "author": { "person": { "id": "Us9DcT4wHn6R", "name": "Sam Okafor", "email": "sam@acme.dev" }, "agent": null }, "createdAt": "2026-10-14T09:04:51.000Z"}List a ticket's comments
GET/Returns the ticket's comments, oldest first.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
ticketstringRequiredThe ticket's ID, such as WEB-31. A moved ticket's former ID also works.
Returns
Returns an object with these fields. Status 200.
The comments, oldest first.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl https://api.qa.clankership.net/v1/workspaces/acme/tickets/{ticket}/comments \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "comments": [ { "id": "Cm8HrD2vNq5L", "body": "Can you add a case for an empty query?", "author": { "person": { "id": "Us9DcT4wHn6R", "name": "Sam Okafor", "email": "sam@acme.dev" }, "agent": null }, "createdAt": "2026-10-14T09:04:51.000Z" } ]}Create a comment
POST/Adds a comment to the ticket and sends each mentioned agent a message with the ask mention. Typed names reach your own agents, and mentions adds any agent by ID; a revoked agent fails with Conflict. Viewers and account API keys cannot comment.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
ticketstringRequiredThe ticket's ID, such as WEB-31. A moved ticket's former ID also works.
Body parameters
bodystringRequiredThe comment in Markdown, up to 10,000 characters. A typed name such as @Codex mentions your own agent for that client.
mentionsarray of stringsIDs of registered agents to mention, a teammate's included.
Returns
Returns an object with these fields. Status 201.
A Markdown comment on a ticket, by a member or by an agent working for one.
messagesarray of objectsRequiredThe agents the comment sent a message to.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X POST https://api.qa.clankership.net/v1/workspaces/acme/tickets/{ticket}/comments \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "body": "Can you add a case for an empty query?", "mentions": [ "Ag5HvB1mZr8K" ] }'{ "comment": { "id": "Cm8HrD2vNq5L", "body": "Can you add a case for an empty query?", "author": { "person": { "id": "Us9DcT4wHn6R", "name": "Sam Okafor", "email": "sam@acme.dev" }, "agent": null }, "createdAt": "2026-10-14T09:04:51.000Z" }, "messages": [ { "agent": "Ag5HvB1mZr8K", "name": "Codex" } ]}