Documents

List comment threads, replies and resolves on an in-house Space document

Rows oldest first by seq: a thread is its first comment, replies and resolve/reopen rows carry parent: {object: "utterance", id: <thread id>}. Filter one thread with under, comments sent to the agent with to=agent and answered, by actor type, and page with after_seq (the last seq seen) and limit. Deleted comments vanish.

GET
/v1/space/documents/{document_id}/comments
curl -X GET "https://api.orchestor.io/v1/space/documents/%3Cdocument_id%3E/comments?limit=200" \  -H "Authorization: Bearer $API_KEY" \  -H "X-Workspace-ID: wks_abc123"
{  "data": [    {      "actor": {        "id": "<string>",        "name": "<string>",        "type": "<string>"      },      "answered": true,      "body": "<string>",      "created_at": "2026-01-01T00:00:00Z",      "document_id": "<string>",      "edits": [        0      ],      "id": "<string>",      "kind": "comment",      "parent": {        "anchor": {          "block_id": "<string>",          "detached": true,          "element": null,          "end": "<string>",          "start": "<string>",          "text": "<string>"        },        "id": "<string>",        "object": "node"      },      "resolved": true,      "seq": 0,      "to": [        "agent"      ],      "updated_at": "2026-01-01T00:00:00Z",      "workspace_id": "<string>"    }  ],  "has_more": true}

Get your Orchestor API key

Create an API key in your workspace settings.

Authorizations

Satisfy one of these options:

  • Session cookie
  • API key

Authentication details

cookie
wos-session

Browser session established by signing in to the web app. The server checks your workspace membership and permissions. Supply X-Workspace-ID for workspace-scoped operations. For server-to-server requests, use an API key when the operation supports it.

Path Parameters

document_idstringpathrequired
Pattern
^doc_[a-f0-9]{24}$

Query Parameters

understringquery
Pattern
^dcm_[a-f0-9]{24}$
tostringenum<string>query
Allowed
agent
answeredstringenum<string>query
Allowed
truefalse
actorstringquery
String length
≤ 40
after_seqinteger | nullquery
Value range
≥ 0
limitintegerquerydefault:200
Value range
≥ 1, ≤ 1000

Headers

X-Workspace-IDstringheader

Workspace to access. With a workspace-scoped API key, the server derives this value from the key, so the header is optional. If supplied, it must match the credential workspace or the request returns 403 workspace_mismatch. For interactive session requests, supply this header to select a workspace where you are a member. A project ID cannot be used as a workspace ID.

Example"wks_abc123"

Response

application/json

Comment rows, oldest first, including resolved threads

dataSpaceDocumentComment[]required
data[]SpaceDocumentComment
data[].actorobjectrequired
data[].actor.idstring | nullrequired
data[].actor.namestring | nullrequired
data[].actor.typestringrequired
data[].answeredbooleanrequired
data[].bodystringrequired
data[].created_atstringrequiredformat:date-time
data[].document_idstringrequired
data[].editsinteger[]required
data[].edits[]integer
data[].idstringrequired
data[].kindstringenum<string>required
Allowed
commentresolvereopen
data[].parentobject | objectrequired

Match exactly one of the following

Variant 1: object

data[].parent.anchorobject | nullrequired
data[].parent.anchor.block_idstring | nullrequired
data[].parent.anchor.detachedbooleanrequired
data[].parent.anchor.elementstring | nulldefault:null
data[].parent.anchor.endstring | nullrequired
data[].parent.anchor.startstring | nullrequired
data[].parent.anchor.textstringrequired
data[].parent.idstringrequired
data[].parent.objectstringenum<string>required
Allowed
node

Variant 2: object

data[].parent.idstringrequired
data[].parent.objectstringenum<string>required
Allowed
utterance
data[].resolvedbooleanrequired
data[].seqintegerrequired
data[].tostring[]required
data[].to[]stringenum<string>
Allowed
agent
data[].updated_atstringrequiredformat:date-time
data[].workspace_idstringrequired
has_morebooleanrequired