Build on the same shared context.

Read and update documents, connect discussions, and keep your integration in step with the people doing the work.

Start with an approved connection.

Install Dee from the installation guide, then approve access in your browser. The default installation places the CLI at ~/.dee/bin/dee; these examples use that path directly. The CLI detects supported local agents, links the Dee skill, configures optional MCP tools, and keeps its own credential private in ~/.dee. Skill + CLI works without MCP. The connection works under your Dee account’s current permissions.

The examples below use https://dee.cool. The CLI remembers the selected service address. Check your connection before continuing; revoke it when it is no longer needed.

Connect and check access
~/.dee/bin/dee agent connect
~/.dee/bin/dee agent status

Disconnect this connection
~/.dee/bin/dee agent logout

Installation guideIndependent Agent Service protocol

Create your first document.

The CLI can call declared HTTP operations by operation ID. This example sends a complete personal document through stdin and returns its actual document and revision IDs. The CLI creates and records the operation ID before sending the request.

Use the returned document_id in the read command. Your title and Markdown are separate fields; an H1 in the content does not replace the title. A document keeps the same URL when its content changes.

Discover operation names and inspect the shipped field definitions without making a network request. JSON output preserves the API response shape. The CLI’s generic write command handles supported business operations; browser sign-in exchange and browser logout use their dedicated protocols.

Create a document through the API client
~/.dee/bin/dee api call create_document --input - --json <<'JSON'
{
  "origin": { "kind": "personal" },
  "title": "Integration notes",
  "markdown": "# Integration notes\n\nA shared starting point."
}
JSON

Read the returned document
~/.dee/bin/dee api read get_document --path id=DOCUMENT_ID --json

Explore operations and schemas
~/.dee/bin/dee api list --json
~/.dee/bin/dee api schemas --json
~/.dee/bin/dee api schema SaveDocumentRequest --references --json

Use the right credential for the right entry.

External HTTP clients use Authorization: Bearer with an opaque Dee credential obtained through browser approval. This is distinct from the identity provider’s token. The same Dee Bearer can access ordinary restricted business endpoints and the document MCP, subject to current account, role, and lifecycle checks.

A custom client generates two independent secrets: a device secret and the future Dee credential, each 32 random bytes encoded as unpadded base64url. It sends the device secret and SHA-256 credential digest to /agent/login/start, opens the returned verification URL for the person, and polls using the original device secret. Approval activates the credential that the client already retained; polling never returns its plaintext. These fields are documented in the runtime protocol reference below.

The approval request lasts ten minutes. An ordinary human-account connection lasts no longer than the approving browser session or thirty days. An independent Agent Service connection uses its own Agent identity and persists until revoked; see the Agent Service guide. Automatic renewal and generic remote-MCP OAuth discovery are not currently provided. A denied, expired, or invalid request needs a new approval request.

External requests

Send only the Dee Bearer, without a Cookie header. Origin may be omitted; if supplied, it must equal the application origin. An optional X-Dee-Expected-Account-Id pins the original account and returns 409 AccountChanged if it differs.

Browser requests

The application uses its HttpOnly Dee Cookie. Cookie mutations require the exact application Origin. Agent connection listing and revocation require the browser Cookie and reject Authorization headers. Google sign-in uses a one-time, browser-bound authorization-code callback; account resolution and browser logout keep their dedicated Cookie and Origin protocols.

Direct HTTP

The example below is for a custom client that has completed the browser-approved flow and retained its own credential in DEE_TOKEN. CLI users can use dee api read and dee api call without extracting any private CLI state.

Inspect your approved HTTP connection
DEE_ORIGIN='https://api.dee.cool'
# DEE_TOKEN is retained privately by your approved custom client.
curl --fail-with-body "$DEE_ORIGIN/api/session" \
  -H "Authorization: Bearer $DEE_TOKEN"

Save deliberately and recover the original result.

JSON business requests use snake_case fields and Content-Type: application/json. Success returns the declared object directly, without a universal success or data wrapper. IDs encode an unsigned 128-bit value using the exact Base62 alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789, left-padded with A to 22 characters. Arbitrary 22-character strings can overflow. Reuse returned IDs; for a new operation encode 16 random bytes with that alphabet.

A direct HTTP document save submits the complete title and Markdown with expected_revision_id from the version you read. Space, access, and attention writes use their own expected_revision; message maintenance uses expected_version; Trash and restoration use the complete reviewed management token. These conditions are distinct and are checked before a new change is committed.

When the response is lost, retain the original operation_id, target, conditions, complete input, and original upload bytes. Query the matching operation receipt or resend the identical request. A different valid intent under the same ID returns OperationConflict. A missing receipt does not prove an in-flight request never committed; an old receipt does not prove current content or access.

A 409 conflict requires reading the relevant current facts and deciding how to continue. A changed or merged intent uses a new operation ID. The CLI records direct document operation metadata and receipts without a local body copy; retrying a direct write requires the original input. Full local recovery is an explicit CLI option.

Document receipts

GET /api/documents/operations/{operation_id} checks original creation and save results. Lifecycle results use /api/documents/lifecycle/operations/{operation_id}.

Other write receipts

Spaces, access, communication, attention, and resource uploads each expose their own operation lookup. Their exact paths and response fields appear in the generated reference.

Current permission

Read requires current document access; new content writes require editor or administrator permission. Some management operations require an administrator. Reading an original minimal receipt does not grant access to current or historical content.

Find and inspect a recorded CLI operation
~/.dee/bin/dee operation list --json
~/.dee/bin/dee operation inspect OPERATION_ID --owner documents --json

Page collections and follow changes separately.

Collections use page_index, page_size, and order_by. The index starts at zero and defaults to 0; size defaults to 50 and accepts 0 through 100. A zero size returns empty items and total_pages=0 while retaining the true total_items. Responses contain items, page_index, page_size, total_pages, and total_items, with authorization applied before counting.

Encode ordering as one comma-separated query value, such as title.asc,id.asc. Each endpoint declares its supported columns and default order. Invalid columns, duplicate fields, or invalid directions are rejected; the service adds an ID tie-breaker when needed. The current page_index upper bound is 9007199254740991 and the computed offset must also fit the server’s range.

Message pagination can return read_boundary_message_id. Reuse that boundary with the same document, main-discussion or thread scope, ordering, and page size to keep later pages within the original message collection. The boundary is not the last item on the page and does not mark messages as read.

Change feeds use a separate opaque cursor. A request without a cursor returns a bootstrap fence; read current facts and then poll from that fence. Preserve complete batch cursors after consuming the batch. Change positions, revisions, and versions are decimal strings and must remain lossless. ChangeCursorInvalid returns resync_required, reset_cursor, and current_urls for rebuilding the current view.

Change polling accepts max_events from 1 to 200, default 100, and wait_ms from 0 to 25000, default 0. Bootstrap is immediate. Current identity, scope access, and document lifecycle are rechecked; a cursor does not preserve revoked access.

Read a stable, explicitly ordered page
~/.dee/bin/dee api read list_documents --query scope=mine --query page_index=0 --query page_size=20 --query order_by=title.asc,id.asc --json

Work with the whole document context.

Documents, discussions, resources, and personal follow-up share the same current access rules while keeping their own identities and write conditions. A direct grant to one Space document does not grant Space membership or access to the Space’s collection.

Personal documents begin with their owner; Space documents use current membership and direct access sources. Effective roles combine applicable grants. Closing link joining blocks new joins but retains access that was already granted.

Documents and versions

Title and Markdown save together. Titles allow up to 1000 Unicode characters; Markdown allows up to 1,000,000 UTF-8 bytes. Both reject NUL. Exact saved versions remain subject to current document access.

Messages, threads, and quotes

Send ordered content parts and complete mentions. A thread uses its root message ID. Quoted ranges are UTF-8 byte half-open intervals, not JavaScript string indexes; message quotes include the version read. Ordinary reads and messages do not confirm a person’s read progress.

Resource originals

Upload raw bytes with the declared MIME and filename query, not multipart or base64 JSON. Originals are limited to 20 MiB. Upload reservation, confirmed upload, and publication are distinct states. Reading metadata or original bytes always checks current resource and document access.

Follow-up and Trash

Message read progress, follow/mute preferences, and notification confirmation are separate personal states. Administrators review a current management token before Trash or restoration. Restoration preserves the document identity and saved content, applies current grants, and closes link joining.

Interpret errors and tool results accurately.

HTTP errors use name, message, and data. Branch on HTTP status and the stable name; message is explanatory text. Validation may include data.fields with JSON Pointer locations. The x-request-id header identifies the request for diagnosis. Restricted /api/ responses, including errors and resource content, use Cache-Control: no-store.

401 means the current identity cannot be used. 403 can mean an invalid Origin or insufficient permission; unavailable and inaccessible targets generally share 404. A currently accessible document in Trash returns 410 for ordinary content. 409 identifies a particular version, management, cursor, or original-operation conflict. 503 means availability or confirmation failed; retain the original request before deciding to retry. The reference lists declared responses; shared authentication, recovery readiness, and request extraction can produce additional runtime failures.

MCP uses the same saved documents and current permissions. The local connector serves JSON-RPC over stdio; the HTTP document endpoint is /mcp. Initialize with protocolVersion 2025-11-25, capabilities, and clientInfo, then discover actual tools through tools/list. HTTP MCP requires an opaque Dee Bearer; a browser Cookie cannot substitute.

Tool success returns structuredContent and may include a resource_link with the real document URL. Domain failures return result.isError=true; malformed JSON, invalid requests, and invalid parameters use JSON-RPC errors. Valid notifications have no JSON-RPC reply; HTTP returns 202 with an empty body. The stdio adapter also exposes list_operations for interrupted local writes. Reading through a tool does not mark a person’s discussions as read.

The HTTP operation and model reference below is generated from the current OpenAPI declaration. Browser approval and MCP runtime protocols are listed separately because they are not yet part of that declaration. Missing OpenAPI security schemes do not make restricted endpoints public.

Example HTTP error shape
{
  "name": "RevisionConflict",
  "message": "The document changed since the version you read.",
  "data": { "current_revision_id": "RETURNED_REVISION_ID" }
}

API reference

142 HTTP operations from the current OpenAPI contract, plus 2 supplemental runtime protocols. Expand an endpoint for its parameters, request body, responses, and model links.

Accounts and sessions

Inspect the current account, handle browser sign-in, and resolve registered collaborators.

POST/agent/logoutLogout agent connection

Operation: logout_agent_connectionPermalink

Authentication

The connection’s own opaque Dee Bearer; no Cookie. Any supplied Origin must match. Revocation leaves browser sign-in intact.

Responses

204 The connection credential was revoked.
No response body declared.
GET/api/account/login-identitiesLogin identities

Operation: login_identitiesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}

Responses

200 All sign-in methods belonging to this browser account; provider subjects are never exposed
application/json
View schema
{
  "$ref": "#/components/schemas/LoginIdentitiesResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 A browser session is required; Agent credentials are not accepted
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Identity storage unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/accounts/resolveResolve account

Operation: resolve_accountPermalink

Authentication

Registered-account lookup uses the browser Cookie and exact application Origin. A Dee Bearer alone does not replace this protocol.

Parameters

NameLocationRequirement and schema
OriginheaderOptional

Required and equal to APP_ORIGIN when using a Cookie session

View schema
{
  "type": [
    "string",
    "null"
  ]
}
CookieheaderOptional

Current Dee browser session, or use an approved Agent Bearer credential

View schema
{
  "type": [
    "string",
    "null"
  ]
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/ResolveAccountRequest"
}

Responses

200 One active, verified account already registered in Dee v0.1
application/json
View schema
{
  "$ref": "#/components/schemas/ResolvedAccountResponse"
}
400 A complete email address is required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity is required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Invalid origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No available registered v0.1 account matches
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 No unique account can be confirmed AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Identity lookup unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/auth/configLogin config

Operation: login_configPermalink

Authentication

Public endpoint; readiness or recovery conditions can still affect availability.

Parameters

NameLocationRequirement and schema
return_toqueryOptional

Same-origin relative return target

View schema
{
  "type": "string"
}

Responses

200 Configured sign-in providers, default provider and validated navigation target; enabled is true when any provider is available. Grants no document access.
application/json
View schema
{
  "$ref": "#/components/schemas/LoginConfigResponse"
}
400 Invalid return target
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/auth/googleGoogle login

Operation: google_loginPermalink

Authentication

Begin Google sign-in with the exact application Origin. The backend binds its one-time callback to this browser and creates a Dee session after Google verification.

Parameters

NameLocationRequirement and schema
OriginheaderRequired

Must equal APP_ORIGIN

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/GoogleLoginRequest"
}

Responses

200 Start one browser-bound Google login. Navigate the browser to authorization_url.
Set-Cookie
Short-lived host-only dee_google_login, HttpOnly, SameSite=Lax; Secure under HTTPS
View schema
{
  "type": "string"
}
application/json
View schema
{
  "$ref": "#/components/schemas/GoogleLoginResponse"
}
400 Invalid JSON or navigation target
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Origin is not the configured application
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
422 JSON fields do not match the login request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Identity storage or Google configuration is unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/auth/google/callbackGoogle callback

Operation: google_callbackPermalink

Authentication

Google redirect callback: no existing Dee session, Dee Bearer, or Origin header is required. The backend verifies the one-time state and the browser’s dee_google_login Cookie, then returns a 303 redirect. Successful callbacks establish the Dee session; failures return a fixed safe error to sign-in.

Parameters

NameLocationRequirement and schema
codequeryOptional

Single-use Google authorization code

View schema
{
  "type": "string"
}
statequeryOptional

State from the browser-bound login

View schema
{
  "type": "string"
}
errorqueryOptional

Google authorization failure

View schema
{
  "type": "string"
}

Responses

303 Sign-in establishes a Dee HttpOnly session and returns to the validated application path. Explicit linking requires the initiating browser session, preserves its cookie, and returns with login_identity=linked or login_identity_error=conflict|session_changed|google_link_failed. Failed sign-in returns to /sign-in with a fixed error code. Only matched browser binding retains the original target; unmatched callbacks use /app.
Location
APP_ORIGIN plus a validated return target, or /sign-in?error=google_login_failed
View schema
{
  "type": "string"
}
Set-Cookie
New Dee session only for sign-in; linking preserves it. Always clears the one-time Google login cookie.
View schema
{
  "type": "string"
}
No response body declared.
GET/api/sessionCurrent

Operation: currentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
CookieheaderRequired

Current Dee v0.1 session cookie

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Login-synchronized account and currently valid Dee session; no document grant
application/json
View schema
{
  "$ref": "#/components/schemas/CurrentSessionResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 No valid current session
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Current identity cannot be verified
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/sessionLogout

Operation: logoutPermalink

Authentication

Browser session logout: Cookie and exact application Origin, with the optional original-session condition. Use POST /agent/logout for an external connection.

Parameters

NameLocationRequirement and schema
OriginheaderRequired

Must equal APP_ORIGIN

View schema
{
  "type": "string"
}
CookieheaderOptional

Local session to revoke, if present

View schema
{
  "type": [
    "string",
    "null"
  ]
}

Request body Optional

application/json
View schema
{
  "oneOf": [
    {
      "type": "null"
    },
    {
      "$ref": "#/components/schemas/LogoutRequest"
    }
  ]
}

Responses

204 Cookie-derived Dee session is durably revoked. Conditional requests confirm only a matching original SID, including an already-revoked row, and leave browser cookies unchanged to preserve newer logins. Unconditional requests also succeed for absent credentials.
Set-Cookie
Only an unconditional request clears the Dee v0.1 cookie
View schema
{
  "type": "string"
}
No response body declared.
400 Invalid logout condition
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Invalid request origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Conditional Cookie is absent, unknown, or identifies a different SID. Original logout is unconfirmed; no session is revoked or cookie cleared.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Local revocation could not be confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Documents and saved versions

Create and read documents, save complete snapshots, and inspect original operation receipts.

GET/api/documentsList documents

Operation: list_documentsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
scopequeryOptional

mine (default), collaborating, space, accessible

View schema
{
  "type": "string"
}
space_idqueryOptional

Required only with space scope

View schema
{
  "$ref": "#/components/schemas/Id"
}
titlequeryOptional

Literal case-insensitive title substring

View schema
{
  "type": "string"
}
viewqueryOptional

updated (default), viewed or favorites; intersects scope

View schema
{
  "type": "string"
}
extensionqueryOptional

Exact explicit stored type, including unknown types. Nonempty lowercase identifier; omitted preserves all types, md differs from null.

View schema
{
  "type": "string"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0 to 100; default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Comma-separated updated_at,created_at,title,readers_30d,last_viewed_at,favorited_at,pinned_at,id with asc/desc; mine/space updated views default to pinned_at.desc,updated_at.desc,id.asc; other defaults use the view timestamp descending,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current authorized summaries and counts from one snapshot
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_DocumentSummary"
}
400 Invalid filter or pagination
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documentsCreate document

Operation: create_documentPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/CreateDocumentRequest"
}

Responses

201 Committed creation and first immutable snapshot
application/json
View schema
{
  "$ref": "#/components/schemas/DocumentReceipt"
}
400 Invalid input
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Invalid Origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Origin unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result unconfirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/operations/{operation_id}Get document operation

Operation: get_document_operationPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Only the actor's original result, without private content or current access
application/json
View schema
{
  "$ref": "#/components/schemas/DocumentReceipt"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No result for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}Get document

Operation: get_documentPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current authorized Markdown, metadata, safe HTML and TOC
application/json
View schema
{
  "$ref": "#/components/schemas/DocumentResponse"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}Save document

Operation: save_documentPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/SaveDocumentRequest"
}

Responses

200 Committed title and body snapshot, or unchanged original version
application/json
View schema
{
  "$ref": "#/components/schemas/DocumentReceipt"
}
400 Invalid input
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Insufficient role or Origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Revision or operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result unconfirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/metadataGet document metadata

Operation: get_document_metadataPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Authorized metadata without body or rendered content
application/json
View schema
{
  "$ref": "#/components/schemas/DocumentSummary"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/revisions/{revision_id}Get document revision

Operation: get_document_revisionPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
revision_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Immutable snapshot under current document permission
application/json
View schema
{
  "$ref": "#/components/schemas/RevisionResponse"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document or version unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}/viewRecord document view

Operation: record_document_viewPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Explicit actual opening retained for the current account; does not mark discussion messages read
application/json
View schema
{
  "$ref": "#/components/schemas/DocumentViewResponse"
}
400 Invalid document ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current account required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Invalid Origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Opening could not be confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Spaces and members

Manage shared workspaces and membership using current roles and revision conditions.

GET/api/spacesList

Operation: listPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
page_indexqueryOptional

Zero-based safe integer, default 0

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0..100, default 50; 0 returns count only

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Comma separated name/updated_at/id.asc|desc; default updated_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current membership-filtered Space page and count
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_SpaceResponse"
}
400 Invalid paging
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/spacesCreate

Operation: createPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/CreateRequest"
}

Responses

201 Committed actor-scoped Space creation result; exact retries return it
application/json
View schema
{
  "$ref": "#/components/schemas/ReceiptResponse"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Invalid origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Operation ID conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Operation not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/spaces/operations/{operation_id}Operation

Operation: operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Only the original actor's retained write fact; not current Space access
application/json
View schema
{
  "$ref": "#/components/schemas/ReceiptResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No result for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/spaces/{id}Get

Operation: getPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current Space facts and role, members only
application/json
View schema
{
  "$ref": "#/components/schemas/SpaceResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No current membership or nonexistent Space
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/spaces/{id}Update

Operation: updatePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/UpdateRequest"
}

Responses

200 Committed metadata replacement result, administrator only
application/json
View schema
{
  "$ref": "#/components/schemas/ReceiptResponse"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Insufficient role or invalid origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Revision or operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/spaces/{id}/leaveLeave

Operation: leavePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/RevisionRequest"
}

Responses

200 Committed removal of this account's membership only; exact retry retains result
application/json
View schema
{
  "$ref": "#/components/schemas/ReceiptResponse"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Invalid origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Last administrator or revision/operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/spaces/{id}/membersMembers

Operation: membersPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0..100, default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Comma separated joined_at/role/account_id.asc|desc; default joined_at.asc,account_id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Member page, available only to Space members; minimum registered profiles
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_MemberResponse"
}
400 Invalid paging
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/spaces/{id}/membersAdd member

Operation: add_memberPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/AddMemberRequest"
}

Responses

201 Committed member addition, default editor, administrator only
application/json
View schema
{
  "$ref": "#/components/schemas/ReceiptResponse"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Insufficient role or invalid origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space or registered account unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Already member or revision/operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/spaces/{id}/members/{account_id}Set role

Operation: set_rolePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
account_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/SetRoleRequest"
}

Responses

200 Committed member role result, administrator only
application/json
View schema
{
  "$ref": "#/components/schemas/ReceiptResponse"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Insufficient role or origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space or member unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Last administrator or revision/operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/spaces/{id}/members/{account_id}Remove member

Operation: remove_memberPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
account_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/RevisionRequest"
}

Responses

200 Committed member removal, does not change document holding or direct grants
application/json
View schema
{
  "$ref": "#/components/schemas/ReceiptResponse"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Insufficient role or origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space or member unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Last administrator or revision/operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Document access and sharing

Inspect effective access, maintain direct collaborators, and configure explicit link joining.

GET/api/access/operations/{operation_id}Get access operation

Operation: get_access_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Only this actor's original committed fact, independent of current document access
application/json
View schema
{
  "$ref": "#/components/schemas/AccessReceipt"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No result for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/accessGet document access

Operation: get_document_accessPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current actor's effective document role and independent sources
application/json
View schema
{
  "$ref": "#/components/schemas/DocumentAccessResponse"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/collaboratorsList document collaborators

Operation: list_document_collaboratorsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0..100, default 50; 0 returns count only

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Comma separated joined_at/role/account_id.asc|desc; default joined_at.asc,account_id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Direct collaborators and their effective sources, document administrator only
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_CollaboratorResponse"
}
400 Invalid 22-character Base62 ID or paging
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Administrator permission required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}/collaborators/{account_id}Set document collaborator

Operation: set_document_collaboratorPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
account_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/SetCollaboratorRequest"
}

Responses

200 Committed direct grant creation or replacement; inherited sources remain
application/json
View schema
{
  "$ref": "#/components/schemas/AccessReceipt"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Administrator permission or valid origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document or registered account unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Access revision, operation or last administrator conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/documents/{id}/collaborators/{account_id}Remove document collaborator

Operation: remove_document_collaboratorPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
account_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/RemoveCollaboratorRequest"
}

Responses

200 Committed direct grant removal; inherited sources remain
application/json
View schema
{
  "$ref": "#/components/schemas/AccessReceipt"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Administrator permission or valid origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Access revision, operation or last administrator conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{id}/joinJoin document

Operation: join_documentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/JoinDocumentRequest"
}

Responses

200 Committed join or existing-access result; existing access is never upgraded
application/json
View schema
{
  "$ref": "#/components/schemas/AccessReceipt"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Valid origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable or joining closed for an unauthorized actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/sharingGet document sharing

Operation: get_document_sharingPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current link rule and access revision, document administrator only
application/json
View schema
{
  "$ref": "#/components/schemas/SharingResponse"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Administrator permission required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}/sharingSet document sharing

Operation: set_document_sharingPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/SetSharingRequest"
}

Responses

200 Committed link rule for future joins; existing grants remain
application/json
View schema
{
  "$ref": "#/components/schemas/AccessReceipt"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Administrator permission or valid origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Access revision or operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Images and resources

Upload original bytes, inspect upload status, and read currently authorized resource content.

POST/api/resources/uploadsUpload resource

Operation: upload_resourcePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idqueryRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
filenamequeryRequired
View schema
{
  "type": "string"
}
document_idqueryOptional
View schema
{
  "$ref": "#/components/schemas/Id"
}
create_operation_idqueryOptional
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

Raw file bytes, 1 byte to 20 MiB. Use a concrete Content-Type, default application/octet-stream when omitted or empty. PNG/JPEG/GIF/WebP retain matching raster-signature checks; other file types download as attachments.

*/*
View schema
{
  "type": "string",
  "format": "binary"
}
application/octet-stream
View schema
{
  "type": "string",
  "format": "binary"
}
image/gif
View schema
{
  "type": "string",
  "format": "binary"
}
image/jpeg
View schema
{
  "type": "string",
  "format": "binary"
}
image/png
View schema
{
  "type": "string",
  "format": "binary"
}
image/webp
View schema
{
  "type": "string",
  "format": "binary"
}

Responses

201 Confirmed private upload; content is not yet published
application/json
View schema
{
  "$ref": "#/components/schemas/UploadReceipt"
}
400 Invalid scope, MIME or raster signature
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Current edit permission or Origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Changed upload intent AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
413 File exceeds 20 MiB
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Upload pending or unconfirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/resources/uploads/{operation_id}Get upload operation

Operation: get_upload_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Actor-only reservation or confirmed result; no current access grant
application/json
View schema
{
  "$ref": "#/components/schemas/UploadReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No reservation for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/resources/{id}Get resource

Operation: get_resourcePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current authorized resource metadata
application/json
View schema
{
  "$ref": "#/components/schemas/ResourceMetadata"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Resource unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/resources/{id}/contentGet resource content

Operation: get_resource_contentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Verified private original bytes; PNG/JPEG/GIF/WebP inline, every other MIME type as an attachment with a UTF-8 filename
image/png
View schema
{
  "type": "string",
  "format": "binary"
}
image/jpeg
View schema
{
  "type": "string",
  "format": "binary"
}
image/gif
View schema
{
  "type": "string",
  "format": "binary"
}
image/webp
View schema
{
  "type": "string",
  "format": "binary"
}
application/octet-stream
View schema
{
  "type": "string",
  "format": "binary"
}
*/*
View schema
{
  "type": "string",
  "format": "binary"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Resource unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Original unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Messages and threads

Publish and maintain messages, quote exact passages, and read discussions and their context.

GET/api/communication/operations/{operation_id}Get communication operation

Operation: get_communication_operationPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Actor-only minimal original receipt; no current content or access
application/json
View schema
{
  "$ref": "#/components/schemas/Receipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No result for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/messagesList messages

Operation: list_messagesPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
thread_idqueryOptional

Absent: main messages. Present: replies in this Thread

View schema
{
  "$ref": "#/components/schemas/Id"
}
read_boundary_message_idqueryOptional

Reuse the returned main/Thread boundary to preserve page membership during new messages

View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

Default 50, maximum 100; zero returns counts only

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

created_at or id with asc/desc; default created_at.asc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Messages and current authorized counts from one snapshot
application/json
View schema
{
  "$ref": "#/components/schemas/MessagePageResponse"
}
400 Invalid query
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document or Thread unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 New entry shape requires the common entry read_url AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{id}/messagesSend message

Operation: send_messagePermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/SendRequest"
}

Responses

201 Committed message and original minimal receipt
application/json
View schema
{
  "$ref": "#/components/schemas/Receipt"
}
400 Invalid content or source selection
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Edit role or Origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document, reply or source unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Operation or source conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Unconfirmed result
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/messages/{message_id}Get message

Operation: get_messagePermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
message_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Currently authorized message or deletion placeholder
application/json
View schema
{
  "$ref": "#/components/schemas/MessageResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Unavailable target
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 New entry shape requires the common entry read_url AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}/messages/{message_id}Edit message

Operation: edit_messagePermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
message_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/EditRequest"
}

Responses

200 Committed edit or unchanged original snapshot
application/json
View schema
{
  "$ref": "#/components/schemas/Receipt"
}
400 Invalid content
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Current author edit role required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Unavailable target or source
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Version, deleted, source or operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Unconfirmed result
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/documents/{id}/messages/{message_id}Delete message

Operation: delete_messagePermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
message_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/DeleteRequest"
}

Responses

200 Committed deletion or existing tombstone
application/json
View schema
{
  "$ref": "#/components/schemas/Receipt"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Current author or administrator role required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Target unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Version or operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Unconfirmed result
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/messages/{message_id}/contextGet message context

Operation: get_message_contextPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
message_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
beforequeryOptional

Default 10, maximum 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
afterqueryOptional

Default 10, maximum 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Stable-ID context in the message's actual main/Thread range
application/json
View schema
{
  "$ref": "#/components/schemas/ContextResponse"
}
400 Invalid context range
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Target unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 New entry shape requires the common entry read_url AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/threads/{thread_id}Get thread

Operation: get_threadPermalink

Authentication

Current browser user, ordinary human-account connector, or independent Agent Bearer. An Agent uses X-Dee-Expected-Agent-Id and current scope permissions; actual document writes additionally require the approved plan or bound-memory authorization. Browser mutations require the exact application Origin.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
thread_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Root, retained reply count and most recent reply time
application/json
View schema
{
  "$ref": "#/components/schemas/ThreadResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Target unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 New entry shape requires the common entry read_url AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Changes and continuation

Read authorized change batches using opaque cursors, bootstrap fences, and long polling.

GET/api/agents/me/changesGet agent changes

Operation: get_agent_changesPermalink

Authentication

Independent Agent opaque Bearer with X-Dee-Expected-Agent-Id. No browser Cookie. The authenticated Agent, current scope, resource permissions, and work conditions determine access.

Parameters

NameLocationRequirement and schema
cursorqueryOptional
View schema
{
  "type": "string"
}
max_eventsqueryOptional
View schema
{
  "type": "integer",
  "format": "int32",
  "minimum": 0
}
wait_msqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
include_activitiesqueryOptional

Include typed activities using a separately bound cursor; default false

View schema
{
  "type": "boolean"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/ChangeFeed"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/changesPersonal document changes

Operation: personal_document_changesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
cursorqueryOptional
View schema
{
  "type": "string"
}
max_eventsqueryOptional
View schema
{
  "type": "integer",
  "format": "int32",
  "minimum": 0
}
wait_msqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
include_activitiesqueryOptional

Include typed activities using a separately bound cursor; default false

View schema
{
  "type": "boolean"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 This account's personal document and tree changes
application/json
View schema
{
  "$ref": "#/components/schemas/ChangeFeed"
}
400 Invalid parameters
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Explicit resync required AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Discovery unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/changesDocument changes

Operation: document_changesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
cursorqueryOptional

Absent: bootstrap boundary before current reads; reuse for replay/resume

View schema
{
  "type": "string"
}
max_eventsqueryOptional

Default 100, 1 to 200

View schema
{
  "type": "integer",
  "format": "int32",
  "minimum": 0
}
wait_msqueryOptional

Default 0, at most 25000; no database connection held during waits

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
include_activitiesqueryOptional

Include typed activities using a separately bound cursor; default false

View schema
{
  "type": "boolean"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Ordered committed identities under current access, or bootstrap boundary
application/json
View schema
{
  "$ref": "#/components/schemas/ChangeFeed"
}
400 Invalid parameters
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Scope unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Invalid cursor; explicit reset boundary and current reads required AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Resume original cursor after recovery
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/spaces/{id}/changesSpace changes

Operation: space_changesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
cursorqueryOptional

Absent: bootstrap boundary before current reads; scoped to current member

View schema
{
  "type": "string"
}
max_eventsqueryOptional

Default 100, 1 to 200

View schema
{
  "type": "integer",
  "format": "int32",
  "minimum": 0
}
wait_msqueryOptional

Default 0, at most 25000

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
include_activitiesqueryOptional

Include typed activities using a separately bound cursor; default false

View schema
{
  "type": "boolean"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Space and its document changes under current membership
application/json
View schema
{
  "$ref": "#/components/schemas/ChangeFeed"
}
400 Invalid parameters
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Scope unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Explicit resync required AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Discovery unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Personal follow-up

Maintain personal read progress, following, mute preferences, and notification confirmations.

GET/api/attention/followingList followed threads

Operation: list_followed_threadsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

Default 50, maximum 100; zero returns authorized counts

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

updated_at,id; default updated_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Currently readable followed Threads; no read or follow mutation
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_StateResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/attention/notificationsList notifications

Operation: list_notificationsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
unreadqueryOptional

Active unread filters exclude deleted sources

View schema
{
  "type": "boolean"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

Default 50, maximum 100; zero returns authorized counts

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

updated_at,created_at,id; default updated_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Receiver-only notifications under current document access
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_NotificationResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/attention/notifications/{id}Get notification

Operation: get_notificationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current receiver-owned source metadata or deletion placeholder
application/json
View schema
{
  "$ref": "#/components/schemas/NotificationResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/attention/notifications/{id}/readRead notification

Operation: read_notificationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/NotificationReadRequest"
}

Responses

200 Explicit notification acknowledgement under its observed revision
application/json
View schema
{
  "$ref": "#/components/schemas/AttentionReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/attention/operations/{id}Get attention operation

Operation: get_attention_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Actor-only original minimal result; no current content access
application/json
View schema
{
  "$ref": "#/components/schemas/AttentionReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/attention/summaryAttention summary

Operation: attention_summaryPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Receiver-only counts after current access filtering
application/json
View schema
{
  "$ref": "#/components/schemas/SummaryResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/attentionMain attention

Operation: main_attentionPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Main reading state and current authorized unread counts; no mutation
application/json
View schema
{
  "$ref": "#/components/schemas/StateResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{id}/attention/readMark main read

Operation: mark_main_readPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/ReadRequest"
}

Responses

200 Explicit monotone main message read position; independent of notification acknowledgement
application/json
View schema
{
  "$ref": "#/components/schemas/AttentionReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/favoriteGet document favorite

Operation: get_document_favoritePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 The current account's document favorite; no reading side effects
application/json
View schema
{
  "$ref": "#/components/schemas/FavoriteResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}/favoriteSet document favorite

Operation: set_document_favoritePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/FavoriteRequest"
}

Responses

200 Original account-only favorite result; explicit set, without CAS or discussion effects
application/json
View schema
{
  "$ref": "#/components/schemas/AttentionReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/threads/{thread_id}/attentionThread attention

Operation: thread_attentionPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
thread_idpathRequired

A main message's stable root identity, including before its first reply

View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Thread preferences and independent reply read state
application/json
View schema
{
  "$ref": "#/components/schemas/StateResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}/threads/{thread_id}/attentionSet thread preferences

Operation: set_thread_preferencesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
thread_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/PreferencesRequest"
}

Responses

200 Original preference result; zero baseline for default state
application/json
View schema
{
  "$ref": "#/components/schemas/AttentionReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{id}/threads/{thread_id}/attention/readMark thread read

Operation: mark_thread_readPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
thread_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/ReadRequest"
}

Responses

200 Explicit monotone reply read position; main root has a separate reading scope
application/json
View schema
{
  "$ref": "#/components/schemas/AttentionReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in the trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/favoritesList favorite documents

Operation: list_favorite_documentsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
space_idqueryOptional

Optional current member Space; omission aggregates all readable sources

View schema
{
  "$ref": "#/components/schemas/Id"
}
titlequeryOptional
View schema
{
  "type": "string"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Same document ordering fields; default favorited_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_DocumentSummary"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Trash and restoration

Review current management conditions and move or restore documents without changing their identity.

GET/api/documents/lifecycle/operations/{operation_id}Get document lifecycle operation

Operation: get_document_lifecycle_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Only the actor's original lifecycle result, no current permission
application/json
View schema
{
  "$ref": "#/components/schemas/LifecycleReceipt"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No lifecycle result for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/trashList document trash

Operation: list_document_trashPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
scopequeryOptional

all (default), mine, collaborating, space

View schema
{
  "type": "string"
}
space_idqueryOptional

Only space scope; current membership required

View schema
{
  "$ref": "#/components/schemas/Id"
}
titlequeryOptional

Literal case-insensitive title substring

View schema
{
  "type": "string"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0 to 100; default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Comma-separated trashed_at,updated_at,title,id asc/desc; default trashed_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current administrator metadata and filtered counts, without contents or tokens
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_TrashSummary"
}
400 Invalid filter or pagination
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/lifecycleGet document lifecycle

Operation: get_document_lifecyclePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current administrator metadata and comparison token without common content
application/json
View schema
{
  "$ref": "#/components/schemas/LifecycleResponse"
}
400 Invalid 22-character Base62 ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Current administrator required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{id}/restoreRestore document

Operation: restore_documentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/LifecycleRequest"
}

Responses

200 Same Document restored; link joining closed in the same transaction
application/json
View schema
{
  "$ref": "#/components/schemas/LifecycleReceipt"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Current administrator or Origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Review current impact or original intent conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result unconfirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{id}/trashTrash document

Operation: trash_documentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/LifecycleRequest"
}

Responses

200 Committed lifecycle result, or original minimal result
application/json
View schema
{
  "$ref": "#/components/schemas/LifecycleReceipt"
}
400 Invalid request
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Current administrator or Origin required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Management facts or original intent changed AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result unconfirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Service status

Distinguish process health, dependency readiness, and the running version.

GET/healthHealth

Operation: healthPermalink

Authentication

Public endpoint; readiness or recovery conditions can still affect availability.

Responses

200 The HTTP process is alive; no dependency check.
x-request-id
Server-generated request correlation ID
View schema
{
  "type": "string"
}
application/json
View schema
{
  "$ref": "#/components/schemas/HealthResponse"
}
GET/readyReady

Operation: readyPermalink

Authentication

Public endpoint; readiness or recovery conditions can still affect availability.

Responses

200 PostgreSQL and storage are available, recovery opening control is verified, and document links initialization is complete.
x-request-id
Server-generated request correlation ID
View schema
{
  "type": "string"
}
application/json
View schema
{
  "$ref": "#/components/schemas/ReadyResponse"
}
503 A dependency or recovery opening control is unavailable. data.dependencies lists safe component statuses.
x-request-id
Server-generated request correlation ID
View schema
{
  "type": "string"
}
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/versionVersion

Operation: versionPermalink

Authentication

Public endpoint; readiness or recovery conditions can still affect availability.

Responses

200 Version and build commit
application/json
View schema
{
  "$ref": "#/components/schemas/VersionResponse"
}

Agent login

HTTP operations from the current OpenAPI contract.

POST/agent/login/approveApprove agent login

Operation: approve_agent_loginPermalink

Authentication

Current browser Cookie and exact application Origin. Only the personal owner or Space administrator may approve an independent Agent connection. An opaque Bearer cannot approve a connection. X-Dee-Expected-Account-Id pins the human.

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/AgentLoginApproveRequest"
}

Responses

204 The browser decision was recorded.
No response body declared.
POST/agent/login/pollPoll agent login

Operation: poll_agent_loginPermalink

Authentication

Prove possession of this request’s original device_secret in the JSON body.

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/AgentLoginPollRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/AgentLoginPollResponse"
}
POST/agent/login/startStart agent login

Operation: start_agent_loginPermalink

Authentication

No existing Dee credential is required to begin a request. This does not authorize access.

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/AgentLoginStartRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/AgentLoginStartResponse"
}

Agent documents

HTTP operations from the current OpenAPI contract.

POST/api/agent-documentsCreate agent document

Operation: create_agent_documentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/CreateAgentDocumentRequest"
}

Responses

201 Agent main document and configuration committed at the explicit location; Pages are created as needed
application/json
View schema
{
  "$ref": "#/components/schemas/AgentDocumentReceipt"
}
400 Invalid input or parent location
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Space administrator required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Origin or parent unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Original operation input conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result unconfirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/agent-documents/operations/{operation_id}Get agent document operation

Operation: get_agent_document_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Only this actor's original minimal initialization or related-document receipt
application/json
View schema
{
  "$ref": "#/components/schemas/AgentDocumentOperationReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No result for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/agent-documents/{id}Get agent document

Operation: get_agent_documentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current readable Agent document associations and management qualification
application/json
View schema
{
  "$ref": "#/components/schemas/AgentDocumentDetail"
}
400 Invalid identity
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Agent document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Agent document in trash
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Agent connections

HTTP operations from the current OpenAPI contract.

GET/api/agent/connectionsAgent connections

Operation: agent_connectionsPermalink

Authentication

Current browser Dee session Cookie only. Authorization headers, including opaque Dee Bearers, are rejected. This read does not require an Origin header. The optional X-Dee-Expected-Account-Id pins the current account.

Parameters

NameLocationRequirement and schema
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Comma-separated id, authorized_at or last_used_at with .asc/.desc; default authorized_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. The current browser Dee session Cookie remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}

Responses

200 Current account's safe Agent connection metadata; browser session required
application/json
View schema
{
  "$ref": "#/components/schemas/AgentConnectionsResponse"
}
400 Invalid page or ordering
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current browser session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Identity storage unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/agent/connectionsRevoke agent connections

Operation: revoke_agent_connectionsPermalink

Authentication

Current browser Dee session Cookie only. Authorization headers, including opaque Dee Bearers, are rejected. Revocation requires the exact application Origin. The optional X-Dee-Expected-Account-Id pins the current account.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. The current browser Dee session Cookie remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/RevokeConnectionsRequest"
}

Responses

204 Reviewed Agent generation revoked, including legacy clients. Retries preserve newer grants and browser sessions.
No response body declared.
400 Invalid generation
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current browser session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Connection generation unavailable; reload the list AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Revocation was not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/agent/connections/{id}Revoke agent connection

Operation: revoke_agent_connectionPermalink

Authentication

Current browser Dee session Cookie only. Authorization headers, including opaque Dee Bearers, are rejected. Revocation requires the exact application Origin. The optional X-Dee-Expected-Account-Id pins the current account.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. The current browser Dee session Cookie remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}

Responses

204 Owned client revoked; already-revoked owned connections are idempotent
No response body declared.
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current browser session required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Client unavailable to this account
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Revocation was not confirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Agents

HTTP operations from the current OpenAPI contract.

GET/api/agents/meGet agent me

Operation: get_agent_mePermalink

Authentication

Independent Agent opaque Bearer with X-Dee-Expected-Agent-Id. No browser Cookie. The authenticated Agent, current scope, resource permissions, and work conditions determine access.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/AgentMe"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/agents/me/documentsList agent documents

Operation: list_agent_documentsPermalink

Authentication

Independent Agent opaque Bearer with X-Dee-Expected-Agent-Id. No browser Cookie. The authenticated Agent, current scope, resource permissions, and work conditions determine access.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_DocumentSummary"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/agents/{agent_id}Get agent configuration

Operation: get_agent_configurationPermalink

Authentication

Current authorized browser user or independent Agent Bearer. Bind the original actor with X-Dee-Expected-Account-Id or X-Dee-Expected-Agent-Id respectively. A read is current evidence, not cached authority to execute.

Parameters

NameLocationRequirement and schema
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/Configuration"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/agents/{agent_id}Save agent configuration

Operation: save_agent_configurationPermalink

Authentication

Real browser Dee session only. Current owner/Space administrator manages Agent settings and connections; current document permissions govern decisions and control. Browser mutations require the exact application Origin and X-Dee-Expected-Account-Id pins the human. A tool or service Bearer cannot replace the browser confirmation.

Parameters

NameLocationRequirement and schema
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/AgentConfigurationRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/AgentConfigurationReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/agents/{agent_id}/connectionsList agent service connections

Operation: list_agent_service_connectionsPermalink

Authentication

Real browser Dee session only. Current owner/Space administrator manages Agent settings and connections; current document permissions govern decisions and control. Browser mutations require the exact application Origin and X-Dee-Expected-Account-Id pins the human. A tool or service Bearer cannot replace the browser confirmation.

Parameters

NameLocationRequirement and schema
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_ServiceConnection"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/agents/{agent_id}/connections/{connection_id}Revoke agent service connection

Operation: revoke_agent_service_connectionPermalink

Authentication

Real browser Dee session only. Current owner/Space administrator manages Agent settings and connections; current document permissions govern decisions and control. Browser mutations require the exact application Origin and X-Dee-Expected-Account-Id pins the human. A tool or service Bearer cannot replace the browser confirmation.

Parameters

NameLocationRequirement and schema
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
connection_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

204
No response body declared.
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/agentsList document agents

Operation: list_document_agentsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_MentionCandidate"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{document_id}/collaborators/agents/{agent_id}Set agent document grant

Operation: set_agent_document_grantPermalink

Authentication

Real browser Dee session only. Current owner/Space administrator manages Agent settings and connections; current document permissions govern decisions and control. Browser mutations require the exact application Origin and X-Dee-Expected-Account-Id pins the human. A tool or service Bearer cannot replace the browser confirmation.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/AgentGrantRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/AgentGrantReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
DELETE/api/documents/{document_id}/collaborators/agents/{agent_id}Remove agent document grant

Operation: remove_agent_document_grantPermalink

Authentication

Real browser Dee session only. Current owner/Space administrator manages Agent settings and connections; current document permissions govern decisions and control. Browser mutations require the exact application Origin and X-Dee-Expected-Account-Id pins the human. A tool or service Bearer cannot replace the browser confirmation.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/RemoveAgentGrantRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/AgentGrantReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Agent collaboration

HTTP operations from the current OpenAPI contract.

POST/api/agents/me/disclosure-checkCheck agent disclosure

Operation: check_agent_disclosurePermalink

Authentication

Independent Agent opaque Bearer with X-Dee-Expected-Agent-Id. No browser Cookie. The authenticated Agent, current scope, resource permissions, and work conditions determine access.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/DisclosureCheckRequest"
}

Responses

200 Current reader-set relation, not output or write approval
application/json
View schema
{
  "$ref": "#/components/schemas/DisclosureCheckResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/agents/operations/{operation_id}Get agent protocol operation

Operation: get_agent_protocol_operationPermalink

Authentication

Current authorized browser user or independent Agent Bearer. Bind the original actor with X-Dee-Expected-Account-Id or X-Dee-Expected-Agent-Id respectively. A read is current evidence, not cached authority to execute.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Original actor's minimal receipt
application/json
View schema
{
  "$ref": "#/components/schemas/ProtocolOperationResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{document_id}/agent-plansSubmit agent plan

Operation: submit_agent_planPermalink

Authentication

Independent Agent opaque Bearer with X-Dee-Expected-Agent-Id. No browser Cookie. The authenticated Agent, current scope, resource permissions, and work conditions determine access.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/PlanRequest"
}

Responses

201 Immutable plan and protected discussion record
application/json
View schema
{
  "$ref": "#/components/schemas/PlanReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/agent-plans/{plan_id}Get agent plan

Operation: get_agent_planPermalink

Authentication

Current authorized browser user or independent Agent Bearer. Bind the original actor with X-Dee-Expected-Account-Id or X-Dee-Expected-Agent-Id respectively. A read is current evidence, not cached authority to execute.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
plan_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current authorized plan and execution facts
application/json
View schema
{
  "$ref": "#/components/schemas/PlanRead"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{document_id}/agent-plans/{plan_id}/decisionsDecide agent plan

Operation: decide_agent_planPermalink

Authentication

Real browser Dee session only. Current owner/Space administrator manages Agent settings and connections; current document permissions govern decisions and control. Browser mutations require the exact application Origin and X-Dee-Expected-Account-Id pins the human. A tool or service Bearer cannot replace the browser confirmation.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
plan_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/DecisionRequest"
}

Responses

201 Browser-human decision
application/json
View schema
{
  "$ref": "#/components/schemas/DecisionReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/threads/{root}/agent-controlGet agent control

Operation: get_agent_controlPermalink

Authentication

Current authorized browser user or independent Agent Bearer. Bind the original actor with X-Dee-Expected-Account-Id or X-Dee-Expected-Agent-Id respectively. A read is current evidence, not cached authority to execute.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
rootpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current work control; active does not mean running
application/json
View schema
{
  "$ref": "#/components/schemas/Control"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{document_id}/threads/{root}/agent-controlSet agent control

Operation: set_agent_controlPermalink

Authentication

Real browser Dee session only. Current owner/Space administrator manages Agent settings and connections; current document permissions govern decisions and control. Browser mutations require the exact application Origin and X-Dee-Expected-Account-Id pins the human. A tool or service Bearer cannot replace the browser confirmation.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
rootpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/ControlRequest"
}

Responses

200 Human stop/restart recorded
application/json
View schema
{
  "$ref": "#/components/schemas/ControlWriteResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/threads/{root}/agent-feedback/{agent_id}Get agent feedback

Operation: get_agent_feedbackPermalink

Authentication

Current authorized browser user or independent Agent Bearer. Bind the original actor with X-Dee-Expected-Account-Id or X-Dee-Expected-Agent-Id respectively. A read is current evidence, not cached authority to execute.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
rootpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Latest received report and current control
application/json
View schema
{
  "$ref": "#/components/schemas/FeedbackRead"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{document_id}/threads/{root}/agent-feedback/{agent_id}Report agent feedback

Operation: report_agent_feedbackPermalink

Authentication

Independent Agent opaque Bearer with X-Dee-Expected-Agent-Id. No browser Cookie. The authenticated Agent, current scope, resource permissions, and work conditions determine access.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
rootpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
agent_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/FeedbackRequest"
}

Responses

200 New protected factual report
application/json
View schema
{
  "$ref": "#/components/schemas/FeedbackReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Pages

HTTP operations from the current OpenAPI contract.

GET/api/documents/page-operations/{operation_id}Get page operation

Operation: get_page_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/pagesList document pages

Operation: list_document_pagesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
statequeryOptional

active (default) or deleted; deleted requires edit permission

View schema
{
  "type": "string"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0 to 100; default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

created_at,title,updated_at,id; default created_at.asc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_PageSummary"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{document_id}/pagesCreate document page

Operation: create_document_pagePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/CreatePageRequest"
}

Responses

201
application/json
View schema
{
  "$ref": "#/components/schemas/PageReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/pages/by-keyFind document page by key

Operation: find_document_page_by_keyPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
keyqueryRequired

Exact current key within this Document

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/pages/{page_id}Get document page

Operation: get_document_pagePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{document_id}/pages/{page_id}Save document page

Operation: save_document_pagePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/SavePageRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{document_id}/pages/{page_id}/keySet document page key

Operation: set_document_page_keyPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/PageKeyRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{document_id}/pages/{page_id}/restoreRestore document page

Operation: restore_document_pagePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/PageLifecycleRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/pages/{page_id}/revisionsList page revisions

Operation: list_page_revisionsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

created_at,id; default created_at.desc,id.desc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageHistoryResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{document_id}/pages/{page_id}/revisions/{revision_id}Get page revision

Operation: get_page_revisionPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
revision_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageRevisionResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{document_id}/pages/{page_id}/trashTrash document page

Operation: trash_document_pagePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
document_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/PageLifecycleRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/PageReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Document pins

HTTP operations from the current OpenAPI contract.

GET/api/documents/pin-operations/{operation_id}Get document pin operation

Operation: get_document_pin_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 This actor's minimal original pin result; grants no current document access
application/json
View schema
{
  "$ref": "#/components/schemas/PinReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/pinGet document pin

Operation: get_document_pinPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Origin-owned pin state and current permission, without reading side effects
application/json
View schema
{
  "$ref": "#/components/schemas/PinResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/documents/{id}/pinSet document pin

Operation: set_document_pinPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/PinRequest"
}

Responses

200 Original explicit pin result; personal holder or Space administrator required for a new operation
application/json
View schema
{
  "$ref": "#/components/schemas/PinReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Document tree

HTTP operations from the current OpenAPI contract.

GET/api/documents/treeGet personal document tree

Operation: get_personal_document_treePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0 to 100; default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

position,title,id; default position.asc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 This account's active document nodes and structure version
application/json
View schema
{
  "$ref": "#/components/schemas/PersonalDocumentTree"
}
400 Invalid pagination
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/tree-operations/{operation_id}Get document tree operation

Operation: get_document_tree_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Only this actor's original minimal placement receipt
application/json
View schema
{
  "$ref": "#/components/schemas/TreeMoveReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 No result for this actor
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/documents/{id}/moveMove document

Operation: move_documentPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/MoveDocumentRequest"
}

Responses

200 Committed placement or original exact retry receipt
application/json
View schema
{
  "$ref": "#/components/schemas/TreeMoveReceipt"
}
400 Invalid parent or cycle
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Origin authority or document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 Structure or operation conflict AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document in trash
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Result unconfirmed
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/spaces/{id}/treeGet space document tree

Operation: get_space_document_treePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0 to 100; default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

position,title,id; default position.asc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Active document nodes and structure version in one Space-member snapshot
application/json
View schema
{
  "$ref": "#/components/schemas/SpaceDocumentTree"
}
400 Invalid pagination
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space membership unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Attachments

HTTP operations from the current OpenAPI contract.

GET/api/documents/{id}/attachmentsList document attachments

Operation: list_document_attachmentsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
scopequeryOptional

body (default), main, or thread; thread includes root and replies

View schema
{
  "type": "string"
}
revision_idqueryOptional

Only body; omission selects the current Revision

View schema
{
  "$ref": "#/components/schemas/Id"
}
thread_idqueryOptional

Required root message identity only with scope=thread

View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional

Zero-based safe integer, default 0

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0..100, default 50; zero returns count only

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

source_created_at/source_id/resource_id with .asc/.desc; unique source/resource ties are appended

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Selected attachment references and object-level sources under current document access
application/json
View schema
{
  "$ref": "#/components/schemas/AttachmentList"
}
400 Invalid target, scope, selectors or pagination
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document or selected source unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in trash under current access
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Entries

HTTP operations from the current OpenAPI contract.

GET/api/documents/{id}/entriesList entries

Operation: list_entriesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
thread_idqueryOptional
View schema
{
  "$ref": "#/components/schemas/Id"
}
read_boundary_entry_idqueryOptional
View schema
{
  "$ref": "#/components/schemas/Id"
}
kindqueryOptional

all (default), messages or activities

View schema
{
  "$ref": "#/components/schemas/EntryKind"
}
event_typequeryOptional
View schema
{
  "type": "string"
}
changed_fieldqueryOptional
View schema
{
  "type": "string"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional
View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/EntryPageResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/entries/{entry_id}Get entry

Operation: get_entryPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
entry_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/EntryResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/entries/{entry_id}/contextGet entry context

Operation: get_entry_contextPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
entry_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
beforequeryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
afterqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/EntryContextResponse"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/entries/{entry_id}/threadGet entry thread

Operation: get_entry_threadPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
entry_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/EntryThreadResponse"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Document history

HTTP operations from the current OpenAPI contract.

GET/api/documents/{id}/revisionsList document revisions

Operation: list_document_revisionsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

0 to 100; default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Comma-separated created_at,id asc/desc; default created_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current authorized revision metadata and current identity from one snapshot
application/json
View schema
{
  "$ref": "#/components/schemas/RevisionHistoryResponse"
}
400 Invalid pagination or ID
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in trash
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/documents/{id}/revisions/diffDiff document revisions

Operation: diff_document_revisionsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
from_revision_idqueryRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
to_revision_idqueryRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Complete immutable comparison or an explicit work/output budget result
application/json
View schema
{
  "$ref": "#/components/schemas/RevisionDiffResponse"
}
400 Both exact Revision IDs are required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document or Revision unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in trash
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read or execution capacity unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Document source

HTTP operations from the current OpenAPI contract.

GET/api/documents/{id}/sourceGet document source

Operation: get_document_sourcePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
revision_idqueryOptional
View schema
{
  "$ref": "#/components/schemas/Id"
}
viewqueryOptional

markdown (default) or outline

View schema
{
  "type": "string"
}
startqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
endqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
max_bytesqueryOptional

Markdown bytes, 4 to 131072; default 32768

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional

Outline only, 0 to 100; default 50

View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

Outline only: position.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Selected immutable source without HTML
application/json
View schema
{
  "$ref": "#/components/schemas/SourceResponse"
}
400 Invalid source view, range or pagination
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401 Current identity required
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Document or Revision unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410 Document is in trash
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Read unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Tasks

HTTP operations from the current OpenAPI contract.

POST/api/tasksCreate task

Operation: create_taskPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/CreateTaskRequest"
}

Responses

201 Task source, first versions, creation activity and assignment notification committed together
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/tasks/operations/{operation_id}Get task operation

Operation: get_task_operationPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
operation_idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Only the authenticated human actor's original minimal Task receipt; does not grant current target access
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400 Invalid request or expected account header.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/tasks/{id}Get task

Operation: get_taskPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 Current authorized source, Task fields, three condition identities and newest activity
application/json
View schema
{
  "$ref": "#/components/schemas/TaskDetail"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
GET/api/tasks/{id}/activitiesList task activities

Operation: list_task_activitiesPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
page_indexqueryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
page_sizequeryOptional
View schema
{
  "type": "integer",
  "format": "int64",
  "minimum": 0
}
order_byqueryOptional

created_at or id, comma-separated asc/desc; default created_at.desc,id.asc

View schema
{
  "type": "string"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
X-Dee-Expected-Agent-IdheaderOptional

Required for independent Agent requests; omitted for human requests. Send the original Agent ID with the Agent connection Bearer; a different Agent returns 409 AgentChanged. Do not combine with X-Dee-Expected-Account-Id.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Responses

200 One currently authorized Task's activity in an authorized count/page snapshot; each handoff note is bounded to 8192 UTF-8 bytes
application/json
View schema
{
  "$ref": "#/components/schemas/Paged_TaskActivity"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/tasks/{id}/claimClaim task

Operation: claim_taskPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/ClaimTaskRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PUT/api/tasks/{id}/descriptionSave task description

Operation: save_task_descriptionPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/TaskDescriptionRequest"
}

Responses

200 Title and complete free description merged with the latest entire frontmatter
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
PATCH/api/tasks/{id}/fieldsUpdate task fields

Operation: update_task_fieldsPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/TaskFieldsRequest"
}

Responses

200
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/tasks/{id}/handoffHandoff task

Operation: handoff_taskPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/HandoffTaskRequest"
}

Responses

200 Explicit assignee and optional status take effect immediately; a note is published only with a real fields change
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/tasks/{id}/restore-descriptionRestore task description

Operation: restore_task_descriptionPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/RestoreTaskDescriptionRequest"
}

Responses

200 Selected historical title and description restored while preserving the latest entire frontmatter
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
POST/api/tasks/{id}/restore-sourceRestore task source

Operation: restore_task_sourcePermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
idpathRequired
View schema
{
  "$ref": "#/components/schemas/Id"
}
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/RestoreTaskSourceRequest"
}

Responses

200 Explicit complete historical source restored under the reviewed full Revision CAS and current assignment qualification
application/json
View schema
{
  "$ref": "#/components/schemas/TaskReceipt"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
410
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Task collections

HTTP operations from the current OpenAPI contract.

POST/api/tasks/queryQuery tasks

Operation: query_tasksPermalink

Authentication

Current human-account connector Bearer, or the browser Dee session. Independent Agent Service access is limited to its documented Phase 1 subset. Cookie mutations require the exact application Origin. Bearer requests must omit Cookie; any supplied Origin must match the application. Current resource permissions apply.

Parameters

NameLocationRequirement and schema
X-Dee-Expected-Account-IdheaderOptional

Original Dee account ID. Current Dee Cookie or human-authorized native-client Bearer remains the credential; another account returns 409 AccountChanged before reading or writing actor-scoped facts. Same-account new sessions remain compatible.

View schema
{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
AuthorizationheaderOptional

Bearer opaque Dee credential from agent browser authorization. Browser requests continue to use the current Cookie and Origin.

View schema
{
  "type": "string"
}

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/TaskCollectionRequest"
}

Responses

200 Current authorized Task summaries, count and five-state totals from one bounded read snapshot; no business mutation
application/json
View schema
{
  "$ref": "#/components/schemas/TaskCollection"
}
400
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
401
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 Cookie POST requires the configured Origin
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
404 Space membership unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
409 AccountChanged: the current Cookie belongs to another account; no actor-scoped action was performed.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 Source projection, condition evidence or read budget unavailable
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Authorization & MCP

These runtime protocols are documented from the implemented connector. They are supplemental to the downloadable OpenAPI contract.

POST/mcpUse the document tools over JSON-RPC

Operation: document_mcpPermalink

Current runtime protocol; not part of the downloadable OpenAPI declaration.

Authentication

Opaque Dee Bearer only; no browser Cookie. Current document permissions apply to every tool.

Request body Required

application/json
View schema
{
  "$ref": "#/components/schemas/McpRequest"
}

Responses

200 JSON-RPC response. Domain tool failures use result.isError=true; syntax and parameter failures use JSON-RPC error objects.
application/json
View schema
{
  "type": "object"
}
202 Valid notification accepted; empty response body.
No response body declared.
401 The request could not be accepted or confirmed. Inspect HTTP status, name, and data.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
403 The request could not be accepted or confirmed. Inspect HTTP status, name, and data.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}
503 The request could not be accepted or confirmed. Inspect HTTP status, name, and data.
application/json
View schema
{
  "$ref": "#/components/schemas/ErrorBody"
}

Data models

Full schemas preserve required fields, nullable values, enums, formats, and constraints. Models prefixed by Agent or MCP may belong to the supplemental runtime protocols described above.

AccessReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "revision",
    "effect"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision": {
      "type": "integer",
      "format": "int64"
    },
    "role": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/AccessRole"
        }
      ]
    },
    "target_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "target_agent_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
AccessRole
{
  "type": "string",
  "enum": [
    "viewer",
    "editor",
    "administrator"
  ]
}
AccessSourceResponse
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "role",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "agent_scope"
          ]
        },
        "role": {
          "$ref": "#/components/schemas/AccessRole"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "account_id",
        "kind"
      ],
      "properties": {
        "account_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "personal_holding"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "space_id",
        "role",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "space_membership"
          ]
        },
        "role": {
          "$ref": "#/components/schemas/AccessRole"
        },
        "space_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "role",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "direct_grant"
          ]
        },
        "role": {
          "$ref": "#/components/schemas/AccessRole"
        }
      }
    }
  ]
}
AccountResponse
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "avatar_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "display_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "email": {
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
ActivityData

A versioned business payload. Unknown types retain their original structure.

{
  "type": "object",
  "description": "A versioned business payload. Unknown types retain their original structure.",
  "required": [
    "event_type",
    "detail_version",
    "fields",
    "details"
  ],
  "properties": {
    "detail_version": {
      "type": "integer",
      "format": "int32",
      "minimum": 0
    },
    "details": {},
    "event_type": {
      "type": "string"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "legacy_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "note": {
      "type": [
        "string",
        "null"
      ]
    },
    "source_operation_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "source_operation_owner": {
      "type": [
        "string",
        "null"
      ]
    },
    "source_revision_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
ActivityResponse
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "author",
    "created_at",
    "version",
    "activity",
    "quote_text",
    "source_status",
    "entry_url"
  ],
  "properties": {
    "activity": {
      "$ref": "#/components/schemas/ActivityData"
    },
    "author": {
      "$ref": "#/components/schemas/AuthorResponse"
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "entry_url": {
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "quote_text": {
      "type": "string"
    },
    "source_status": {
      "type": "string"
    },
    "source_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "thread": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/ThreadSummary"
        }
      ]
    },
    "version": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
ActorId
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "account_id",
        "kind"
      ],
      "properties": {
        "account_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "user"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "agent_id",
        "kind"
      ],
      "properties": {
        "agent_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "agent"
          ]
        }
      }
    }
  ]
}
AddMemberRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "account_id"
  ],
  "properties": {
    "account_id": {
      "$ref": "#/components/schemas/Id"
    },
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "role": {
      "$ref": "#/components/schemas/MemberRole"
    }
  },
  "additionalProperties": false
}
AgentBuiltinPurpose
{
  "type": "string",
  "enum": [
    "definition",
    "memory"
  ]
}
AgentConfigurationReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "agent_id",
    "revision"
  ],
  "properties": {
    "agent_id": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
AgentConfigurationRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "response_mode",
    "scope_role",
    "definition_document_ids",
    "memory_document_ids"
  ],
  "properties": {
    "definition_document_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "expected_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "memory_document_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "response_mode": {
      "$ref": "#/components/schemas/ResponseMode"
    },
    "scope_role": {
      "$ref": "#/components/schemas/AgentRole"
    }
  },
  "additionalProperties": false
}
AgentConnectionResponse
{
  "type": "object",
  "required": [
    "id",
    "client_name",
    "authorized_at",
    "expires_at",
    "status"
  ],
  "properties": {
    "authorized_at": {
      "type": "integer",
      "format": "int64"
    },
    "client_name": {
      "type": "string"
    },
    "expires_at": {
      "type": "integer",
      "format": "int64"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "last_used_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "revoked_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "status": {
      "$ref": "#/components/schemas/ConnectionStatus"
    }
  }
}
AgentConnectionsResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Paged_AgentConnectionResponse"
    },
    {
      "type": "object",
      "required": [
        "generation"
      ],
      "properties": {
        "generation": {
          "type": "string",
          "description": "Opaque decimal generation used to safely retry revoke-all without affecting newer grants."
        }
      }
    }
  ]
}
AgentContext
{
  "type": "object",
  "required": [
    "document_id",
    "root_message_id",
    "control_revision",
    "authorization"
  ],
  "properties": {
    "authorization": {
      "$ref": "#/components/schemas/Authorization"
    },
    "control_revision": {
      "type": "string"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "root_message_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
AgentDocumentDetail
{
  "type": "object",
  "required": [
    "document_id",
    "can_manage",
    "related_documents"
  ],
  "properties": {
    "can_manage": {
      "type": "boolean"
    },
    "definition_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "The immutable initial Definition document. Current bindings are in Agent Configuration."
        }
      ]
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "memory_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "The immutable initial Memory document. Current bindings are in Agent Configuration."
        }
      ]
    },
    "related_documents": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AgentRelatedDocument"
      },
      "description": "Only active related documents this viewer can currently read; links do not grant access."
    }
  }
}
AgentDocumentOperationReceipt
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/AgentDocumentReceipt"
    },
    {
      "$ref": "#/components/schemas/RelatedDocumentReceipt"
    }
  ]
}
AgentDocumentReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id"
  ],
  "properties": {
    "definition_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "memory_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
AgentGrantReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "revision",
    "effect",
    "target_agent_id"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision": {
      "type": "integer",
      "format": "int64"
    },
    "role": {
      "type": [
        "string",
        "null"
      ]
    },
    "target_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "target_agent_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
AgentGrantRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "role"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "role": {
      "$ref": "#/components/schemas/AgentRole"
    }
  },
  "additionalProperties": false
}
AgentLoginActor
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "agent_id",
        "kind"
      ],
      "properties": {
        "agent_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "agent"
          ]
        }
      }
    }
  ]
}
AgentLoginApproveRequest
{
  "type": "object",
  "required": [
    "request",
    "approve"
  ],
  "properties": {
    "approve": {
      "type": "boolean"
    },
    "request": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
AgentLoginPollRequest
{
  "type": "object",
  "required": [
    "id",
    "device_secret"
  ],
  "properties": {
    "device_secret": {
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
AgentLoginPollResponse
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/ServiceLoginPollResponse"
    },
    {
      "$ref": "#/components/schemas/HumanLoginPollResponse"
    }
  ]
}
AgentLoginStartRequest
{
  "type": "object",
  "required": [
    "device_secret",
    "credential_sha256",
    "client_name"
  ],
  "properties": {
    "client_name": {
      "type": "string"
    },
    "credential_sha256": {
      "type": "string"
    },
    "device_secret": {
      "type": "string"
    },
    "subject": {
      "$ref": "#/components/schemas/LoginSubject"
    }
  },
  "additionalProperties": false
}
AgentLoginStartResponse
{
  "type": "object",
  "required": [
    "id",
    "client_name",
    "expires_at",
    "verification_code",
    "verification_url"
  ],
  "properties": {
    "client_name": {
      "type": "string"
    },
    "expires_at": {
      "type": "integer",
      "format": "int64"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "verification_code": {
      "type": "string"
    },
    "verification_url": {
      "type": "string"
    }
  }
}
AgentMe
{
  "type": "object",
  "required": [
    "protocol",
    "actor",
    "connection_id",
    "configuration"
  ],
  "properties": {
    "actor": {
      "$ref": "#/components/schemas/ActorId"
    },
    "configuration": {
      "$ref": "#/components/schemas/Configuration"
    },
    "connection_id": {
      "$ref": "#/components/schemas/Id"
    },
    "protocol": {
      "type": "string"
    }
  }
}
AgentRecord
{
  "type": "object",
  "required": [
    "kind",
    "read_url"
  ],
  "properties": {
    "kind": {
      "type": "string"
    },
    "read_url": {
      "type": "string"
    }
  }
}
AgentRelatedDocument
{
  "type": "object",
  "required": [
    "document_id",
    "title",
    "document_url"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  }
}
AgentRole
{
  "type": "string",
  "enum": [
    "viewer",
    "editor",
    "administrator"
  ]
}
AgentScope
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "owner_account_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "personal"
          ]
        },
        "owner_account_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "space_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "space"
          ]
        },
        "space_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ]
}
AttachmentList
{
  "type": "object",
  "required": [
    "document_id",
    "scope",
    "revision_id",
    "thread_id",
    "references"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "references": {
      "$ref": "#/components/schemas/Paged_AttachmentReference"
    },
    "revision_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "scope": {
      "$ref": "#/components/schemas/AttachmentScope"
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
AttachmentReference
{
  "type": "object",
  "required": [
    "resource",
    "source"
  ],
  "properties": {
    "resource": {
      "$ref": "#/components/schemas/ResourceMetadata"
    },
    "source": {
      "$ref": "#/components/schemas/AttachmentSource"
    }
  }
}
AttachmentScope
{
  "type": "string",
  "enum": [
    "body",
    "main",
    "thread"
  ]
}
AttachmentSource
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "revision_id",
        "created_at",
        "source_url",
        "kind"
      ],
      "properties": {
        "created_at": {
          "type": "integer",
          "format": "int64"
        },
        "kind": {
          "type": "string",
          "enum": [
            "revision"
          ]
        },
        "revision_id": {
          "$ref": "#/components/schemas/Id"
        },
        "source_url": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "message_id",
        "message_version",
        "thread_id",
        "created_at",
        "source_url",
        "kind"
      ],
      "properties": {
        "created_at": {
          "type": "integer",
          "format": "int64"
        },
        "kind": {
          "type": "string",
          "enum": [
            "message"
          ]
        },
        "message_id": {
          "$ref": "#/components/schemas/Id"
        },
        "message_version": {
          "type": "integer",
          "format": "int64",
          "minimum": 0
        },
        "source_url": {
          "type": "string"
        },
        "thread_id": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Id"
            }
          ]
        }
      }
    }
  ]
}
AttentionReceipt

Past personal-operation confirmation, without content or current access authority.

{
  "type": "object",
  "description": "Past personal-operation confirmation, without content or current access authority.",
  "required": [
    "operation_id",
    "document_id",
    "revision",
    "effect"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "notification_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
AuthorResponse
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "agent_id",
        "kind"
      ],
      "properties": {
        "agent_id": {
          "$ref": "#/components/schemas/Id"
        },
        "avatar_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "display_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "kind": {
          "type": "string",
          "enum": [
            "agent"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "account_id",
        "kind"
      ],
      "properties": {
        "account_id": {
          "$ref": "#/components/schemas/Id"
        },
        "avatar_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "display_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "kind": {
          "type": "string",
          "enum": [
            "user"
          ]
        }
      }
    }
  ]
}
Authorization
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "plan_id",
        "decision_id",
        "change_id",
        "qualification_id",
        "kind"
      ],
      "properties": {
        "change_id": {
          "$ref": "#/components/schemas/Id"
        },
        "decision_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "plan"
          ]
        },
        "plan_id": {
          "$ref": "#/components/schemas/Id"
        },
        "qualification_id": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Id"
            }
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "memory"
          ]
        }
      }
    }
  ]
}
Change
{
  "type": "object",
  "required": [
    "id",
    "position",
    "kind",
    "effect",
    "object_id",
    "read_url"
  ],
  "properties": {
    "document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "effect": {
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "kind": {
      "$ref": "#/components/schemas/ChangeKind"
    },
    "object_id": {
      "$ref": "#/components/schemas/Id"
    },
    "position": {
      "type": "string",
      "description": "Decimal commit position, kept lossless in every client language."
    },
    "read_url": {
      "type": "string"
    },
    "revision": {
      "type": [
        "string",
        "null"
      ]
    },
    "revision_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "structure_version": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "version": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
ChangeFeed
{
  "type": "object",
  "required": [
    "mode",
    "events",
    "cursor",
    "has_more"
  ],
  "properties": {
    "cursor": {
      "type": "string"
    },
    "events": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Change"
      }
    },
    "has_more": {
      "type": "boolean"
    },
    "mode": {
      "$ref": "#/components/schemas/FeedMode"
    }
  }
}
ChangeKind
{
  "type": "string",
  "enum": [
    "document",
    "document_tree",
    "message",
    "activity",
    "access",
    "space",
    "agent_configuration",
    "agent_plan",
    "agent_decision",
    "agent_control",
    "agent_feedback"
  ]
}
ClaimTaskRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_task_fields_version"
  ],
  "properties": {
    "expected_task_fields_version": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
CollaboratorResponse
{
  "type": "object",
  "required": [
    "role",
    "joined_at",
    "effective_role",
    "sources"
  ],
  "properties": {
    "account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "avatar_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "display_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "effective_role": {
      "$ref": "#/components/schemas/AccessRole"
    },
    "joined_at": {
      "type": "integer",
      "format": "int64"
    },
    "role": {
      "$ref": "#/components/schemas/AccessRole"
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccessSourceResponse"
      }
    },
    "subject": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/ActorId"
        }
      ]
    }
  }
}
Configuration
{
  "type": "object",
  "required": [
    "agent_id",
    "scope",
    "revision",
    "response_mode",
    "scope_role",
    "definition_document_ids",
    "memory_document_ids"
  ],
  "properties": {
    "agent_id": {
      "$ref": "#/components/schemas/Id"
    },
    "definition_document_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "memory_document_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "response_mode": {
      "$ref": "#/components/schemas/ResponseMode"
    },
    "revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "scope": {
      "$ref": "#/components/schemas/AgentScope"
    },
    "scope_role": {
      "$ref": "#/components/schemas/AgentRole"
    }
  }
}
ConnectionStatus
{
  "type": "string",
  "enum": [
    "active",
    "expired",
    "revoked"
  ]
}
ContextResponse
{
  "type": "object",
  "required": [
    "message",
    "before",
    "after"
  ],
  "properties": {
    "after": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MessageResponse"
      }
    },
    "before": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MessageResponse"
      }
    },
    "message": {
      "$ref": "#/components/schemas/MessageResponse"
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
Control
{
  "type": "object",
  "required": [
    "document_id",
    "root_message_id",
    "revision",
    "state",
    "last_action"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "last_action": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/ControlAction"
        }
      ]
    },
    "revision": {
      "type": "string"
    },
    "root_message_id": {
      "$ref": "#/components/schemas/Id"
    },
    "state": {
      "$ref": "#/components/schemas/ControlState"
    }
  }
}
ControlAction
{
  "type": "object",
  "required": [
    "action",
    "actor",
    "created_at",
    "message_id",
    "message_url"
  ],
  "properties": {
    "action": {
      "$ref": "#/components/schemas/WorkAction"
    },
    "actor": {
      "$ref": "#/components/schemas/ActorId"
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "message_id": {
      "$ref": "#/components/schemas/Id"
    },
    "message_url": {
      "type": "string"
    }
  }
}
ControlRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "action"
  ],
  "properties": {
    "action": {
      "$ref": "#/components/schemas/WorkAction"
    },
    "expected_revision": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
ControlState
{
  "type": "string",
  "enum": [
    "active",
    "stopped"
  ]
}
ControlWriteResponse
{
  "type": "object",
  "required": [
    "operation_id",
    "control",
    "message_url"
  ],
  "properties": {
    "control": {
      "$ref": "#/components/schemas/Control"
    },
    "message_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
CreateAgentDocumentRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "origin",
    "title"
  ],
  "properties": {
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "origin": {
      "$ref": "#/components/schemas/CreateOrigin"
    },
    "parent_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "Optional active parent in the same personal account or Space. Omission or null creates at root."
        }
      ]
    },
    "title": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
CreateDocumentRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "title",
    "markdown"
  ],
  "properties": {
    "agent_context": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/AgentContext"
        }
      ]
    },
    "extension": {
      "type": [
        "string",
        "null"
      ]
    },
    "markdown": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "origin": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/CreateOrigin"
        }
      ]
    },
    "parent_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "title": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
CreateOrigin
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "personal"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "space_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "space"
          ]
        },
        "space_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ]
}
CreatePageRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "title",
    "markdown"
  ],
  "properties": {
    "history_policy": {
      "$ref": "#/components/schemas/HistoryPolicy"
    },
    "key": {
      "type": [
        "string",
        "null"
      ]
    },
    "markdown": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "title": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
CreateRelatedDocumentRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "title"
  ],
  "properties": {
    "expected_revision": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64",
      "description": "Required with purpose. Compared against the Agent configuration revision.",
      "minimum": 0
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "purpose": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/AgentBuiltinPurpose",
          "description": "Create and bind this built-in only when its current binding group is empty."
        }
      ]
    },
    "title": {
      "type": "string",
      "description": "Generic related-document title. With purpose, the fixed Agent Definition or Memory title is used."
    }
  },
  "additionalProperties": false
}
CreateRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "name"
  ],
  "properties": {
    "description": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
CreateTaskRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "title"
  ],
  "properties": {
    "assignee_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "Omitted: personal holder or unassigned in a Space. Explicit null: unassigned."
        }
      ]
    },
    "description": {
      "type": "string"
    },
    "due_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "origin": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/CreateOrigin"
        }
      ]
    },
    "parent_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "status": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/TaskStatus"
        }
      ]
    },
    "title": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
CreatedDocument
{
  "type": "object",
  "required": [
    "change_id",
    "document_id",
    "revision_id"
  ],
  "properties": {
    "change_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
CurrentSessionResponse
{
  "type": "object",
  "required": [
    "account",
    "session"
  ],
  "properties": {
    "account": {
      "$ref": "#/components/schemas/AccountResponse"
    },
    "session": {
      "$ref": "#/components/schemas/SessionResponse"
    }
  }
}
Decision
{
  "type": "object",
  "required": [
    "decision_id",
    "actor",
    "action",
    "created_at",
    "control_revision"
  ],
  "properties": {
    "action": {
      "$ref": "#/components/schemas/DecisionAction"
    },
    "actor": {
      "$ref": "#/components/schemas/ActorId"
    },
    "control_revision": {
      "type": "string"
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "decision_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
DecisionAction
{
  "type": "string",
  "enum": [
    "approve",
    "reject"
  ]
}
DecisionReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "decision_id",
    "message_url"
  ],
  "properties": {
    "decision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "message_url": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
DecisionRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_control_revision",
    "expected_decision_id",
    "action"
  ],
  "properties": {
    "action": {
      "$ref": "#/components/schemas/DecisionAction"
    },
    "expected_control_revision": {
      "type": "string"
    },
    "expected_decision_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
DeleteRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_version"
  ],
  "properties": {
    "expected_version": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
DisclosureCheckRequest
{
  "type": "object",
  "required": [
    "source_document_ids",
    "target"
  ],
  "properties": {
    "source_document_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "target": {
      "$ref": "#/components/schemas/Target"
    }
  },
  "additionalProperties": false
}
DisclosureCheckResponse
{
  "type": "object",
  "required": [
    "allowed",
    "checked_at",
    "results"
  ],
  "properties": {
    "allowed": {
      "type": "boolean"
    },
    "checked_at": {
      "type": "integer",
      "format": "int64"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DisclosureResult"
      }
    }
  }
}
DisclosureResult
{
  "type": "object",
  "required": [
    "source_document_id",
    "allowed"
  ],
  "properties": {
    "allowed": {
      "type": "boolean"
    },
    "source_document_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
DocumentAccessResponse
{
  "type": "object",
  "required": [
    "document_id",
    "role",
    "sources"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "role": {
      "$ref": "#/components/schemas/AccessRole"
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccessSourceResponse"
      }
    }
  }
}
DocumentLinkPage
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Paged_DocumentLinkSummary"
    },
    {
      "type": "object",
      "required": [
        "document_id",
        "anchor_revision_id"
      ],
      "properties": {
        "anchor_revision_id": {
          "$ref": "#/components/schemas/Id"
        },
        "document_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ]
}
DocumentLinkSummary
{
  "type": "object",
  "required": [
    "id",
    "title",
    "current_revision_id",
    "document_url",
    "updated_at",
    "link_types"
  ],
  "properties": {
    "current_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "link_types": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LinkType"
      }
    },
    "title": {
      "type": "string"
    },
    "updated_at": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
DocumentReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "revision_id",
    "effect",
    "snapshot_hash"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "snapshot_hash": {
      "type": "string",
      "description": "SHA-256 of UTF-8 compact JSON [title,markdown], lowercase hexadecimal."
    }
  }
}
DocumentResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/DocumentSummary"
    },
    {
      "type": "object",
      "required": [
        "markdown",
        "rendered"
      ],
      "properties": {
        "markdown": {
          "type": "string"
        },
        "rendered": {
          "$ref": "#/components/schemas/RenderedMarkdown"
        }
      }
    }
  ]
}
DocumentSummary
{
  "type": "object",
  "required": [
    "id",
    "origin",
    "created_by",
    "current_revision_id",
    "title",
    "created_at",
    "updated_at",
    "can_pin",
    "readers_30d",
    "my_role",
    "document_url",
    "revision_url"
  ],
  "properties": {
    "agent_document": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Present only for ordinary documents with an Agent-purpose association record."
    },
    "can_pin": {
      "type": "boolean",
      "description": "Current personal holder or Space administrator; direct grants do not confer pin authority."
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "created_by": {
      "$ref": "#/components/schemas/ActorId"
    },
    "current_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "extension": {
      "type": [
        "string",
        "null"
      ],
      "description": "Explicit immutable document type. Null uses Markdown."
    },
    "favorited_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64",
      "description": "This account's current favorite timestamp, in Unix epoch milliseconds."
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "last_viewed_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64",
      "description": "This account's last explicitly recorded opening, in Unix epoch milliseconds."
    },
    "my_role": {
      "type": "string",
      "description": "Maximum current role. Creator provenance is not an authorization source."
    },
    "origin": {
      "$ref": "#/components/schemas/OriginResponse"
    },
    "pinned_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64",
      "description": "Origin-owned pin time: personal holding or shared Space, in Unix epoch milliseconds."
    },
    "readers_30d": {
      "type": "integer",
      "format": "int64",
      "description": "Distinct accounts that explicitly recorded an opening during the past 30 days.",
      "minimum": 0
    },
    "response_mode": {
      "type": [
        "string",
        "null"
      ],
      "description": "Agent response mode projected with the collection; ordinary documents omit it."
    },
    "revision_url": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "updated_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
DocumentTreeNode
{
  "type": "object",
  "required": [
    "id",
    "title",
    "position",
    "document_url",
    "current_revision_id"
  ],
  "properties": {
    "current_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "extension": {
      "type": [
        "string",
        "null"
      ],
      "description": "Explicit stored type; null uses ordinary Markdown, unknown names remain intact."
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "parent_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "position": {
      "type": "integer",
      "format": "int64"
    },
    "title": {
      "type": "string"
    }
  }
}
DocumentViewResponse
{
  "type": "object",
  "required": [
    "document_id",
    "viewed_at"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "viewed_at": {
      "type": "integer",
      "format": "int64",
      "description": "Unix epoch milliseconds of the retained opening for this account."
    }
  }
}
EditRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_version",
    "parts"
  ],
  "properties": {
    "agent_mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "expected_version": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "parts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/InputPart"
      }
    }
  },
  "additionalProperties": false
}
EntryContextResponse
{
  "type": "object",
  "required": [
    "entry",
    "before",
    "after"
  ],
  "properties": {
    "after": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntryResponse"
      }
    },
    "before": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EntryResponse"
      }
    },
    "entry": {
      "$ref": "#/components/schemas/EntryResponse"
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
EntryKind
{
  "type": "string",
  "enum": [
    "all",
    "messages",
    "activities"
  ]
}
EntryPageResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Paged_EntryResponse"
    },
    {
      "type": "object",
      "properties": {
        "read_boundary_entry_id": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Id"
            }
          ]
        }
      }
    }
  ]
}
EntryResponse
{
  "oneOf": [
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/MessageResponse"
        },
        {
          "type": "object",
          "required": [
            "kind"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "message"
              ]
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/ActivityResponse"
        },
        {
          "type": "object",
          "required": [
            "kind"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "activity"
              ]
            }
          }
        }
      ]
    }
  ]
}
EntryThreadResponse
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "root",
    "reply_count"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "last_reply_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "reply_count": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "root": {
      "$ref": "#/components/schemas/EntryResponse"
    }
  }
}
ErrorBody
{
  "type": "object",
  "required": [
    "name",
    "message"
  ],
  "properties": {
    "data": {},
    "message": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  }
}
Excerpt
{
  "type": "object",
  "required": [
    "text",
    "field"
  ],
  "properties": {
    "field": {
      "type": "string"
    },
    "part_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "source_range": {
      "$ref": "#/components/schemas/Selection"
    },
    "text": {
      "type": "string"
    }
  }
}
Execution
{
  "type": "object",
  "required": [
    "allowed",
    "blockers",
    "checked_at"
  ],
  "properties": {
    "allowed": {
      "type": "boolean"
    },
    "blockers": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "checked_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
FavoriteRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "favorited"
  ],
  "properties": {
    "favorited": {
      "type": "boolean"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
FavoriteResponse
{
  "type": "object",
  "required": [
    "document_id",
    "favorited"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "favorited": {
      "type": "boolean"
    },
    "favorited_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    }
  }
}
FeedMode
{
  "type": "string",
  "enum": [
    "bootstrap",
    "changes"
  ]
}
Feedback
{
  "type": "object",
  "required": [
    "document_id",
    "root_message_id",
    "actor",
    "revision",
    "control_revision",
    "state",
    "markdown",
    "updated_at",
    "message_url"
  ],
  "properties": {
    "actor": {
      "$ref": "#/components/schemas/ActorId"
    },
    "control_revision": {
      "type": "string"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "markdown": {
      "type": "string"
    },
    "message_url": {
      "type": "string"
    },
    "revision": {
      "type": "string"
    },
    "root_message_id": {
      "$ref": "#/components/schemas/Id"
    },
    "state": {
      "$ref": "#/components/schemas/FeedbackState"
    },
    "updated_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
FeedbackRead
{
  "type": "object",
  "required": [
    "control",
    "feedback"
  ],
  "properties": {
    "control": {
      "$ref": "#/components/schemas/Control"
    },
    "feedback": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Feedback"
        }
      ]
    }
  }
}
FeedbackReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "root_message_id",
    "agent_id",
    "revision",
    "message_url"
  ],
  "properties": {
    "agent_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "message_url": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision": {
      "type": "string"
    },
    "root_message_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
FeedbackRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "control_revision",
    "state",
    "markdown"
  ],
  "properties": {
    "control_revision": {
      "type": "string"
    },
    "expected_revision": {
      "type": "string"
    },
    "markdown": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "state": {
      "$ref": "#/components/schemas/FeedbackState"
    }
  },
  "additionalProperties": false
}
FeedbackState
{
  "type": "string",
  "enum": [
    "processing",
    "waiting",
    "completed",
    "stopped",
    "failed"
  ]
}
GoogleLoginRequest
{
  "type": "object",
  "properties": {
    "return_to": {
      "type": [
        "string",
        "null"
      ],
      "description": "Same-origin relative destination, including a query and fragment if present."
    }
  },
  "additionalProperties": false
}
GoogleLoginResponse
{
  "type": "object",
  "required": [
    "authorization_url"
  ],
  "properties": {
    "authorization_url": {
      "type": "string",
      "description": "Google authorization URL with a one-time state, nonce, and PKCE challenge."
    }
  }
}
HandoffTaskRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_task_fields_version",
    "assignee_account_id"
  ],
  "properties": {
    "assignee_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "expected_task_fields_version": {
      "$ref": "#/components/schemas/Id"
    },
    "note": {
      "type": [
        "string",
        "null"
      ],
      "description": "Optional handoff explanation, at most 8192 UTF-8 bytes. Published only with a real field change."
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "status": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/TaskStatus"
        }
      ]
    }
  },
  "additionalProperties": false
}
Heading
{
  "type": "object",
  "required": [
    "id",
    "level",
    "text"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "level": {
      "type": "integer",
      "format": "int32",
      "minimum": 0
    },
    "text": {
      "type": "string"
    }
  }
}
HealthResponse
{
  "type": "object",
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "type": "string"
    }
  }
}
HistoryLimits
{
  "type": "object",
  "required": [
    "max_versions",
    "max_bytes"
  ],
  "properties": {
    "max_bytes": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "max_versions": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
HistoryPolicy
{
  "type": "string",
  "enum": [
    "standard",
    "limited"
  ]
}
HumanLoginPollResponse
{
  "type": "object",
  "required": [
    "status"
  ],
  "properties": {
    "account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "expires_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "session_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "status": {
      "$ref": "#/components/schemas/LoginStatus"
    }
  }
}
Id

A UUID with one case-sensitive, fixed-width text representation. Ordering compares the underlying UUID, independently of its text alphabet.

{
  "type": "string",
  "description": "A UUID with one case-sensitive, fixed-width text representation.\nOrdering compares the underlying UUID, independently of its text alphabet.",
  "pattern": "^[A-Za-z0-9]{22}$"
}
IncompleteReason
{
  "type": "string",
  "enum": [
    "work_budget",
    "output_budget"
  ]
}
InputPart

Submitted content. Quote snapshots are supplied only after the workflow verifies their source.

{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "id",
        "markdown",
        "kind"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "markdown"
          ]
        },
        "markdown": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "id",
        "resource_id",
        "alt",
        "kind"
      ],
      "properties": {
        "alt": {
          "type": "string"
        },
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "image"
          ]
        },
        "resource_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "id",
        "source",
        "kind"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "quote"
          ]
        },
        "source": {
          "$ref": "#/components/schemas/Source"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "id",
        "revision_id",
        "kind"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "revision_link"
          ]
        },
        "revision_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ],
  "description": "Submitted content. Quote snapshots are supplied only after the workflow verifies their source."
}
JoinDocumentRequest
{
  "type": "object",
  "required": [
    "operation_id"
  ],
  "properties": {
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
Kind
{
  "type": "string",
  "enum": [
    "document",
    "page",
    "message"
  ]
}
LifecycleReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "lifecycle_revision",
    "effect"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "lifecycle_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
LifecycleRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_management_token"
  ],
  "properties": {
    "expected_management_token": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
LifecycleResponse
{
  "type": "object",
  "required": [
    "document_id",
    "origin",
    "title",
    "current_revision_id",
    "lifecycle_revision",
    "state",
    "sharing",
    "my_access",
    "management_token",
    "collaborators_url",
    "document_url"
  ],
  "properties": {
    "collaborators_url": {
      "type": "string"
    },
    "current_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "lifecycle_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "management_token": {
      "type": "string"
    },
    "my_access": {
      "$ref": "#/components/schemas/DocumentAccessResponse"
    },
    "origin": {
      "$ref": "#/components/schemas/OriginResponse"
    },
    "sharing": {
      "$ref": "#/components/schemas/SharingResponse"
    },
    "state": {
      "$ref": "#/components/schemas/LifecycleState"
    },
    "title": {
      "type": "string"
    },
    "trashed_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "trashed_by": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
LifecycleState
{
  "type": "string",
  "enum": [
    "active",
    "trashed"
  ]
}
LinkType
{
  "type": "string",
  "enum": [
    "current",
    "revision"
  ]
}
LoginConfigResponse
{
  "type": "object",
  "required": [
    "provider",
    "enabled",
    "providers",
    "return_to"
  ],
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "provider": {
      "type": "string",
      "description": "Default sign-in provider. Only configured providers can be used."
    },
    "providers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LoginProviderResponse"
      }
    },
    "return_to": {
      "type": "string"
    }
  }
}
LoginIdentitiesResponse
{
  "type": "object",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LoginIdentityResponse"
      }
    }
  }
}
LoginIdentityResponse
{
  "type": "object",
  "required": [
    "id",
    "provider",
    "created_at"
  ],
  "properties": {
    "avatar_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "display_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "email": {
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "provider": {
      "type": "string"
    }
  }
}
LoginProviderResponse
{
  "type": "object",
  "required": [
    "id",
    "enabled"
  ],
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    }
  }
}
LoginStatus
{
  "type": "string",
  "enum": [
    "pending",
    "denied",
    "approved"
  ]
}
LoginSubject
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "user"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "agent_id",
        "kind"
      ],
      "properties": {
        "agent_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "agent"
          ]
        }
      }
    }
  ]
}
LogoutRequest
{
  "type": "object",
  "properties": {
    "expected_session_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "Original public Dee session ID. Cookie alone selects the session to revoke."
        }
      ]
    }
  },
  "additionalProperties": false
}
MaintenanceProvenance
{
  "type": "object",
  "required": [
    "kind",
    "recovery_id",
    "previous_revision_id",
    "performed_at"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "description": "Internal recovery transformation, independent of the retained source author."
    },
    "performed_at": {
      "type": "integer",
      "format": "int64"
    },
    "previous_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "recovery_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
MemberResponse
{
  "type": "object",
  "required": [
    "account_id",
    "role",
    "joined_at"
  ],
  "properties": {
    "account_id": {
      "$ref": "#/components/schemas/Id"
    },
    "avatar_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "display_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "joined_at": {
      "type": "integer",
      "format": "int64"
    },
    "role": {
      "type": "string",
      "description": "editor or administrator."
    }
  }
}
MemberRole
{
  "type": "string",
  "enum": [
    "editor",
    "administrator"
  ]
}
MentionCandidate
{
  "type": "object",
  "required": [
    "agent_id",
    "name",
    "response_mode"
  ],
  "properties": {
    "agent_id": {
      "$ref": "#/components/schemas/Id"
    },
    "name": {
      "type": "string"
    },
    "response_mode": {
      "$ref": "#/components/schemas/ResponseMode"
    }
  }
}
MessagePageResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Paged_MessageResponse"
    },
    {
      "type": "object",
      "properties": {
        "read_boundary_message_id": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Id",
              "description": "Reuse this main/Thread message identity to freeze membership on subsequent pages."
            }
          ]
        }
      }
    }
  ]
}
MessageResponse
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "author",
    "parts",
    "mentions",
    "agent_mentions",
    "version",
    "edited",
    "deleted",
    "created_at",
    "updated_at",
    "message_url"
  ],
  "properties": {
    "agent_mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "agent_record": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/AgentRecord"
        }
      ]
    },
    "author": {
      "$ref": "#/components/schemas/AuthorResponse"
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "deleted": {
      "type": "boolean"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "edited": {
      "type": "boolean"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "message_url": {
      "type": "string"
    },
    "parts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PartResponse"
      }
    },
    "thread": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/ThreadSummary"
        }
      ]
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "thread_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "updated_at": {
      "type": "integer",
      "format": "int64"
    },
    "version": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
MoveDocumentRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_structure_version"
  ],
  "properties": {
    "expected_structure_version": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "parent_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  },
  "additionalProperties": false
}
NotificationReadRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
NotificationResponse
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "reasons",
    "read",
    "revision",
    "deleted",
    "created_at",
    "updated_at",
    "read_url",
    "message_url"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "deleted": {
      "type": "boolean"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "message_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "message_url": {
      "type": "string"
    },
    "read": {
      "type": "boolean"
    },
    "read_url": {
      "type": "string"
    },
    "reasons": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Reason"
      }
    },
    "revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "task_activity_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "updated_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
OriginResponse
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "account_id",
        "kind"
      ],
      "properties": {
        "account_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "personal"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "space_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "space"
          ]
        },
        "space_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ]
}
OutlineItem
{
  "type": "object",
  "required": [
    "position",
    "id",
    "level",
    "text",
    "text_truncated",
    "range"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "level": {
      "type": "integer",
      "format": "int32",
      "minimum": 0
    },
    "position": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "range": {
      "$ref": "#/components/schemas/Selection"
    },
    "text": {
      "type": "string"
    },
    "text_truncated": {
      "type": "boolean"
    }
  }
}
PageContent
{
  "allOf": [
    {
      "$ref": "#/components/schemas/PageSummary"
    },
    {
      "type": "object",
      "required": [
        "markdown"
      ],
      "properties": {
        "markdown": {
          "type": "string"
        }
      }
    }
  ]
}
PageHistoryResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Paged_PageRevisionSummary"
    },
    {
      "type": "object",
      "required": [
        "current_revision_id",
        "history_policy"
      ],
      "properties": {
        "current_revision_id": {
          "$ref": "#/components/schemas/Id"
        },
        "history_limits": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/HistoryLimits"
            }
          ]
        },
        "history_policy": {
          "$ref": "#/components/schemas/HistoryPolicy"
        }
      }
    }
  ]
}
PageKeyRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_metadata_revision"
  ],
  "properties": {
    "expected_metadata_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "key": {
      "type": [
        "string",
        "null"
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
PageLifecycleRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_metadata_revision"
  ],
  "properties": {
    "expected_metadata_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "key": {
      "type": [
        "string",
        "null"
      ],
      "description": "Restore may supply a replacement key; omitted/null retains the original key."
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
PageReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "page_id",
    "revision_id",
    "metadata_revision",
    "effect",
    "snapshot_hash"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "metadata_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "page_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "snapshot_hash": {
      "type": "string"
    }
  }
}
PageResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/PageContent"
    },
    {
      "type": "object",
      "required": [
        "rendered"
      ],
      "properties": {
        "rendered": {
          "$ref": "#/components/schemas/RenderedMarkdown"
        }
      }
    }
  ]
}
PageRevisionContent
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "page_id",
    "title",
    "markdown",
    "snapshot_hash",
    "created_by",
    "created_at",
    "document_url",
    "page_url",
    "revision_url"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "created_by": {
      "$ref": "#/components/schemas/ActorId"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "markdown": {
      "type": "string"
    },
    "page_id": {
      "$ref": "#/components/schemas/Id"
    },
    "page_url": {
      "type": "string"
    },
    "revision_url": {
      "type": "string"
    },
    "snapshot_hash": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  }
}
PageRevisionResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/PageRevisionContent"
    },
    {
      "type": "object",
      "required": [
        "rendered"
      ],
      "properties": {
        "rendered": {
          "$ref": "#/components/schemas/RenderedMarkdown"
        }
      }
    }
  ]
}
PageRevisionSummary
{
  "type": "object",
  "required": [
    "id",
    "title",
    "snapshot_hash",
    "created_by",
    "created_at",
    "revision_url"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "created_by": {
      "$ref": "#/components/schemas/ActorId"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision_url": {
      "type": "string"
    },
    "snapshot_hash": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  }
}
PageSummary
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "title",
    "current_revision_id",
    "metadata_revision",
    "created_at",
    "updated_at",
    "my_role",
    "history_policy",
    "document_url",
    "page_url",
    "revision_url"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "current_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "history_limits": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/HistoryLimits"
        }
      ]
    },
    "history_policy": {
      "$ref": "#/components/schemas/HistoryPolicy"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "key": {
      "type": [
        "string",
        "null"
      ]
    },
    "metadata_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "my_role": {
      "type": "string"
    },
    "page_url": {
      "type": "string"
    },
    "revision_url": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "trashed_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "updated_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
Paged_AgentConnectionResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "client_name",
          "authorized_at",
          "expires_at",
          "status"
        ],
        "properties": {
          "authorized_at": {
            "type": "integer",
            "format": "int64"
          },
          "client_name": {
            "type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "last_used_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "revoked_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "status": {
            "$ref": "#/components/schemas/ConnectionStatus"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_AttachmentReference
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "resource",
          "source"
        ],
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/ResourceMetadata"
          },
          "source": {
            "$ref": "#/components/schemas/AttachmentSource"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_CollaboratorResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "role",
          "joined_at",
          "effective_role",
          "sources"
        ],
        "properties": {
          "account_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "effective_role": {
            "$ref": "#/components/schemas/AccessRole"
          },
          "joined_at": {
            "type": "integer",
            "format": "int64"
          },
          "role": {
            "$ref": "#/components/schemas/AccessRole"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessSourceResponse"
            }
          },
          "subject": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ActorId"
              }
            ]
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_DocumentLinkSummary
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "current_revision_id",
          "document_url",
          "updated_at",
          "link_types"
        ],
        "properties": {
          "current_revision_id": {
            "$ref": "#/components/schemas/Id"
          },
          "document_url": {
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "link_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkType"
            }
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_DocumentSummary
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "origin",
          "created_by",
          "current_revision_id",
          "title",
          "created_at",
          "updated_at",
          "can_pin",
          "readers_30d",
          "my_role",
          "document_url",
          "revision_url"
        ],
        "properties": {
          "agent_document": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Present only for ordinary documents with an Agent-purpose association record."
          },
          "can_pin": {
            "type": "boolean",
            "description": "Current personal holder or Space administrator; direct grants do not confer pin authority."
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorId"
          },
          "current_revision_id": {
            "$ref": "#/components/schemas/Id"
          },
          "document_url": {
            "type": "string"
          },
          "extension": {
            "type": [
              "string",
              "null"
            ],
            "description": "Explicit immutable document type. Null uses Markdown."
          },
          "favorited_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "This account's current favorite timestamp, in Unix epoch milliseconds."
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "last_viewed_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "This account's last explicitly recorded opening, in Unix epoch milliseconds."
          },
          "my_role": {
            "type": "string",
            "description": "Maximum current role. Creator provenance is not an authorization source."
          },
          "origin": {
            "$ref": "#/components/schemas/OriginResponse"
          },
          "pinned_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "Origin-owned pin time: personal holding or shared Space, in Unix epoch milliseconds."
          },
          "readers_30d": {
            "type": "integer",
            "format": "int64",
            "description": "Distinct accounts that explicitly recorded an opening during the past 30 days.",
            "minimum": 0
          },
          "response_mode": {
            "type": [
              "string",
              "null"
            ],
            "description": "Agent response mode projected with the collection; ordinary documents omit it."
          },
          "revision_url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_DocumentTreeNode
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "position",
          "document_url",
          "current_revision_id"
        ],
        "properties": {
          "current_revision_id": {
            "$ref": "#/components/schemas/Id"
          },
          "document_url": {
            "type": "string"
          },
          "extension": {
            "type": [
              "string",
              "null"
            ],
            "description": "Explicit stored type; null uses ordinary Markdown, unknown names remain intact."
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "parent_document_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "position": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "type": "string"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_EntryResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/MessageResponse"
              },
              {
                "type": "object",
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "message"
                    ]
                  }
                }
              }
            ]
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActivityResponse"
              },
              {
                "type": "object",
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "activity"
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_MemberResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "account_id",
          "role",
          "joined_at"
        ],
        "properties": {
          "account_id": {
            "$ref": "#/components/schemas/Id"
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "joined_at": {
            "type": "integer",
            "format": "int64"
          },
          "role": {
            "type": "string",
            "description": "editor or administrator."
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_MentionCandidate
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "agent_id",
          "name",
          "response_mode"
        ],
        "properties": {
          "agent_id": {
            "$ref": "#/components/schemas/Id"
          },
          "name": {
            "type": "string"
          },
          "response_mode": {
            "$ref": "#/components/schemas/ResponseMode"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_MessageResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "document_id",
          "author",
          "parts",
          "mentions",
          "agent_mentions",
          "version",
          "edited",
          "deleted",
          "created_at",
          "updated_at",
          "message_url"
        ],
        "properties": {
          "agent_mentions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Id"
            }
          },
          "agent_record": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AgentRecord"
              }
            ]
          },
          "author": {
            "$ref": "#/components/schemas/AuthorResponse"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "deleted": {
            "type": "boolean"
          },
          "document_id": {
            "$ref": "#/components/schemas/Id"
          },
          "edited": {
            "type": "boolean"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "mentions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Id"
            }
          },
          "message_url": {
            "type": "string"
          },
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartResponse"
            }
          },
          "thread": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ThreadSummary"
              }
            ]
          },
          "thread_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "thread_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_NotificationResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "document_id",
          "reasons",
          "read",
          "revision",
          "deleted",
          "created_at",
          "updated_at",
          "read_url",
          "message_url"
        ],
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "deleted": {
            "type": "boolean"
          },
          "document_id": {
            "$ref": "#/components/schemas/Id"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "message_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "message_url": {
            "type": "string"
          },
          "read": {
            "type": "boolean"
          },
          "read_url": {
            "type": "string"
          },
          "reasons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Reason"
            }
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "task_activity_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "thread_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_OutlineItem
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "position",
          "id",
          "level",
          "text",
          "text_truncated",
          "range"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "level": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "position": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "range": {
            "$ref": "#/components/schemas/Selection"
          },
          "text": {
            "type": "string"
          },
          "text_truncated": {
            "type": "boolean"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_PageRevisionSummary
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "snapshot_hash",
          "created_by",
          "created_at",
          "revision_url"
        ],
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorId"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "revision_url": {
            "type": "string"
          },
          "snapshot_hash": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_PageSummary
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "document_id",
          "title",
          "current_revision_id",
          "metadata_revision",
          "created_at",
          "updated_at",
          "my_role",
          "history_policy",
          "document_url",
          "page_url",
          "revision_url"
        ],
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "current_revision_id": {
            "$ref": "#/components/schemas/Id"
          },
          "document_id": {
            "$ref": "#/components/schemas/Id"
          },
          "document_url": {
            "type": "string"
          },
          "history_limits": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/HistoryLimits"
              }
            ]
          },
          "history_policy": {
            "$ref": "#/components/schemas/HistoryPolicy"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "key": {
            "type": [
              "string",
              "null"
            ]
          },
          "metadata_revision": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "my_role": {
            "type": "string"
          },
          "page_url": {
            "type": "string"
          },
          "revision_url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "trashed_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_RevisionSummary
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "snapshot_hash",
          "created_by",
          "created_at",
          "revision_url"
        ],
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorId"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "maintenance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MaintenanceProvenance"
              }
            ]
          },
          "revision_url": {
            "type": "string"
          },
          "snapshot_hash": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_SearchResult
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResultBase"
              },
              {
                "type": "object",
                "required": [
                  "revision_id",
                  "revision_url"
                ],
                "properties": {
                  "revision_id": {
                    "$ref": "#/components/schemas/Id"
                  },
                  "revision_url": {
                    "type": "string"
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "document"
                    ]
                  }
                }
              }
            ]
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResultBase"
              },
              {
                "type": "object",
                "required": [
                  "page_id",
                  "revision_id",
                  "page_url",
                  "revision_url"
                ],
                "properties": {
                  "page_id": {
                    "$ref": "#/components/schemas/Id"
                  },
                  "page_url": {
                    "type": "string"
                  },
                  "revision_id": {
                    "$ref": "#/components/schemas/Id"
                  },
                  "revision_url": {
                    "type": "string"
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "page"
                    ]
                  }
                }
              }
            ]
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResultBase"
              },
              {
                "type": "object",
                "required": [
                  "message_version",
                  "message_url"
                ],
                "properties": {
                  "message_url": {
                    "type": "string"
                  },
                  "message_version": {
                    "type": "integer",
                    "format": "int64",
                    "minimum": 0
                  },
                  "thread_id": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "$ref": "#/components/schemas/Id"
                      }
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "message"
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_ServiceConnection
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "client_name",
          "authorized_by",
          "authorized_at",
          "last_used_at",
          "expires_at",
          "status"
        ],
        "properties": {
          "authorized_at": {
            "type": "integer",
            "format": "int64"
          },
          "authorized_by": {
            "$ref": "#/components/schemas/Id"
          },
          "client_name": {
            "type": "string"
          },
          "expires_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "last_used_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "status": {
            "type": "string"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_SpaceResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "description",
          "created_by",
          "revision",
          "created_at",
          "updated_at",
          "my_role"
        ],
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "$ref": "#/components/schemas/Id"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "my_role": {
            "type": "string",
            "description": "editor or administrator; current member role in this Space only."
          },
          "name": {
            "type": "string"
          },
          "overview_document_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id",
                "description": "A stable document identity; the reference is retained while the document is trashed."
              }
            ]
          },
          "overview_document_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_StateResponse
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "document_id",
          "following",
          "muted",
          "revision",
          "unread_messages",
          "unread_mentions"
        ],
        "properties": {
          "document_id": {
            "$ref": "#/components/schemas/Id"
          },
          "following": {
            "type": "boolean"
          },
          "last_message_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "muted": {
            "type": "boolean"
          },
          "read_message_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "thread_id": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "unread_mentions": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "unread_messages": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_TaskActivity
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "document_id",
          "revision_id",
          "kind",
          "actor_id",
          "actor_kind",
          "new_fields",
          "created_at"
        ],
        "properties": {
          "actor_id": {
            "$ref": "#/components/schemas/Id"
          },
          "actor_kind": {
            "$ref": "#/components/schemas/TaskActorKind"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "document_id": {
            "$ref": "#/components/schemas/Id"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          },
          "kind": {
            "$ref": "#/components/schemas/TaskActivityKind"
          },
          "new_fields": {
            "$ref": "#/components/schemas/TaskFields"
          },
          "note": {
            "type": [
              "string",
              "null"
            ]
          },
          "old_fields": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TaskFields"
              }
            ]
          },
          "revision_id": {
            "$ref": "#/components/schemas/Id"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_TaskSummary
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskFields"
          },
          {
            "type": "object",
            "required": [
              "id",
              "origin",
              "title",
              "current_revision_id",
              "task_fields_version",
              "description_version",
              "created_at",
              "updated_at",
              "document_url",
              "revision_url"
            ],
            "properties": {
              "created_at": {
                "type": "integer",
                "format": "int64"
              },
              "current_revision_id": {
                "$ref": "#/components/schemas/Id"
              },
              "description_version": {
                "$ref": "#/components/schemas/Id"
              },
              "document_url": {
                "type": "string"
              },
              "id": {
                "$ref": "#/components/schemas/Id"
              },
              "origin": {
                "$ref": "#/components/schemas/OriginResponse"
              },
              "revision_url": {
                "type": "string"
              },
              "task_fields_version": {
                "$ref": "#/components/schemas/Id"
              },
              "title": {
                "type": "string"
              },
              "updated_at": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ]
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Paged_TrashSummary
{
  "type": "object",
  "required": [
    "items",
    "page_index",
    "page_size",
    "total_pages",
    "total_items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "document_id",
          "origin",
          "title",
          "current_revision_id",
          "lifecycle_revision",
          "state",
          "trashed_at",
          "trashed_by",
          "created_at",
          "updated_at",
          "management_url",
          "document_url"
        ],
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "current_revision_id": {
            "$ref": "#/components/schemas/Id"
          },
          "document_id": {
            "$ref": "#/components/schemas/Id"
          },
          "document_url": {
            "type": "string"
          },
          "lifecycle_revision": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "management_url": {
            "type": "string"
          },
          "origin": {
            "$ref": "#/components/schemas/OriginResponse"
          },
          "state": {
            "$ref": "#/components/schemas/LifecycleState"
          },
          "title": {
            "type": "string"
          },
          "trashed_at": {
            "type": "integer",
            "format": "int64"
          },
          "trashed_by": {
            "$ref": "#/components/schemas/Id"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        }
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_items": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "total_pages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Part

Persisted ordered content. The quote snapshot is the verified Markdown at publication time.

{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "id",
        "markdown",
        "kind"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "markdown"
          ]
        },
        "markdown": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "id",
        "resource_id",
        "alt",
        "kind"
      ],
      "properties": {
        "alt": {
          "type": "string"
        },
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "image"
          ]
        },
        "resource_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "id",
        "source",
        "snapshot",
        "kind"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "quote"
          ]
        },
        "snapshot": {
          "type": "string"
        },
        "source": {
          "$ref": "#/components/schemas/Source"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "id",
        "revision_id",
        "kind"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "revision_link"
          ]
        },
        "revision_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ],
  "description": "Persisted ordered content. The quote snapshot is the verified Markdown at publication time."
}
PartResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Part"
    },
    {
      "type": "object",
      "properties": {
        "source_status": {
          "type": [
            "string",
            "null"
          ]
        },
        "source_url": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    }
  ]
}
PersonalDocumentTree
{
  "type": "object",
  "required": [
    "account_id",
    "structure_version",
    "documents"
  ],
  "properties": {
    "account_id": {
      "$ref": "#/components/schemas/Id"
    },
    "documents": {
      "$ref": "#/components/schemas/Paged_DocumentTreeNode"
    },
    "structure_version": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
PinReceipt

A minimal original result; it does not grant current document access.

{
  "type": "object",
  "description": "A minimal original result; it does not grant current document access.",
  "required": [
    "operation_id",
    "document_id",
    "pinned",
    "pin_revision",
    "effect"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "pin_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "pinned": {
      "type": "boolean"
    },
    "pinned_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    }
  },
  "additionalProperties": false
}
PinRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "pinned"
  ],
  "properties": {
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "pinned": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
PinResponse
{
  "type": "object",
  "required": [
    "document_id",
    "pinned",
    "can_pin"
  ],
  "properties": {
    "can_pin": {
      "type": "boolean"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "pinned": {
      "type": "boolean"
    },
    "pinned_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    }
  }
}
PlanChange
{
  "type": "object",
  "required": [
    "id",
    "target",
    "action",
    "description"
  ],
  "properties": {
    "action": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "target": {
      "$ref": "#/components/schemas/Target"
    }
  },
  "additionalProperties": false
}
PlanRead
{
  "type": "object",
  "required": [
    "plan_id",
    "document_id",
    "root_message_id",
    "snapshot",
    "superseded_by_plan_id",
    "current_decision",
    "current_qualification",
    "created_documents",
    "control",
    "execution"
  ],
  "properties": {
    "control": {
      "$ref": "#/components/schemas/Control"
    },
    "created_documents": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreatedDocument"
      }
    },
    "current_decision": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Decision"
        }
      ]
    },
    "current_qualification": {
      "description": "External qualification submission is reserved for a later implementation."
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "execution": {
      "$ref": "#/components/schemas/Execution"
    },
    "plan_id": {
      "$ref": "#/components/schemas/Id"
    },
    "root_message_id": {
      "$ref": "#/components/schemas/Id"
    },
    "snapshot": {
      "$ref": "#/components/schemas/PlanSnapshot"
    },
    "superseded_by_plan_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
PlanReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "plan_id",
    "message_url"
  ],
  "properties": {
    "message_url": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "plan_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
PlanRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "root_message_id",
    "expected_control_revision",
    "markdown",
    "executor_agent_ids",
    "changes",
    "replaces_plan_id"
  ],
  "properties": {
    "changes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlanChange"
      }
    },
    "executor_agent_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "expected_control_revision": {
      "type": "string"
    },
    "markdown": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "replaces_plan_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "root_message_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
PlanSnapshot
{
  "type": "object",
  "required": [
    "author",
    "created_at",
    "markdown",
    "executor_agent_ids",
    "changes",
    "replaces_plan_id"
  ],
  "properties": {
    "author": {
      "$ref": "#/components/schemas/ActorId"
    },
    "changes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlanChange"
      }
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "executor_agent_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "markdown": {
      "type": "string"
    },
    "replaces_plan_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
PreferencesRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "following": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "muted": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
ProtocolControlReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "root_message_id",
    "revision",
    "state",
    "message_url"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "message_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision": {
      "type": "string"
    },
    "root_message_id": {
      "$ref": "#/components/schemas/Id"
    },
    "state": {
      "$ref": "#/components/schemas/ControlState"
    }
  }
}
ProtocolOperation
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "plan"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/PlanReceipt"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "decision"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/DecisionReceipt"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "control"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/ProtocolControlReceipt"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "feedback"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/FeedbackReceipt"
        }
      }
    }
  ]
}
ProtocolOperationResponse
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "configuration"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/AgentConfigurationReceipt"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "plan"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/PlanReceipt"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "decision"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/DecisionReceipt"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "control"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/ProtocolControlReceipt"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "receipt",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "feedback"
          ]
        },
        "receipt": {
          "$ref": "#/components/schemas/FeedbackReceipt"
        }
      }
    }
  ]
}
ReadRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "message_id"
  ],
  "properties": {
    "message_id": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
ReadyResponse
{
  "type": "object",
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "type": "string"
    }
  }
}
Reason
{
  "type": "string",
  "enum": [
    "mentioned",
    "thread_reply",
    "task_assignment"
  ]
}
Receipt

Minimal original result; it grants no permission to retrieve current message content.

{
  "type": "object",
  "description": "Minimal original result; it grants no permission to retrieve current message content.",
  "required": [
    "operation_id",
    "document_id",
    "message_id",
    "version",
    "effect",
    "snapshot_hash"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "message_id": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "snapshot_hash": {
      "type": "string"
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "version": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
ReceiptResponse
{
  "type": "object",
  "required": [
    "operation_id",
    "space_id",
    "revision",
    "effect"
  ],
  "properties": {
    "effect": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision": {
      "type": "integer",
      "format": "int64"
    },
    "role": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/MemberRole"
        }
      ]
    },
    "space_id": {
      "$ref": "#/components/schemas/Id"
    },
    "target_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  }
}
RelatedDocumentReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "related_document_id"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "related_document_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
RemoveAgentGrantRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
RemoveCollaboratorRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
RenderedMarkdown
{
  "type": "object",
  "required": [
    "html",
    "toc"
  ],
  "properties": {
    "html": {
      "type": "string"
    },
    "toc": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Heading"
      }
    }
  }
}
ResolveAccountRequest
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "A complete verified email address, never a display-name or prefix search."
    }
  },
  "additionalProperties": false
}
ResolvedAccountResponse
{
  "type": "object",
  "required": [
    "id",
    "matched_email"
  ],
  "properties": {
    "avatar_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "display_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "matched_email": {
      "type": "string",
      "description": "Echoes the requested email instead of exposing other email addresses."
    }
  }
}
ResourceMetadata
{
  "type": "object",
  "required": [
    "resource_id",
    "filename",
    "state",
    "sha256",
    "byte_size",
    "content_type",
    "content_url"
  ],
  "properties": {
    "byte_size": {
      "type": "integer",
      "format": "int64"
    },
    "content_type": {
      "type": "string"
    },
    "content_url": {
      "type": "string"
    },
    "document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "filename": {
      "type": "string"
    },
    "resource_id": {
      "$ref": "#/components/schemas/Id"
    },
    "sha256": {
      "type": "string"
    },
    "state": {
      "type": "string"
    }
  }
}
ResponseMode
{
  "type": "string",
  "enum": [
    "mention",
    "automatic"
  ]
}
RestoreTaskDescriptionRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "source_revision_id",
    "expected_description_version"
  ],
  "properties": {
    "expected_description_version": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "source_revision_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
RestoreTaskSourceRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "source_revision_id",
    "expected_revision_id"
  ],
  "properties": {
    "expected_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "source_revision_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
ResultBase
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "title",
    "created_at",
    "updated_at",
    "document_url",
    "excerpt"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "excerpt": {
      "$ref": "#/components/schemas/Excerpt"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "title": {
      "type": "string"
    },
    "updated_at": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
RevisionContent
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "title",
    "markdown",
    "snapshot_hash",
    "created_by",
    "created_at",
    "document_url",
    "revision_url"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "created_by": {
      "$ref": "#/components/schemas/ActorId"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "extension": {
      "type": [
        "string",
        "null"
      ],
      "description": "Explicit immutable document type. Null uses Markdown."
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "maintenance": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/MaintenanceProvenance"
        }
      ]
    },
    "markdown": {
      "type": "string"
    },
    "revision_url": {
      "type": "string"
    },
    "snapshot_hash": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  }
}
RevisionDiffResponse
{
  "type": "object",
  "required": [
    "document_id",
    "from_revision_id",
    "to_revision_id",
    "title_before",
    "title_after",
    "has_changes",
    "complete",
    "incomplete_reason",
    "markdown_diff"
  ],
  "properties": {
    "complete": {
      "type": "boolean"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "from_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "has_changes": {
      "type": "boolean"
    },
    "incomplete_reason": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/IncompleteReason"
        }
      ]
    },
    "markdown_diff": {
      "type": [
        "string",
        "null"
      ]
    },
    "title_after": {
      "type": "string"
    },
    "title_before": {
      "type": "string"
    },
    "to_revision_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
RevisionHistoryResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Paged_RevisionSummary"
    },
    {
      "type": "object",
      "required": [
        "current_revision_id"
      ],
      "properties": {
        "current_revision_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ]
}
RevisionRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    }
  },
  "additionalProperties": false
}
RevisionResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/RevisionContent"
    },
    {
      "type": "object",
      "required": [
        "rendered"
      ],
      "properties": {
        "rendered": {
          "$ref": "#/components/schemas/RenderedMarkdown"
        }
      }
    }
  ]
}
RevisionSummary
{
  "type": "object",
  "required": [
    "id",
    "title",
    "snapshot_hash",
    "created_by",
    "created_at",
    "revision_url"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "created_by": {
      "$ref": "#/components/schemas/ActorId"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "maintenance": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/MaintenanceProvenance"
        }
      ]
    },
    "revision_url": {
      "type": "string"
    },
    "snapshot_hash": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  }
}
RevokeConnectionsRequest
{
  "type": "object",
  "required": [
    "expected_generation"
  ],
  "properties": {
    "expected_generation": {
      "type": "string",
      "description": "Use the generation returned by the reviewed connection list."
    }
  },
  "additionalProperties": false
}
SaveDocumentRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision_id",
    "title",
    "markdown"
  ],
  "properties": {
    "agent_context": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/AgentContext"
        }
      ]
    },
    "expected_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "markdown": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "title": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
SavePageRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision_id",
    "title",
    "markdown"
  ],
  "properties": {
    "expected_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "markdown": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "title": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
Scope
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "owner_account_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "personal"
          ]
        },
        "owner_account_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "space_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "space"
          ]
        },
        "space_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    }
  ]
}
SearchRequest
{
  "type": "object",
  "required": [
    "terms"
  ],
  "properties": {
    "document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "Required for document scope; otherwise intersects the selected mine or Space scope."
        }
      ]
    },
    "kinds": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Kind"
      },
      "maxItems": 3,
      "minItems": 1
    },
    "order_by": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "default": 50,
      "maximum": 100,
      "minimum": 0
    },
    "scope": {
      "$ref": "#/components/schemas/SearchScope",
      "description": "Omitted: infer space from non-null `space_id`, otherwise mine. Document requires `document_id` and no `space_id`. Explicit null is invalid."
    },
    "space_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "terms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "AND of 1-16 literal strings. Each 1-256 UTF-8 bytes, total at most 2048 bytes; no NUL.",
      "maxItems": 16,
      "minItems": 1
    }
  },
  "additionalProperties": false
}
SearchResult
{
  "oneOf": [
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/ResultBase"
        },
        {
          "type": "object",
          "required": [
            "revision_id",
            "revision_url"
          ],
          "properties": {
            "revision_id": {
              "$ref": "#/components/schemas/Id"
            },
            "revision_url": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "required": [
            "kind"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "document"
              ]
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/ResultBase"
        },
        {
          "type": "object",
          "required": [
            "page_id",
            "revision_id",
            "page_url",
            "revision_url"
          ],
          "properties": {
            "page_id": {
              "$ref": "#/components/schemas/Id"
            },
            "page_url": {
              "type": "string"
            },
            "revision_id": {
              "$ref": "#/components/schemas/Id"
            },
            "revision_url": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "required": [
            "kind"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "page"
              ]
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/ResultBase"
        },
        {
          "type": "object",
          "required": [
            "message_version",
            "message_url"
          ],
          "properties": {
            "message_url": {
              "type": "string"
            },
            "message_version": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            },
            "thread_id": {
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "$ref": "#/components/schemas/Id"
                }
              ]
            }
          }
        },
        {
          "type": "object",
          "required": [
            "kind"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "message"
              ]
            }
          }
        }
      ]
    }
  ]
}
SearchScope
{
  "type": "string",
  "enum": [
    "mine",
    "space",
    "document"
  ]
}
Selection

A half-open UTF-8 byte range in the source Markdown, checked against source bytes by workflows.

{
  "type": "object",
  "description": "A half-open UTF-8 byte range in the source Markdown, checked against source bytes by workflows.",
  "required": [
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "start": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
SendRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "parts"
  ],
  "properties": {
    "agent_mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Id"
      }
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "parts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/InputPart"
      }
    },
    "reply_to": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    }
  },
  "additionalProperties": false
}
ServiceConnection
{
  "type": "object",
  "required": [
    "id",
    "client_name",
    "authorized_by",
    "authorized_at",
    "last_used_at",
    "expires_at",
    "status"
  ],
  "properties": {
    "authorized_at": {
      "type": "integer",
      "format": "int64"
    },
    "authorized_by": {
      "$ref": "#/components/schemas/Id"
    },
    "client_name": {
      "type": "string"
    },
    "expires_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "last_used_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "status": {
      "type": "string"
    }
  }
}
ServiceLoginPollResponse
{
  "type": "object",
  "required": [
    "status",
    "actor",
    "connection_id",
    "expires_at"
  ],
  "properties": {
    "actor": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/AgentLoginActor"
        }
      ]
    },
    "connection_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "expires_at": {
      "default": null
    },
    "status": {
      "$ref": "#/components/schemas/LoginStatus"
    }
  }
}
SessionResponse
{
  "type": "object",
  "required": [
    "id",
    "expires_at"
  ],
  "properties": {
    "expires_at": {
      "type": "integer",
      "format": "int64",
      "description": "Epoch seconds of the persisted Dee session expiry, established at login."
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
SetCollaboratorRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "role"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "role": {
      "$ref": "#/components/schemas/AccessRole"
    }
  },
  "additionalProperties": false
}
SetRoleRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "role"
  ],
  "properties": {
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "role": {
      "$ref": "#/components/schemas/MemberRole"
    }
  },
  "additionalProperties": false
}
SetSharingRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "enabled",
    "role"
  ],
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "role": {
      "$ref": "#/components/schemas/AccessRole"
    }
  },
  "additionalProperties": false
}
SharingResponse
{
  "type": "object",
  "required": [
    "document_id",
    "revision",
    "link_enabled"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "link_enabled": {
      "type": "boolean"
    },
    "link_role": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/AccessRole"
        }
      ]
    },
    "revision": {
      "type": "integer",
      "format": "int64",
      "description": "Access revision, independent of the main-body Revision; zero before the first access write."
    }
  }
}
Source

Source identity remains separate from a quote's retained text and the receiving Thread.

{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "entry_id",
        "kind"
      ],
      "properties": {
        "entry_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "activity"
          ]
        },
        "range": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Selection"
            }
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "revision_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "revision"
          ]
        },
        "range": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Selection"
            }
          ]
        },
        "revision_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "page_id",
        "revision_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "page_revision"
          ]
        },
        "page_id": {
          "$ref": "#/components/schemas/Id"
        },
        "range": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Selection"
            }
          ]
        },
        "revision_id": {
          "$ref": "#/components/schemas/Id"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "message_id",
        "expected_version",
        "kind"
      ],
      "properties": {
        "expected_version": {
          "type": "integer",
          "format": "int64",
          "minimum": 0
        },
        "kind": {
          "type": "string",
          "enum": [
            "message"
          ]
        },
        "message_id": {
          "$ref": "#/components/schemas/Id"
        },
        "part_id": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Id"
            }
          ]
        },
        "range": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Selection"
            }
          ]
        }
      }
    }
  ],
  "description": "Source identity remains separate from a quote's retained text and the receiving Thread."
}
SourceBase
{
  "type": "object",
  "required": [
    "document_id",
    "revision_id",
    "title",
    "total_bytes",
    "document_url",
    "revision_url"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision_url": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "total_bytes": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
SourceResponse
{
  "oneOf": [
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/SourceBase"
        },
        {
          "type": "object",
          "required": [
            "markdown",
            "range"
          ],
          "properties": {
            "markdown": {
              "type": "string"
            },
            "next_range": {
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "$ref": "#/components/schemas/Selection"
                }
              ]
            },
            "range": {
              "$ref": "#/components/schemas/Selection"
            }
          }
        },
        {
          "type": "object",
          "required": [
            "view"
          ],
          "properties": {
            "view": {
              "type": "string",
              "enum": [
                "markdown"
              ]
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/SourceBase"
        },
        {
          "$ref": "#/components/schemas/Paged_OutlineItem"
        },
        {
          "type": "object",
          "properties": {
            "preamble_range": {
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "$ref": "#/components/schemas/Selection"
                }
              ]
            }
          }
        },
        {
          "type": "object",
          "required": [
            "view"
          ],
          "properties": {
            "view": {
              "type": "string",
              "enum": [
                "outline"
              ]
            }
          }
        }
      ]
    }
  ]
}
SpaceDocumentTree
{
  "type": "object",
  "required": [
    "space_id",
    "structure_version",
    "documents"
  ],
  "properties": {
    "documents": {
      "$ref": "#/components/schemas/Paged_DocumentTreeNode"
    },
    "space_id": {
      "$ref": "#/components/schemas/Id"
    },
    "structure_version": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
SpaceResponse
{
  "type": "object",
  "required": [
    "id",
    "name",
    "description",
    "created_by",
    "revision",
    "created_at",
    "updated_at",
    "my_role"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "created_by": {
      "$ref": "#/components/schemas/Id"
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "my_role": {
      "type": "string",
      "description": "editor or administrator; current member role in this Space only."
    },
    "name": {
      "type": "string"
    },
    "overview_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "A stable document identity; the reference is retained while the document is trashed."
        }
      ]
    },
    "overview_document_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "revision": {
      "type": "integer",
      "format": "int64"
    },
    "updated_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
StateResponse
{
  "type": "object",
  "required": [
    "document_id",
    "following",
    "muted",
    "revision",
    "unread_messages",
    "unread_mentions"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "following": {
      "type": "boolean"
    },
    "last_message_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "muted": {
      "type": "boolean"
    },
    "read_message_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "thread_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "unread_mentions": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "unread_messages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
SummaryResponse
{
  "type": "object",
  "required": [
    "unread_notifications",
    "unread_messages",
    "unread_mentions",
    "followed_threads"
  ],
  "properties": {
    "followed_threads": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "unread_mentions": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "unread_messages": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "unread_notifications": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Target
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "document_id",
        "kind"
      ],
      "properties": {
        "document_id": {
          "$ref": "#/components/schemas/Id"
        },
        "kind": {
          "type": "string",
          "enum": [
            "dee_document"
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "origin",
        "parent_document_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "dee_document_create"
          ]
        },
        "origin": {
          "$ref": "#/components/schemas/Scope"
        },
        "parent_document_id": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/Id"
            }
          ]
        }
      }
    },
    {
      "type": "object",
      "required": [
        "system",
        "resource",
        "display_name",
        "kind"
      ],
      "properties": {
        "display_name": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "enum": [
            "external"
          ]
        },
        "resource": {
          "type": "string"
        },
        "system": {
          "type": "string"
        }
      }
    }
  ]
}
TaskActivity
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "revision_id",
    "kind",
    "actor_id",
    "actor_kind",
    "new_fields",
    "created_at"
  ],
  "properties": {
    "actor_id": {
      "$ref": "#/components/schemas/Id"
    },
    "actor_kind": {
      "$ref": "#/components/schemas/TaskActorKind"
    },
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "kind": {
      "$ref": "#/components/schemas/TaskActivityKind"
    },
    "new_fields": {
      "$ref": "#/components/schemas/TaskFields"
    },
    "note": {
      "type": [
        "string",
        "null"
      ]
    },
    "old_fields": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/TaskFields"
        }
      ]
    },
    "revision_id": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
TaskActivityKind
{
  "type": "string",
  "enum": [
    "created",
    "fields_changed"
  ]
}
TaskActorKind
{
  "type": "string",
  "enum": [
    "user",
    "agent"
  ]
}
TaskCollection
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Paged_TaskSummary"
    },
    {
      "type": "object",
      "required": [
        "status_counts"
      ],
      "properties": {
        "status_counts": {
          "$ref": "#/components/schemas/TaskStatusCounts"
        }
      }
    }
  ]
}
TaskCollectionRequest
{
  "type": "object",
  "properties": {
    "assignee_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "due_date_from": {
      "type": [
        "string",
        "null"
      ],
      "description": "Inclusive positive-year YYYY-MM-DD lower bound, using Task's calendar rules."
    },
    "due_date_to": {
      "type": [
        "string",
        "null"
      ],
      "description": "Inclusive positive-year YYYY-MM-DD upper bound; must not precede `due_date_from`."
    },
    "order_by": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "field.asc/desc items. Default `updated_at.desc,id.asc`; nullable dates always sort last."
    },
    "page_index": {
      "type": "integer",
      "format": "int64",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "page_size": {
      "type": "integer",
      "format": "int64",
      "default": 50,
      "maximum": 100,
      "minimum": 0
    },
    "scope": {
      "$ref": "#/components/schemas/TaskCollectionScope",
      "description": "Personal holding by default; `assigned_to_me` spans all current human read sources."
    },
    "space_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "Required only for space scope, whose current membership is checked independently."
        }
      ]
    },
    "statuses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TaskStatus"
      },
      "description": "Omitted: unfinished for `assigned_to_me`, all five states otherwise. Explicit null/[] is invalid.",
      "minItems": 1
    },
    "terms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Literal AND over title and free description. Default [] browses the collection.",
      "maxItems": 16
    },
    "unassigned": {
      "type": "boolean",
      "description": "Match unassigned Tasks; mutually exclusive with a non-null `assignee_account_id`."
    },
    "without_due_date": {
      "type": "boolean",
      "description": "Match no date; mutually exclusive with either date bound."
    }
  },
  "additionalProperties": false
}
TaskCollectionScope
{
  "type": "string",
  "enum": [
    "personal",
    "space",
    "assigned_to_me"
  ]
}
TaskDescriptionRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_description_version",
    "title",
    "description"
  ],
  "properties": {
    "description": {
      "type": "string"
    },
    "expected_description_version": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "title": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
TaskDetail
{
  "allOf": [
    {
      "$ref": "#/components/schemas/TaskFields"
    },
    {
      "type": "object",
      "required": [
        "document_id",
        "title",
        "markdown",
        "description",
        "document_revision_id",
        "task_fields_version",
        "description_version",
        "assignee_can_edit",
        "activities",
        "activities_truncated"
      ],
      "properties": {
        "activities": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TaskActivity"
          },
          "description": "At most fifty newest committed activities, ordered by `created_at` descending and ID ascending."
        },
        "activities_truncated": {
          "type": "boolean"
        },
        "assignee_can_edit": {
          "type": "boolean",
          "description": "False when unassigned or the retained assignee no longer holds effective edit permission."
        },
        "description": {
          "type": "string"
        },
        "description_version": {
          "$ref": "#/components/schemas/Id"
        },
        "document_id": {
          "$ref": "#/components/schemas/Id"
        },
        "document_revision_id": {
          "$ref": "#/components/schemas/Id"
        },
        "markdown": {
          "type": "string"
        },
        "task_fields_version": {
          "$ref": "#/components/schemas/Id"
        },
        "title": {
          "type": "string"
        }
      }
    }
  ]
}
TaskFields
{
  "type": "object",
  "required": [
    "status"
  ],
  "properties": {
    "assignee_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "due_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "$ref": "#/components/schemas/TaskStatus"
    }
  },
  "additionalProperties": false
}
TaskFieldsRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_task_fields_version"
  ],
  "properties": {
    "assignee_account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "due_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "expected_task_fields_version": {
      "$ref": "#/components/schemas/Id"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "status": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/TaskStatus"
        }
      ]
    }
  },
  "additionalProperties": false
}
TaskReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "revision_id",
    "snapshot_hash",
    "effect",
    "task_fields_version",
    "description_version",
    "note_published"
  ],
  "properties": {
    "activity_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "description_version": {
      "$ref": "#/components/schemas/Id"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "note_published": {
      "type": "boolean"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "snapshot_hash": {
      "type": "string"
    },
    "task_fields_version": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
TaskStatus
{
  "type": "string",
  "enum": [
    "todo",
    "progress",
    "review",
    "done",
    "cancelled"
  ]
}
TaskStatusCounts
{
  "type": "object",
  "required": [
    "todo",
    "progress",
    "review",
    "done",
    "cancelled"
  ],
  "properties": {
    "cancelled": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "done": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "progress": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "review": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "todo": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
TaskSummary
{
  "allOf": [
    {
      "$ref": "#/components/schemas/TaskFields"
    },
    {
      "type": "object",
      "required": [
        "id",
        "origin",
        "title",
        "current_revision_id",
        "task_fields_version",
        "description_version",
        "created_at",
        "updated_at",
        "document_url",
        "revision_url"
      ],
      "properties": {
        "created_at": {
          "type": "integer",
          "format": "int64"
        },
        "current_revision_id": {
          "$ref": "#/components/schemas/Id"
        },
        "description_version": {
          "$ref": "#/components/schemas/Id"
        },
        "document_url": {
          "type": "string"
        },
        "id": {
          "$ref": "#/components/schemas/Id"
        },
        "origin": {
          "$ref": "#/components/schemas/OriginResponse"
        },
        "revision_url": {
          "type": "string"
        },
        "task_fields_version": {
          "$ref": "#/components/schemas/Id"
        },
        "title": {
          "type": "string"
        },
        "updated_at": {
          "type": "integer",
          "format": "int64"
        }
      }
    }
  ]
}
ThreadResponse
{
  "type": "object",
  "required": [
    "id",
    "document_id",
    "root",
    "reply_count"
  ],
  "properties": {
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "last_reply_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "reply_count": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "root": {
      "$ref": "#/components/schemas/MessageResponse"
    }
  }
}
ThreadSummary
{
  "type": "object",
  "required": [
    "id",
    "reply_count"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "last_reply_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "reply_count": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
TrashSummary
{
  "type": "object",
  "required": [
    "document_id",
    "origin",
    "title",
    "current_revision_id",
    "lifecycle_revision",
    "state",
    "trashed_at",
    "trashed_by",
    "created_at",
    "updated_at",
    "management_url",
    "document_url"
  ],
  "properties": {
    "created_at": {
      "type": "integer",
      "format": "int64"
    },
    "current_revision_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "document_url": {
      "type": "string"
    },
    "lifecycle_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "management_url": {
      "type": "string"
    },
    "origin": {
      "$ref": "#/components/schemas/OriginResponse"
    },
    "state": {
      "$ref": "#/components/schemas/LifecycleState"
    },
    "title": {
      "type": "string"
    },
    "trashed_at": {
      "type": "integer",
      "format": "int64"
    },
    "trashed_by": {
      "$ref": "#/components/schemas/Id"
    },
    "updated_at": {
      "type": "integer",
      "format": "int64"
    }
  }
}
TreeMoveReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "document_id",
    "position",
    "structure_version",
    "effect"
  ],
  "properties": {
    "account_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "document_id": {
      "$ref": "#/components/schemas/Id"
    },
    "effect": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "parent_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "position": {
      "type": "integer",
      "format": "int64"
    },
    "space_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id"
        }
      ]
    },
    "structure_version": {
      "$ref": "#/components/schemas/Id"
    }
  }
}
UpdateRequest
{
  "type": "object",
  "required": [
    "operation_id",
    "expected_revision",
    "name",
    "description"
  ],
  "properties": {
    "description": {
      "type": "string"
    },
    "expected_revision": {
      "type": "integer",
      "format": "int64"
    },
    "name": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "overview_document_id": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/components/schemas/Id",
          "description": "Omit to preserve the current overview, send null to clear, or a document ID to replace it."
        }
      ]
    }
  },
  "additionalProperties": false
}
UploadReceipt
{
  "type": "object",
  "required": [
    "operation_id",
    "resource_id",
    "state",
    "sha256",
    "byte_size",
    "content_type",
    "content_url"
  ],
  "properties": {
    "byte_size": {
      "type": "integer",
      "format": "int64"
    },
    "content_type": {
      "type": "string"
    },
    "content_url": {
      "type": "string"
    },
    "operation_id": {
      "$ref": "#/components/schemas/Id"
    },
    "resource_id": {
      "$ref": "#/components/schemas/Id"
    },
    "sha256": {
      "type": "string"
    },
    "state": {
      "type": "string"
    }
  }
}
VersionResponse
{
  "type": "object",
  "required": [
    "version",
    "git_sha"
  ],
  "properties": {
    "git_sha": {
      "type": "string"
    },
    "version": {
      "type": "string"
    }
  }
}
WorkAction
{
  "type": "string",
  "enum": [
    "stop",
    "restart"
  ]
}
McpRequest
{
  "type": "object",
  "required": [
    "jsonrpc",
    "method"
  ],
  "properties": {
    "jsonrpc": {
      "type": "string",
      "const": "2.0"
    },
    "id": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        }
      ],
      "description": "Omit for a notification. Null IDs are not accepted."
    },
    "method": {
      "type": "string",
      "description": "initialize, ping, tools/list, tools/call, or a notification method."
    },
    "params": {
      "type": "object",
      "description": "Method-specific fields. initialize requires protocolVersion, capabilities, and clientInfo; tools/call requires name and an arguments object."
    }
  },
  "additionalProperties": true
}

Build your first integration.

Authorize a connection, send a request, and check the saved result in Dee.

Make your first request