API reference
Base URL: https://www.trysublime.io/api/v1. Send Authorization: Bearer YOUR_KEY. Store the key in SUBLIME_API_KEY for these shell examples. Browser cookies and native /api/desktop device tokens use separate authentication and are not public API credentials.
Meeting setup creates fixed meetings:read keys with 90-day expiry. General admin API key settings can issue broader scopes and custom expiry; do not assume every API key is read-only or expires in 90 days.
Read meetings
curl 'https://www.trysublime.io/api/v1/meetings?limit=10' \
-H "Authorization: Bearer $SUBLIME_API_KEY"Example response for an accessible workspace with no matching meetings:
{
"success": true,
"meetings": [],
"nextCursor": null
}Supported routes
| Method / path | Required scope | Contract |
|---|---|---|
GET /meetings | meetings:read | limit 1–100; cursor → nextCursor |
GET /meetings/search | meetings:read | q 1–200 characters; limit 1–50; query-bound cursor → nextCursor |
GET /meetings/{id} | meetings:read | includeTranscript=true; transcriptLimit 1–1000; afterSequence ≥ -1 → nextSegmentSequence |
GET /meetings/{id}/transcript | meetings:read | limit 1–1000; afterSequence ≥ -1 → nextSegmentSequence |
GET /meetings/{id}/actions | meetings:read | limit 1–100; summary-version cursor → nextCursor |
GET /flows | flows:read | Metadata only; limit capped at 100; no graph export |
POST /flows/{id}/run | flows:execute | Published, enabled flow; input, idempotencyKey (1–200 characters), wait=false |
GET /runs/{id} | runs:read | Flow status, output and error |
GET /agents | agents:read | Workspace agents; limit capped at 100 |
POST /coding-tasks | agents:execute | repository, task required; optional title/tool/model/effort/key |
GET /coding-tasks/{id} | runs:read | Creator-authorized status, outcome, report and changed filenames; diff omitted |
Pagination and source limits
Continue meeting/search/action lists with the returned nextCursor until null; pass cursors unchanged and URL-encode them. Search cursors belong to their original query. Action cursors pin the latest summary version: a 409 STALE_CURSOR means restart pagination. For transcripts pass nextSegmentSequence as afterSequence until null. Duplicate or unknown meeting query parameters are rejected. Defaults: list 30, search 20, transcript 200, actions 50; optional detail transcript 500.
Visibility, retention, speaker uncertainty and unconfirmed-action provenance follow the meeting MCP rules. No public REST endpoint here creates/updates meetings, sends mail or assigns action suggestions.
Execution: explicit separate authorization
The following examples start real work when run with appropriately scoped keys. Review the destination and input first. A meetings:read key cannot execute them. These examples are never run by this page.
curl https://www.trysublime.io/api/v1/flows/FLOW_ID/run \
-H "Authorization: Bearer $SUBLIME_API_KEY" \
-H "Content-Type: application/json" \
--data '{"input":{"topic":"launch"},"idempotencyKey":"docs-example-unique-1","wait":false}'{"success":true,"runId":"RUN_ID","status":"queued"}Poll GET /runs/RUN_ID with runs:read. Only published, enabled flows can run; wait defaults to false.
curl https://www.trysublime.io/api/v1/coding-tasks \
-H "Authorization: Bearer $SUBLIME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: docs-coding-unique-1" \
--data '{"repository":"https://github.com/OWNER/REPO","task":"Review the failing test","tool":"codex"}'{"success":true,"task":{"id":"TASK_ID","created":true,"url":"https://www.trysublime.io/coding/TASK_ID"}}Poll GET /coding-tasks/TASK_ID with runs:read as an authorized creator. Tool is codex or claude. Repository is 3–201 characters; task 1–20,000; optional title ≤200, model ≤80, effort ≤20, key 1–200. Idempotency-Key takes precedence over body key. Publishing still requires the creator’s approval.
Errors and rate limits
400: malformed input/cursor. 401: missing, invalid, revoked or expired key. 403: insufficient scope, meeting policy disabled or owner inactive. 404: unavailable or inaccessible resource. 409: stale action cursor or unpublished/disabled flow. 429: rate limit; honor Retry-After before retrying. Default limits are 60 requests per key per minute, MCP POST 120, and flow-run POST 30. Retry execution safely with a stable idempotency key.
{"success":false,"error":"A workspace admin must enable meeting API access.","code":"MEETING_API_DISABLED"}