REST, Studio, and the sirius.* host API.

Three surfaces, one permission model. The console is a client. Your CI job, MCP host, or the native in-product agent can do the same work — which is why a first integration is hours, not a sprint.

1. Control-plane REST

Base URL is the runtime root — no /api prefix.

GET /health
GET /openapi.json
GET /agent/tools
POST /auth/login

REST API → · Recipes →

2. Studio

Create a workspace, add an entrypoint, import a sample, run, promote.

POST /studio/workspaces
PUT  /studio/workspaces/{id}/files
POST /studio/workspaces/{id}/run
POST /studio/workspaces/{id}/test

Studio API → · Recipes →

3. Host API

Inside a script, assign result and call sirius.*.

const body = sirius.json.decode(msg.raw);
sirius.route.push(body);
result = { message: body };

Host API → · Core · Standards

Authentication

Session tokens, API tokens (sk_), or OIDC JWTs. Local evaluation stacks may run open — production should not.

ACCESS=$(curl -s -X POST "$SIRIUS/auth/login" \
  -H 'content-type: application/json' \
  -d '{"tenant_id":"default","username":"admin","password":"password"}' \
  | jq -r .access_token)

curl -s "$SIRIUS/components?tenant_id=default" \
  -H "Authorization: Bearer $ACCESS"

Install locally How-to guides