GET/api/v1/assets/{id}/comments
List an asset's review comments
Every comment on the asset (any of its versions — comments belong to the asset), flat: thread them by parent_id. In conversation order (created_at) unless sort says otherwise. resolved=true|false keeps only resolved or open comments (a reply on its own state). To poll, pass updated_after with the newest updated_at you have seen (compared to the millisecond, so that comment does not come back) and sort=updated_at; editing, resolving or reopening a comment moves its updated_at, and a deleted comment simply leaves the list. Written with POST (and PATCH / DELETE one) under review:write. 404 for an asset the credential cannot read (for an OAuth token, read on the asset).
Scopes: review:read
Parameters
idpath · string (uuid)requiredThe asset's id: its current version's id or its root id (an older version's id is not found).
resolvedquery · "true" | "false"true: only resolved comments;false: only open ones. Omitted: both. A reply is filtered on its own state, not its thread's.updated_afterquery · string (date-time)Only comments changed strictly after this instant (ISO 8601 with offset), compared to the millisecond — pass the newest
updated_atyou have seen and that comment is not returned again.sortquery · "created_at" | "-created_at" | "updated_at" | "-updated_at"Sort key; a leading
-is descending. Defaultcreated_at(conversation order, as the app shows them). Ties break on id.limitquery · integerPage size, default 50. Values above 100 are treated as 100.
cursorquery · stringnext_cursor from the previous page, with the other parameters unchanged.
Response 200CommentList
dataarray of Commentrequiredidstring (uuid)requiredbodystringrequiredauthorobject or nullrequiredWho wrote it:
idis their principal in the org,nametheir display name. Null if the author's account is gone. A comment written with an org API key is authored by the org's API service principal, namedAPI.idstring (uuid)requirednamestringrequired
timestamp_secondsnumber or nullrequiredThe point in the media the comment is pinned to, in seconds from the start; null for a comment on the asset as a whole.
parent_idstring (uuid) or nullrequiredThe comment this one replies to, or null for a top-level comment. The list is flat: thread it by
parent_id.resolved_atstring (date-time) or nullrequiredWhen it was marked resolved, or null while open.
created_atstring (date-time)requiredupdated_atstring (date-time)requiredMoves when the body is edited or the comment is resolved or reopened.
next_cursorstring or nullrequiredPass as
cursorto get the next page; null means this is the last page.
Other responses
- 401 unauthenticated — no key, or an unknown, revoked or expired one.
- 403 insufficient-scope — the key lacks a required scope.
- 404 not-found.
- 422 validation — a bad
resolved,updated_after,sort,limitorcursor. - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.