System
Capabilities in the `system` group, auto-generated from defineCapability() declarations.
System
GET /v1/account
Get tenant profile with user count
Capability ID: system.account.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"tenant": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["tenant"],
"additionalProperties": false
}
Examples
profile
Request:
{}
Response:
{
"tenant": {
"id": "t_1",
"slug": "demo",
"name": "Demo Tenant",
"user_count": 1
}
}
---
POST /v1/account/graduate
Graduate a sandbox tenant to standard tier via a verified provider key (BYOK)
Capability ID: system.account.graduate Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
graduate
Request:
{}
Response:
{
"graduated": true,
"tier": "standard",
"budget_usd_per_day": 5
}
---
GET /v1/account/graduation
Graduation criteria + live progress for a sandbox tenant (machine-readable)
Capability ID: system.account.graduation Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
sandbox-progress
Request:
{}
Response:
{
"tier": "community",
"criteria": [
{
"id": "verified_byok",
"required": true,
"satisfied": false
}
],
"action": {
"endpoint": "POST /v1/account/graduate"
}
}
---
PATCH /v1/account
Update tenant profile (currently: name)
Capability ID: system.account.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"tenant": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["tenant"],
"additionalProperties": false
}
Examples
rename
Request:
{
"name": "New Name"
}
Response:
{
"tenant": {
"id": "t_1",
"name": "New Name"
}
}
---
POST /v1/account/users/invite
Invite a user by email; returns claim URL (201)
Capability ID: system.account.users.invite Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"role": {
"type": "string",
"enum": ["owner", "admin", "member"]
}
},
"required": ["email"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"invitation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["invitation"],
"additionalProperties": false
}
Examples
invite
Request:
{
"email": "user@example.com",
"role": "member"
}
Response:
{
"invitation": {
"email": "user@example.com",
"role": "member",
"claim_url": "https://brainstormrouter.com/dashboard/?claim=...",
"expires_at": "2026-01-01T00:00:00Z"
}
}
---
GET /v1/account/users
List users in the current tenant (RLS-scoped)
Capability ID: system.account.users.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["users", "total"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"users": [],
"total": 0
}
---
DELETE /v1/account/users/{id}
Remove a user from the current tenant
Capability ID: system.account.users.remove Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": ["id"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"deleted": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["deleted"],
"additionalProperties": false
}
Examples
remove
Request:
{
"id": "u_1"
}
Response:
{
"deleted": {
"id": "u_1",
"email": "user@example.com"
}
}
---
POST /v1/account/verify-email/confirm
Confirm the code — promote sandbox tenant to standard tier ($5/day)
Capability ID: system.account.verify_email.confirm Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1
}
},
"required": ["code"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
confirm
Request:
{
"code": "123456"
}
Response:
{
"tier": "standard",
"budget_usd_per_day": 5
}
---
POST /v1/account/verify-email
Send a verification code to upgrade a sandbox tenant to standard tier
Capability ID: system.account.verify_email.start Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
}
},
"required": ["email"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
start
Request:
{
"email": "owner@example.com"
}
Response:
{
"message": "Verification code sent. Check your email.",
"expires_in_seconds": 600
}
---
GET /v1/admin/digest
Business summary digest
Capability ID: system.admin.digest Auth: apiKey Permission: admin.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
digest
Request:
{}
Response:
{
"digest": {}
}
---
POST /v1/admin/invite-codes
Create an invite code
Capability ID: system.admin.inviteCodes.create Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1
},
"max_uses": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"expires_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{}
Response:
{
"invite_code": {}
}
---
DELETE /v1/admin/invite-codes/{id}
Revoke an invite code
Capability ID: system.admin.inviteCodes.delete Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"deleted": true
}
---
GET /v1/admin/invite-codes
List invite codes with usage counts
Capability ID: system.admin.inviteCodes.list Auth: apiKey Permission: admin.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"invite_codes": []
}
---
POST /v1/admin/tenants/{id}/approve
Approve a tenant (sets status → active)
Capability ID: system.admin.tenants.approve Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
tenant-transition
Request:
{}
Response:
{
"ok": true
}
---
GET /v1/admin/tenants/{id}
Get tenant detail
Capability ID: system.admin.tenants.get Auth: apiKey Permission: admin.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"tenant": {}
}
---
GET /v1/admin/tenants
List tenants with optional status filter (platform admin only)
Capability ID: system.admin.tenants.list Auth: apiKey Permission: admin.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"tenants": []
}
---
POST /v1/admin/tenants/{id}/reject
Reject a tenant (sets status → rejected)
Capability ID: system.admin.tenants.reject Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
tenant-transition
Request:
{}
Response:
{
"ok": true
}
---
PUT /v1/admin/tenants/{id}/rate-limit
Set per-tenant aggregate rate limit (API-key variant; admin auth via path middleware)
Capability ID: system.admin.tenants.set_rate_limit Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"max_rpm": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": ["id", "max_rpm"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set
Request:
{
"id": "t1",
"max_rpm": 5000
}
Response:
{
"tenant_id": "t1",
"max_rpm": 5000,
"previous": null
}
---
POST /v1/admin/tenants/{id}/suspend
Suspend a tenant (sets status → suspended)
Capability ID: system.admin.tenants.suspend Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
tenant-transition
Request:
{}
Response:
{
"ok": true
}
---
DELETE /v1/admin/xdr/risk-push
Clear an XDR risk score (risk resolved)
Capability ID: system.admin.xdr.riskDelete Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"tenant_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": ["agent_id", "tenant_id"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{
"agent_id": "00000000-0000-0000-0000-000000000000",
"tenant_id": "00000000-0000-0000-0000-000000000000"
}
Response:
{
"ok": true
}
---
POST /v1/admin/xdr/risk-push
Push an XDR risk score for an agent (gated by XDR_BIDIRECTIONAL_ENABLED)
Capability ID: system.admin.xdr.riskPush Auth: apiKey Permission: admin.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"tenant_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"risk_score": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"source": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"ttl_seconds": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2592000
}
},
"required": ["agent_id", "tenant_id", "risk_score", "source"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
push
Request:
{
"agent_id": "00000000-0000-0000-0000-000000000000",
"tenant_id": "00000000-0000-0000-0000-000000000000",
"risk_score": 0.5,
"source": "external-xdr"
}
Response:
{
"ok": true
}
---
GET /v1/agent-limits
Read the per-agent limits map for the current tenant
Capability ID: system.agent_limits.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agentLimits": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["agentLimits"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"agentLimits": {}
}
---
PATCH /v1/agent-limits
Merge updates into the per-agent limits map (null value deletes an entry)
Capability ID: system.agent_limits.patch Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "object",
"properties": {
"maxBudgetUsd": {
"type": "number",
"minimum": 0
},
"maxRequestsPerMinute": {
"type": "number",
"minimum": 0
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agentLimits": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"version": {
"type": "number"
}
},
"required": ["agentLimits", "version"],
"additionalProperties": false
}
Examples
merge
Request:
{}
Response:
{
"agentLimits": {},
"version": 1
}
---
PUT /v1/agent-limits
Replace the entire per-agent limits map (canonicalizes keys to agent:)
Capability ID: system.agent_limits.put Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"maxBudgetUsd": {
"type": "number",
"minimum": 0
},
"maxRequestsPerMinute": {
"type": "number",
"minimum": 0
}
},
"additionalProperties": false
}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agentLimits": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"version": {
"type": "number"
}
},
"required": ["agentLimits", "version"],
"additionalProperties": false
}
Examples
set
Request:
{}
Response:
{
"agentLimits": {},
"version": 1
}
---
POST /v1/agents/{agentId}/run
Start the agent loop for a session and stream events as SSE
Capability ID: system.agents.run Auth: apiKey Permission: agents.run
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"message": {
"type": "string",
"minLength": 1,
"maxLength": 100000
},
"session_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"max_turns": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"max_duration_ms": {
"type": "integer",
"minimum": 1000,
"maximum": 3600000
},
"budget_cap_usd": {
"type": "number",
"minimum": 0
},
"system_prompt": {
"type": "string",
"maxLength": 50000
}
},
"required": ["message"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Error responses
| Status | Code | Description |
|---|---|---|
| 402 | provider_key_required | Tenant has no provider keys (sandbox mode). Agent runs perform real inference and are refused rather than simulated; add a key via POST /v1/providers. |
Examples
run
Request:
{
"message": "hi"
}
Response:
{}
---
GET /v1/runs/active
All active runs for the tenant (status = running)
Capability ID: system.agents.runs.active Auth: apiKey Permission: agents.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
active
Request:
{}
Response:
{
"runs": []
}
---
GET /v1/agents/{agentId}/runs
Run history for an agent (sessions with aggregate metadata)
Capability ID: system.agents.runs.list Auth: apiKey Permission: agents.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"runs": []
}
---
POST /v1/agents/{agentId}/sessions
Create an idle session for the agent (no loop)
Capability ID: system.agents.sessions.create Auth: apiKey Permission: agents.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"session_key": {
"type": "string",
"maxLength": 256
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{}
Response:
{
"id": ""
}
---
GET /v1/agents/{agentId}/sessions/{sessionId}
Get a session by id
Capability ID: system.agents.sessions.get Auth: apiKey Permission: agents.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{}
---
POST /v1/agents/{agentId}/sessions/{sessionId}/events
Publish a user event to a running session (PG NOTIFY)
Capability ID: system.agents.sessions.sendEvent Auth: apiKey Permission: agents.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["user.message", "user.interrupt"]
},
"text": {
"type": "string",
"maxLength": 100000
},
"reason": {
"type": "string",
"maxLength": 1000
}
},
"required": ["type"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
msg
Request:
{
"type": "user.message",
"text": "hi"
}
Response:
{
"accepted": true
}
---
DELETE /v1/agents/{agentId}/sessions/{sessionId}
Terminate a session (status → ended)
Capability ID: system.agents.sessions.terminate Auth: apiKey Permission: agents.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
del
Request:
{}
Response:
{}
---
GET /v1/aliases
Read the model alias map for the current tenant
Capability ID: system.aliases.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"aliases": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["aliases"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"aliases": {}
}
---
PATCH /v1/aliases
Merge alias updates (null value deletes a key)
Capability ID: system.aliases.patch Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"aliases": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"version": {
"type": "number"
}
},
"required": ["aliases", "version"],
"additionalProperties": false
}
Examples
merge
Request:
{}
Response:
{
"aliases": {},
"version": 1
}
---
PUT /v1/aliases
Replace the entire model alias map (rejects null values; use PATCH to delete)
Capability ID: system.aliases.put Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"aliases": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"version": {
"type": "number"
}
},
"required": ["aliases", "version"],
"additionalProperties": false
}
Examples
set
Request:
{}
Response:
{
"aliases": {},
"version": 1
}
---
POST /v1/api-keys
Create a new API key (plaintext returned once)
Capability ID: system.api_keys.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"default": "Unnamed Key",
"type": "string"
},
"prefix": {
"default": "br_live_",
"type": "string",
"enum": ["br_live_", "br_test_"]
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"role": {
"type": "string"
},
"allowed_models": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"rate_limit_rpm": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"budget_limit_usd": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"budget_period": {
"anyOf": [
{
"type": "string",
"enum": ["daily", "monthly"]
},
{
"type": "null"
}
]
},
"expires_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": ["name", "prefix"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
minimal
Request:
{
"name": "ci-key",
"prefix": "br_live_"
}
Response:
{
"id": "key_123",
"name": "ci-key"
}
---
GET /v1/api-keys
List API keys (no plaintext, preview only)
Capability ID: system.api_keys.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"data": []
}
---
DELETE /v1/api-keys/{id}
Revoke an API key (soft-delete; cache invalidated immediately)
Capability ID: system.api_keys.revoke Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
revoke
Request:
{}
Response:
{
"deleted": true,
"id": "key_123"
}
---
PATCH /v1/api-keys/{id}
Update an API key's scopes, limits, or metadata (self-service)
Capability ID: system.api_keys.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"rate_limit_rpm": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"budget_limit_usd": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"budget_period": {
"anyOf": [
{
"type": "string",
"enum": ["daily", "monthly"]
},
{
"type": "null"
}
]
},
"allowed_models": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"expires_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scopes": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
rename
Request:
{
"name": "ci-prod"
}
Response:
{
"id": "key_123",
"name": "ci-prod"
}
---
POST /v1/approvals/{id}/approve
Approve a pending request and execute its deferred action
Capability ID: system.approvals.approve Auth: apiKey Permission: approvals.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"reviewerId": {
"type": "string"
},
"note": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
approve
Request:
{}
Response:
{
"status": "approved"
}
---
GET /v1/approvals/pending
List pending approval requests for the tenant
Capability ID: system.approvals.pending Auth: apiKey Permission: approvals.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
pending
Request:
{}
Response:
{
"approvals": [],
"count": 0
}
---
POST /v1/approvals/queue
Submit a deferred action for human review
Capability ID: system.approvals.queue Auth: apiKey Permission: approvals.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["mcp_tool_call", "memory_write", "budget_override", "custom"]
},
"requesterId": {
"type": "string"
},
"requesterType": {
"type": "string",
"enum": ["agent", "user", "system"]
},
"summary": {
"type": "string"
},
"details": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"action": {},
"expiryMs": {
"type": "number"
}
},
"required": ["type", "summary"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
queue
Request:
{
"type": "memory_write",
"summary": "Add fact"
}
Response:
{
"id": ""
}
---
POST /v1/approvals/{id}/reject
Reject a pending request without executing its action
Capability ID: system.approvals.reject Auth: apiKey Permission: approvals.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"reviewerId": {
"type": "string"
},
"note": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
reject
Request:
{}
Response:
{
"status": "rejected"
}
---
GET /v1/billing/plan
Current tenant plan + usage vs limits
Capability ID: system.billing.plan.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
free
Request:
{}
Response:
{
"plan": "free",
"usage": {}
}
---
PUT /v1/billing/plan
Switch the tenant's billing plan (admin-only)
Capability ID: system.billing.plan.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"plan": {
"type": "string",
"enum": ["free", "pro", "enterprise"]
}
},
"required": ["plan"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"plan": {
"type": "string",
"enum": ["free", "pro", "enterprise"]
},
"status": {
"type": "string",
"const": "updated"
}
},
"required": ["plan", "status"],
"additionalProperties": false
}
Examples
upgrade-to-pro
Request:
{
"plan": "pro"
}
Response:
{
"plan": "pro",
"status": "updated"
}
---
GET /v1/billing/plans
List available billing plans
Capability ID: system.billing.plans.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"plans": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"required": ["plans"],
"additionalProperties": false
}
Examples
list
Request:
{}
Response:
{
"plans": []
}
---
GET /v1/budget/alerts/config
Get current budget alert configuration
Capability ID: system.budget.alertsConfigGet Auth: apiKey Permission: budget.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{}
---
PUT /v1/budget/alerts/config
Update budget alert configuration (thresholds, webhook, enabled)
Capability ID: system.budget.alertsConfigSet Auth: apiKey Permission: budget.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"thresholds": {
"type": "array",
"items": {
"type": "number",
"minimum": 1,
"maximum": 100
}
},
"webhookUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set
Request:
{
"enabled": true
}
Response:
{
"ok": true
}
---
GET /v1/budget/alerts/history
Recent budget alert events for the tenant
Capability ID: system.budget.alertsHistory Auth: apiKey Permission: budget.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
history
Request:
{}
Response:
{
"alerts": []
}
---
GET /v1/budget/forecast
Spend forecast, projected depletion date, anomaly detection
Capability ID: system.budget.forecast Auth: apiKey Permission: budget.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
forecast
Request:
{}
Response:
{}
---
GET /v1/budget/agents
List per-agent budget configurations and current status
Capability ID: system.budget.listAgents Auth: apiKey Permission: budget.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"agents": []
}
---
PUT /v1/budget/agents/{agentId}
Set budget configuration for a specific agent
Capability ID: system.budget.setAgent Auth: apiKey Permission: budget.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"perConversationUsd": {
"type": "number"
},
"perHourUsd": {
"type": "number"
},
"perDayUsd": {
"type": "number"
},
"downgradeModel": {
"type": "string"
},
"exhaustionAction": {
"type": "string",
"enum": ["downgrade", "stop"]
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set
Request:
{
"perDayUsd": 10
}
Response:
{
"ok": true
}
---
PUT /v1/budget/limits
Update tenant-level daily and monthly budget limits
Capability ID: system.budget.setLimits Auth: apiKey Permission: budget.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"daily_limit_usd": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"monthly_limit_usd": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set-limits
Request:
{
"daily_limit_usd": 100,
"monthly_limit_usd": 2500
}
Response:
{
"ok": true
}
---
GET /v1/budget/status
Current tenant + key spend against daily/monthly limits
Capability ID: system.budget.status Auth: apiKey Permission: budget.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
status
Request:
{}
Response:
{}
---
GET /v1/capabilities
Machine-queryable, trust-scored graph of BR's own capabilities — query, don't read
Capability ID: system.capabilities Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"query": {
"type": "string"
},
"tier": {
"type": "string"
},
"status": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
whole-graph
Request:
{}
Response:
{
"version": "0.1.0-seed",
"generated_at": null,
"count": 0,
"nodes": []
}
---
GET /v1/capacity/forecast
Predict rate-limit exhaustion + budget burn per provider (DB-backed forecast)
Capability ID: system.capacity.forecast Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
empty
Request:
{}
Response:
{
"forecasts": []
}
---
GET /v1/capacity/providers
Per-provider capacity status (24h) — request count, success rate, latency, cost, health
Capability ID: system.capacity.providers Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
empty
Request:
{}
Response:
{
"providers": []
}
---
GET /v1/catalog/runnable
Filtered list of models routable right now (circuit-closed + sentinel-healthy + BYOK-keyed)
Capability ID: system.catalog.runnable Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "list"
},
"data": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"filtered_out": {
"type": "object",
"properties": {
"circuit_open": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"no_provider_key": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"sentinel_down": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"budget_exhausted": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["circuit_open", "no_provider_key", "sentinel_down", "budget_exhausted"],
"additionalProperties": false
},
"total_available": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total_filtered": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["object", "data", "filtered_out", "total_available", "total_filtered"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"object": "list",
"data": [],
"filtered_out": {
"circuit_open": 0,
"no_provider_key": 0,
"sentinel_down": 0,
"budget_exhausted": 0
},
"total_available": 0,
"total_filtered": 0
}
---
GET /v1/catalog/status
Curated-catalog status: total endpoints, models, per-provider counts
Capability ID: system.catalog.status Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "curated"
},
"registry": {
"type": "object",
"properties": {
"totalEndpoints": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalModels": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"providers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
}
},
"required": ["totalEndpoints", "totalModels", "providers"],
"additionalProperties": false
}
},
"required": ["mode", "registry"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"mode": "curated",
"registry": {
"totalEndpoints": 0,
"totalModels": 0,
"providers": {}
}
}
---
GET /v1/config/{key}/audit
Audit trail (recent change events) for a config section
Capability ID: system.config.audit Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
audit
Request:
{}
Response:
{
"data": []
}
---
DELETE /v1/config/{key}
Delete a config section (reset to defaults)
Capability ID: system.config.delete Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"deleted": true
}
---
GET /v1/config/{key}
Read a single config section (sensitive fields redacted for non-admins)
Capability ID: system.config.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"data": null,
"version": 0
}
---
POST /v1/config/import
Import configuration sections from the on-disk file (admin only)
Capability ID: system.config.import Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
import
Request:
{}
Response:
{
"imported": 0
}
---
GET /v1/config
List all config sections (RBAC-filtered, sensitive fields redacted for non-admins)
Capability ID: system.config.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"data": {}
}
---
GET /v1/config/otel
OpenTelemetry exporter configuration: endpoint, service name, batching
Capability ID: system.config.otel Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"endpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"service_name": {
"type": "string"
},
"batch_size": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"flush_interval_ms": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["enabled", "endpoint", "service_name", "batch_size", "flush_interval_ms"],
"additionalProperties": false
}
Examples
default
Request:
{}
Response:
{
"enabled": false,
"endpoint": null,
"service_name": "brainstormrouter",
"batch_size": 100,
"flush_interval_ms": 5000
}
---
PATCH /v1/config/{key}
Merge-patch a config section (RFC 7396) with optional OCC
Capability ID: system.config.patch Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
patch
Request:
{}
Response:
{
"version": 2
}
---
PUT /v1/config/{key}
Replace a config section (full PUT) with OCC via If-Match header
Capability ID: system.config.set Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set
Request:
{}
Response:
{
"version": 1
}
---
POST /v1/connectors
Register an external connector with KMS-encrypted credentials
Capability ID: system.connectors.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"baseUrl": {
"type": "string",
"minLength": 1
},
"authType": {
"type": "string",
"enum": ["bearer", "basic", "oauth2", "api-key", "none"]
},
"credential": {
"type": "string"
},
"rateLimitRpm": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"description": {
"type": "string"
}
},
"required": ["name", "baseUrl"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
bearer
Request:
{
"name": "Stripe",
"baseUrl": "https://api.stripe.com",
"authType": "bearer"
}
Response:
{
"id": "conn_1"
}
---
DELETE /v1/connectors/{id}
Soft-delete a connector (status=disabled, kept for audit)
Capability ID: system.connectors.delete Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
disable
Request:
{}
Response:
{
"status": "disabled"
}
---
GET /v1/connectors/{id}
Get a connector by id (credential envelope NEVER returned)
Capability ID: system.connectors.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"id": "conn_1"
}
---
GET /v1/connectors
List active external connectors
Capability ID: system.connectors.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
empty
Request:
{}
Response:
{
"connectors": [],
"count": 0
}
---
POST /v1/connectors/{id}/test
Probe connector connectivity (HEAD baseUrl with decrypted auth)
Capability ID: system.connectors.test Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
test
Request:
{}
Response:
{
"healthStatus": "healthy"
}
---
PUT /v1/connectors/{id}
Update a connector (re-encrypts credential if supplied)
Capability ID: system.connectors.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"baseUrl": {
"type": "string",
"minLength": 1
},
"authType": {
"type": "string",
"enum": ["bearer", "basic", "oauth2", "api-key", "none"]
},
"credential": {
"type": "string"
},
"rateLimitRpm": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"description": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
rename
Request:
{
"name": "Stripe-v2"
}
Response:
{
"id": "conn_1"
}
---
GET /v1/discovery
Self-describing capability discovery — routing, models, budget, headers, errors
Capability ID: system.discovery Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"capabilities": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"budget": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"health": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"models": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"intelligence_headers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"error_recovery": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"endpoints": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"capabilities",
"budget",
"health",
"models",
"intelligence_headers",
"error_recovery",
"endpoints"
],
"additionalProperties": false
}
Examples
minimal
Request:
{}
Response:
{
"capabilities": {},
"budget": null,
"health": {
"providers": {},
"circuit_breakers_open": 0,
"kill_switch_active": false
},
"models": {
"total": 0,
"endpoints": 0,
"providers": 0,
"by_provider": {}
},
"intelligence_headers": {},
"error_recovery": {},
"endpoints": {
"completions": "POST /v1/chat/completions"
}
}
---
POST /v1/eval/datasets/{id}/items
Append items to an evaluation dataset (batch)
Capability ID: system.eval.datasets.add_items Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"input": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"expected_output": {
"type": "string"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["input"],
"additionalProperties": false
}
}
},
"required": ["items"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
add
Request:
{
"items": [
{
"input": {}
}
]
}
Response:
{
"count": 1
}
---
POST /v1/eval/datasets
Create an evaluation dataset
Capability ID: system.eval.datasets.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
}
},
"required": ["name"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"name": "smoke-tests"
}
Response:
{
"id": "ds_1"
}
---
DELETE /v1/eval/datasets/{id}
Delete an evaluation dataset and all its items
Capability ID: system.eval.datasets.delete Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"status": "deleted"
}
---
DELETE /v1/eval/datasets/{id}/items/{itemId}
Delete a single dataset item
Capability ID: system.eval.datasets.delete_item Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"status": "deleted"
}
---
GET /v1/eval/datasets/{id}/export
Export dataset items (JSON default, CSV via ?format=csv)
Capability ID: system.eval.datasets.export Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
export
Request:
{}
Response:
{
"items": []
}
---
GET /v1/eval/datasets/{id}
Get an evaluation dataset
Capability ID: system.eval.datasets.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"id": "ds_1"
}
---
POST /v1/eval/datasets/{id}/import-from-logs
Import items from production completion audit logs
Capability ID: system.eval.datasets.import_logs Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"model": {
"type": "string"
},
"min_tokens": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
import
Request:
{
"limit": 10
}
Response:
{
"imported": 0
}
---
GET /v1/eval/datasets
List evaluation datasets for the tenant
Capability ID: system.eval.datasets.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"datasets": []
}
---
GET /v1/eval/datasets/{id}/items
List items in an evaluation dataset
Capability ID: system.eval.datasets.list_items Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"items": []
}
---
PUT /v1/eval/datasets/{id}
Update an evaluation dataset (name, description)
Capability ID: system.eval.datasets.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
rename
Request:
{
"name": "x"
}
Response:
{
"id": "ds_1"
}
---
POST /v1/forensics/export
HMAC-signed forensic export bundle (usage + security events)
Capability ID: system.forensics.export Auth: apiKey Permission: forensics.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"agentId": {
"type": "string"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
export
Request:
{}
Response:
{
"bundle": {}
}
---
GET /v1/forensics/session/{sessionId}/timeline
Reconstruct chronological timeline of events for a session
Capability ID: system.forensics.timeline Auth: apiKey Permission: forensics.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
timeline
Request:
{}
Response:
{
"spans": []
}
---
POST /v1/god-mode/execute
Execute a Platform Contract tool by name (ChangeSet for mutations)
Capability ID: system.godMode.execute Auth: apiKey Permission: godMode.execute
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"tool": {
"type": "string",
"maxLength": 64
},
"params": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["tool"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
exec
Request:
{
"tool": "br.list_models"
}
Response:
{
"success": true
}
---
GET /v1/god-mode/tools
Discover Brainstorm Platform Contract tools available on BR
Capability ID: system.godMode.tools Auth: apiKey Permission: godMode.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
tools
Request:
{}
Response:
{
"tool_count": 0,
"tools": []
}
---
DELETE /v1/governance/agent-manifests/{agentId}
Delete an agent manifest
Capability ID: system.governance.agentManifests.delete Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"deleted": true
}
---
GET /v1/governance/agent-manifests/{agentId}
Get an agent manifest by agent id
Capability ID: system.governance.agentManifests.get Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"manifest": {}
}
---
GET /v1/governance/agent-manifests
List agent manifests (CAF Phase 2 semantic RBAC)
Capability ID: system.governance.agentManifests.list Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"manifests": []
}
---
PUT /v1/governance/agent-manifests/{agentId}
Create or replace an agent manifest
Capability ID: system.governance.agentManifests.upsert Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"role": {
"type": "string"
},
"toolPolicies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"toolPattern": {
"type": "string"
},
"allowedRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"blockedIntents": {
"type": "array",
"items": {
"type": "string"
}
},
"maxArgumentSize": {
"type": "number"
},
"requiresApproval": {
"type": "boolean"
}
},
"required": ["toolPattern", "allowedRoles", "blockedIntents"],
"additionalProperties": false
}
},
"defaultAction": {
"type": "string"
},
"intentThreshold": {
"type": "number"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
upsert
Request:
{}
Response:
{
"manifest": {}
}
---
GET /v1/governance/anomaly/history
Anomaly history (last N events)
Capability ID: system.governance.anomaly.history Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
history
Request:
{}
Response:
{
"events": []
}
---
GET /v1/governance/anomaly/scores
Recent anomaly-detected security events
Capability ID: system.governance.anomaly.scores Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
scores
Request:
{}
Response:
{
"events": []
}
---
GET /v1/governance/artifacts/{request_id}
Signed Governance Artifact for one request — control-mapped, verifiable evidence
Capability ID: system.governance.artifact.get Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
artifact
Request:
{}
Response:
{
"artifactId": "gart_…",
"coverage": "captured"
}
---
GET /v1/governance/audit/chain/verify
Verify the hash-chain integrity of the completion audit trail
Capability ID: system.governance.audit.chainVerify Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
chain
Request:
{}
Response:
{
"valid": true
}
---
POST /v1/governance/audit/verify
Verify server-held evidence for one request — per-check signature / registry / chain / provenance
Capability ID: system.governance.audit.verify Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"request_id": {
"type": "string",
"minLength": 1
},
"artifact_id": {
"type": "string",
"minLength": 1
},
"receipt": {
"description": "Caller-held receipt to compare against the committed evidence",
"type": "object",
"properties": {
"hash": {
"description": "Chain event hash as handed out in X-BR-Evidence-Receipt",
"type": "string",
"minLength": 1
},
"signature": {
"description": "Artifact signature value (Ed25519 signature, or legacy HMAC)",
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
verify
Request:
{
"request_id": "req_123"
}
Response:
{
"checks": {
"signature": {
"state": "pass"
},
"registry_membership": {
"state": "pass"
},
"chain_linkage": {
"state": "pass"
},
"provenance_recompute": {
"state": "not_applicable",
"reason": "audit row uses chain payload v1…"
}
},
"summary": "incomplete"
}
---
DELETE /v1/governance/behavioral-profiles/{role}
Delete a behavioral profile by role
Capability ID: system.governance.behavioralProfiles.delete Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"deleted": true
}
---
GET /v1/governance/behavioral-profiles
List behavioral profiles (CAF Phase 2)
Capability ID: system.governance.behavioralProfiles.list Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"profiles": []
}
---
PUT /v1/governance/behavioral-profiles/{role}
Create or replace a behavioral profile for a role
Capability ID: system.governance.behavioralProfiles.upsert Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"maxRps": {
"type": "number"
},
"maxPayloadBytes": {
"type": "number"
},
"allowedDestinations": {
"type": "array",
"items": {
"type": "string"
}
},
"maxFanOut": {
"type": "number"
},
"maxRequestsPerWindow": {
"type": "number"
},
"windowSeconds": {
"type": "number"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
upsert
Request:
{}
Response:
{
"profile": {}
}
---
GET /v1/governance/completion-audit
Completion audit trail (per-request identity + outcome)
Capability ID: system.governance.completionAudit Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
audit
Request:
{}
Response:
{
"entries": []
}
---
GET /v1/governance/compliance/autopilot
Regulatory compliance autopilot (frameworks + score)
Capability ID: system.governance.compliance.autopilot Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
auto
Request:
{}
Response:
{}
---
GET /v1/governance/compliance/coverage
Evidence coverage — fraction of recorded decisions bound to the audit chain
Capability ID: system.governance.compliance.coverage Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
coverage
Request:
{}
Response:
{
"total": 0,
"binding": {
"bound": 0,
"unbound": 0,
"boundRatio": null
}
}
---
GET /v1/governance/compliance/eu-ai-act
Generate an EU AI Act compliance report
Capability ID: system.governance.compliance.euAiAct Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
report
Request:
{}
Response:
{
"report": {}
}
---
POST /v1/governance/credentials/issue
Issue a verifiable agent credential (VAC)
Capability ID: system.governance.credentials.issue Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"minLength": 1
},
"organization_name": {
"type": "string"
},
"department": {
"type": "string"
},
"role": {
"type": "string"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"validity_hours": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": ["agent_id"],
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
issue
Request:
{
"agent_id": "a"
}
Response:
{
"credential": {}
}
---
POST /v1/governance/credentials/verify
Verify a credential signature and compute trust level
Capability ID: system.governance.credentials.verify Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"credential": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["credential"],
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
verify
Request:
{
"credential": {}
}
Response:
{
"valid": true
}
---
GET /v1/governance/data-policy
The tenant's effective data-protection posture — retention, no-training, attested processors, and enforcement behavior
Capability ID: system.governance.data_policy Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
effective-posture
Request:
{}
Response:
{
"tenant_id": "t_123",
"effective_posture": {
"retention_max_days": 0,
"no_training": true,
"frameworks": ["hipaa"],
"regions": ["us"],
"evidence_mode": "required"
},
"attested_processors": {
"count": 2,
"processors": []
},
"enforcement": {
"model": "per-request, tighten-only, fail-closed",
"disclosure_headers": ["X-BR-Data-Policy", "X-BR-Data-Protection-Digest"]
}
}
---
POST /v1/governance/knowledge/snapshot
Create a knowledge-escrow snapshot for an agent
Capability ID: system.governance.knowledge.snapshot Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"enum": ["termination", "transfer", "backup", "audit"]
},
"requested_by": {
"type": "string"
},
"performance_rating": {
"type": "string"
},
"salary_tier": {
"type": "string"
},
"blocks": {
"type": "array",
"items": {
"type": "string"
}
},
"archival_limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": ["agent_id"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
snap
Request:
{
"agent_id": "a"
}
Response:
{
"snapshot": {}
}
---
GET /v1/governance/lineage
Decision lineage — durable trace reconstruction (or ?live=true ring buffer)
Capability ID: system.governance.lineage Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
lineage
Request:
{}
Response:
{
"records": []
}
---
GET /v1/governance/lineage/{request_id}
The WHY answer for one request — verified audit block + policy_context + lineage
Capability ID: system.governance.lineage.get Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
why
Request:
{}
Response:
{
"request_id": "",
"coverage": "captured"
}
---
GET /v1/governance/memory/audit
Memory change history (append/replace/delete/pin/evict)
Capability ID: system.governance.memory.audit Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
audit
Request:
{}
Response:
{
"entries": []
}
---
GET /v1/governance/memory/compliance
Scan core memory for PII/policy violations
Capability ID: system.governance.memory.compliance Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
scan
Request:
{}
Response:
{
"compliant": true
}
---
GET /v1/governance/memory/reconstruct
Reconstruct memory state at a past timestamp (with optional diff)
Capability ID: system.governance.memory.reconstruct Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
reconstruct
Request:
{}
Response:
{
"state": {}
}
---
GET /v1/governance/memory/stats
Memory audit stats (operation counts by type)
Capability ID: system.governance.memory.stats Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
stats
Request:
{}
Response:
{
"stats": {}
}
---
POST /v1/governance/policy/dry-run
Evaluate a PolicyContext against the tenant ruleset (no enforcement)
Capability ID: system.governance.policy.dryRun Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
dry
Request:
{
"action": "tool.invoke"
}
Response:
{
"decision": "allow"
}
---
GET /v1/governance/sleep-time/report
Sleep-time refinement history
Capability ID: system.governance.sleepTimeReport Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
report
Request:
{}
Response:
{
"total_refinements": 0
}
---
POST /v1/governance/sovereignty/policy
Create a clean-room sovereignty policy between two orgs
Capability ID: system.governance.sovereignty.policy Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"org_a": {
"type": "string",
"minLength": 1
},
"org_b": {
"type": "string",
"minLength": 1
},
"org_a_access": {
"type": "string",
"enum": ["none", "read-shared", "read-write-shared"]
},
"org_b_access": {
"type": "string",
"enum": ["none", "read-shared", "read-write-shared"]
},
"ends_at": {
"type": "number"
}
},
"required": ["org_a", "org_b"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
policy
Request:
{
"org_a": "A",
"org_b": "B"
}
Response:
{
"policy": {}
}
---
POST /v1/governance/sovereignty/purge
Issue a provable purge of memory entries for an org
Capability ID: system.governance.sovereignty.purge Auth: apiKey Permission: governance.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"organization_id": {
"type": "string",
"minLength": 1
},
"entries": {
"type": "array",
"items": {}
},
"purged_by": {
"type": "string"
}
},
"required": ["organization_id"],
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
purge
Request:
{
"organization_id": "O"
}
Response:
{
"purge": {}
}
---
GET /v1/governance/summary
Executive dashboard summary (memory health + activity)
Capability ID: system.governance.summary Auth: apiKey Permission: governance.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
summary
Request:
{}
Response:
{
"memory": {}
}
---
DELETE /v1/group-mappings/{id}
Delete an IdP group → role mapping
Capability ID: system.group_mappings.delete Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"deleted": true,
"id": "map_1"
}
---
GET /v1/group-mappings/{id}
Get a single group → role mapping by ID
Capability ID: system.group_mappings.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"id": "map_1"
}
---
GET /v1/group-mappings
List IdP group → RBAC role mappings for the tenant
Capability ID: system.group_mappings.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"mappings": [],
"count": 0
}
---
PATCH /v1/group-mappings/{id}
Update an IdP group mapping's role, scopes, or display name
Capability ID: system.group_mappings.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"brRole": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"idpGroupName": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
promote
Request:
{
"brRole": "operator"
}
Response:
{
"id": "map_1",
"brRole": "operator"
}
---
GET /v1/guardrails/catalog/{checkId}
Get a single check definition
Capability ID: system.guardrails.catalog.get Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{}
---
GET /v1/guardrails/catalog
List checks in the V2 guardrail registry
Capability ID: system.guardrails.catalog.list Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"checks": []
}
---
GET /v1/guardrails/config
Get the tenant guardrail pipeline config
Capability ID: system.guardrails.config.get Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"config": {}
}
---
PUT /v1/guardrails/config
Update the tenant guardrail pipeline config
Capability ID: system.guardrails.config.set Auth: apiKey Permission: guardrails.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set
Request:
{
"enabled": true
}
Response:
{
"status": "updated"
}
---
POST /v1/guardrails/feedback
Submit false-positive / true-positive feedback for a guardrail scan
Capability ID: system.guardrails.feedback Auth: apiKey Permission: guardrails.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
fb
Request:
{
"requestId": "r"
}
Response:
{
"ok": true
}
---
GET /v1/guardrails/metrics
Aggregated scan + feedback metrics (security_events or in-memory)
Capability ID: system.guardrails.metrics Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
metrics
Request:
{}
Response:
{
"totalRuns": 0
}
---
POST /v1/guardrails/pipelines
Create a V2 guardrail pipeline
Capability ID: system.guardrails.pipelines.create Auth: apiKey Permission: guardrails.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"name": "p"
}
Response:
{}
---
DELETE /v1/guardrails/pipelines/{id}
Delete a V2 guardrail pipeline
Capability ID: system.guardrails.pipelines.delete Auth: apiKey Permission: guardrails.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"status": "deleted"
}
---
GET /v1/guardrails/pipelines/{id}
Get a V2 guardrail pipeline by id
Capability ID: system.guardrails.pipelines.get Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{}
---
GET /v1/guardrails/pipelines
List tenant V2 guardrail pipelines
Capability ID: system.guardrails.pipelines.list Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"pipelines": []
}
---
POST /v1/guardrails/pipelines/{id}/test
Test a V2 guardrail pipeline against sample text
Capability ID: system.guardrails.pipelines.test Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
test
Request:
{
"text": "..."
}
Response:
{}
---
PUT /v1/guardrails/pipelines/{id}
Update a V2 guardrail pipeline
Capability ID: system.guardrails.pipelines.update Auth: apiKey Permission: guardrails.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
update
Request:
{}
Response:
{}
---
POST /v1/guardrails/providers
Register an external guardrail provider
Capability ID: system.guardrails.providers.create Auth: apiKey Permission: guardrails.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"id": "x"
}
Response:
{
"status": "registered"
}
---
DELETE /v1/guardrails/providers/{id}
Remove an external guardrail provider
Capability ID: system.guardrails.providers.delete Auth: apiKey Permission: guardrails.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"status": "removed"
}
---
GET /v1/guardrails/providers
List built-in + external guardrail providers
Capability ID: system.guardrails.providers.list Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"providers": []
}
---
GET /v1/guardrails/templates
List well-known provider templates
Capability ID: system.guardrails.templates.list Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"templates": []
}
---
POST /v1/guardrails/test
Run text through the guardrail pipeline (testing/preview)
Capability ID: system.guardrails.test Auth: apiKey Permission: guardrails.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
test
Request:
{
"text": "..."
}
Response:
{
"result": {}
}
---
GET /health
Liveness probe — returns ok while the process is up and serving HTTP
Capability ID: system.health Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "healthy"
},
"version": {
"type": "string"
},
"product": {
"type": "string"
},
"uptime_seconds": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"timestamp": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
}
},
"required": ["status", "version", "product", "uptime_seconds", "timestamp"],
"additionalProperties": false
}
Examples
healthy
Request:
{}
Response:
{
"status": "healthy",
"version": "1.0.0",
"product": "br",
"uptime_seconds": 12345,
"timestamp": "2026-01-01T00:00:00.000Z"
}
---
GET /v1/health/providers
Per-provider health combining sentinel probes, circuit breakers, and BYOK key presence
Capability ID: system.health.providers Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"sentinel": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"latency_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"last_probe_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": ["status", "latency_ms", "last_probe_at"],
"additionalProperties": false
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"circuit": {
"type": "string",
"enum": ["open", "closed"]
},
"routable": {
"type": "boolean"
}
},
"required": ["id", "circuit", "routable"],
"additionalProperties": false
}
},
"aggregate": {
"type": "object",
"properties": {
"total_models": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"routable_models": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"circuit_open_count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"health": {
"type": "string",
"enum": ["healthy", "degraded", "down"]
}
},
"required": ["total_models", "routable_models", "circuit_open_count", "health"],
"additionalProperties": false
},
"has_key": {
"type": "boolean"
},
"tenant_auth": {
"type": "string",
"enum": ["ok", "auth_error", "unknown"]
},
"routable_for_tenant": {
"type": "boolean"
},
"reason": {
"anyOf": [
{
"type": "string",
"enum": ["no_tenant_key", "auth_error", "all_circuits_open"]
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"sentinel",
"models",
"aggregate",
"has_key",
"tenant_auth",
"routable_for_tenant",
"reason"
],
"additionalProperties": false
}
},
"summary": {
"type": "object",
"properties": {
"total_providers": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"healthy": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"degraded": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"down": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["total_providers", "healthy", "degraded", "down"],
"additionalProperties": false
}
},
"required": ["providers", "summary"],
"additionalProperties": false
}
Examples
all-healthy
Request:
{}
Response:
{
"providers": [],
"summary": {
"total_providers": 0,
"healthy": 0,
"degraded": 0,
"down": 0
}
}
---
POST /v1/tenant/claim-link
Generate a dashboard claim link (admin scope required)
Capability ID: system.identity.claim_link Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": ["owner", "admin", "member"]
},
"max_uses": {
"type": "number"
},
"expires_in_days": {
"type": "number"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
owner
Request:
{
"role": "owner"
}
Response:
{
"token": "abc",
"url": "..."
}
---
POST /v1/auth/device/authorize
Start a device-authorization flow (admin scope required)
Capability ID: system.identity.device_authorize Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
start
Request:
{}
Response:
{
"device_code": "abc",
"user_code": "XYZ"
}
---
POST /v1/auth/device/token
Poll device-authorization status
Capability ID: system.identity.device_token Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"device_code": {
"type": "string",
"minLength": 1
}
},
"required": ["device_code"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
linked
Request:
{
"device_code": "abc"
}
Response:
{
"status": "linked",
"tenant": {
"id": "t_1"
}
}
---
POST /v1/auth/link
Generate a browser-based dashboard link URL (admin scope)
Capability ID: system.identity.link Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
link
Request:
{}
Response:
{
"link_url": "https://..."
}
---
GET /v1/insights/daily
Daily cost-optimization insight rollup (requires DB)
Capability ID: system.insights.daily Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
empty
Request:
{}
Response:
{
"rows": []
}
---
GET /v1/insights/forecast
Budget runway forecast (daily or monthly period)
Capability ID: system.insights.forecast Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"budget": {
"type": "string"
},
"period": {
"type": "string",
"enum": ["daily", "monthly"]
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
monthly
Request:
{}
Response:
{
"projection": {}
}
---
GET /v1/insights/optimize
Model-substitution recommendations for cost reduction
Capability ID: system.insights.optimize Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
empty
Request:
{}
Response:
{
"recommendations": []
}
---
GET /v1/insights/waste
Waste detection report. Returns 403 privacy_restricted on strict privacy mode.
Capability ID: system.insights.waste Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
empty
Request:
{}
Response:
{
"status": "ok",
"items": []
}
---
GET /v1/intelligence/institutional
Institutional intelligence (I3) index for the tenant
Capability ID: system.intelligence.institutional Auth: apiKey Permission: intelligence.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
i3
Request:
{}
Response:
{
"index": {}
}
---
GET /v1/intelligence/sampling-audit
Routing-sampling audit (agent trap defense)
Capability ID: system.intelligence.samplingAudit Auth: apiKey Permission: intelligence.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
sa
Request:
{}
Response:
{
"entries": []
}
---
GET /v1/mcp/audit
Recent MCP tool-call audit entries for the tenant
Capability ID: system.mcp.audit Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
audit
Request:
{}
Response:
{
"entries": []
}
---
POST /v1/mcp/bootstrap
Pre-auth MCP bootstrap — register a tenant in-band over MCP (2 tools)
Capability ID: system.mcp.bootstrap Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
connect
Request:
{}
Response:
{}
---
GET /v1/mcp/bootstrap
MCP bootstrap discovery (2-tool manifest, no auth)
Capability ID: system.mcp.bootstrap_discover Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
discover
Request:
{}
Response:
{
"name": "brainstormrouter-bootstrap",
"version": "1.0.0",
"transport": "streamable-http",
"tools": [
{
"name": "br_register",
"description": "Create a BrainstormRouter tenant + admin API key (no auth, no email, no browser). Same limits as POST /v1/register: 5/h per IP, 3 sandbox tenants/day per IP. A 429 from this tool is the register limiter, not the bootstrap connection limiter.",
"permission": null
},
{
"name": "br_bootstrap_info",
"description": "Static pointers: authed MCP endpoint, docs, graduation path.",
"permission": null
}
],
"next": "After registering, connect to POST /v1/mcp/connect with your br_live_ key for the full tool set."
}
---
GET /v1/mcp/capabilities
Core + external MCP tool catalog for the tenant
Capability ID: system.mcp.capabilities Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
caps
Request:
{}
Response:
{
"capabilities": []
}
---
POST /v1/mcp/connect
Open an MCP Streamable HTTP session against BR's control-plane tools
Capability ID: system.mcp.connect Auth: apiKey Permission: mcp.connect
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
connect
Request:
{}
Response:
{}
---
GET /v1/mcp/connect
MCP server discovery (capability + tool manifest)
Capability ID: system.mcp.discover Auth: apiKey Permission: mcp.connect
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
discover
Request:
{}
Response:
{
"name": "brainstormrouter",
"version": "1.0.0",
"transport": "streamable-http",
"tools": [
{
"name": "br_route_completion",
"description": "Send a message to any AI model. Set model='auto' for automatic cost/quality optimization. Supports streaming, tool calls, and vision.",
"permission": "router.write"
},
{
"name": "br_list_models",
"description": "List all available models with pricing and capabilities. Use to discover what's routable before making completions.",
"permission": "router.read"
},
{
"name": "br_compare_models",
"description": "Run the same prompt on 2-6 models in parallel. Returns per-model output, cost, latency, quality signals, and picks cheapest/fastest/best.",
"permission": "router.write"
},
{
"name": "br_get_usage",
"description": "Check how much you've spent and how many requests you've made. Specify period: 'day', 'week', or 'month'.",
"permission": "audit.read"
},
{
"name": "br_explain_request",
"description": "Get full routing explanation for a past request. Shows model selection method, alternatives, complexity, guardrails, cost, and latency.",
"permission": "audit.read"
},
{
"name": "br_estimate_cost",
"description": "Predict cost before executing a request. Send messages and model to get estimated cost in USD, token counts, and cheaper alternatives.",
"permission": "router.read"
},
{
"name": "br_set_alias",
"description": "Create a model shortcut. Example: alias 'fast' to 'anthropic/claude-haiku-4-5'. Use aliases in completions for easy switching.",
"permission": "config.write"
},
{
"name": "br_list_aliases",
"description": "View all model aliases configured for your tenant. Aliases map friendly names to model IDs.",
"permission": "config.read"
},
{
"name": "br_patch_aliases",
"description": "Bulk update aliases in one call. Set value to null to delete. Useful for swapping model tiers across all aliases.",
"permission": "config.write"
},
{
"name": "br_get_health",
"description": "Check if BrainstormRouter is operational. Returns version, uptime, and endpoint counts. Use as a connectivity test.",
"permission": "router.read"
},
{
"name": "br_memory_list",
"description": "Read all persistent memory entries. Returns facts organized by block (human, system, project, general).",
"permission": "memory.read"
},
{
"name": "br_memory_store",
"description": "Save a fact that persists across sessions. Specify block: 'human' for user preferences, 'system' for instructions, 'project' for project-scoped facts, 'general' for everything else.",
"permission": "memory.write"
},
{
"name": "br_memory_query",
"description": "Search memory by keyword relevance. Returns scored results. Use before completions to inject relevant context.",
"permission": "memory.read"
},
{
"name": "br_memory_delete",
"description": "Remove a memory entry by its ID. Permanent — cannot be undone.",
"permission": "memory.write"
},
{
"name": "br_memory_update",
"description": "Edit a memory entry's text or toggle its pinned status. Pinned entries are always included in context.",
"permission": "memory.write"
},
{
"name": "br_memory_shared_store",
"description": "Save a fact visible to ALL agents in your tenant. Use for team knowledge, shared policies, or cross-agent coordination.",
"permission": "memory.write"
},
{
"name": "br_memory_shared_list",
"description": "Read shared memory entries accessible by all agents in your tenant.",
"permission": "memory.read"
},
{
"name": "br_memory_set_importance",
"description": "Set importance score (0.0-1.0) on a memory entry. Higher importance entries survive eviction longer.",
"permission": "memory.write"
},
{
"name": "br_memory_rethink",
"description": "Atomically restructure a memory block — deduplicate, reorganize, and improve all facts. Full before/after logged to audit trail.",
"permission": "memory.write"
},
{
"name": "br_memory_reconstruct",
"description": "Reconstruct memory state at a specific point in time using the audit trail. Event-sourced time travel.",
"permission": "memory.read"
},
{
"name": "br_list_prompts",
"description": "List prompt templates with versions and A/B test status. Use to find reusable system prompts for your tenant.",
"permission": "config.read"
},
{
"name": "br_evaluate_prompt",
"description": "Run a prompt template against test cases with scoring. Supports exact_match, contains, validity, and llm_judge scorers. Returns pass/fail per case.",
"permission": "config.write"
},
{
"name": "br_get_eval_results",
"description": "Get stored evaluation run results for a prompt. Shows pass rate, scores, and per-case details from previous evaluations.",
"permission": "config.read"
},
{
"name": "br_list_presets",
"description": "List routing presets — saved model+parameter combos. Reference as '@preset/slug' in completions.",
"permission": "config.read"
},
{
"name": "br_graduation_status",
"description": "Graduation criteria + live progress for a sandbox tenant: community caps, usage today, reputation, and what graduating grants. Same data as GET /v1/account/graduation.",
"permission": "config.read"
},
{
"name": "br_graduate",
"description": "Graduate a sandbox tenant to standard tier via a verified provider key (BYOK). Live-validates your registered provider keys; a strict pass promotes every community key ($5/day budget, community caps removed). No email, no browser.",
"permission": "config.write"
},
{
"name": "br_capabilities_query",
"description": "Query BR's trust-scored capability graph (what the system can do, where it lives, how to invoke it, reversibility). Same data as GET /v1/capabilities — query, don't grep.",
"permission": "router.read"
},
{
"name": "br_capabilities_get",
"description": "Fetch a single capability-graph node by exact id — the typed contract (what/where/how-to/recovery) plus trust vector. Same data as GET /v1/capabilities?id=...",
"permission": "router.read"
},
{
"name": "br_pattern_recommend",
"description": "Get task execution pattern recommendations. Query what approaches work best for a task type before starting work.",
"permission": "router.read"
},
{
"name": "br_request_patterns",
"description": "Get request pattern intelligence — which models succeed best for which request types (tool use, code, large context, etc.).",
"permission": "router.read"
},
{
"name": "br_routing_advise",
"description": "Get predictive routing advice — recommended model with reasoning chain, evidence from similar past requests, alternatives with tradeoffs, and confidence score.",
"permission": "router.read"
},
{
"name": "br_fleet_insights",
"description": "Get fleet-wide model intelligence: capability scores, success rates, best-for/weak-at signals. Query a model or get top-10 overview.",
"permission": "router.read"
},
{
"name": "br_get_ops_status",
"description": "Full operations dashboard: endpoint health, budget status, usage trends, guardrail stats. Start here for system overview.",
"permission": "router.read"
},
{
"name": "br_get_ops_build",
"description": "Get authenticated runtime build identity: commit SHA, build timestamp, image digest, and deploy ID. Use before live evidence probes.",
"permission": "audit.read"
},
{
"name": "br_diagnose_providers",
"description": "Run the provider doctor against the current fleet — classifies every non-healthy provider with hypothesis, cited evidence, severity, and remediation steps. Call after `br_get_ops_status` shows providers down to figure out *why*.",
"permission": "router.read"
},
{
"name": "br_get_insights",
"description": "Get cost optimization recommendations. Identifies waste, suggests cheaper models, and estimates potential savings.",
"permission": "audit.read"
},
{
"name": "br_get_governance",
"description": "Governance health check: memory usage by block, compliance status, audit trail statistics.",
"permission": "audit.read"
},
{
"name": "br_list_agents",
"description": "List all agent profiles with lifecycle state, department, and cost center. Use to audit your agent fleet.",
"permission": "agent.profile.read"
},
{
"name": "br_get_leaderboard",
"description": "Rank models by real performance: quality score, speed, value. Powered by Thompson sampling from actual usage data.",
"permission": "router.read"
},
{
"name": "br_recommend_model",
"description": "Get ranked model recommendations for a task. Returns top models with scores, estimated costs, and reasons based on real production data.",
"permission": "router.read"
},
{
"name": "br_consensus",
"description": "Evaluate consensus across multiple model responses. Submit 2-5 pre-collected responses and get the best answer via majority vote, quality scoring, or weighted Thompson sampling.",
"permission": "router.write"
},
{
"name": "br_bootstrap_agent",
"description": "Create a new agent identity in one call. Returns profile + JWT + budget. Required before independent agent action.",
"permission": "agent.bootstrap"
},
{
"name": "br_agent_status",
"description": "Full self-check: profile, budget remaining, rate limit headroom, recent anomaly events, and governance state.",
"permission": "agent.profile.self"
},
{
"name": "br_agent_limits",
"description": "Check your budget and rate limit status. Shows enforced limits, current spend, and remaining capacity.",
"permission": "agent.profile.self"
},
{
"name": "br_agent_anomaly",
"description": "View your recent security events. High anomaly scores may trigger trust degradation — check here to understand why.",
"permission": "agent.profile.self"
},
{
"name": "br_delegate_agent",
"description": "Spawn a sub-agent with a sliced budget from your own. Requires agent JWT. The child inherits your trust tier.",
"permission": "agent.delegate"
},
{
"name": "br_list_sub_agents",
"description": "List your active sub-agents. Shows budget consumed, remaining capacity, and lifecycle state for each.",
"permission": "agent.delegate"
},
{
"name": "br_terminate_sub_agent",
"description": "Terminate a sub-agent and reclaim its unspent budget back to your allocation. Irreversible.",
"permission": "agent.delegate"
},
{
"name": "br_why",
"description": "Why was a request decided or denied? Given a request_id, returns the verified audit block (chain hashes + provenance recompute), the policy_context deny reason, the durable lineage + neighbors, a coverage label, and anomalies. The deny reason is tamper-evident — committed to the audit chain.",
"permission": "audit.read"
},
{
"name": "br_lineage_trace",
"description": "Reconstruct a causal episode from durable decision lineage. Pass trace_id (whole trace) or request_id (one request's spans); each edge is labeled verified/claimed/unverified from the row's committed fields. live=true reads the recent ring buffer.",
"permission": "audit.read"
},
{
"name": "br_get_governance_artifact",
"description": "Get the signed, control-mapped Governance Artifact for a request_id: audit-chain proof + coverage + policy/grant context + exercised framework controls (SOC2/EU AI Act/NIST/ISO 42001), optionally HMAC-signed. Assembled on-read from committed rows.",
"permission": "audit.read"
},
{
"name": "br_get_agent_skill",
"description": "Read an agent's accumulated skill — domain knowledge, learned patterns, project context. Skills grow from completions.",
"permission": "agent.profile.self"
},
{
"name": "br_update_agent_skill",
"description": "Update an agent's skill with new knowledge, patterns, or standards. Partial merge — only specified fields change.",
"permission": "agent.profile.self"
},
{
"name": "br_list_agent_skills",
"description": "List all agents and their skill summaries: domain, version, pattern count, total completions.",
"permission": "agent.profile.read"
},
{
"name": "br_get_skill_history",
"description": "View how an agent's skill evolved over time. Shows version snapshots with triggers (accumulation, manual, seed).",
"permission": "agent.profile.self"
},
{
"name": "br_get_employment_profile",
"description": "Full Workday-style employment profile — identity, compensation, objectives, performance reviews, heartbeat, and compliance.",
"permission": "agent.profile.read"
},
{
"name": "br_set_objectives",
"description": "Set MBOs (Management by Objectives) — measurable targets with auto-tracked progress from production data.",
"permission": "agent.profile.write"
},
{
"name": "br_get_performance_review",
"description": "Performance review — current rating (exceeds/meets/needs_improvement/pip), review history, PIP status, promotion eligibility.",
"permission": "agent.profile.read"
},
{
"name": "br_trigger_review",
"description": "Force an immediate off-cycle performance review for an agent.",
"permission": "agent.profile.write"
},
{
"name": "br_update_compensation",
"description": "Update compensation — salary tier (intern/junior/senior/staff/principal), daily and monthly budget.",
"permission": "agent.profile.write"
},
{
"name": "br_get_heartbeat",
"description": "Unified agent health surface — lifecycle state, anomaly score, reputation tier, and budget remaining in one call.",
"permission": "agent.profile.self"
},
{
"name": "br_workspace_list",
"description": "List all workspace files for an agent — SOUL.md, context files, reference docs.",
"permission": "agent.profile.self"
},
{
"name": "br_workspace_get",
"description": "Read a workspace file by name (e.g. SOUL.md, SESSION_CONTEXT.md).",
"permission": "agent.profile.self"
},
{
"name": "br_workspace_put",
"description": "Create or update a workspace file. Use for SOUL.md, context files, or reference docs (prefix with ref/).",
"permission": "agent.profile.self"
},
{
"name": "br_workspace_delete",
"description": "Delete a workspace file.",
"permission": "agent.profile.self"
},
{
"name": "br_list_config",
"description": "List all tenant configuration sections with versions. Sections include routing, guardrails, security, mesh, and more.",
"permission": "config.read"
},
{
"name": "br_get_config",
"description": "Read a specific config section by key. Returns the current value and OCC version number.",
"permission": "config.read"
},
{
"name": "br_set_config",
"description": "Update a config section. Pass the full section value — it replaces the current config atomically.",
"permission": "config.write"
},
{
"name": "br_get_insights_daily",
"description": "Daily cost breakdown by model. Shows per-model spend, request counts, and average cost. Use for budget planning.",
"permission": "audit.read"
},
{
"name": "br_get_insights_forecast",
"description": "Predict when your budget will run out. Uses 30-day trend data to project daily and monthly depletion dates.",
"permission": "audit.read"
},
{
"name": "br_get_capacity",
"description": "Provider health matrix: 24h request counts, success rates, latency, and health status per provider.",
"permission": "router.read"
},
{
"name": "br_get_security_status",
"description": "Security posture overview: policy engine state, rule count, anomaly detector metrics. Check after config changes.",
"permission": "security.read"
},
{
"name": "br_get_policies",
"description": "Read the active security policy ruleset. Shows all rules with conditions, actions, and priorities.",
"permission": "security.read"
},
{
"name": "br_test_policy",
"description": "Dry-run a request context against security policies. See which rules would match without affecting live traffic.",
"permission": "security.read"
},
{
"name": "br_list_policy_packs",
"description": "List the Policy Pack Library — framework-tagged packs (prod-safety, pii-protection, eu-ai-act-high-risk, nist-ai-rmf) enforced inline on live requests. Pass pack_id for one pack's full ruleset.",
"permission": "security.read"
},
{
"name": "br_get_siem_config",
"description": "View SIEM export settings: destination (Splunk/LogScale), format (OCSF/CEF/JSON), and event filters.",
"permission": "security.read"
},
{
"name": "br_update_siem_config",
"description": "Configure SIEM export: set destination URL, auth token, format, and which event types to forward.",
"permission": "security.write"
},
{
"name": "br_get_guardrail_config",
"description": "View active guardrail pipeline: enabled scanners, mode (block/warn/log), PII detection settings.",
"permission": "config.read"
},
{
"name": "br_update_guardrail_config",
"description": "Configure guardrails: enable/disable scanners, set mode, adjust PII detection sensitivity.",
"permission": "config.write"
},
{
"name": "br_test_guardrails",
"description": "Test content against guardrails without affecting traffic. Returns which scanners would trigger and why.",
"permission": "config.write"
},
{
"name": "br_get_budget_status",
"description": "Check budget: daily and monthly spend vs limits. Shows remaining capacity and whether limits are enforced.",
"permission": "audit.read"
},
{
"name": "br_get_budget_forecast",
"description": "Predict budget depletion: projected spend rate, estimated exhaustion date, anomaly alerts if spending spikes.",
"permission": "audit.read"
},
{
"name": "br_activate_killswitch",
"description": "EMERGENCY: Immediately halt ALL AI routing for this tenant. Reversible via br_deactivate_killswitch. Use with caution.",
"permission": "security.write"
},
{
"name": "br_deactivate_killswitch",
"description": "Resume AI routing after emergency stop. All pending requests will start flowing again immediately.",
"permission": "security.write"
},
{
"name": "br_get_killswitch_status",
"description": "Check kill switch state and activation history. Shows who activated, when, and the reason given.",
"permission": "security.read"
},
{
"name": "br_killswitch_scope",
"description": "Surgically kill a specific agent, tool, or provider without stopping all routing. More precise than full kill switch.",
"permission": "security.write"
},
{
"name": "br_list_killswitch_scopes",
"description": "List all active scoped kill switches with their type, target, reason, and activation time.",
"permission": "security.read"
},
{
"name": "br_deactivate_killswitch_scope",
"description": "Remove a scoped kill switch, re-enabling the targeted agent, tool, or provider.",
"permission": "security.write"
},
{
"name": "br_policy_dry_run",
"description": "Simulate a policy evaluation: pass any request context and see exactly which rules match, in what order.",
"permission": "security.read"
},
{
"name": "br_replay_decisions",
"description": "Review recent routing decisions: which model was chosen, why, and what alternatives were considered.",
"permission": "audit.read"
},
{
"name": "br_session_timeline",
"description": "Reconstruct a chronological session timeline: usage, security events, memory mutations. For incident investigation.",
"permission": "audit.read"
},
{
"name": "br_forensic_snapshots",
"description": "View forensic proof-of-death records for terminated agents. Contains final state, budget, and termination reason.",
"permission": "security.read"
},
{
"name": "br_list_pending_approvals",
"description": "List pending human-in-the-loop approval requests. Agents can queue actions that require human sign-off.",
"permission": "security.read"
},
{
"name": "br_approve_request",
"description": "Approve a pending HITL request. The queued action will execute immediately upon approval.",
"permission": "security.write"
},
{
"name": "br_reject_request",
"description": "Reject a pending HITL request. The queued action is discarded and the requester is notified.",
"permission": "security.write"
},
{
"name": "br_list_tenants",
"description": "List all tenants with status, spend, and model count. Filter by status: pending, active, suspended. Admin only.",
"permission": "platform.admin"
},
{
"name": "br_approve_tenant",
"description": "Activate a pending tenant. They gain immediate access to the API. Admin only.",
"permission": "platform.admin"
},
{
"name": "br_reject_tenant",
"description": "Reject a pending tenant application. They cannot access the API. Admin only.",
"permission": "platform.admin"
},
{
"name": "br_get_business_digest",
"description": "Executive summary: total tenants, aggregate spend, pending approvals, growth trends. Admin only.",
"permission": "platform.admin"
},
{
"name": "br_create_invite_code",
"description": "Generate a beta invite code. Required for POST /v1/register. Set max_uses and expiry. Admin only.",
"permission": "platform.admin"
},
{
"name": "br_mcp_server_health",
"description": "Probe a registered MCP server's health. Tests connectivity, refreshes OAuth2 tokens if needed.",
"permission": "config.read"
},
{
"name": "br_my_permissions",
"description": "View your RBAC roles and permissions. Shows what you can and cannot do, plus how to request elevated access.",
"permission": "router.read"
},
{
"name": "br_guardrail_metrics",
"description": "Guardrail scanner performance: pass/fail/error rates per scanner, feedback summary, and trend data.",
"permission": "security.read"
},
{
"name": "br_onboard",
"description": "One-call agent setup. Returns recommended models, relevant tools, configuration, and first-steps guide based on your preferences.",
"permission": "router.read"
},
{
"name": "br_mesh_execute",
"description": "Execute a distributed workflow on the mesh. Steps run in parallel when independent, sequential when dependent. Streams SSE progress.",
"permission": "router.write"
},
{
"name": "br_route_recommend",
"description": "Delegate model selection to BrainstormRouter intelligence — returns optimal model using Thompson sampling, auto-selection, and cost-quality frontier.",
"permission": "router.read"
},
{
"name": "br_feedback_report",
"description": "Report outcome feedback for a model request — feeds Thompson sampling learning loop. Use after task completion to report success/failure/partial.",
"permission": "router.write"
},
{
"name": "br_trajectory_record",
"description": "Record an orchestration trajectory — multi-phase agentic workflow with per-phase model, cost, duration, tools, and outcome. Feeds BrainstormLLM training flywheel.",
"permission": "audit.write"
},
{
"name": "br_trajectory_query",
"description": "Query orchestration trajectories with filters: project, request_type, source, limit, since. Returns newest first.",
"permission": "audit.read"
},
{
"name": "br_task_run_report",
"description": "Report a completed task run with cost, duration, and model used. Feeds telemetry for CLI agent task tracking.",
"permission": "audit.write"
},
{
"name": "br_project_register",
"description": "Register or sync a CLI project. Upserts by name with optional path, description, and budget limits.",
"permission": "config.write"
},
{
"name": "br_memory_blocks_sync",
"description": "Bulk upsert core memory blocks for a project. Syncs CLAUDE.md, conventions, and other structured knowledge into memory.",
"permission": "memory.write"
},
{
"name": "br_project_config",
"description": "Set project configuration: model, budget, guardrails, conventions, protected paths. Use to sync team-wide settings.",
"permission": "config.write"
},
{
"name": "br_project_activity",
"description": "View active sessions and recent changes on a project. Shows who is working, what they're doing, and cost so far.",
"permission": "router.read"
},
{
"name": "br_agent_run_start",
"description": "Create a pending agent run session. Returns a session_id. To actually execute the multi-turn loop, call POST /v1/agents/:agentId/run with the session_id (the loop requires HTTP for SSE streaming). Use this to pre-create sessions for delegation workflows.",
"permission": "agent.delegate"
},
{
"name": "br_agent_run_status",
"description": "Check the status of an agent run (session). Returns total turns, cost, duration, end reason, and last model used.",
"permission": "agent.profile.read"
},
{
"name": "br_agent_run_cancel",
"description": "Cancel a running agent session. The loop stops after the current turn and the session is marked as ended.",
"permission": "agent.delegate"
},
{
"name": "br_xdr_list_destinations",
"description": "List XDR/SIEM destinations configured for this tenant. Returns destination type, enabled status, delivery stats. Credentials are redacted in the response.",
"permission": "config.read"
},
{
"name": "br_xdr_create_destination",
"description": "Create an XDR/SIEM destination for forwarding BrainstormRouter security events. Supported types: crowdstrike, sentinel, splunk-ocsf, cortex, datadog-ocsf. Requires vendor-specific config (API keys, endpoints).",
"permission": "config.write"
},
{
"name": "br_xdr_test_destination",
"description": "Send a test event to an XDR destination to verify connectivity and authentication. Returns ok: true on success or ok: false with the error message.",
"permission": "config.write"
}
]
}
---
GET /v1/mcp/approvals
List pending MCP tool-call approvals
Capability ID: system.mcp.governance.approvalsList Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"approvals": []
}
---
POST /v1/mcp/approvals/{id}/approve
Approve a queued MCP tool call
Capability ID: system.mcp.governance.approve Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
approve
Request:
{}
Response:
{
"status": "approved"
}
---
POST /v1/mcp/approvals/{id}/deny
Deny a queued MCP tool call
Capability ID: system.mcp.governance.deny Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
deny
Request:
{}
Response:
{
"status": "denied"
}
---
GET /v1/mcp/governance
Get MCP governance engine status
Capability ID: system.mcp.governance.status Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
status
Request:
{}
Response:
{
"enabled": false
}
---
PUT /v1/mcp/governance/policy
Update an MCP tool-name policy in the governance engine
Capability ID: system.mcp.governance.updatePolicy Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"tool_name": {
"type": "string"
},
"allowed": {
"type": "boolean"
},
"max_cost_usd": {
"type": "number"
},
"requires_approval": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
policy
Request:
{
"tool_name": "shell",
"allowed": false
}
Response:
{
"ok": true
}
---
POST /v1/mcp/servers
Register an external MCP server for this tenant
Capability ID: system.mcp.servers.create Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"transport": {
"type": "string"
},
"url": {
"type": "string"
},
"auth": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"allowed_key_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"shadow_mode": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"name": "n8n",
"transport": "http",
"url": "https://..."
}
Response:
{}
---
DELETE /v1/mcp/servers/{id}
Remove an MCP server registration
Capability ID: system.mcp.servers.delete Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"status": "removed"
}
---
POST /v1/mcp/servers/{id}/discover
Trigger remote tool discovery for an MCP server
Capability ID: system.mcp.servers.discover Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
discover
Request:
{}
Response:
{
"tools": []
}
---
GET /v1/mcp/servers/{id}
Get details for an MCP server
Capability ID: system.mcp.servers.get Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"server": {}
}
---
POST /v1/mcp/servers/{id}/health
Trigger an on-demand health check for an MCP server
Capability ID: system.mcp.servers.healthCheck Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
check
Request:
{}
Response:
{
"health": {}
}
---
GET /v1/mcp/servers/{id}/health
Get the last health status for an MCP server
Capability ID: system.mcp.servers.healthGet Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
status
Request:
{}
Response:
{
"health": {}
}
---
GET /v1/mcp/servers
List registered MCP servers for this tenant
Capability ID: system.mcp.servers.list Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"servers": []
}
---
PUT /v1/mcp/servers/{id}
Update an MCP server registration
Capability ID: system.mcp.servers.update Auth: apiKey Permission: mcp.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"url": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"auth": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"allowed_key_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"shadow_mode": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
update
Request:
{
"enabled": false
}
Response:
{
"server": {}
}
---
POST /v1/mcp/tools/{server}/{tool}
Execute a tool call through the MCP gateway (proxied + governed)
Capability ID: system.mcp.tools.call Auth: apiKey Permission: mcp.execute
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
call
Request:
{
"arguments": {}
}
Response:
{
"result": {}
}
---
GET /v1/mcp/tools
List all discovered tools across registered MCP servers
Capability ID: system.mcp.tools.list Auth: apiKey Permission: mcp.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"tools": []
}
---
GET /v1/memory/approval-config
Get the memory-write approval-required flag
Capability ID: system.memory.approvalConfig.get Auth: apiKey Permission: memory.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"requireApproval": false
}
---
PUT /v1/memory/approval-config
Set the memory-write approval-required flag
Capability ID: system.memory.approvalConfig.set Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"requireApproval": {
"type": "boolean"
}
},
"required": ["requireApproval"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set
Request:
{
"requireApproval": true
}
Response:
{
"ok": true
}
---
GET /v1/memory/blocks/{block}
List entries in a specific memory block
Capability ID: system.memory.blocks.get Auth: apiKey Permission: memory.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"entries": []
}
---
GET /v1/memory/blocks
List memory blocks with entry counts (optional ?project= filter)
Capability ID: system.memory.blocks.list Auth: apiKey Permission: memory.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"blocks": []
}
---
POST /v1/memory/blocks/sync
Bulk upsert core memory entries for a project (Brainstorm CLI)
Capability ID: system.memory.blocks.sync Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"project": {
"type": "string"
},
"blocks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": ["key", "value"],
"additionalProperties": false
}
}
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
sync
Request:
{
"project": "p",
"blocks": {}
}
Response:
{
"ok": true
}
---
POST /v1/memory/entries
Append a new core memory entry (alias for /v1/memory/store)
Capability ID: system.memory.entries.create Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fact": {
"type": "string"
},
"context": {
"type": "string"
},
"block": {
"type": "string"
},
"pinned": {
"type": "boolean"
},
"project": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"fact": "User prefers dark mode"
}
Response:
{
"ok": true
}
---
DELETE /v1/memory/entries/{id}
Delete a memory entry
Capability ID: system.memory.entries.delete Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"ok": true
}
---
GET /v1/memory/entries
List all core memory entries (optional ?project= filter)
Capability ID: system.memory.entries.list Auth: apiKey Permission: memory.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"entries": []
}
---
PUT /v1/memory/entries/{id}
Update fact text and/or pin state for an entry
Capability ID: system.memory.entries.update Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fact": {
"type": "string"
},
"pinned": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
update
Request:
{
"pinned": true
}
Response:
{
"entry": {}
}
---
POST /v1/memory/init
Bootstrap memory from context documents via LLM extraction
Capability ID: system.memory.init Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"documents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"source": {
"type": "string"
}
},
"additionalProperties": false
}
},
"model": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
init
Request:
{
"documents": []
}
Response:
{
"status": "ok"
}
---
POST /v1/memory/pending/{id}/approve
Approve a pending memory write (unified queue or legacy)
Capability ID: system.memory.pending.approve Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
approve
Request:
{}
Response:
{
"status": "approved"
}
---
GET /v1/memory/pending
List pending memory writes (unified queue + legacy)
Capability ID: system.memory.pending.list Auth: apiKey Permission: memory.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
pending
Request:
{}
Response:
{
"pending": []
}
---
POST /v1/memory/pending/{id}/reject
Reject a pending memory write
Capability ID: system.memory.pending.reject Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
reject
Request:
{}
Response:
{
"status": "rejected"
}
---
POST /v1/memory/query
Relevance-scored memory query (top-N matches)
Capability ID: system.memory.query Auth: apiKey Permission: memory.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agent_id": {
"type": "string"
},
"query": {
"type": "string"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"project": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
query
Request:
{
"query": "user prefs"
}
Response:
{
"results": []
}
---
GET /v1/memory/shared/entries
List shared memory entries plus pending approval count
Capability ID: system.memory.shared.list Auth: apiKey Permission: memory.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"entries": []
}
---
POST /v1/memory/shared/store
Store a tenant-wide shared memory entry (may queue for approval)
Capability ID: system.memory.shared.store Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fact": {
"type": "string"
},
"context": {
"type": "string"
},
"block": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
store
Request:
{
"fact": "fact"
}
Response:
{
"ok": true
}
---
POST /v1/memory/store
Append a core memory entry (canonical path)
Capability ID: system.memory.store Auth: apiKey Permission: memory.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"fact": {
"type": "string"
},
"context": {
"type": "string"
},
"block": {
"type": "string"
},
"pinned": {
"type": "boolean"
},
"project": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
store
Request:
{
"fact": "User prefers dark mode"
}
Response:
{
"ok": true
}
---
GET /v1/mesh/agents
List registered agents in the mesh for this tenant
Capability ID: system.mesh.agents.list Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"agents": []
}
---
POST /v1/mesh/check
Evaluate a mesh access decision for source → destination
Capability ID: system.mesh.check Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"sourceSpiffeId": {
"type": "string",
"minLength": 1
},
"destinationSpiffeIdOrHostname": {
"type": "string",
"minLength": 1
}
},
"required": ["sourceSpiffeId", "destinationSpiffeIdOrHostname"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
check
Request:
{
"sourceSpiffeId": "s",
"destinationSpiffeIdOrHostname": "d"
}
Response:
{
"effect": "allow"
}
---
POST /v1/mesh/deregister
Deregister an agent from the mesh (mTLS required)
Capability ID: system.mesh.deregister Auth: mtls Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"hostname": {
"type": "string",
"minLength": 1
}
},
"required": ["hostname"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
dereg
Request:
{
"hostname": "h"
}
Response:
{
"ok": true
}
---
POST /v1/mesh/execute
Run a DAG-based mesh workflow, streaming step progress as SSE
Capability ID: system.mesh.execute Auth: apiKey Permission: mesh.execute
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
exec
Request:
{
"workflow": {
"id": "w",
"name": "n",
"steps": []
}
}
Response:
{
"workflow_id": "w"
}
---
GET /v1/mesh/forensics/{id}
Get a single forensic snapshot by id
Capability ID: system.mesh.forensics.get Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"snapshot": {}
}
---
GET /v1/mesh/forensics
List forensic snapshots for the tenant
Capability ID: system.mesh.forensics.list Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"snapshots": []
}
---
GET /v1/mesh/graph
Current mesh graph snapshot for this tenant
Capability ID: system.mesh.graph Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
graph
Request:
{}
Response:
{}
---
GET /v1/mesh/graph/history
Historical mesh graph snapshots over the last N hours
Capability ID: system.mesh.graph.history Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
history
Request:
{}
Response:
{
"snapshots": []
}
---
POST /v1/mesh/heartbeat
Send a liveness heartbeat for the calling agent (mTLS required)
Capability ID: system.mesh.heartbeat Auth: mtls Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"hostname": {
"type": "string",
"minLength": 1
}
},
"required": ["hostname"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
hb
Request:
{
"hostname": "h"
}
Response:
{
"ok": true
}
---
POST /v1/mesh/invoke/{hostname}
Proxy an A2A call through the mesh (mTLS required)
Capability ID: system.mesh.invoke Auth: mtls Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
invoke
Request:
{}
Response:
{
"success": true
}
---
POST /v1/mesh/invoke-did/{target_did}
Resolve a target DID via the Capability Registry and forward the invocation to the owning product (v0.3 P6.3)
Capability ID: system.mesh.invoke_did Auth: agentJwt Permission: mesh.invoke
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"capability": {
"type": "string",
"minLength": 1
},
"input": {},
"task_id": {
"type": "string"
}
},
"required": ["capability"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
invoke
Request:
{
"capability": "agent.list_devices",
"input": {
"query": "macs"
}
}
Response:
{
"ok": true
}
---
POST /v1/mesh/policies
Create a mesh allow/deny policy
Capability ID: system.mesh.policies.create Auth: apiKey Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"sourcePattern": {
"type": "string",
"minLength": 1
},
"destinationPattern": {
"type": "string",
"minLength": 1
},
"effect": {
"type": "string",
"enum": ["allow", "deny"]
},
"priority": {
"type": "number"
},
"description": {
"type": "string"
}
},
"required": ["sourcePattern", "destinationPattern", "effect"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"sourcePattern": "*",
"destinationPattern": "*",
"effect": "allow"
}
Response:
{
"policy": {}
}
---
DELETE /v1/mesh/policies/{id}
Delete a mesh policy by id
Capability ID: system.mesh.policies.delete Auth: apiKey Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
del
Request:
{}
Response:
{
"ok": true
}
---
GET /v1/mesh/policies
List mesh RBAC policies
Capability ID: system.mesh.policies.list Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"policies": []
}
---
POST /v1/mesh/profiles
Create a mesh behavioral profile
Capability ID: system.mesh.profiles.create Auth: apiKey Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"role": {
"type": "string",
"minLength": 1
},
"maxRps": {
"type": "number"
},
"maxPayloadBytes": {
"type": "number"
},
"allowedDestinations": {
"type": "array",
"items": {
"type": "string"
}
},
"maxFanOut": {
"type": "number"
},
"maxRequestsPerWindow": {
"type": "number"
},
"windowSeconds": {
"type": "number"
}
},
"required": ["role"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"role": "agent"
}
Response:
{
"profile": {}
}
---
DELETE /v1/mesh/profiles/{role}
Delete a mesh behavioral profile by role
Capability ID: system.mesh.profiles.delete Auth: apiKey Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
del
Request:
{}
Response:
{
"ok": true
}
---
GET /v1/mesh/profiles
List mesh behavioral profiles
Capability ID: system.mesh.profiles.list Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"profiles": []
}
---
POST /v1/mesh/register
Register an agent in the service mesh (mTLS required)
Capability ID: system.mesh.register Auth: mtls Permission: mesh.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"hostname": {
"type": "string",
"minLength": 1
},
"endpoint": {
"type": "string",
"minLength": 1
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"machine_id_fingerprint": {
"type": "string",
"minLength": 1
}
},
"required": ["hostname", "endpoint"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
register
Request:
{
"hostname": "h",
"endpoint": "https://..."
}
Response:
{
"agent": {}
}
---
GET /v1/mesh/resolve/{hostname}
Resolve a mesh hostname to its agent registration
Capability ID: system.mesh.resolve Auth: apiKey Permission: mesh.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
resolve
Request:
{}
Response:
{
"agent": {}
}
---
GET /metrics
Prometheus-compatible metrics endpoint (text exposition format)
Capability ID: system.metrics Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
scrape
Request:
{}
Response:
{}
---
GET /v1/models/leaderboard
Per-model performance rankings across reward, quality, speed, value, reliability
Capability ID: system.models_leaderboard Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
default
Request:
{}
Response:
{
"object": "list",
"data": [],
"sort_by": "overall",
"model_count": 0
}
---
GET /v1/models/{provider}/{modelId}/capabilities
Per-model capability profile: catalog flags + production quality/latency/success metrics
Capability ID: system.models.capabilities Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"modelId": {
"type": "string"
},
"window": {
"type": "string"
}
},
"required": ["provider", "modelId"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
lookup
Request:
{
"provider": "openai",
"modelId": "gpt-4o"
}
Response:
{
"model": "openai/gpt-4o",
"catalog": {
"supports_tools": true
},
"production": {
"sample_count": 0
}
}
---
GET /v1/models
List available models for the authenticated tenant (auto-detects OpenAI vs Anthropic format)
Capability ID: system.models.list Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"includeUnhealthy": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
openai-format
Request:
{}
Response:
{
"object": "list",
"data": []
}
---
POST /v1/oauth/apps
Register an OAuth app (developer-facing)
Capability ID: system.oauth.apps.create Auth: apiKey Permission: oauth.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"callback_urls": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"website_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"name": "My App",
"callback_urls": ["https://example.com/cb"]
}
Response:
{
"id": "..."
}
---
DELETE /v1/oauth/apps/{id}
Revoke an OAuth app (soft delete — sets active=false)
Capability ID: system.oauth.apps.delete Auth: apiKey Permission: oauth.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"ok": true
}
---
GET /v1/oauth/apps
List OAuth apps for the tenant
Capability ID: system.oauth.apps.list Auth: apiKey Permission: oauth.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"apps": [],
"total": 0
}
---
POST /v1/observability/destinations
Add a broadcast destination
Capability ID: system.observability.addDestination Auth: apiKey Permission: observability.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"event_types": {
"type": "array",
"items": {
"type": "string"
}
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"batch": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"filter_rules": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
add
Request:
{
"name": "Webhook",
"type": "webhook",
"config": {
"url": "https://example.com"
}
}
Response:
{
"destination": {}
}
---
DELETE /v1/observability/destinations/{id}
Remove a broadcast destination
Capability ID: system.observability.deleteDestination Auth: apiKey Permission: observability.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"status": "removed"
}
---
GET /v1/observability/config
Get the full broadcast config (enabled + destinations)
Capability ID: system.observability.getConfig Auth: apiKey Permission: observability.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"config": {}
}
---
GET /v1/observability/templates/{provider}
Get a single integration template (config schema + example)
Capability ID: system.observability.getTemplate Auth: apiKey Permission: observability.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"template": {}
}
---
GET /v1/observability/destinations
List configured broadcast destinations for the tenant
Capability ID: system.observability.listDestinations Auth: apiKey Permission: observability.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"destinations": []
}
---
GET /v1/observability/templates
List available integration template names
Capability ID: system.observability.listTemplates Auth: apiKey Permission: observability.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"templates": []
}
---
GET /v1/observability
Observability surface summary (broadcast state + destination count + sub-endpoints)
Capability ID: system.observability.summary Auth: apiKey Permission: observability.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
summary
Request:
{}
Response:
{
"enabled": false,
"destination_count": 0,
"endpoints": {}
}
---
POST /v1/observability/test/{id}
Send a synthetic event to verify a destination is reachable
Capability ID: system.observability.testDestination Auth: apiKey Permission: observability.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
test
Request:
{}
Response:
{
"status": "sent"
}
---
PUT /v1/observability/config
Enable or disable broadcasting for the tenant
Capability ID: system.observability.updateConfig Auth: apiKey Permission: observability.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
update
Request:
{
"enabled": true
}
Response:
{
"enabled": true
}
---
PUT /v1/observability/destinations/{id}
Update a broadcast destination
Capability ID: system.observability.updateDestination Auth: apiKey Permission: observability.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"event_types": {
"type": "array",
"items": {
"type": "string"
}
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"batch": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"filter_rules": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
update
Request:
{}
Response:
{
"destination": {}
}
---
POST /v1/onboard
Personalized one-call agent setup: identity, models, tools, budget, bootstrap path
Capability ID: system.onboard Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"agent_name": {
"type": "string"
},
"preferred_tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"budget_hint": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
minimal
Request:
{}
Response:
{
"identity": {},
"recommended_models": [],
"mcp_tools": []
}
---
GET /v1/operator-registry/list
List operator-facing god-mode capabilities from the platform operator-capability registry (v0.5 M00a SoR). Used by the HAI chat dispatcher + capability browser.
Capability ID: system.operator_registry.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"product": {
"type": "string"
},
"persona": {
"type": "string"
},
"include_superseded": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"capabilities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"capability_id": {
"type": "string"
},
"product": {
"type": "string"
},
"persona": {
"type": "string"
},
"chat_posture": {
"type": "string",
"enum": ["direct-read", "changeset-write", "prohibited"]
},
"requires_changeset": {
"type": "boolean"
},
"status": {
"type": "string"
},
"superseded_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"registered_at": {
"type": "string"
},
"last_heartbeat_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"is_fresh": {
"type": "boolean"
}
},
"required": [
"capability_id",
"product",
"persona",
"chat_posture",
"requires_changeset",
"status",
"superseded_by",
"registered_at",
"last_heartbeat_at",
"is_fresh"
],
"additionalProperties": false
}
},
"count": {
"type": "number"
},
"fresh_count": {
"type": "number"
},
"stale_count": {
"type": "number"
},
"schema_version": {
"type": "number",
"const": 1
}
},
"required": ["capabilities", "count", "fresh_count", "stale_count", "schema_version"],
"additionalProperties": false
}
Examples
list-all-operator-caps
Request:
{}
Response:
{
"capabilities": [
{
"capability_id": "msp.users.list",
"product": "msp",
"persona": "user",
"chat_posture": "direct-read",
"requires_changeset": false,
"status": "active",
"superseded_by": null,
"registered_at": "2026-05-19T12:00:00Z",
"last_heartbeat_at": "2026-05-19T12:04:30Z",
"is_fresh": true
}
],
"count": 1,
"fresh_count": 1,
"stale_count": 0,
"schema_version": 1
}
---
GET /v1/ops/alert-log
Recent alert-delivery receipts + last delivery timestamp — proves SNS alarms actually reach a subscriber
Capability ID: system.ops.alertLog Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
recent-receipts
Request:
{}
Response:
{
"last_alert_delivery": "2026-08-09T12:00:00.000Z",
"count": 1,
"redis_available": true,
"receipts": [
{
"alarm_name": "br-prod-soak-test-failure",
"new_state": "ALARM",
"reason": "Threshold Crossed",
"received_at": "2026-08-09T12:00:00.000Z"
}
]
}
---
GET /v1/ops/build
Authenticated runtime build identity for evidence-gated production verification
Capability ID: system.ops.build Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
runtime-identity
Request:
{}
Response:
{
"gate": "G1",
"closes": "G1 merged-vs-running gate",
"commit_sha": "d256ac285ac5a5c48e4015bc3cf0937a0db6c3b6",
"built_at": "2026-05-22T00:00:00.000Z",
"image_digest": "sha256:...",
"node_version": "v22.22.0"
}
---
POST /v1/ops/circuit/reset
Manually reset circuit breakers (endpoint, provider, or all). Admin-only.
Capability ID: system.ops.circuit.reset Auth: apiKey Permission: router.admin
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"endpointId": {
"type": "string"
},
"provider": {
"type": "string"
},
"all": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"reset": {
"type": "array",
"items": {
"type": "string"
}
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["reset", "count"],
"additionalProperties": false
}
Examples
single-endpoint
Request:
{
"endpointId": "google::gemini-2.5-flash"
}
Response:
{
"reset": ["google::gemini-2.5-flash"],
"count": 1
}
---
POST /v1/ops/diagnose
Run provider-doctor against the fleet; returns structured diagnoses + remediations
Capability ID: system.ops.diagnose Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
healthy-fleet
Request:
{}
Response:
{
"providers": [],
"summary": {
"healthy": 0
}
}
---
GET /v1/ops/diagnose
GET alias for /v1/ops/diagnose (read-only fleet diagnosis)
Capability ID: system.ops.diagnose.get Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
healthy-fleet
Request:
{}
Response:
{
"providers": [],
"summary": {
"healthy": 0
}
}
---
GET /v1/ops/status
Single-pane-of-glass status: providers, endpoints, budget, usage
Capability ID: system.ops.status Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
ready
Request:
{}
Response:
{
"status": "ready",
"providers": {},
"endpoints": {},
"budget": {},
"usage": {}
}
---
DELETE /v1/presets/{slug}
Archive a routing preset (soft-delete)
Capability ID: system.presets.archive Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
archive
Request:
{}
Response:
{
"slug": "prod",
"status": "archived"
}
---
POST /v1/presets
Create a routing preset (saved @preset/ configuration)
Capability ID: system.presets.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?$"
},
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"model": {
"type": "string",
"minLength": 1
},
"strategy": {
"type": "string",
"enum": ["price", "latency", "throughput", "priority", "quality", "cascade"]
},
"fallbacks": {
"type": "array",
"items": {
"type": "string"
}
},
"provider_allow": {
"type": "array",
"items": {
"type": "string"
}
},
"provider_deny": {
"type": "array",
"items": {
"type": "string"
}
},
"max_cost_usd": {
"type": "number",
"minimum": 0
},
"variant": {
"type": "string"
}
},
"required": ["slug", "name", "model"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"slug": "prod",
"name": "Prod",
"model": "anthropic/claude-sonnet-4"
}
Response:
{
"preset": {
"slug": "prod"
}
}
---
GET /v1/presets/{slug}
Get a routing preset by slug
Capability ID: system.presets.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"preset": {
"slug": "prod"
}
}
---
GET /v1/presets
List active routing presets for the tenant
Capability ID: system.presets.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"presets": [],
"count": 0
}
---
PUT /v1/presets/{slug}
Update a routing preset (partial)
Capability ID: system.presets.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"model": {
"type": "string",
"minLength": 1
},
"strategy": {
"type": "string",
"enum": ["price", "latency", "throughput", "priority", "quality", "cascade"]
},
"fallbacks": {
"type": "array",
"items": {
"type": "string"
}
},
"provider_allow": {
"type": "array",
"items": {
"type": "string"
}
},
"provider_deny": {
"type": "array",
"items": {
"type": "string"
}
},
"max_cost_usd": {
"type": "number",
"minimum": 0
},
"variant": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
rename
Request:
{
"name": "Prod-v2"
}
Response:
{
"preset": {
"slug": "prod"
}
}
---
GET /v1/projects/{id}/activity
Get recent activity for a project (filterable by ?since=1h)
Capability ID: system.projects.activity_get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
since-1h
Request:
{}
Response:
{
"active_sessions": []
}
---
POST /v1/projects/{id}/activity
Report an activity record for a project
Capability ID: system.projects.activity_post Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"user": {
"type": "string"
},
"session_id": {
"type": "string"
},
"started_at": {
"type": "string"
},
"current_task": {
"type": "string"
},
"files_modified": {
"type": "array",
"items": {
"type": "string"
}
},
"cost_so_far": {
"type": "number"
},
"model_used": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
report
Request:
{
"user": "alice",
"current_task": "refactor"
}
Response:
{
"user": "alice"
}
---
DELETE /v1/projects/{id}
Archive a project (soft-delete)
Capability ID: system.projects.archive Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
archive
Request:
{}
Response:
{
"id": "p_1",
"status": "archived"
}
---
GET /v1/projects/{id}/config
Get a project's routing config
Capability ID: system.projects.config_get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"projectId": "p_1"
}
---
POST /v1/projects/{id}/config
Set project routing config (default model, budget, conventions, etc.)
Capability ID: system.projects.config_set Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"default_model": {
"type": "string"
},
"budget_daily_usd": {
"type": "number"
},
"routing_strategy": {
"type": "string"
},
"guardrails": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "boolean"
}
},
"conventions": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"protected_paths": {
"type": "array",
"items": {
"type": "string"
}
},
"team_members": {
"type": "array",
"items": {
"type": "string"
}
},
"cost_center": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
set
Request:
{
"default_model": "auto"
}
Response:
{
"projectId": "p_1"
}
---
POST /v1/projects
Create a project under an existing workspace
Capability ID: system.projects.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"workspaceId": {
"type": "string"
},
"slug": {
"type": "string"
},
"description": {
"type": "string"
},
"settings": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["name", "workspaceId"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"name": "Demo",
"workspaceId": "ws_1"
}
Response:
{
"id": "p_1"
}
---
GET /v1/projects/{id}
Get a project by id
Capability ID: system.projects.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"id": "p_1"
}
---
GET /v1/projects
List active projects (optionally filtered by ?workspaceId=)
Capability ID: system.projects.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"projects": [],
"count": 0
}
---
GET /v1/projects/registry/{name}
Get a single registered project by name (404 on missing)
Capability ID: system.projects.registry.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": ["name"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
lookup
Request:
{
"name": "demo"
}
Response:
{
"name": "demo",
"created_at": "2026-01-01T00:00:00Z"
}
---
GET /v1/projects/registry
List registered projects for the current tenant
Capability ID: system.projects.registry.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"projects": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["projects", "total"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"projects": [],
"total": 0
}
---
PUT /v1/projects/registry/{name}
Update project metadata (404 on missing)
Capability ID: system.projects.registry.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"description": {
"type": "string"
},
"budget_daily": {
"type": "number"
},
"budget_monthly": {
"type": "number"
}
},
"required": ["name"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"project": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["ok", "project"],
"additionalProperties": false
}
Examples
update
Request:
{
"name": "demo",
"description": "Updated"
}
Response:
{
"ok": true,
"project": {
"name": "demo"
}
}
---
POST /v1/projects/registry
Register or sync a project (upsert by name; 201 on create, 200 on update)
Capability ID: system.projects.registry.upsert Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"description": {
"type": "string"
},
"budget_daily": {
"type": "number"
},
"budget_monthly": {
"type": "number"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
register
Request:
{
"name": "demo"
}
Response:
{
"ok": true,
"project": {
"name": "demo"
},
"created": true
}
---
PUT /v1/projects/{id}
Update a project (partial)
Capability ID: system.projects.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"description": {
"type": "string"
},
"settings": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"workspaceId": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
rename
Request:
{
"name": "Demo v2"
}
Response:
{
"id": "p_1"
}
---
GET /v1/prompts/{id}/ab
Get A/B test results for a prompt
Capability ID: system.prompts.ab.get Auth: apiKey Permission: prompts.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
ab-get
Request:
{}
Response:
{
"winner": null
}
---
POST /v1/prompts/{id}/ab
Start or stop an A/B test for a prompt
Capability ID: system.prompts.ab.set Auth: apiKey Permission: prompts.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": ["start", "stop"]
},
"version_a": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"version_b": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"split_ratio": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": ["action"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
start
Request:
{
"action": "start",
"version_a": 1,
"version_b": 2
}
Response:
{
"status": "ok"
}
---
DELETE /v1/prompts/{id}
Archive a prompt template (soft delete)
Capability ID: system.prompts.archive Auth: apiKey Permission: prompts.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
archive
Request:
{}
Response:
{
"status": "archived"
}
---
POST /v1/prompts
Create a versioned prompt template
Capability ID: system.prompts.create Auth: apiKey Permission: prompts.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"template": {
"type": "string",
"minLength": 1
},
"variables": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"environment": {
"type": "string",
"enum": ["dev", "staging", "prod"]
},
"change_note": {
"type": "string"
}
},
"required": ["id", "template"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"id": "greeting",
"template": "Hello {{name}}"
}
Response:
{
"id": "greeting",
"version": 1
}
---
GET /v1/prompts/{id}/diff
Unified diff between two versions of a prompt
Capability ID: system.prompts.diff Auth: apiKey Permission: prompts.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
diff
Request:
{}
Response:
{
"diff": ""
}
---
GET /v1/prompts/{id}/evaluate/results/{runId}/export
Export a single evaluation run as JSON or CSV
Capability ID: system.prompts.evalExport Auth: apiKey Permission: prompts.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
export
Request:
{}
Response:
{}
---
GET /v1/prompts/{id}/evaluate/results
List recent evaluation runs for a prompt with aggregate metrics
Capability ID: system.prompts.evalResults Auth: apiKey Permission: prompts.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
results
Request:
{}
Response:
{
"runs": [],
"count": 0
}
---
POST /v1/prompts/{id}/evaluate
Run a prompt against test cases with a chosen scorer
Capability ID: system.prompts.evaluate Auth: apiKey Permission: prompts.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"test_cases": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"input": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"expected_output": {
"type": "string"
}
},
"required": ["input"],
"additionalProperties": false
}
},
"model": {
"type": "string"
},
"scorer": {
"type": "string",
"enum": ["exact_match", "contains", "validity", "llm_judge"]
},
"store": {
"type": "boolean"
}
},
"required": ["test_cases"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
evaluate
Request:
{
"test_cases": [
{
"input": {}
}
]
}
Response:
{
"run_id": "",
"pass_count": 0
}
---
GET /v1/prompts/{id}
Get a prompt template with its full version history
Capability ID: system.prompts.get Auth: apiKey Permission: prompts.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"id": "",
"versions": []
}
---
GET /v1/prompts
List all prompt templates for the tenant
Capability ID: system.prompts.list Auth: apiKey Permission: prompts.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"prompts": [],
"count": 0
}
---
POST /v1/prompts/{id}/promote
Promote a prompt version to a higher environment
Capability ID: system.prompts.promote Auth: apiKey Permission: prompts.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"target_environment": {
"type": "string",
"enum": ["dev", "staging", "prod"]
}
},
"required": ["version", "target_environment"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
promote
Request:
{
"version": 1,
"target_environment": "prod"
}
Response:
{
"environment": "prod"
}
---
POST /v1/prompts/{id}/test
Test-resolve a prompt template with the given variables
Capability ID: system.prompts.test Auth: apiKey Permission: prompts.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"variables": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"environment": {
"type": "string",
"enum": ["dev", "staging", "prod"]
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
test
Request:
{
"variables": {
"name": "World"
}
}
Response:
{
"resolved_text": ""
}
---
PUT /v1/prompts/{id}
Update a prompt — auto-creates a new version
Capability ID: system.prompts.update Auth: apiKey Permission: prompts.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"template": {
"type": "string",
"minLength": 1
},
"variables": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"environment": {
"type": "string",
"enum": ["dev", "staging", "prod"]
},
"change_note": {
"type": "string"
}
},
"required": ["template"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
update
Request:
{
"template": "Hi {{name}}"
}
Response:
{
"version": 2
}
---
POST /v1/providers/batch
Register up to 10 provider keys in one call (returns 207)
Capability ID: system.providers.batch Auth: apiKey Permission: providers.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"api_key": {
"type": "string"
},
"test_first": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
batch
Request:
{
"providers": []
}
Response:
{
"results": []
}
---
GET /v1/providers/catalog
Public catalog of supported provider IDs and base URLs
Capability ID: system.providers.catalog Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
catalog
Request:
{}
Response:
{
"providers": []
}
---
DELETE /v1/providers/{providerId}
Remove a provider key by provider name
Capability ID: system.providers.delete Auth: apiKey Permission: providers.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"ok": true
}
---
GET /v1/providers
List configured providers for the tenant (admin/operator only)
Capability ID: system.providers.list Auth: apiKey Permission: providers.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"providers": []
}
---
POST /v1/providers
Store an encrypted provider API key for the tenant
Capability ID: system.providers.register Auth: apiKey Permission: providers.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"api_key": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
register
Request:
{
"provider": "anthropic",
"api_key": "sk-..."
}
Response:
{
"id": ""
}
---
POST /v1/providers/test
Validate a provider API key with a lightweight live request
Capability ID: system.providers.test Auth: apiKey Permission: providers.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"api_key": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
test
Request:
{
"provider": "anthropic",
"api_key": "sk-..."
}
Response:
{}
---
GET /v1/rbac/my-permissions
Caller's RBAC posture — roles, granted/denied permissions, upgrade paths
Capability ID: system.rbac.my_permissions Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"principal_id": {
"type": "string"
},
"auth_method": {
"type": "string"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"denied_permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"upgrade_paths": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"requires_role": {
"type": "array",
"items": {
"type": "string"
}
},
"self_service_possible": {
"type": "boolean"
},
"recommended_action": {
"type": "string"
}
},
"required": ["requires_role", "self_service_possible", "recommended_action"],
"additionalProperties": false
}
},
"deprecation_warnings": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"principal_id",
"auth_method",
"roles",
"permissions",
"denied_permissions",
"upgrade_paths",
"deprecation_warnings"
],
"additionalProperties": false
}
Examples
developer
Request:
{}
Response:
{
"principal_id": "key_abc",
"auth_method": "api_key",
"roles": ["developer"],
"permissions": ["router.read"],
"denied_permissions": ["config.write"],
"upgrade_paths": {
"config.write": {
"requires_role": ["admin"],
"self_service_possible": false,
"recommended_action": "Ask a tenant admin to grant the admin role"
}
},
"deprecation_warnings": []
}
---
POST /v1/register
Machine registration — create tenant + admin user + API key atomically
Capability ID: system.register Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"invite_code": {
"type": "string",
"minLength": 1
},
"tenant_name": {
"type": "string",
"minLength": 1
},
"admin_email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"key_name": {
"default": "Auto-provisioned",
"type": "string"
},
"accept_tos": {
"type": "boolean",
"const": true
},
"tenant_slug": {
"type": "string"
}
},
"required": ["tenant_name", "key_name", "accept_tos"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
register-sandbox
Request:
{
"tenant_name": "Scout Agent",
"key_name": "Auto-provisioned",
"accept_tos": true
}
Response:
{
"tenant": {
"id": "tenant_x",
"plan": "sandbox"
}
}
register-invite
Request:
{
"invite_code": "abc",
"tenant_name": "Acme",
"admin_email": "ops@acme.com",
"key_name": "Auto-provisioned",
"accept_tos": true
}
Response:
{
"tenant": {
"id": "tenant_x",
"plan": "free"
}
}
---
GET /v1/replays/compare
Compare routing strategies side-by-side on recorded traffic
Capability ID: system.replays.compare Auth: apiKey Permission: replays.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
compare
Request:
{}
Response:
{
"strategies": []
}
---
GET /v1/replays/decisions
List recorded routing decisions for the tenant
Capability ID: system.replays.decisions Auth: apiKey Permission: replays.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"decisions": [],
"count": 0
}
---
POST /v1/replays/simulate
Simulate alternative routing strategy on recorded traffic
Capability ID: system.replays.simulate Auth: apiKey Permission: replays.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"strategy": {
"type": "string",
"enum": ["price", "latency", "throughput", "priority", "quality", "cascade"]
},
"since": {
"type": "string"
},
"until": {
"type": "string"
}
},
"required": ["strategy"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
sim
Request:
{
"strategy": "price"
}
Response:
{
"period": {}
}
---
GET /v1/self
Agent self-awareness — identity, health, budget, memory, suggestions
Capability ID: system.self Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
self
Request:
{}
Response:
{
"identity": {}
}
---
GET /v1/sessions/latest
Get the most recently updated session for a project
Capability ID: system.sessions.latest Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
latest
Request:
{}
Response:
{
"session_id": "s_1"
}
---
POST /v1/sessions/{id}/state
Save session state (≤1MB blob, upserts by session id)
Capability ID: system.sessions.save Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
save
Request:
{
"project": {
"name": "demo"
}
}
Response:
{
"session_id": "s_1",
"saved_at": "2026-01-01T00:00:00Z"
}
---
POST /v1/signup
Initiate signup: send 6-digit verification code to email
Capability ID: system.signup.start Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"
},
"tenant_name": {
"type": "string",
"minLength": 1
},
"force": {
"type": "boolean"
}
},
"required": ["email", "tenant_name"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
start
Request:
{
"email": "user@example.com",
"tenant_name": "Acme"
}
Response:
{
"message": "Verification code sent. Check your email.",
"email": "user@example.com"
}
---
POST /v1/signup/verify
Verify code → create tenant + user + API key atomically
Capability ID: system.signup.verify Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"minLength": 1
},
"code": {
"type": "string",
"minLength": 1
}
},
"required": ["email", "code"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
verify
Request:
{
"email": "user@example.com",
"code": "123456"
}
Response:
{
"tenant": {
"id": "tenant_x"
}
}
---
GET /v1/sleep-time/config
Get the tenant's sleep-time refinement configuration
Capability ID: system.sleep_time.config.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"config": {
"enabled": false
}
}
---
PUT /v1/sleep-time/config
Update the tenant's sleep-time refinement configuration
Capability ID: system.sleep_time.config.set Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"model": {
"type": "string"
},
"max_daily_budget_usd": {
"type": "number"
},
"min_idle_minutes": {
"type": "number"
},
"max_archival_entries": {
"type": "number"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
enable
Request:
{
"enabled": true
}
Response:
{
"config": {
"enabled": true
}
}
---
POST /v1/sleep-time/run
Trigger an immediate sleep-time memory refinement pass
Capability ID: system.sleep_time.run Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
run
Request:
{}
Response:
{
"result": {
"status": "ok"
}
}
---
GET /v1/agent/task-runs
Query task-run history (filter by project, limit)
Capability ID: system.task_runs.query Auth: apiKey Permission: router.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"project": {
"type": "string"
},
"limit": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"runs": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["runs", "total", "limit"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"runs": [],
"total": 0,
"limit": 20
}
---
POST /v1/agent/task-runs
Report a completed task run (Brainstorm CLI integration; 201)
Capability ID: system.task_runs.report Auth: apiKey Permission: router.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"task_name": {
"type": "string"
},
"project": {
"type": "string"
},
"status": {
"type": "string"
},
"trigger_type": {
"type": "string"
},
"cost": {
"type": "number"
},
"turns_used": {
"type": "number"
},
"duration_ms": {
"type": "number"
},
"model_used": {
"type": "string"
},
"cron_expression": {
"type": "string"
},
"allow_mutations": {
"type": "boolean"
},
"timestamp": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
report
Request:
{
"task_name": "build",
"status": "completed"
}
Response:
{
"ok": true,
"id": "abc"
}
---
POST /v1/tasks
Schedule a background agent task (cron-scheduled prompt)
Capability ID: system.tasks.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"prompt": {
"type": "string"
},
"schedule": {
"type": "string"
},
"model": {
"type": "string"
},
"conversation_id": {
"type": "string"
},
"description": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
hourly
Request:
{
"name": "summary",
"prompt": "Summarize today",
"schedule": "0 * * * *"
}
Response:
{
"task": {
"id": "tsk_1"
}
}
---
DELETE /v1/tasks/{id}
Cancel a scheduled background task
Capability ID: system.tasks.delete Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"ok": true,
"id": "tsk_1"
}
---
GET /v1/tasks
List all background tasks for the tenant
Capability ID: system.tasks.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"tasks": [],
"total": 0
}
---
GET /v1/telemetry/live
SSE telemetry stream: model health, budget alerts, routing decisions
Capability ID: system.telemetry.live Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
stream
Request:
{}
Response:
{}
---
GET /v1/tenant/context
Canonical tenant-context resolver: {workspace, products, entitlements, residency, members}. v0.4 P2 M24.
Capability ID: system.tenant.context Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"tenant_id": {
"type": "string"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"workspace": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"plan": {
"type": "string"
},
"residency": {
"type": "string"
}
},
"required": ["id", "plan", "residency"],
"additionalProperties": false
},
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"status": {
"type": "string",
"enum": ["online", "degraded", "offline"]
},
"capabilities_count": {
"type": "number"
}
},
"required": ["name", "status", "capabilities_count"],
"additionalProperties": false
}
},
"entitlements": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"members": {
"type": "array",
"items": {
"type": "object",
"properties": {
"user_id": {
"type": "string"
},
"role": {
"type": "string"
}
},
"required": ["user_id", "role"],
"additionalProperties": false
}
},
"schema_version": {
"type": "number",
"const": 1
}
},
"required": [
"tenant_id",
"slug",
"name",
"status",
"workspace",
"products",
"entitlements",
"members",
"schema_version"
],
"additionalProperties": false
}
Examples
operator-fetches-own-tenant
Request:
{}
Response:
{
"tenant_id": "t_1",
"slug": "demo",
"name": "Demo Tenant",
"status": "active",
"workspace": {
"id": "w_1",
"plan": "starter",
"residency": "us-east-1"
},
"products": [
{
"name": "msp",
"status": "online",
"capabilities_count": 45
},
{
"name": "vm",
"status": "online",
"capabilities_count": 32
},
{
"name": "br",
"status": "online",
"capabilities_count": 117
}
],
"entitlements": {
"agent_seats": 50,
"max_workspaces": 5
},
"members": [
{
"user_id": "u_1",
"role": "admin"
}
],
"schema_version": 1
}
---
GET /v1/tos
Returns current Terms of Service version, summary, and URL
Capability ID: system.tos Auth: none
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "string"
},
"summary": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": ["version", "summary", "url"],
"additionalProperties": false
}
Examples
current
Request:
{}
Response:
{
"version": "1.0",
"summary": "BrainstormRouter routes your AI traffic — you provide your own LLM API keys (BYOK).\nYou retain ownership of all data sent through the platform.\nUsage is metered and billed per your plan; budget limits are enforced in real time.\nAbuse (credential stuffing, DDoS, reverse-engineering) will result in termination.\nWe may update these terms with 30 days notice; continued use constitutes acceptance.",
"url": "https://brainstormrouter.com/legal/terms"
}
---
GET /v1/usage/by-cost-center
Aggregated spend per cost center for the period
Capability ID: system.usage.by_cost_center Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
month
Request:
{}
Response:
{
"period": "month",
"data": []
}
---
GET /v1/usage/by-owner
Aggregated spend per agent owner for the period
Capability ID: system.usage.by_owner Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
month
Request:
{}
Response:
{
"period": "month",
"data": []
}
---
POST /v1/usage/{requestId}/feedback
Submit quality feedback for a specific request
Capability ID: system.usage.feedback Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"score": {
"type": "number"
},
"comment": {
"type": "string"
},
"idempotency_key": {
"type": "string"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
positive
Request:
{
"score": 1
}
Response:
{
"ok": true
}
---
GET /v1/usage/models
Per-model usage breakdown for the current period
Capability ID: system.usage.models Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
month
Request:
{}
Response:
{
"period": "month",
"models": []
}
---
GET /v1/usage/spend
Total spend for the current billing period
Capability ID: system.usage.spend Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
month
Request:
{}
Response:
{
"period": "month"
}
---
GET /v1/usage/summary
Spend, request count, latency summary for the current period
Capability ID: system.usage.summary Auth: apiKey Permission: audit.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
month
Request:
{}
Response:
{
"period": "month",
"data": []
}
---
POST /v1/webhooks
Create a webhook subscription (returns secret once); 400 on SSRF-blocked URL
Capability ID: system.webhooks.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1
},
"events": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"completion.created",
"completion.error",
"provider.down",
"provider.recovered",
"budget.threshold",
"budget.exceeded",
"key.created",
"key.revoked",
"anomaly.detected"
]
}
}
},
"required": ["url", "events"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"url": "https://example.com",
"events": ["completion.created"]
}
Response:
{
"webhook": {
"id": "wh_1",
"secret": "..."
}
}
---
DELETE /v1/webhooks/{id}
Delete a webhook by ID (404 on missing)
Capability ID: system.webhooks.delete Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": ["id"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"deleted": {
"type": "boolean",
"const": true
},
"id": {
"type": "string"
}
},
"required": ["deleted", "id"],
"additionalProperties": false
}
Examples
delete
Request:
{
"id": "wh_1"
}
Response:
{
"deleted": true,
"id": "wh_1"
}
---
GET /v1/webhooks/{id}/deliveries
Recent delivery history for a webhook (last 50)
Capability ID: system.webhooks.deliveries Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": ["id"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"deliveries": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["deliveries", "total"],
"additionalProperties": false
}
Examples
empty
Request:
{
"id": "wh_1"
}
Response:
{
"deliveries": [],
"total": 0
}
---
GET /v1/webhooks
List webhook subscriptions for the current tenant
Capability ID: system.webhooks.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"webhooks": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": ["webhooks", "total"],
"additionalProperties": false
}
Examples
empty
Request:
{}
Response:
{
"webhooks": [],
"total": 0
}
---
POST /v1/webhooks/{id}/test
Send a test event to a webhook; records delivery row regardless of outcome
Capability ID: system.webhooks.test Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": ["id"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"test": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["test"],
"additionalProperties": false
}
Examples
test
Request:
{
"id": "wh_1"
}
Response:
{
"test": {
"succeeded": true,
"status_code": 200
}
}
---
PATCH /v1/webhooks/{id}
Update webhook URL/events/is_active (400 SSRF, 404 missing)
Capability ID: system.webhooks.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"minLength": 1
},
"events": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"completion.created",
"completion.error",
"provider.down",
"provider.recovered",
"budget.threshold",
"budget.exceeded",
"key.created",
"key.revoked",
"anomaly.detected"
]
}
},
"is_active": {
"type": "boolean"
}
},
"required": ["id"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
deactivate
Request:
{
"id": "wh_1",
"is_active": false
}
Response:
{
"webhook": {
"id": "wh_1",
"is_active": false
}
}
---
POST /v1/workflows/auto-select
Auto-select a workflow preset from a natural-language description
Capability ID: system.workflows.autoSelect Auth: apiKey Permission: workflows.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
auto
Request:
{
"description": "summarize this PDF"
}
Response:
{
"presetId": ""
}
---
POST /v1/workflows
Create a workflow definition (optionally cloned from a preset)
Capability ID: system.workflows.create Auth: apiKey Permission: workflows.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"name": "n"
}
Response:
{
"definition": {}
}
---
DELETE /v1/workflows/{id}
Delete a workflow definition
Capability ID: system.workflows.delete Auth: apiKey Permission: workflows.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
del
Request:
{}
Response:
{
"deleted": true
}
---
GET /v1/workflows/{id}
Get a workflow definition by id
Capability ID: system.workflows.get Auth: apiKey Permission: workflows.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"definition": {}
}
---
GET /v1/workflows
List workflow definitions for the tenant
Capability ID: system.workflows.list Auth: apiKey Permission: workflows.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"definitions": []
}
---
GET /v1/workflows/presets
List available workflow presets
Capability ID: system.workflows.presets.list Auth: apiKey Permission: workflows.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"presets": []
}
---
POST /v1/workflows/run
Run a workflow and stream events via SSE
Capability ID: system.workflows.run Auth: apiKey Permission: workflows.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
run
Request:
{
"description": "..."
}
Response:
{}
---
POST /v1/workflows/runs/{id}/cancel
Cancel a workflow run
Capability ID: system.workflows.runs.cancel Auth: apiKey Permission: workflows.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
cancel
Request:
{}
Response:
{
"cancelled": true
}
---
GET /v1/workflows/runs/{id}
Get a workflow run by id
Capability ID: system.workflows.runs.get Auth: apiKey Permission: workflows.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"run": {}
}
---
GET /v1/workflows/runs
List recent workflow runs for the tenant
Capability ID: system.workflows.runs.list Auth: apiKey Permission: workflows.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"runs": []
}
---
DELETE /v1/workspaces/{id}
Archive a workspace (soft-delete)
Capability ID: system.workspaces.archive Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
archive
Request:
{}
Response:
{
"id": "ws_1",
"status": "archived"
}
---
POST /v1/workspaces
Create a workspace under the tenant
Capability ID: system.workspaces.create Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"slug": {
"type": "string",
"maxLength": 255
},
"orgId": {
"type": "string"
},
"description": {
"type": "string",
"maxLength": 2000
},
"settings": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": ["name"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
create
Request:
{
"name": "Acme"
}
Response:
{
"id": "ws_1"
}
---
GET /v1/workspaces/{id}
Get a workspace by id
Capability ID: system.workspaces.get Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
get
Request:
{}
Response:
{
"id": "ws_1"
}
---
GET /v1/workspaces
List active workspaces for the tenant
Capability ID: system.workspaces.list Auth: apiKey Permission: config.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
list
Request:
{}
Response:
{
"workspaces": [],
"count": 0
}
---
PUT /v1/workspaces/{id}
Update workspace metadata (name, slug, settings, etc.)
Capability ID: system.workspaces.update Auth: apiKey Permission: config.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"slug": {
"type": "string",
"maxLength": 255
},
"orgId": {
"type": "string"
},
"description": {
"type": "string",
"maxLength": 2000
},
"settings": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
rename
Request:
{
"name": "Acme v2"
}
Response:
{
"id": "ws_1"
}
---
POST /v1/observability/xdr/destinations
Register a new XDR/SIEM destination
Capability ID: system.xdr.create Auth: apiKey Permission: security.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"type": {
"type": "string",
"enum": ["crowdstrike", "sentinel", "splunk-ocsf", "cortex", "datadog-ocsf"]
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"event_types": {
"type": "array",
"items": {
"type": "string"
}
},
"filter_rules": {
"type": "object",
"properties": {
"include": {
"type": "array",
"items": {
"type": "string"
}
},
"exclude": {
"type": "array",
"items": {
"type": "string"
}
},
"min_severity": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
},
"additionalProperties": false
},
"batch": {
"type": "object",
"properties": {
"max_size": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"flush_interval_ms": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 60000
}
},
"additionalProperties": false
}
},
"required": ["name", "type", "config"],
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
splunk
Request:
{
"name": "prod-splunk",
"type": "splunk-ocsf",
"config": {
"url": "https://..."
}
}
Response:
{
"destination": {
"id": "x_1"
}
}
---
DELETE /v1/observability/xdr/destinations/{id}
Remove an XDR/SIEM destination
Capability ID: system.xdr.delete Auth: apiKey Permission: security.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
delete
Request:
{}
Response:
{
"deleted": true,
"id": "x_1"
}
---
POST /v1/observability/xdr/destinations/{id}/enable
Toggle an XDR destination on/off
Capability ID: system.xdr.enable Auth: apiKey Permission: security.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
enable
Request:
{
"enabled": true
}
Response:
{
"enabled": true
}
---
GET /v1/observability/xdr/destinations
List XDR/SIEM destinations for the tenant
Capability ID: system.xdr.list Auth: apiKey Permission: security.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
empty
Request:
{}
Response:
{
"destinations": [],
"count": 0
}
---
GET /v1/observability/xdr/destinations/{id}/stats
Get delivery stats for an XDR destination
Capability ID: system.xdr.stats Auth: apiKey Permission: security.read
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
stats
Request:
{}
Response:
{
"delivery_count": 0
}
---
POST /v1/observability/xdr/destinations/{id}/test
Send a synthetic test event to a destination
Capability ID: system.xdr.test Auth: apiKey Permission: security.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
test
Request:
{}
Response:
{
"test_id": "evt_x"
}
---
PUT /v1/observability/xdr/destinations/{id}
Update an XDR/SIEM destination (partial)
Capability ID: system.xdr.update Auth: apiKey Permission: security.write
Request schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"enabled": {
"type": "boolean"
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"event_types": {
"type": "array",
"items": {
"type": "string"
}
},
"filter_rules": {
"anyOf": [
{
"type": "object",
"properties": {
"include": {
"type": "array",
"items": {
"type": "string"
}
},
"exclude": {
"type": "array",
"items": {
"type": "string"
}
},
"min_severity": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"batch": {
"anyOf": [
{
"type": "object",
"properties": {
"max_size": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"flush_interval_ms": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 60000
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
Response schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
Examples
rename
Request:
{
"name": "x"
}
Response:
{
"destination": {
"id": "x_1"
}
}
---