Get concurrency-seat usage for the workspace
Live read of seats_in_use / seats_total — a claim/release cycle is visible on the next call.
Authorization
bearerAuth Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the
platform keyring. Carries workspace_id and scopes claims;
revoked via the platform deny-list.
In: header
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/agents/limits"{ "seats_total": 0, "seats_in_use": 0, "seat_tier": "free", "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string" }}Place a one-off AI agent call POST
The single-call primitive: dials one number, composing the agent's `base_prompt` with the per-call `prompt_template` (+ `variables`), bypassing broadcast schedule/retry machinery. Billed normally; occupies a concurrency seat like any broadcast dial. The caller-ID is the workspace's own dialable number (422 `send.no_caller_number` if none). Pass `revision` to compose against a pinned published revision instead of the mutable draft.
List broadcasts with per-row funnel + spend GET
Next Page