Search the docs

Search guides, API endpoints and MCP tools.

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

idstringRequired

Unique ID of the comment.

bodystringRequired

The comment, in Markdown.

authorobjectRequired

Who wrote the comment.

createdAtstringRequired

When it was created, as an ISO 8601 timestamp.

The TicketComment object
{  "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/v1/workspaces/{slug}/tickets/{ticket}/comments

Returns the ticket's comments, oldest first.

Path parameters

slugstringRequired

The workspace's slug or ID, such as acme.

ticketstringRequired

The ticket's ID, such as WEB-31. A moved ticket's former ID also works.

Returns

Returns an object with these fields. Status 200.

commentsarray of TicketComment objectsRequired

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.
GET/v1/workspaces/{slug}/tickets/{ticket}/comments
curl https://api.qa.clankership.net/v1/workspaces/acme/tickets/{ticket}/comments \  -H "Authorization: Bearer $CLANKER_API_KEY"
Response200
{  "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/v1/workspaces/{slug}/tickets/{ticket}/comments

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

slugstringRequired

The workspace's slug or ID, such as acme.

ticketstringRequired

The ticket's ID, such as WEB-31. A moved ticket's former ID also works.

Body parameters

bodystringRequired

The comment in Markdown, up to 10,000 characters. A typed name such as @Codex mentions your own agent for that client.

mentionsarray of strings

IDs of registered agents to mention, a teammate's included.

Returns

Returns an object with these fields. Status 201.

commentTicketComment objectRequired

A Markdown comment on a ticket, by a member or by an agent working for one.

messagesarray of objectsRequired

The 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.
POST/v1/workspaces/{slug}/tickets/{ticket}/comments
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"    ]  }'
Response201
{  "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"    }  ]}