Deze referentie is alleen in het Engels. Naar het Nederlandse REST API-overzicht

Diese Referenz gibt es nur auf Englisch. Zur deutschen REST-API-Übersicht

Cette référence existe uniquement en anglais. Aller à la présentation de l'API REST en français

Esta referencia solo está en inglés. Ir a la introducción de la API REST en español

PATCH/comments/{comment}

Edit a comment

PATCHhttps://<your-url>/api/v2/comments/{comment}

MCP id comments.updateAlso on this path: GET Read a comment, DELETE Delete a comment

View as Markdown openapi.json

Partially updates one comment: body is the only writable key and absent keys are untouched.

Access

Permission
project_management::manage_work_items

Without it: 403 insufficient-permission.

Rate cost
1 unit, write bucket. A write costs the same whatever view you ask for.
Also
Accepts If-Match. Never cached: private, no-store. Unknown body keys are refused, never dropped.

Both are checked, scope first. A token never does more than its user. How access is checked

This mirrors the edit action on a comment thread in plnnrly and follows the same rules: Editing is author-only. No permission lets a manager edit somebody else's comment, so a PATCH by a non-author is 403 forbidden-by-policy and there is no override to ask for. On top of authorship the caller must still be able to comment on the parent, which is project_management::manage_work_items for a work item and read access to the drive document for a drive item; the token must cover that parent's prefix. Re-parenting is not a field write and is not available: sending commentable_type or commentable_id is a 422. Mention spans present in the body you read may be sent back verbatim and are preserved; note that the response body is sanitised, so it can differ from the exact bytes you sent. Send If-Match with the ETag from your last read to detect a concurrent edit, which answers 412; a comment has no version field, so its ETag is derived from updated_at, and the ETag in the response is the one to send next.

Path parameters

commentintegerRequired

The Comment's numeric id.

Query parameters

Unknown parameters are refused with 400, naming the parameter.

viewstring

Which field set to render.

summarydetaildefault

Request headers

X-Request-Idstringpattern

A correlation id of your own. It is recorded in our logs next to the server's request id but never returned: the response header always carries the server's id. A value that does not match the pattern is discarded silently, never rejected.

If-Matchstring

The ETag a write is conditional on. A stale validator is 412 precondition-failed.

Request body

Unknown keys are refused with 422, naming the key.

bodystring≤ 65535

Comment body as rich text. HTML from the plnnrly editor, sanitised on the way out, so what you read back can differ from the bytes you sent. Mention spans (<span data-type="mention" data-id="3">) survive untouched and may be posted back verbatim; constructing a new mention is not supported in v2.0.

Response 200

Returns a Comment in the detail view.

Headers

ETag
A strong validator of exactly this representation.
RateLimit
The IETF httpapi-ratelimit-headers form of your remaining allowance on the tightest bucket this request touched.
RateLimit-Policy
The ceiling and window of that bucket, as <limit>;w=<seconds>.
X-Request-Id
The server-generated ULID correlating this response with our logs.

Every response also carries Cache-Control, Vary, X-Content-Type-Options, X-Plnnrly-Api-Version, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Headers and versioning

Errors

403 Forbidden.

forbidden-by-policyinsufficient-permissioninsufficient-token-scope

forbidden-by-policy: You did not write this comment. Only its author can edit a comment, and no permission lets anyone else do it. You also get this answer when you can see the work item or drive item the comment belongs to but may not comment on it.

412 Precondition failed.

precondition-failed

415 Unsupported media type.

unsupported-media-type

7 errors every operation can return: 400, 401, 404, 406, 429, 500, 503

This path allows GET, PATCH, DELETE. Anything else answers 405.