Skip to content

API Overview

Dinotty's external interfaces fall into three layers. This page helps you find the right API quickly.

Layers

LayerChannelUse caseDoc
Tabs & Panes APIHTTP RESTCreate / close / rename tabs, split panes, move panes across tabstabs-panes-api.md
Open APIHTTP + WebSocketRead and write existing terminals: byte streams (screen/scrollback/input/resize) + command-level semantics (run/send/read) + event subscriptionopen-api.md
Mission Control APIWebSocket (/ws/sync)Programmatically open / navigate / close the MC overviewmission-control-api.md

Plus two standalone subsystem docs:

Find by scenario

I want to...

Auth model

Dinotty's auth has two layers. Open API's run/send/read/WS /ws/events accept both credentials (dual-track auth):

┌─────────────────────────────────────────────────────────────────┐
│  Global Token / Session Cookie                                  │
│  - Master token configured at startup, or the cookie obtained   │
│    via POST /api/auth                                           │
│  - Covers: Tabs API, Open API (all endpoints), Clipboard,       │
│    Settings, Plugins - all /api/* endpoints                     │
└─────────────────────────────────────────────────────────────────┘

         │  /api/sessions/{run,send,read} + /ws/events also accept

┌─────────────────────────────────────────────────────────────────┐
│  Agent Token (dnt_*)                                            │
│  - Fine-grained token created via /api/tokens                   │
│  - Carries capabilities: terminal:read / terminal:write / etc.  │
│  - Covers: /api/sessions/{run,send,read}, /ws/events,           │
│    /api/tokens/*, /mcp/*                                        │
└─────────────────────────────────────────────────────────────────┘

Mission Control flows through /ws/sync and uses the global token (query string ?token=<token>) or the session cookie.

Enable conditions

APIEnable condition
Tabs & Panes APIAlways enabled (auth only)
Open APIRequires open_api.enabled = true in settings; run/send/read also accept Agent Token (capability check)
Mission Control APIAlways enabled (over /ws/sync)
ClipboardAlways enabled; requires token or session + same-origin proof
MCP ServerRequires open_api.enabled = true and an Agent Token

Internals

For the "non-API" design layer - event system, permission model, audit logs:

Released under the MIT license