Documents

Create an Orchestor document with optional Markdown

Markdown plus a blocks map, as a Claude Docs birth: each <?claude block key?> token in markdown names one entry, {"type":"pending","intent":"<what the section will say>"} (a section still being written; fill it later by replacing its block id with editSpaceDocument) {"type":"paragraph"}, or a chart/diagram block ({"type":"chart","spec","rows","caption"}, {"type":"diagram","spec","caption"}). A token without an entry is refused (bad_request). Example: {"title":"Q4 review","markdown":"# Q4 review\n\n## Summary\n\n<?claude block s1?>","blocks":{"s1":{"type":"pending","intent":"Summary: three lines"}}}.

POST
/v1/space/documents
curl -X POST "https://api.orchestor.io/v1/space/documents" \  -H "Authorization: Bearer $API_KEY" \  -H "X-Workspace-ID: wks_abc123" \  -H "Content-Type: application/json" \  -d '{  "blocks": {},  "markdown": "",  "title": ""}'
{  "data": {    "archived": true,    "created_at": "2026-01-01T00:00:00Z",    "deleted_at": "2026-01-01T00:00:00Z",    "folder_id": null,    "id": "<string>",    "markdown": "<string>",    "parent_id": null,    "pinned": true,    "sort_position": 0,    "tab_name": "",    "title": "<string>",    "updated_at": "2026-01-01T00:00:00Z",    "workspace_id": "<string>"  }}

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.

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"

Bodyapplication/jsonrequired

Additional properties
Not allowed
blocksobjectbody
blocks.*object | object | object | object | object | object | objectbody

Match at least one of the following

Variant 1: object

blocks.*.intentstringbodyrequired
String length
≤ 2000
blocks.*.typestringenum<string>bodyrequired
Allowed
pending

Variant 2: object

blocks.*.typestringenum<string>bodyrequired
Allowed
paragraph

Variant 3: object

blocks.*.captionstringbody
blocks.*.rowsobject[]bodyrequired

The rows the chart draws, as measured (≤ 2000 rows, 256 KiB).

Item count
≤ 2000
blocks.*.rows[]objectbody
blocks.*.rows[].*string | number | boolean | nullbody

Match at least one of the following

Variant 1: string

blocks.*.rows[].*stringbody

Variant 2: number

blocks.*.rows[].*numberbody

Variant 3: boolean

blocks.*.rows[].*booleanbody

Variant 4: null

blocks.*.rows[].*nullbody
blocks.*.specobjectbodyrequired
blocks.*.spec.kindstringenum<string>bodyrequired
Allowed
linebarpie
blocks.*.spec.seriesstringbody

A column whose VALUES name the series: one row per series and period.

blocks.*.spec.titlestringbodyrequired

The finding, with its number, not the topic.

String length
≥ 1
blocks.*.spec.unitstringbody
blocks.*.spec.xstringbodyrequired

The column along the axis (or the pie slices).

String length
≥ 1
blocks.*.spec.ystringbodyrequired

The measured column (numbers).

String length
≥ 1
blocks.*.typestringenum<string>bodyrequired
Allowed
chart

Variant 4: object

blocks.*.captionstringbody
blocks.*.specobjectbodyrequired
blocks.*.spec.directionstringenum<string>bodyrequired
Allowed
rightdown
blocks.*.spec.edgesobject[]bodyrequired
Item count
≤ 120
blocks.*.spec.edges[]objectbody
blocks.*.spec.edges[].fromstringbodyrequired
blocks.*.spec.edges[].labelstringbody
blocks.*.spec.edges[].tostringbodyrequired
blocks.*.spec.nodesobject[]bodyrequired
Item count
≥ 1, ≤ 60
blocks.*.spec.nodes[]objectbody
blocks.*.spec.nodes[].detailstringbody
blocks.*.spec.nodes[].idstringbodyrequired
Pattern
^[\w-]{1,64}$
blocks.*.spec.nodes[].labelstringbodyrequired
String length
≥ 1
blocks.*.spec.titlestringbodyrequired
String length
≥ 1
blocks.*.typestringenum<string>bodyrequired
Allowed
diagram

Variant 5: object

blocks.*.typestringenum<string>bodyrequired
Allowed
mention
blocks.*.userstringbodyrequired
String length
≥ 1, ≤ 320

Variant 6: object

blocks.*.refstringbodyrequired
Pattern
^project\/doc_[a-f0-9]{24}$
blocks.*.typestringenum<string>bodyrequired
Allowed
mention

Variant 7: object

blocks.*.typestringenum<string>bodyrequired
Allowed
date
blocks.*.valuestringbodyrequired
Pattern
^\d{4}-\d{2}-\d{2}$
markdownstringbodydefault:

Markdown body. CLI: UTF-8 file path or - for stdin.

String length
≤ 1000000
titlestringbodydefault:
String length
≤ 200

Response

application/json

Created document

dataSpaceDocumentrequired
data.archivedbooleanrequired
data.created_atstringrequiredformat:date-time
data.deleted_atstring | nullrequiredformat:date-time
data.folder_idstring | nulldefault:null
data.idstringrequired
data.markdownstringrequired
String length
≤ 1000000
data.parent_idstring | nulldefault:null
data.pinnedbooleanrequired
data.sort_positionintegerrequired
Value range
≥ 0, ≤ 2147483647
data.tab_namestringdefault:
data.titlestringrequired
String length
≤ 200
data.updated_atstringrequiredformat:date-time
data.workspace_idstringrequired