Docs
Sooma gives an agent one balance and three verbs. Everything below works with a sooma_live_ key from API Keys.
Quickstart
Skill. In your agent's chat:
MCP. Streamable HTTP, stateless, bearer key. Claude Code:
API.
The loop
POST /v1/discover takes a plain-language query and returns up to 20 endpoints with their price. POST /v1/inspect returns one endpoint's input JSON Schema and exact rate. POST /v1/run executes it: 200 with the settled run, or 202 for async endpoints — then poll GET /v1/runs/:id. Over MCP, run waits for async endpoints itself.
Billing
Balances and costs are integer micro-dollars (1 USD = 1,000,000). The balance must cover the price before a call starts, otherwise 402 INSUFFICIENT_BALANCE. A run is debited only after the upstream answers 2xx. Provider errors (any non-2xx) and Sooma failures cost $0. PER_RESULT endpoints charge flatFee + amount × rows. A successful response with an empty payload is still charged.
Budgets
A daily budget (UTC day) and a per-call limit can be enabled in the dashboard. A call that would breach an active limit is refused with 402 BUDGET_EXCEEDED before anything runs.
Run object
Errors
400 input doesn't match the schema · 401 bad key · 402 insufficient balance or budget · 404 unknown endpoint · 503 provider not configured on this instance.