Skip to content

Say something about this run

POST
/v1/runs/{id}/comments
curl --request POST \
--url https://beta-api.plune.ai/v1/runs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/comments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "body": "Step 3 is stale since the checkout redesign — the coupon field moved into the order summary." }'

M6 (#1256). Plain text with its line breaks, trimmed, never empty, at most 8192 bytes; no edit, no Markdown. Audited on the run as run/comment, the text in the diff, and never undone from the feed. A reader may comment (#1440), recorded as its author; it cannot take one back (DELETE is 403 read-only member). Taken back with DELETE /v1/comments/{id}.

id
required
string format: uuid
X-Plune-Project
string

Which of your projects to act in — an id from GET /v1/projects. Absent, your default project. A project you are not a member of answers 404, the same as one that does not exist. Ignored under a bearer token, which is bound to the project it was minted in.

Media type application/json
object
body
required

Trimmed; at most 8192 bytes (not characters) — the same cap the column enforces. Whitespace alone is refused.

string
>= 1 characters <= 8192 characters
Example
{
"body": "Step 3 is stale since the checkout redesign — the coupon field moved into the order summary."
}

Written

Media type application/json

What somebody said about a case (B8-team T5): plain text with its line breaks, no Markdown, no edit — a changed mind is a second comment. The author is a userId; the dashboard names them from GET /v1/members.

object
id
required
string format: uuid
authorId
required
string
body
required
string
<= 8192 characters
createdAt
required
string format: date-time
Example
{
"id": "6f1c2b3a-0000-4000-8000-0000000000a4",
"authorId": "6f1c2b3a-0000-4000-8000-0000000000a2",
"body": "Step 3 is stale since the checkout redesign — the coupon field moved into the order summary."
}

Empty, or over the byte cap

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

No / invalid token or session

A read API token (read-only token); a reader member may comment

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

No such run in this project, or it is in the bin

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

Rate-limited: the per-route throttle, or the per-minute request limit of the plan an API token counts by (#1442; the body names the plan, #2092). Retry-After carries the seconds until the window rolls over.

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}
Retry-After
integer

Seconds until the window rolls over