REST & MCP API.
Stable, versioned, REST-first. Every endpoint is idempotent. All responses include a trace ID linking to the live agent run.
Authentication
curl https://api.bizos.com/v1/agents \
-H "Authorization: Bearer $BIZOS_API_KEY"
Run an agent
POST /v1/agents/{name}/run
Content-Type: application/json
{
"input": "Close the books for 2026-Q1",
"policies": ["budget_cap_50k", "two_person_rule"],
"dry_run": false
}
Workflows
GET /v1/workflows
POST /v1/workflows
GET /v1/workflows/{id}/runs
POST /v1/workflows/{id}/trigger
Ledger
GET /v1/ledger/accounts
GET /v1/ledger/journal?period=2026-Q1
POST /v1/ledger/journal # writes JE (idempotent)
POST /v1/ledger/reverse/{je_id}
Integrations
POST /v1/integrations/{slug}/connect
GET /v1/integrations/{slug}/status
POST /v1/integrations/{slug}/sync
Webhooks
// Verify signature
const sig = req.headers['bizos-signature'];
const ok = hmac('sha256', secret, req.rawBody) === sig;
Errors
Standard HTTP codes. 409 for idempotency replays. 422 when the verifier abstains. Every error includes a trace_id that links to the run.
SDKs
npm i @bizos/sdk
pip install bizos
go get github.com/bizos/sdk-go