Documents

Edit or resolve a comment

Changes a comment's text, or resolves and reopens the thread.

PATCH /v1/comments/:id

Permission

The key must be granted docs.comments.write

A key without it gets 403 insufficient_scope, with the missing permission named in details.

Path parameters

Field Type Description
id required string The comment to change.

Request body

Send body, state, or both.

Field Type Description
body string The author's alone: anyone else gets 403.
state string Resolving is not authorship — anyone who may comment can close or reopen a thread, which is how the editor behaves. openresolved

Request

curl https://api.veruapis.com/v1/comments/:id \
  -X PATCH \
  -H "Authorization: Bearer vak_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "state": "resolved" }'

Idempotency-Key is required on every write. Retrying with the same key returns the original response rather than repeating the operation, so a timeout is something you retry rather than something you investigate.

Response

Field Type Description
id string
document_id string
parent_id string Set on a reply, absent on a thread's first comment.
author_id string
body string
state string openresolved
created_at RFC 3339
updated_at RFC 3339
{
  "data": { "id": "0192d001-0000-7a41-b8d2-5e9f0c3a7b41", "body": "The North figure looks wrong", "state": "resolved", "updated_at": "2026-09-10T09:25:00Z" },
  "meta": { "request_id": "req_01j8z9...", "timestamp": "2026-09-02T10:00:00Z" }
}
Worth knowing

Resolving is not authorship: anyone who may comment can close or reopen a thread, while editing the words is the author's alone and answers 403 otherwise.

Errors

Every failure uses the same shape, with a stable string code you can branch on. See the error reference.

Related

PATCH /v1/comments/:id

id
Sends this body to your own workspace, for real. Edit it before running.