Skip to main content

Base URL

During private beta the API is served from https://cs847b7b23.execute-api.us-west-2.amazonaws.com/v1. A custom domain lands before GA.

Authentication

Every request includes a bearer token in the Authorization header:
Keys are minted in the dashboard under Settings → API Keys. See Authentication for rotation and revocation.

Request + response

All bodies are JSON. Content-Type: application/json required on all POST/PUT/DELETE calls with bodies. Responses are always JSON unless noted.

Async model

Task submission is asynchronous. POST /v1/tasks returns immediately with a taskId and status: "pending". The task runs in the background (typically 5-60 seconds). Poll GET /v1/tasks/{taskId} until status reaches a terminal value (completed, failed). The Python and TypeScript SDKs’ tasks.run(...) method hides the polling loop. Use it unless you need to drive polling yourself.

Error shape

Errors come back with an HTTP status code and a JSON body:

Status codes

Full codes: Errors.

Endpoint summary

Submit task

POST /v1/tasks

Get task

GET /v1/tasks/{taskId}

List tasks

GET /v1/tasks

Get session

GET /v1/sessions/{sessionId}

Set credentials

PUT /v1/end-users/{endUserId}/credentials

Get credentials

GET /v1/end-users/{endUserId}/credentials

Delete credentials

DELETE /v1/end-users/{endUserId}/credentials