REST API Overview

Every public workspace capability is a typed route under /api/v1, documented in an OpenAPI document served at GET /api/v1/openapi.json.

Every public workspace capability in Dots is a typed HTTP route under /api/v1. The CLI's API-backed families, the web app, and the MCP server front this one surface, so anything they do against the workspace can be done directly against the API.

Envelopes

Responses follow two shapes — a success envelope and an error envelope:

JSON
{ "data": ... }
JSON
{ "error": { "code": ..., "message": ..., "details"?: ... } }

An unmarked request gets exactly { data }. An agent request that sends the x-dots-agent marker also receives a dbom side-channel alongside data. The byte-identity guarantee is scoped to the unmarked HTTP response: without the marker, the response stays { data }, with no extra sibling.

The tenant is never a wire parameter — companyId is injected server-side from the resolved actor. Row sub-resources are scoped by their Dotabase and human id (/dotabases/:dotabaseId/rows/:humanId); flat operations like bulk row ops and edges are keyed by UUID.

Route Groups

The route table registers 458 operations across 68 groups. 75 of those operations are internal-tier: served live, but stripped from the public document — the cross-tenant operator plane and the internal tooling tier.

GroupOperationsInternal
ACCESS300
ACCOUNT20
ADMIN77
AUTOMATIONS110
CHAT SIDEBAR130
CLOUD SYNC80
CODE EXECUTION42
CODE GRAPH80
CODING AGENT91
COMMENT MODERATION30
CONNECTIONS70
CONVERSATIONS198
DERIVE50
TEMPLATES30
DOTABASES160
EDGES100
ENGAGEMENT WRITES30
EXECUTOR66
FILES50
GIT40
GRAPH ANALYTICS20
GRAPH PRECOMPUTE70
GRAPH UNIVERSE10
HOME70
IDENTITY30
MACHINES80
MANUAL30
MARKETPLACE30
MCP10
META102
NOTIFICATIONS110
ONBOARDING117
PAGES110
PLATFORM1818
PLATFORM — MARKETPLACE MODERATION1111
PLAYBOOKS60
PLUGIN ASSETS11
PLUGINS131
PRESENCE20
PROVIDERS60
PUBLIC60
PUBLIC CHATWOOT WEBHOOK11
PUBLIC COMMENTS50
PUBLIC ENGAGEMENT30
PUBLIC FEATURE-REQUEST INTAKE20
PUBLIC LICENSE22
PUBLIC MCP22
PUBLICATIONS30
READINESS20
REPO GRAPH201
ROW TEMPLATES70
ROWS320
ROWS — BULK50
SANDBOXES40
SEARCH10
SETTINGS20
SPACES50
STAGE ARTIFACTS11
SUPERPOWERS20
SYNC BINDINGS110
TAGS50
TASKS22
TRANSCRIBE10
USAGE10
USER WORKSPACES40
VIEWS160
WORKSPACE30
WORKSPACE TEMPLATES22

The OpenAPI Document

Every public route is documented in an OpenAPI 3.1.0 document — Dots API — served at GET /api/v1/openapi.json. 75 operations are enrolled in the internal tier and stripped from it, so the served document advertises the public surface alone. That document is the exhaustive, always-current contract for the public API — read it (or point a code generator at it) rather than relying on any hand-maintained list. REST reads return JSON row data; the agent-facing Markdown envelope described in Row Envelope Format is produced by the CLI, MCP text output, and the docs export from that row data.

generator: apps/docs/pipeline/generate-reference.ts — regenerate with corepack pnpm --filter @dots/docs docs:generate:reference; a hand edit to this page fails the docs drift gate.

REST API Overview · This page in the graph

Connected Records16

Documented by
Mentions
DOT
References
16 connections.