API reference

Base URL https://<host>/v1. Every endpoint below is generated from the same declarations the API and the OpenAPI document are built from.

Runs

The unit of work, the row you poll, the thing a webhook is about.

POST /v1/runsSubmit a run
GET /v1/runsList runs
GET /v1/runs/{id}One run
DELETE /v1/runs/{id}Delete a run and its media
POST /v1/runs/{id}/cancelStop a run in flight
GET /v1/runs/{id}/transcriptThe transcript, in one format, as text
POST /v1/runs/{id}/deliverSend this run to a destination now

Uploads

Bytes move directly to storage over presigned URLs; this API only registers what landed.

POST /v1/uploadsOpen an upload and get a transfer target
GET /v1/uploads/{id}State of an upload
POST /v1/uploads/{id}/partsGet transfer targets, or record parts that landed
POST /v1/uploads/{id}/completeFinish and verify
DELETE /v1/uploads/{id}Abort

Destinations

Where finished transcripts are pushed, signed.

GET /v1/destinationsList destinations
POST /v1/destinationsRegister a destination
PATCH /v1/destinations/{id}Update a destination
DELETE /v1/destinations/{id}Remove a destination
POST /v1/destinations/{id}/testSend a signed test delivery
GET /v1/destinations/{id}/deliveriesWhat we sent and what came back

Health

Liveness and a build marker. Writes nothing.

GET /v1/healthLiveness and a build marker

Scopes

ScopePermits
runs:readGET /v1/runsGET /v1/runs/{id}GET /v1/runs/{id}/transcriptPOST /v1/runs/{id}/deliver
runs:writePOST /v1/runsDELETE /v1/runs/{id}POST /v1/runs/{id}/cancel
uploads:writePOST /v1/uploadsGET /v1/uploads/{id}POST /v1/uploads/{id}/partsPOST /v1/uploads/{id}/completeDELETE /v1/uploads/{id}
destinations:readGET /v1/destinationsGET /v1/destinations/{id}/deliveries
destinations:writePOST /v1/runs/{id}/deliverPOST /v1/destinationsPATCH /v1/destinations/{id}DELETE /v1/destinations/{id}POST /v1/destinations/{id}/test