Sinatra Docs
API Reference

API Reference

Every endpoint of the Sinatra HTTP API, generated from its OpenAPI spec.

Start, follow and stop Sinatra tasks, and delegate Linear and GitHub issues. Send your token on every request as Authorization: Bearer sntr_..., or the access token the CLI's browser sign-in gets. Bodies are JSON. A workspace you don't belong to answers 404, never 403.

Base URL

https://api.sinatra.dev

Authentication

Send Authorization: Bearer <token> on every request.

A personal access token, which starts with sntr_. Create one on the dashboard's CLI & API page (https://app.sinatra.dev/tokens). It acts as you in every workspace you belong to, with your role in each, and expires after at most 365 days. The CLI's browser sign-in sends an OAuth access token here instead.

OpenAPI spec

The reference is generated from the API's OpenAPI 3.1.0 spec, served at https://api.sinatra.dev/openapi.json. Point a client generator or an HTTP tool at it.

For a walkthrough with curl, idempotency, errors and limits, see CLI and API.

Me

The token and who it acts as.

  • Get the token's user: GET /v1/me. Returns the user the token acts as and the workspaces they belong to, ordered by name.
  • Revoke the token: DELETE /v1/me/token. Revokes the token that sends the request, and answers 204 with no body.

Tasks

Start, read and stop tasks.

  • List tasks: GET /v1/workspaces/{workspaceId}/tasks. Lists the workspace's tasks, from every source, most recently active first.
  • Start a task: POST /v1/workspaces/{workspaceId}/tasks. Starts a task and returns 202 with the task and the id of your first message.
  • Get a task: GET /v1/workspaces/{workspaceId}/tasks/{taskId}. Returns one task.
  • Stop a task: POST /v1/workspaces/{workspaceId}/tasks/{taskId}/stop. Stops the task's running turn and returns 202 with {"accepted": true}.

Messages

A task's conversation.

  • Read the conversation: GET /v1/workspaces/{workspaceId}/tasks/{taskId}/messages. Returns the conversation of a task started from the API, CLI, MCP or dashboard, oldest first.
  • Send a message: POST /v1/workspaces/{workspaceId}/tasks/{taskId}/messages. Sends a follow-up on a task and returns 202 with the message's id.

Tickets

Find and delegate Linear and GitHub issues.

  • Search issues: GET /v1/workspaces/{workspaceId}/tickets. Lists the open Linear and GitHub issues you could delegate.
  • Delegate an issue: POST /v1/workspaces/{workspaceId}/tickets/delegate. Hands Sinatra an existing Linear or GitHub issue as you, as if you'd assigned it to Sinatra yourself, and returns 202 with {"ok": true}.