List the comments on a surface
Returns every block comment on the surface in creation order, each with its author's display name and avatar. Requires `blocks:read` on the surface, which is resolved per item exactly like reading the surface itself, so comments are never visible more widely than the page.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/workspaces/string/surfaces/string/comments"{ "data": [ { "id": "string", "workspaceId": "string", "surfaceId": "string", "blockId": "string", "authorUserId": "string", "authorDisplayName": "string", "authorAvatarUrl": "string", "body": "string", "resolvedAt": "string", "createdAt": "string" } ]}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Apply a batch of block operations to a surface
Applies an ordered batch of insert, update, move, and delete block operations in one transaction and returns the affected blocks with the new workspace version. Requires `surfaces:write` on the surface. Batches are capped at 500 operations, and non-UUID block ids, malformed order keys, and conversions into structural column kinds are rejected as validation errors.
Comment on a block
Creates a comment anchored to one block of the surface, optionally at a client-supplied id so a text selection can be marked before the row exists. Requires `blocks:comment` on the surface. Fails with a not-found error when the surface or block does not exist and with a validation error when the body is empty or longer than 2,000 characters.