{"protocolVersion":"1.0","name":"BrainstormRouter","description":"Autonomous AI API engine. Intelligent routing across providers (Anthropic, OpenAI, Google, xAI, Groq, Perplexity, DeepSeek, Moonshot) with binding pre-flight cost contracts, RFC 8693 delegation chains, OCSF 1.3.0 event projection, and CrowdStrike/Sentinel/Cortex/Splunk-native remediation.","url":"https://api.brainstormrouter.com","provider":{"organization":"BrainstormRouter","url":"https://brainstormrouter.com"},"documentationUrl":"https://docs.brainstormrouter.com","capabilities":{"streaming":true,"pushNotifications":false,"stateTransitionHistory":true},"defaultInputModes":["application/json","text"],"defaultOutputModes":["application/json","text/event-stream"],"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer"},"agentJwt":{"type":"http","scheme":"bearer"},"mtls":{"type":"mutualTLS"}},"skills":[{"id":"security.a2a.agents.list","name":"List agents with active behavior certificates","description":"List agents with active behavior certificates","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"agents":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/a2a/agents"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.a2a.certificates.get","name":"Fetch an agent's behavior certificate (404 on missing)","description":"Fetch an agent's behavior certificate (404 on missing)","tags":["security"],"examples":[{"name":"lookup","input":{"agentId":"a"},"output":{"agent_id":"a","capabilities":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/a2a/certificates/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.a2a.certificates.issue","name":"Issue a behavior certificate to an agent (201)","description":"Issue a behavior certificate to an agent (201)","tags":["security"],"examples":[{"name":"issue","input":{"agent_id":"a","capabilities":["send_message"]},"output":{"agent_id":"a","capabilities":["send_message"]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/a2a/certificates"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.a2a.certificates.revoke","name":"Revoke an agent's behavior certificate (404 on missing)","description":"Revoke an agent's behavior certificate (404 on missing)","tags":["security"],"examples":[{"name":"revoke","input":{"agentId":"a"},"output":{"agent_id":"a","status":"revoked"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/a2a/certificates/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.a2a.discover","name":"Discover agents in the tenant with their behavior-certificate capabilities","description":"Discover agents in the tenant with their behavior-certificate capabilities","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"agents":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/a2a/discover"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.a2a.send","name":"Send a message between agents; verifies behavior certificate + send_message capability","description":"Send a message between agents; verifies behavior certificate + send_message capability","tags":["security"],"examples":[{"name":"send","input":{"from_agent":"a","to_agent":"b","message":{"hello":"world"}},"output":{"status":"delivered"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/a2a/send"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.get","name":"Get tenant profile with user count","description":"Get tenant profile with user count","tags":["system"],"examples":[{"name":"profile","input":{},"output":{"tenant":{"id":"t_1","slug":"demo","name":"Demo Tenant","user_count":1}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/account"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.graduate","name":"Graduate a sandbox tenant to standard tier via a verified provider key (BYOK)","description":"Graduate a sandbox tenant to standard tier via a verified provider key (BYOK)","tags":["system"],"examples":[{"name":"graduate","input":{},"output":{"graduated":true,"tier":"standard","budget_usd_per_day":5}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/account/graduate"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2026-08-27","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.graduation","name":"Graduation criteria + live progress for a sandbox tenant (machine-readable)","description":"Graduation criteria + live progress for a sandbox tenant (machine-readable)","tags":["system"],"examples":[{"name":"sandbox-progress","input":{},"output":{"tier":"community","criteria":[{"id":"verified_byok","required":true,"satisfied":false}],"action":{"endpoint":"POST /v1/account/graduate"}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/account/graduation"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-27","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.verify_email.confirm","name":"Confirm the code — promote sandbox tenant to standard tier ($5/day)","description":"Confirm the code — promote sandbox tenant to standard tier ($5/day)","tags":["system"],"examples":[{"name":"confirm","input":{"code":"123456"},"output":{"tier":"standard","budget_usd_per_day":5}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/account/verify-email/confirm"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2026-07-11","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.verify_email.start","name":"Send a verification code to upgrade a sandbox tenant to standard tier","description":"Send a verification code to upgrade a sandbox tenant to standard tier","tags":["system"],"examples":[{"name":"start","input":{"email":"owner@example.com"},"output":{"message":"Verification code sent. Check your email.","expires_in_seconds":600}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/account/verify-email"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2026-07-11","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.digest","name":"Business summary digest","description":"Business summary digest","tags":["system","admin"],"examples":[{"name":"digest","input":{},"output":{"digest":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/admin/digest"}},"x-br-auth":"apiKey","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.inviteCodes.create","name":"Create an invite code","description":"Create an invite code","tags":["system","admin"],"examples":[{"name":"create","input":{},"output":{"invite_code":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/admin/invite-codes"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.inviteCodes.delete","name":"Revoke an invite code","description":"Revoke an invite code","tags":["system","admin"],"examples":[{"name":"delete","input":{},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/admin/invite-codes/{id}"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.inviteCodes.list","name":"List invite codes with usage counts","description":"List invite codes with usage counts","tags":["system","admin"],"examples":[{"name":"list","input":{},"output":{"invite_codes":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/admin/invite-codes"}},"x-br-auth":"apiKey","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.tenants.approve","name":"Approve a tenant (sets status → active)","description":"Approve a tenant (sets status → active)","tags":["system","admin"],"examples":[{"name":"tenant-transition","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/admin/tenants/{id}/approve"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.tenants.get","name":"Get tenant detail","description":"Get tenant detail","tags":["system","admin"],"examples":[{"name":"get","input":{},"output":{"tenant":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/admin/tenants/{id}"}},"x-br-auth":"apiKey","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.tenants.list","name":"List tenants with optional status filter (platform admin only)","description":"List tenants with optional status filter (platform admin only)","tags":["system","admin"],"examples":[{"name":"list","input":{},"output":{"tenants":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/admin/tenants"}},"x-br-auth":"apiKey","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.tenants.reject","name":"Reject a tenant (sets status → rejected)","description":"Reject a tenant (sets status → rejected)","tags":["system","admin"],"examples":[{"name":"tenant-transition","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/admin/tenants/{id}/reject"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.tenants.set_rate_limit","name":"Set per-tenant aggregate rate limit (API-key variant; admin auth via path middleware)","description":"Set per-tenant aggregate rate limit (API-key variant; admin auth via path middleware)","tags":["system","admin"],"examples":[{"name":"set","input":{"id":"t1","max_rpm":5000},"output":{"tenant_id":"t1","max_rpm":5000,"previous":null}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/admin/tenants/{id}/rate-limit"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2026-05-14","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.tenants.set_plan","name":"Set a tenant's billing plan (platform operator only; supports ?dry_run=true)","description":"Set a tenant's billing plan (platform operator only; supports ?dry_run=true)","tags":["system","admin"],"examples":[{"name":"upgrade","input":{"id":"t1","plan":"pro"},"output":{"tenant_id":"t1","plan":"pro","previous":"free"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/admin/tenants/{id}/plan"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2026-09-22","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.tenants.suspend","name":"Suspend a tenant (sets status → suspended)","description":"Suspend a tenant (sets status → suspended)","tags":["system","admin"],"examples":[{"name":"tenant-transition","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/admin/tenants/{id}/suspend"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.xdr.riskDelete","name":"Clear an XDR risk score (risk resolved)","description":"Clear an XDR risk score (risk resolved)","tags":["system","admin"],"examples":[{"name":"delete","input":{"agent_id":"00000000-0000-0000-0000-000000000000","tenant_id":"00000000-0000-0000-0000-000000000000"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/admin/xdr/risk-push"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.admin.xdr.riskPush","name":"Push an XDR risk score for an agent (gated by XDR_BIDIRECTIONAL_ENABLED)","description":"Push an XDR risk score for an agent (gated by XDR_BIDIRECTIONAL_ENABLED)","tags":["system","admin"],"examples":[{"name":"push","input":{"agent_id":"00000000-0000-0000-0000-000000000000","tenant_id":"00000000-0000-0000-0000-000000000000","risk_score":0.5,"source":"external-xdr"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/admin/xdr/risk-push"}},"x-br-auth":"apiKey","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.cert_issue","name":"Exchange agent JWT + CSR for a signed mTLS client certificate","description":"Exchange agent JWT + CSR for a signed mTLS client certificate","tags":["security"],"examples":[{"name":"issue","input":{"csr_pem":"-----BEGIN CERTIFICATE REQUEST-----..."},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/auth/cert"}},"x-br-auth":"apiKey","x-br-permission":"cert.issue","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.cert_revoke","name":"Revoke an agent certificate (single by serial, or bulk per tenant)","description":"Revoke an agent certificate (single by serial, or bulk per tenant)","tags":["security"],"examples":[{"name":"by-serial","input":{"serial_number":"abc123","reason":"compromised"},"output":{"revoked":true,"serial_number":"abc123"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/auth/revoke"}},"x-br-auth":"apiKey","x-br-permission":"cert.revoke","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.delegate","name":"Parent agent creates a child agent with sliced budget (agent-JWT only)","description":"Parent agent creates a child agent with sliced budget (agent-JWT only)","tags":["security"],"examples":[{"name":"delegate","input":{"agent_id":"child-1","budget_allocation_usd":1},"output":{"agentId":"child-1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/delegate"}},"x-br-auth":"apiKey","x-br-permission":"self.delegate","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.anomaly.me","name":"Recent security events for the calling agent","description":"Recent security events for the calling agent","tags":["agents"],"examples":[{"name":"anomaly","input":{},"output":{"events":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/anomaly/me"}},"x-br-auth":"agentJwt","x-br-permission":"agent.read.self","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.bootstrap","name":"Zero-human agent onboarding — profile + enforced limits + JWT","description":"Zero-human agent onboarding — profile + enforced limits + JWT","tags":["agents"],"examples":[{"name":"bootstrap","input":{"agent_id":"alpha-bot"},"output":{"profile":{},"jwt":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/bootstrap"}},"x-br-auth":"apiKey","x-br-permission":"agent.bootstrap","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.federated_bootstrap","name":"Federated agent bootstrap — external IDP JWT → BR session JWT","description":"Federated agent bootstrap — external IDP JWT → BR session JWT","tags":["security"],"examples":[{"name":"bootstrap","input":{},"output":{"agentId":"ext-agent"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/federated-bootstrap"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.limits.me","name":"Budget + rate-limit state for the calling agent","description":"Budget + rate-limit state for the calling agent","tags":["agents"],"examples":[{"name":"limits","input":{},"output":{"limits":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/limits/me"}},"x-br-auth":"agentJwt","x-br-permission":"agent.read.self","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.status","name":"Full self-awareness: profile, limits, anomaly, governance","description":"Full self-awareness: profile, limits, anomaly, governance","tags":["agents"],"examples":[{"name":"status","input":{},"output":{"profile":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/status"}},"x-br-auth":"agentJwt","x-br-permission":"agent.read.self","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.archive","name":"Archive (soft-delete) an agent profile","description":"Archive (soft-delete) an agent profile","tags":["security"],"examples":[{"name":"archive","input":{},"output":{"ok":true,"agentId":"a1"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/agent/profiles/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"agent.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.create","name":"Create a new agent profile (admin/operator)","description":"Create a new agent profile (admin/operator)","tags":["security"],"examples":[{"name":"create","input":{"agentId":"a1"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/profiles"}},"x-br-auth":"apiKey","x-br-permission":"agent.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.delegation_graph","name":"Return the parent/child delegation graph for an agent","description":"Return the parent/child delegation graph for an agent","tags":["security"],"examples":[{"name":"graph","input":{},"output":{"graph":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/profiles/{agentId}/delegation-graph"}},"x-br-auth":"apiKey","x-br-permission":"agent.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.get","name":"Read a single agent profile by id","description":"Read a single agent profile by id","tags":["security"],"examples":[{"name":"get","input":{},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/profiles/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"agent.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.lifecycle","name":"Transition an agent profile to a target lifecycle state","description":"Transition an agent profile to a target lifecycle state","tags":["security"],"examples":[{"name":"suspend","input":{"state":"suspended"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/agent/profiles/lifecycle/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"agent.lifecycle.manage","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.list","name":"List all agent profiles for the tenant","description":"List all agent profiles for the tenant","tags":["security"],"examples":[{"name":"list","input":{},"output":{"profiles":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/profiles"}},"x-br-auth":"apiKey","x-br-permission":"agent.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.self","name":"Self-read agent profile (uses _agentIdentity)","description":"Self-read agent profile (uses _agentIdentity)","tags":["security"],"examples":[{"name":"me","input":{},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/profiles/me"}},"x-br-auth":"apiKey","x-br-permission":"self.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.update","name":"Update an agent profile (admin/operator)","description":"Update an agent profile (admin/operator)","tags":["security"],"examples":[{"name":"update","input":{"displayName":"x"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/agent/profiles/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"agent.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent_profiles.versions","name":"Return up to 10 historical snapshots of an agent profile","description":"Return up to 10 historical snapshots of an agent profile","tags":["security"],"examples":[{"name":"versions","input":{},"output":{"agentId":"a1","versions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/profiles/{agentId}/versions"}},"x-br-auth":"apiKey","x-br-permission":"agent.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.sub_agents.list","name":"List sub-agents (children) of the calling agent","description":"List sub-agents (children) of the calling agent","tags":["security"],"examples":[{"name":"list","input":{},"output":{"sub_agents":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/sub-agents"}},"x-br-auth":"apiKey","x-br-permission":"self.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.agent.sub_agents.terminate","name":"Terminate a sub-agent and reclaim its budget (caller must be parent)","description":"Terminate a sub-agent and reclaim its budget (caller must be parent)","tags":["security"],"examples":[{"name":"terminate","input":{},"output":{"terminated":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/agent/sub-agents/{child_agent_id}"}},"x-br-auth":"apiKey","x-br-permission":"self.delegate","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.update","name":"Update tenant profile (currently: name)","description":"Update tenant profile (currently: name)","tags":["system"],"examples":[{"name":"rename","input":{"name":"New Name"},"output":{"tenant":{"id":"t_1","name":"New Name"}}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/account"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.users.invite","name":"Invite a user by email; returns claim URL (201)","description":"Invite a user by email; returns claim URL (201)","tags":["system"],"examples":[{"name":"invite","input":{"email":"user@example.com","role":"member"},"output":{"invitation":{"email":"user@example.com","role":"member","claim_url":"https://brainstormrouter.com/dashboard/?claim=...","expires_at":"2026-01-01T00:00:00Z"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/account/users/invite"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.users.list","name":"List users in the current tenant (RLS-scoped)","description":"List users in the current tenant (RLS-scoped)","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"users":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/account/users"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.account.users.remove","name":"Remove a user from the current tenant","description":"Remove a user from the current tenant","tags":["system"],"examples":[{"name":"remove","input":{"id":"u_1"},"output":{"deleted":{"id":"u_1","email":"user@example.com"}}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/account/users/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.tenant.context","name":"Canonical tenant-context resolver: {workspace, products, entitlements, residency, members}. v0.4 P2 M24.","description":"Canonical tenant-context resolver: {workspace, products, entitlements, residency, members}. v0.4 P2 M24.","tags":["system","tenant","platform"],"examples":[{"name":"operator-fetches-own-tenant","input":{},"output":{"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}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/tenant/context"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2026-05-19","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.operator_registry.list","name":"List operator-facing god-mode capabilities from the platform operator-capability registry (v0.5 M00a SoR). Used by the HAI chat dispatcher + capability browser.","description":"List operator-facing god-mode capabilities from the platform operator-capability registry (v0.5 M00a SoR). Used by the HAI chat dispatcher + capability browser.","tags":["system","registry","platform","operator"],"examples":[{"name":"list-all-operator-caps","input":{},"output":{"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}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/operator-registry/list"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2026-05-19","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agent_limits.get","name":"Read the per-agent limits map for the current tenant","description":"Read the per-agent limits map for the current tenant","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"agentLimits":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent-limits"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agent_limits.patch","name":"Merge updates into the per-agent limits map (null value deletes an entry)","description":"Merge updates into the per-agent limits map (null value deletes an entry)","tags":["system"],"examples":[{"name":"merge","input":{},"output":{"agentLimits":{},"version":1}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/agent-limits"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agent_limits.put","name":"Replace the entire per-agent limits map (canonicalizes keys to `agent:<id>`)","description":"Replace the entire per-agent limits map (canonicalizes keys to `agent:<id>`)","tags":["system"],"examples":[{"name":"set","input":{},"output":{"agentLimits":{},"version":1}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/agent-limits"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.aliases.get","name":"Read the model alias map for the current tenant","description":"Read the model alias map for the current tenant","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"aliases":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/aliases"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.aliases.patch","name":"Merge alias updates (null value deletes a key)","description":"Merge alias updates (null value deletes a key)","tags":["system"],"examples":[{"name":"merge","input":{},"output":{"aliases":{},"version":1}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/aliases"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.aliases.put","name":"Replace the entire model alias map (rejects null values; use PATCH to delete)","description":"Replace the entire model alias map (rejects null values; use PATCH to delete)","tags":["system"],"examples":[{"name":"set","input":{},"output":{"aliases":{},"version":1}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/aliases"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.attestation","name":"Build attestation bundle (commit, image digest, signer, Rekor URL, verify command)","description":"Build attestation bundle (commit, image digest, signer, Rekor URL, verify command)","tags":["security"],"examples":[{"name":"verified","input":{},"output":{"status":"verified","verified":true,"commit":"abc1234"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/attestation"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2026-04-18","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.webhooks.slack.action","name":"Slack interactive webhook handler (HMAC-verified, rate-limited)","description":"Slack interactive webhook handler (HMAC-verified, rate-limited)","tags":["webhooks"],"examples":[{"name":"approve","input":{},"output":{"text":"Tenant approved."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/webhooks/slack/action"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.audit.events","name":"Search audit events (filterable by actor/action/resource/date range)","description":"Search audit events (filterable by actor/action/resource/date range)","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"events":[],"total":0,"source":"postgres"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/audit/events"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.audit.export","name":"Export audit events as CSV / JSON / CEF (raw Response with content-type)","description":"Export audit events as CSV / JSON / CEF (raw Response with content-type)","tags":["security"],"examples":[{"name":"json","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/audit/export"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.audit.retention.get","name":"Get current audit retention policy (days)","description":"Get current audit retention policy (days)","tags":["security"],"examples":[{"name":"default","input":{},"output":{"days":90,"source":"default"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/audit/retention"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.audit.retention.set","name":"Set audit retention policy (allowed: 7, 30, 90, 365, 1095, 2555 days)","description":"Set audit retention policy (allowed: 7, 30, 90, 365, 1095, 2555 days)","tags":["security"],"examples":[{"name":"set-90","input":{"days":90},"output":{"days":90,"status":"updated"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/audit/retention"}},"x-br-auth":"apiKey","x-br-permission":"audit.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.audit.verify","name":"Verify hash-chain integrity for the current tenant's audit trail","description":"Verify hash-chain integrity for the current tenant's audit trail","tags":["security"],"examples":[{"name":"verified","input":{},"output":{"valid":true,"chain_state":"verified","chain_length":14,"total_events":14,"source":"postgres"}},{"name":"empty-chain","input":{},"output":{"valid":null,"chain_state":"not_applicable","chain_state_reason":"no chained events for tenant","chain_length":0,"total_events":0,"source":"postgres"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/audit/verify"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.billing.plan.get","name":"Current tenant plan + usage vs limits","description":"Current tenant plan + usage vs limits","tags":["system"],"examples":[{"name":"free","input":{},"output":{"plan":"free","usage":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/billing/plan"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.billing.plan.update","name":"Switch the tenant's billing plan (platform operator only; tenants get 403 contact_support)","description":"Switch the tenant's billing plan (platform operator only; tenants get 403 contact_support)","tags":["system"],"examples":[{"name":"upgrade-to-pro","input":{"plan":"pro"},"output":{"plan":"pro","status":"updated"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/billing/plan"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.billing.plans.list","name":"List available billing plans","description":"List available billing plans","tags":["system"],"examples":[{"name":"list","input":{},"output":{"plans":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/billing/plans"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.setAgent","name":"Set budget configuration for a specific agent","description":"Set budget configuration for a specific agent","tags":["system","budget"],"examples":[{"name":"set","input":{"perDayUsd":10},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/budget/agents/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"budget.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.listAgents","name":"List per-agent budget configurations and current status","description":"List per-agent budget configurations and current status","tags":["system","budget"],"examples":[{"name":"list","input":{},"output":{"agents":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/budget/agents"}},"x-br-auth":"apiKey","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.alertsConfigGet","name":"Get current budget alert configuration","description":"Get current budget alert configuration","tags":["system","budget"],"examples":[{"name":"get","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/budget/alerts/config"}},"x-br-auth":"apiKey","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.alertsConfigSet","name":"Update budget alert configuration (thresholds, webhook, enabled)","description":"Update budget alert configuration (thresholds, webhook, enabled)","tags":["system","budget"],"examples":[{"name":"set","input":{"enabled":true},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/budget/alerts/config"}},"x-br-auth":"apiKey","x-br-permission":"budget.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.alertsHistory","name":"Recent budget alert events for the tenant","description":"Recent budget alert events for the tenant","tags":["system","budget"],"examples":[{"name":"history","input":{},"output":{"alerts":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/budget/alerts/history"}},"x-br-auth":"apiKey","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.forecast","name":"Spend forecast, projected depletion date, anomaly detection","description":"Spend forecast, projected depletion date, anomaly detection","tags":["system","budget"],"examples":[{"name":"forecast","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/budget/forecast"}},"x-br-auth":"apiKey","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.setLimits","name":"Update tenant-level daily and monthly budget limits","description":"Update tenant-level daily and monthly budget limits","tags":["system","budget"],"examples":[{"name":"set-limits","input":{"daily_limit_usd":100,"monthly_limit_usd":2500},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/budget/limits"}},"x-br-auth":"apiKey","x-br-permission":"budget.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.root","name":"Alias of /v1/budget/status served at the bare /v1/budget path","description":"Alias of /v1/budget/status served at the bare /v1/budget path","tags":["system","budget"],"examples":[{"name":"status","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/budget"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.budget.status","name":"Current tenant + key spend against daily/monthly limits","description":"Current tenant + key spend against daily/monthly limits","tags":["system","budget"],"examples":[{"name":"status","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/budget/status"}},"x-br-auth":"apiKey","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.capacity.forecast","name":"Predict rate-limit exhaustion + budget burn per provider (DB-backed forecast)","description":"Predict rate-limit exhaustion + budget burn per provider (DB-backed forecast)","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"forecasts":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/capacity/forecast"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.capacity.providers","name":"Per-provider capacity status (24h) — request count, success rate, latency, cost, health","description":"Per-provider capacity status (24h) — request count, success rate, latency, cost, health","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"providers":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/capacity/providers"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.catalog.runnable","name":"Filtered list of models routable right now (circuit-closed + sentinel-healthy + BYOK-keyed)","description":"Filtered list of models routable right now (circuit-closed + sentinel-healthy + BYOK-keyed)","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"object":"list","data":[],"filtered_out":{"circuit_open":0,"no_provider_key":0,"sentinel_down":0,"budget_exhausted":0},"total_available":0,"total_filtered":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/catalog/runnable"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-01-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.connectors.create","name":"Register an external connector with KMS-encrypted credentials","description":"Register an external connector with KMS-encrypted credentials","tags":["system"],"examples":[{"name":"bearer","input":{"name":"Stripe","baseUrl":"https://api.stripe.com","authType":"bearer"},"output":{"id":"conn_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/connectors"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.connectors.delete","name":"Soft-delete a connector (status=disabled, kept for audit)","description":"Soft-delete a connector (status=disabled, kept for audit)","tags":["system"],"examples":[{"name":"disable","input":{},"output":{"status":"disabled"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/connectors/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.connectors.get","name":"Get a connector by id (credential envelope NEVER returned)","description":"Get a connector by id (credential envelope NEVER returned)","tags":["system"],"examples":[{"name":"get","input":{},"output":{"id":"conn_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/connectors/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.connectors.list","name":"List active external connectors","description":"List active external connectors","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"connectors":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/connectors"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.connectors.test","name":"Probe connector connectivity (HEAD baseUrl with decrypted auth)","description":"Probe connector connectivity (HEAD baseUrl with decrypted auth)","tags":["system"],"examples":[{"name":"test","input":{},"output":{"healthStatus":"healthy"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/connectors/{id}/test"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.connectors.update","name":"Update a connector (re-encrypts credential if supplied)","description":"Update a connector (re-encrypts credential if supplied)","tags":["system"],"examples":[{"name":"rename","input":{"name":"Stripe-v2"},"output":{"id":"conn_1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/connectors/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.catalog.status","name":"Curated-catalog status: total endpoints, models, per-provider counts","description":"Curated-catalog status: total endpoints, models, per-provider counts","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"mode":"curated","registry":{"totalEndpoints":0,"totalModels":0,"providers":{}}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/catalog/status"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-01-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.reputation.admin_list","name":"Admin view: all agent reputations for the tenant","description":"Admin view: all agent reputations for the tenant","tags":["intelligence"],"examples":[{"name":"empty","input":{},"output":{"agents":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/admin/agents/reputation"}},"x-br-auth":"apiKey","x-br-permission":"router.admin","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.reputation.self","name":"Caller's own agent reputation: score, tier, and tier multipliers","description":"Caller's own agent reputation: score, tier, and tier multipliers","tags":["intelligence"],"examples":[{"name":"default-tier","input":{},"output":{"reputation":{"tier":"default"},"tier_multipliers":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/reputation"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.canary.delete","name":"Remove canary configuration","description":"Remove canary configuration","tags":["intelligence"],"examples":[{"name":"removed","input":{},"output":{"deleted":true,"status":"removed"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/routing/canary"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.canary.get","name":"Read current canary configuration","description":"Read current canary configuration","tags":["intelligence"],"examples":[{"name":"disabled","input":{},"output":{"enabled":false,"variants":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/routing/canary"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.canary.results","name":"Per-variant outcome statistics for the active canary","description":"Per-variant outcome statistics for the active canary","tags":["intelligence"],"examples":[{"name":"no-canary","input":{},"output":{"variants":[],"winner":null,"reason":"no canary active"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/routing/canary/results"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.canary.set","name":"Set the canary traffic-split configuration for the current tenant","description":"Set the canary traffic-split configuration for the current tenant","tags":["intelligence"],"examples":[{"name":"two-way","input":{"variants":[{"model":"a","weight":0.5},{"model":"b","weight":0.5}]},"output":{"enabled":true,"variants":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/routing/canary"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.compare","name":"Fan a prompt out to 2–6 models in parallel and compare cost/latency/quality","description":"Fan a prompt out to 2–6 models in parallel and compare cost/latency/quality","tags":["intelligence"],"examples":[{"name":"two-models","input":{"prompt":{"messages":[{"role":"user","content":"Hello"}]},"models":["anthropic/claude-sonnet-4-5","openai/gpt-4.1"]},"output":{"results":[],"comparison":null,"total_cost_usd":0}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/compare"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.audit","name":"Audit trail (recent change events) for a config section","description":"Audit trail (recent change events) for a config section","tags":["system"],"examples":[{"name":"audit","input":{},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/config/{key}/audit"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.delete","name":"Delete a config section (reset to defaults)","description":"Delete a config section (reset to defaults)","tags":["system"],"examples":[{"name":"delete","input":{},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/config/{key}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.get","name":"Read a single config section (sensitive fields redacted for non-admins)","description":"Read a single config section (sensitive fields redacted for non-admins)","tags":["system"],"examples":[{"name":"get","input":{},"output":{"data":null,"version":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/config/{key}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.import","name":"Import configuration sections from the on-disk file (admin only)","description":"Import configuration sections from the on-disk file (admin only)","tags":["system"],"examples":[{"name":"import","input":{},"output":{"imported":0}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/config/import"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.list","name":"List all config sections (RBAC-filtered, sensitive fields redacted for non-admins)","description":"List all config sections (RBAC-filtered, sensitive fields redacted for non-admins)","tags":["system"],"examples":[{"name":"list","input":{},"output":{"data":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/config"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.patch","name":"Merge-patch a config section (RFC 7396) with optional OCC","description":"Merge-patch a config section (RFC 7396) with optional OCC","tags":["system"],"examples":[{"name":"patch","input":{},"output":{"version":2}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/config/{key}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.set","name":"Replace a config section (full PUT) with OCC via If-Match header","description":"Replace a config section (full PUT) with OCC via If-Match header","tags":["system"],"examples":[{"name":"set","input":{},"output":{"version":1}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/config/{key}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.consensus","name":"Evaluate multi-model consensus (majority/quality/weighted) with optional fan-out","description":"Evaluate multi-model consensus (majority/quality/weighted) with optional fan-out","tags":["intelligence"],"examples":[{"name":"pre-collected","input":{"messages":[{"role":"user","content":"hi"}],"responses":[{"model":"a","content":"yes"},{"model":"b","content":"yes"}]},"output":{"selected_model":"a","strategy":"weighted","models_evaluated":2}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/consensus"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.approvals.approve","name":"Approve a pending request and execute its deferred action","description":"Approve a pending request and execute its deferred action","tags":["system","approvals"],"examples":[{"name":"approve","input":{},"output":{"status":"approved"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/approvals/{id}/approve"}},"x-br-auth":"apiKey","x-br-permission":"approvals.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.approvals.pending","name":"List pending approval requests for the tenant","description":"List pending approval requests for the tenant","tags":["system","approvals"],"examples":[{"name":"pending","input":{},"output":{"approvals":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/approvals/pending"}},"x-br-auth":"apiKey","x-br-permission":"approvals.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.approvals.queue","name":"Submit a deferred action for human review","description":"Submit a deferred action for human review","tags":["system","approvals"],"examples":[{"name":"queue","input":{"type":"memory_write","summary":"Add fact"},"output":{"id":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/approvals/queue"}},"x-br-auth":"apiKey","x-br-permission":"approvals.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.approvals.reject","name":"Reject a pending request without executing its action","description":"Reject a pending request without executing its action","tags":["system","approvals"],"examples":[{"name":"reject","input":{},"output":{"status":"rejected"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/approvals/{id}/reject"}},"x-br-auth":"apiKey","x-br-permission":"approvals.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.governance.approvalsList","name":"List pending MCP tool-call approvals","description":"List pending MCP tool-call approvals","tags":["system","mcp"],"examples":[{"name":"list","input":{},"output":{"approvals":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/approvals"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.governance.approve","name":"Approve a queued MCP tool call","description":"Approve a queued MCP tool call","tags":["system","mcp"],"examples":[{"name":"approve","input":{},"output":{"status":"approved"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/approvals/{id}/approve"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.audit","name":"Recent MCP tool-call audit entries for the tenant","description":"Recent MCP tool-call audit entries for the tenant","tags":["system","mcp"],"examples":[{"name":"audit","input":{},"output":{"entries":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/audit"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.bootstrap_discover","name":"MCP bootstrap discovery (2-tool manifest, no auth)","description":"MCP bootstrap discovery (2-tool manifest, no auth)","tags":["system","mcp"],"examples":[{"name":"discover","input":{},"output":{"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."}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/bootstrap"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2026-08-27","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.bootstrap","name":"Pre-auth MCP bootstrap — register a tenant in-band over MCP (2 tools)","description":"Pre-auth MCP bootstrap — register a tenant in-band over MCP (2 tools)","tags":["system","mcp"],"examples":[{"name":"connect","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/bootstrap"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2026-08-27","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.capabilities","name":"Core + external MCP tool catalog for the tenant","description":"Core + external MCP tool catalog for the tenant","tags":["system","mcp"],"examples":[{"name":"caps","input":{},"output":{"capabilities":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/capabilities"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.discover","name":"MCP server discovery (capability + tool manifest)","description":"MCP server discovery (capability + tool manifest)","tags":["system","mcp"],"examples":[{"name":"discover","input":{},"output":{"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_agent_inventory","description":"Shadow-agent inventory: every caller BR routed for, classified as registered (owner-bound / ownerless), unregistered, or untagged API-key traffic — with shadow_ratio. Discovery from traffic BR already sees, no scanning.","permission":"governance.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"}]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/connect"}},"x-br-auth":"apiKey","x-br-permission":"mcp.connect","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.connect","name":"Open an MCP Streamable HTTP session against BR's control-plane tools","description":"Open an MCP Streamable HTTP session against BR's control-plane tools","tags":["system","mcp"],"examples":[{"name":"connect","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/connect"}},"x-br-auth":"apiKey","x-br-permission":"mcp.connect","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.governance.deny","name":"Deny a queued MCP tool call","description":"Deny a queued MCP tool call","tags":["system","mcp"],"examples":[{"name":"deny","input":{},"output":{"status":"denied"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/approvals/{id}/deny"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.discover","name":"Trigger remote tool discovery for an MCP server","description":"Trigger remote tool discovery for an MCP server","tags":["system","mcp"],"examples":[{"name":"discover","input":{},"output":{"tools":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/servers/{id}/discover"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.governance.status","name":"Get MCP governance engine status","description":"Get MCP governance engine status","tags":["system","mcp"],"examples":[{"name":"status","input":{},"output":{"enabled":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/governance"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.governance.updatePolicy","name":"Update an MCP tool-name policy in the governance engine","description":"Update an MCP tool-name policy in the governance engine","tags":["system","mcp"],"examples":[{"name":"policy","input":{"tool_name":"shell","allowed":false},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/mcp/governance/policy"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.create","name":"Register an external MCP server for this tenant","description":"Register an external MCP server for this tenant","tags":["system","mcp"],"examples":[{"name":"create","input":{"name":"n8n","transport":"http","url":"https://..."},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/servers"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.delete","name":"Remove an MCP server registration","description":"Remove an MCP server registration","tags":["system","mcp"],"examples":[{"name":"delete","input":{},"output":{"status":"removed"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/mcp/servers/{id}"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.get","name":"Get details for an MCP server","description":"Get details for an MCP server","tags":["system","mcp"],"examples":[{"name":"get","input":{},"output":{"server":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/servers/{id}"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.healthCheck","name":"Trigger an on-demand health check for an MCP server","description":"Trigger an on-demand health check for an MCP server","tags":["system","mcp"],"examples":[{"name":"check","input":{},"output":{"health":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/servers/{id}/health"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.healthGet","name":"Get the last health status for an MCP server","description":"Get the last health status for an MCP server","tags":["system","mcp"],"examples":[{"name":"status","input":{},"output":{"health":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/servers/{id}/health"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.list","name":"List registered MCP servers for this tenant","description":"List registered MCP servers for this tenant","tags":["system","mcp"],"examples":[{"name":"list","input":{},"output":{"servers":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/servers"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.servers.update","name":"Update an MCP server registration","description":"Update an MCP server registration","tags":["system","mcp"],"examples":[{"name":"update","input":{"enabled":false},"output":{"server":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/mcp/servers/{id}"}},"x-br-auth":"apiKey","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.tools.call","name":"Execute a tool call through the MCP gateway (proxied + governed)","description":"Execute a tool call through the MCP gateway (proxied + governed)","tags":["system","mcp"],"examples":[{"name":"call","input":{"arguments":{}},"output":{"result":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/tools/{server}/{tool}"}},"x-br-auth":"apiKey","x-br-permission":"mcp.execute","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mcp.tools.list","name":"List all discovered tools across registered MCP servers","description":"List all discovered tools across registered MCP servers","tags":["system","mcp"],"examples":[{"name":"list","input":{},"output":{"tools":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/tools"}},"x-br-auth":"apiKey","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.approvalConfig.get","name":"Get the memory-write approval-required flag","description":"Get the memory-write approval-required flag","tags":["system","memory"],"examples":[{"name":"get","input":{},"output":{"requireApproval":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/memory/approval-config"}},"x-br-auth":"apiKey","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.approvalConfig.set","name":"Set the memory-write approval-required flag","description":"Set the memory-write approval-required flag","tags":["system","memory"],"examples":[{"name":"set","input":{"requireApproval":true},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/memory/approval-config"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.blocks.get","name":"List entries in a specific memory block","description":"List entries in a specific memory block","tags":["system","memory"],"examples":[{"name":"get","input":{},"output":{"entries":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/memory/blocks/{block}"}},"x-br-auth":"apiKey","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.blocks.list","name":"List memory blocks with entry counts (optional ?project= filter)","description":"List memory blocks with entry counts (optional ?project= filter)","tags":["system","memory"],"examples":[{"name":"list","input":{},"output":{"blocks":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/memory/blocks"}},"x-br-auth":"apiKey","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.blocks.sync","name":"Bulk upsert core memory entries for a project (Brainstorm CLI)","description":"Bulk upsert core memory entries for a project (Brainstorm CLI)","tags":["system","memory"],"examples":[{"name":"sync","input":{"project":"p","blocks":{}},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/blocks/sync"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.entries.create","name":"Append a new core memory entry (alias for /v1/memory/store)","description":"Append a new core memory entry (alias for /v1/memory/store)","tags":["system","memory"],"examples":[{"name":"create","input":{"fact":"User prefers dark mode"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/entries"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.entries.list","name":"List all core memory entries (optional ?project= filter)","description":"List all core memory entries (optional ?project= filter)","tags":["system","memory"],"examples":[{"name":"list","input":{},"output":{"entries":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/memory/entries"}},"x-br-auth":"apiKey","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.entries.delete","name":"Delete a memory entry","description":"Delete a memory entry","tags":["system","memory"],"examples":[{"name":"delete","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/memory/entries/{id}"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.entries.update","name":"Update fact text and/or pin state for an entry","description":"Update fact text and/or pin state for an entry","tags":["system","memory"],"examples":[{"name":"update","input":{"pinned":true},"output":{"entry":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/memory/entries/{id}"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.init","name":"Bootstrap memory from context documents via LLM extraction","description":"Bootstrap memory from context documents via LLM extraction","tags":["system","memory"],"examples":[{"name":"init","input":{"documents":[]},"output":{"status":"ok"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/init"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.pending.approve","name":"Approve a pending memory write (unified queue or legacy)","description":"Approve a pending memory write (unified queue or legacy)","tags":["system","memory"],"examples":[{"name":"approve","input":{},"output":{"status":"approved"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/pending/{id}/approve"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.pending.list","name":"List pending memory writes (unified queue + legacy)","description":"List pending memory writes (unified queue + legacy)","tags":["system","memory"],"examples":[{"name":"pending","input":{},"output":{"pending":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/memory/pending"}},"x-br-auth":"apiKey","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.pending.reject","name":"Reject a pending memory write","description":"Reject a pending memory write","tags":["system","memory"],"examples":[{"name":"reject","input":{},"output":{"status":"rejected"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/pending/{id}/reject"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.query","name":"Relevance-scored memory query (top-N matches)","description":"Relevance-scored memory query (top-N matches)","tags":["system","memory"],"examples":[{"name":"query","input":{"query":"user prefs"},"output":{"results":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/query"}},"x-br-auth":"apiKey","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.shared.list","name":"List shared memory entries plus pending approval count","description":"List shared memory entries plus pending approval count","tags":["system","memory"],"examples":[{"name":"list","input":{},"output":{"entries":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/memory/shared/entries"}},"x-br-auth":"apiKey","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.shared.store","name":"Store a tenant-wide shared memory entry (may queue for approval)","description":"Store a tenant-wide shared memory entry (may queue for approval)","tags":["system","memory"],"examples":[{"name":"store","input":{"fact":"fact"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/shared/store"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.memory.store","name":"Append a core memory entry (canonical path)","description":"Append a core memory entry (canonical path)","tags":["system","memory"],"examples":[{"name":"store","input":{"fact":"User prefers dark mode"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/memory/store"}},"x-br-auth":"apiKey","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agents.run","name":"Start the agent loop for a session and stream events as SSE","description":"Start the agent loop for a session and stream events as SSE","tags":["system","agents"],"examples":[{"name":"run","input":{"message":"hi"},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agents/{agentId}/run"}},"x-br-auth":"apiKey","x-br-permission":"agents.run","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agents.runs.active","name":"All active runs for the tenant (status = running)","description":"All active runs for the tenant (status = running)","tags":["system","agents"],"examples":[{"name":"active","input":{},"output":{"runs":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/runs/active"}},"x-br-auth":"apiKey","x-br-permission":"agents.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agents.runs.list","name":"Run history for an agent (sessions with aggregate metadata)","description":"Run history for an agent (sessions with aggregate metadata)","tags":["system","agents"],"examples":[{"name":"list","input":{},"output":{"runs":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agents/{agentId}/runs"}},"x-br-auth":"apiKey","x-br-permission":"agents.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agents.sessions.terminate","name":"Terminate a session (status → ended)","description":"Terminate a session (status → ended)","tags":["system","agents"],"examples":[{"name":"del","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/agents/{agentId}/sessions/{sessionId}"}},"x-br-auth":"apiKey","x-br-permission":"agents.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agents.sessions.sendEvent","name":"Publish a user event to a running session (PG NOTIFY)","description":"Publish a user event to a running session (PG NOTIFY)","tags":["system","agents"],"examples":[{"name":"msg","input":{"type":"user.message","text":"hi"},"output":{"accepted":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agents/{agentId}/sessions/{sessionId}/events"}},"x-br-auth":"apiKey","x-br-permission":"agents.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agents.sessions.get","name":"Get a session by id","description":"Get a session by id","tags":["system","agents"],"examples":[{"name":"get","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agents/{agentId}/sessions/{sessionId}"}},"x-br-auth":"apiKey","x-br-permission":"agents.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.agents.sessions.create","name":"Create an idle session for the agent (no loop)","description":"Create an idle session for the agent (no loop)","tags":["system","agents"],"examples":[{"name":"create","input":{},"output":{"id":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agents/{agentId}/sessions"}},"x-br-auth":"apiKey","x-br-permission":"agents.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.execute","name":"Run a DAG-based mesh workflow, streaming step progress as SSE","description":"Run a DAG-based mesh workflow, streaming step progress as SSE","tags":["system","mesh"],"examples":[{"name":"exec","input":{"workflow":{"id":"w","name":"n","steps":[]}},"output":{"workflow_id":"w"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/execute"}},"x-br-auth":"apiKey","x-br-permission":"mesh.execute","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.autoSelect","name":"Auto-select a workflow preset from a natural-language description","description":"Auto-select a workflow preset from a natural-language description","tags":["system","workflows"],"examples":[{"name":"auto","input":{"description":"summarize this PDF"},"output":{"presetId":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/workflows/auto-select"}},"x-br-auth":"apiKey","x-br-permission":"workflows.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.presets.list","name":"List available workflow presets","description":"List available workflow presets","tags":["system","workflows"],"examples":[{"name":"list","input":{},"output":{"presets":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/workflows/presets"}},"x-br-auth":"apiKey","x-br-permission":"workflows.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.runs.cancel","name":"Cancel a workflow run","description":"Cancel a workflow run","tags":["system","workflows"],"examples":[{"name":"cancel","input":{},"output":{"cancelled":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/workflows/runs/{id}/cancel"}},"x-br-auth":"apiKey","x-br-permission":"workflows.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.run","name":"Run a workflow and stream events via SSE","description":"Run a workflow and stream events via SSE","tags":["system","workflows"],"examples":[{"name":"run","input":{"description":"..."},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/workflows/run"}},"x-br-auth":"apiKey","x-br-permission":"workflows.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.runs.get","name":"Get a workflow run by id","description":"Get a workflow run by id","tags":["system","workflows"],"examples":[{"name":"get","input":{},"output":{"run":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/workflows/runs/{id}"}},"x-br-auth":"apiKey","x-br-permission":"workflows.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.runs.list","name":"List recent workflow runs for the tenant","description":"List recent workflow runs for the tenant","tags":["system","workflows"],"examples":[{"name":"list","input":{},"output":{"runs":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/workflows/runs"}},"x-br-auth":"apiKey","x-br-permission":"workflows.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.create","name":"Create a workflow definition (optionally cloned from a preset)","description":"Create a workflow definition (optionally cloned from a preset)","tags":["system","workflows"],"examples":[{"name":"create","input":{"name":"n"},"output":{"definition":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/workflows"}},"x-br-auth":"apiKey","x-br-permission":"workflows.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.delete","name":"Delete a workflow definition","description":"Delete a workflow definition","tags":["system","workflows"],"examples":[{"name":"del","input":{},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/workflows/{id}"}},"x-br-auth":"apiKey","x-br-permission":"workflows.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.get","name":"Get a workflow definition by id","description":"Get a workflow definition by id","tags":["system","workflows"],"examples":[{"name":"get","input":{},"output":{"definition":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/workflows/{id}"}},"x-br-auth":"apiKey","x-br-permission":"workflows.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workflows.list","name":"List workflow definitions for the tenant","description":"List workflow definitions for the tenant","tags":["system","workflows"],"examples":[{"name":"list","input":{},"output":{"definitions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/workflows"}},"x-br-auth":"apiKey","x-br-permission":"workflows.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.agents.list","name":"List registered agents in the mesh for this tenant","description":"List registered agents in the mesh for this tenant","tags":["system","mesh"],"examples":[{"name":"list","input":{},"output":{"agents":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/agents"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.check","name":"Evaluate a mesh access decision for source → destination","description":"Evaluate a mesh access decision for source → destination","tags":["system","mesh"],"examples":[{"name":"check","input":{"sourceSpiffeId":"s","destinationSpiffeIdOrHostname":"d"},"output":{"effect":"allow"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/check"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.deregister","name":"Deregister an agent from the mesh (mTLS required)","description":"Deregister an agent from the mesh (mTLS required)","tags":["system","mesh"],"examples":[{"name":"dereg","input":{"hostname":"h"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/deregister"}},"x-br-auth":"mtls","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.forensics.get","name":"Get a single forensic snapshot by id","description":"Get a single forensic snapshot by id","tags":["system","mesh"],"examples":[{"name":"get","input":{},"output":{"snapshot":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/forensics/{id}"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.forensics.list","name":"List forensic snapshots for the tenant","description":"List forensic snapshots for the tenant","tags":["system","mesh"],"examples":[{"name":"list","input":{},"output":{"snapshots":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/forensics"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.graph","name":"Current mesh graph snapshot for this tenant","description":"Current mesh graph snapshot for this tenant","tags":["system","mesh"],"examples":[{"name":"graph","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/graph"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.graph.history","name":"Historical mesh graph snapshots over the last N hours","description":"Historical mesh graph snapshots over the last N hours","tags":["system","mesh"],"examples":[{"name":"history","input":{},"output":{"snapshots":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/graph/history"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.heartbeat","name":"Send a liveness heartbeat for the calling agent (mTLS required)","description":"Send a liveness heartbeat for the calling agent (mTLS required)","tags":["system","mesh"],"examples":[{"name":"hb","input":{"hostname":"h"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/heartbeat"}},"x-br-auth":"mtls","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.invoke","name":"Proxy an A2A call through the mesh (mTLS required)","description":"Proxy an A2A call through the mesh (mTLS required)","tags":["system","mesh"],"examples":[{"name":"invoke","input":{},"output":{"success":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/invoke/{hostname}"}},"x-br-auth":"mtls","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.invoke_did","name":"Resolve a target DID via the Capability Registry and forward the invocation to the owning product (v0.3 P6.3)","description":"Resolve a target DID via the Capability Registry and forward the invocation to the owning product (v0.3 P6.3)","tags":["system","mesh","a2a"],"examples":[{"name":"invoke","input":{"capability":"agent.list_devices","input":{"query":"macs"}},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/invoke-did/{target_did}"}},"x-br-auth":"agentJwt","x-br-permission":"mesh.invoke","x-br-streaming":null,"x-br-introduced_in":"2026-05-19","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.policies.create","name":"Create a mesh allow/deny policy","description":"Create a mesh allow/deny policy","tags":["system","mesh"],"examples":[{"name":"create","input":{"sourcePattern":"*","destinationPattern":"*","effect":"allow"},"output":{"policy":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/policies"}},"x-br-auth":"apiKey","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.policies.delete","name":"Delete a mesh policy by id","description":"Delete a mesh policy by id","tags":["system","mesh"],"examples":[{"name":"del","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/mesh/policies/{id}"}},"x-br-auth":"apiKey","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.policies.list","name":"List mesh RBAC policies","description":"List mesh RBAC policies","tags":["system","mesh"],"examples":[{"name":"list","input":{},"output":{"policies":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/policies"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.profiles.create","name":"Create a mesh behavioral profile","description":"Create a mesh behavioral profile","tags":["system","mesh"],"examples":[{"name":"create","input":{"role":"agent"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/profiles"}},"x-br-auth":"apiKey","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.profiles.delete","name":"Delete a mesh behavioral profile by role","description":"Delete a mesh behavioral profile by role","tags":["system","mesh"],"examples":[{"name":"del","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/mesh/profiles/{role}"}},"x-br-auth":"apiKey","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.profiles.list","name":"List mesh behavioral profiles","description":"List mesh behavioral profiles","tags":["system","mesh"],"examples":[{"name":"list","input":{},"output":{"profiles":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/profiles"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.register","name":"Register an agent in the service mesh (mTLS required)","description":"Register an agent in the service mesh (mTLS required)","tags":["system","mesh"],"examples":[{"name":"register","input":{"hostname":"h","endpoint":"https://..."},"output":{"agent":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mesh/register"}},"x-br-auth":"mtls","x-br-permission":"mesh.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.mesh.resolve","name":"Resolve a mesh hostname to its agent registration","description":"Resolve a mesh hostname to its agent registration","tags":["system","mesh"],"examples":[{"name":"resolve","input":{},"output":{"agent":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mesh/resolve/{hostname}"}},"x-br-auth":"apiKey","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.oauth.apps.create","name":"Register an OAuth app (developer-facing)","description":"Register an OAuth app (developer-facing)","tags":["system","oauth"],"examples":[{"name":"create","input":{"name":"My App","callback_urls":["https://example.com/cb"]},"output":{"id":"..."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/oauth/apps"}},"x-br-auth":"apiKey","x-br-permission":"oauth.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.oauth.apps.delete","name":"Revoke an OAuth app (soft delete — sets active=false)","description":"Revoke an OAuth app (soft delete — sets active=false)","tags":["system","oauth"],"examples":[{"name":"delete","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/oauth/apps/{id}"}},"x-br-auth":"apiKey","x-br-permission":"oauth.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.oauth.apps.list","name":"List OAuth apps for the tenant","description":"List OAuth apps for the tenant","tags":["system","oauth"],"examples":[{"name":"list","input":{},"output":{"apps":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/oauth/apps"}},"x-br-auth":"apiKey","x-br-permission":"oauth.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.forensics.export","name":"HMAC-signed forensic export bundle (usage + security events)","description":"HMAC-signed forensic export bundle (usage + security events)","tags":["system","forensics"],"examples":[{"name":"export","input":{},"output":{"bundle":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/forensics/export"}},"x-br-auth":"apiKey","x-br-permission":"forensics.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.forensics.timeline","name":"Reconstruct chronological timeline of events for a session","description":"Reconstruct chronological timeline of events for a session","tags":["system","forensics"],"examples":[{"name":"timeline","input":{},"output":{"spans":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/forensics/session/{sessionId}/timeline"}},"x-br-auth":"apiKey","x-br-permission":"forensics.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.godMode.execute","name":"Execute a Platform Contract tool by name (ChangeSet for mutations)","description":"Execute a Platform Contract tool by name (ChangeSet for mutations)","tags":["system","god-mode"],"examples":[{"name":"exec","input":{"tool":"br.list_models"},"output":{"success":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/god-mode/execute"}},"x-br-auth":"apiKey","x-br-permission":"godMode.execute","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.godMode.tools","name":"Discover Brainstorm Platform Contract tools available on BR","description":"Discover Brainstorm Platform Contract tools available on BR","tags":["system","god-mode"],"examples":[{"name":"tools","input":{},"output":{"tool_count":0,"tools":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/god-mode/tools"}},"x-br-auth":"apiKey","x-br-permission":"godMode.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.agentManifests.delete","name":"Delete an agent manifest","description":"Delete an agent manifest","tags":["system","governance"],"examples":[{"name":"delete","input":{},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/governance/agent-manifests/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.agentManifests.get","name":"Get an agent manifest by agent id","description":"Get an agent manifest by agent id","tags":["system","governance"],"examples":[{"name":"get","input":{},"output":{"manifest":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/agent-manifests/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.agentManifests.upsert","name":"Create or replace an agent manifest","description":"Create or replace an agent manifest","tags":["system","governance"],"examples":[{"name":"upsert","input":{},"output":{"manifest":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/governance/agent-manifests/{agentId}"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.agentManifests.list","name":"List agent manifests (CAF Phase 2 semantic RBAC)","description":"List agent manifests (CAF Phase 2 semantic RBAC)","tags":["system","governance"],"examples":[{"name":"list","input":{},"output":{"manifests":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/agent-manifests"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.anomaly.history","name":"Anomaly history (last N events)","description":"Anomaly history (last N events)","tags":["system","governance"],"examples":[{"name":"history","input":{},"output":{"events":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/anomaly/history"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.anomaly.scores","name":"Recent anomaly-detected security events","description":"Recent anomaly-detected security events","tags":["system","governance"],"examples":[{"name":"scores","input":{},"output":{"events":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/anomaly/scores"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.artifact.get","name":"Signed Governance Artifact for one request — control-mapped, verifiable evidence","description":"Signed Governance Artifact for one request — control-mapped, verifiable evidence","tags":["system","governance"],"examples":[{"name":"artifact","input":{},"output":{"artifactId":"gart_…","coverage":"captured"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/artifacts/{request_id}"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-07-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.audit.chainVerify","name":"Verify the hash-chain integrity of the completion audit trail","description":"Verify the hash-chain integrity of the completion audit trail","tags":["system","governance"],"examples":[{"name":"chain","input":{},"output":{"valid":true}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/audit/chain/verify"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.audit.verify","name":"Verify server-held evidence for one request — per-check signature / registry / chain / provenance","description":"Verify server-held evidence for one request — per-check signature / registry / chain / provenance","tags":["system","governance"],"examples":[{"name":"verify","input":{"request_id":"req_123"},"output":{"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"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/governance/audit/verify"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.behavioralProfiles.delete","name":"Delete a behavioral profile by role","description":"Delete a behavioral profile by role","tags":["system","governance"],"examples":[{"name":"delete","input":{},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/governance/behavioral-profiles/{role}"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.behavioralProfiles.upsert","name":"Create or replace a behavioral profile for a role","description":"Create or replace a behavioral profile for a role","tags":["system","governance"],"examples":[{"name":"upsert","input":{},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/governance/behavioral-profiles/{role}"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.behavioralProfiles.list","name":"List behavioral profiles (CAF Phase 2)","description":"List behavioral profiles (CAF Phase 2)","tags":["system","governance"],"examples":[{"name":"list","input":{},"output":{"profiles":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/behavioral-profiles"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.compliance.autopilot","name":"Regulatory compliance autopilot (frameworks + score)","description":"Regulatory compliance autopilot (frameworks + score)","tags":["system","governance"],"examples":[{"name":"auto","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/compliance/autopilot"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.compliance.coverage","name":"Evidence coverage — fraction of recorded decisions bound to the audit chain","description":"Evidence coverage — fraction of recorded decisions bound to the audit chain","tags":["system","governance"],"examples":[{"name":"coverage","input":{},"output":{"total":0,"binding":{"bound":0,"unbound":0,"boundRatio":null}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/compliance/coverage"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-07-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.agents.inventory","name":"Agent inventory — every caller seen in the window classified as registered / unregistered / untagged, with shadow_ratio","description":"Agent inventory — every caller seen in the window classified as registered / unregistered / untagged, with shadow_ratio","tags":["system","governance"],"examples":[{"name":"inventory","input":{"period":"week"},"output":{"summary":{"total_requests":0,"registered_agents":0,"unregistered_agents":0,"untagged_keys":0,"shadow_ratio":null}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/agents/inventory"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-09-17","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.completionAudit","name":"Completion audit trail (per-request identity + outcome)","description":"Completion audit trail (per-request identity + outcome)","tags":["system","governance"],"examples":[{"name":"audit","input":{},"output":{"entries":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/completion-audit"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.credentials.issue","name":"Issue a verifiable agent credential (VAC)","description":"Issue a verifiable agent credential (VAC)","tags":["system","governance"],"examples":[{"name":"issue","input":{"agent_id":"a"},"output":{"credential":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/governance/credentials/issue"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.credentials.verify","name":"Verify a credential signature and compute trust level","description":"Verify a credential signature and compute trust level","tags":["system","governance"],"examples":[{"name":"verify","input":{"credential":{}},"output":{"valid":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/governance/credentials/verify"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.compliance.euAiAct","name":"Generate an EU AI Act compliance report","description":"Generate an EU AI Act compliance report","tags":["system","governance"],"examples":[{"name":"report","input":{},"output":{"report":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/compliance/eu-ai-act"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.knowledge.snapshot","name":"Create a knowledge-escrow snapshot for an agent","description":"Create a knowledge-escrow snapshot for an agent","tags":["system","governance"],"examples":[{"name":"snap","input":{"agent_id":"a"},"output":{"snapshot":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/governance/knowledge/snapshot"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.lineage","name":"Decision lineage — durable trace reconstruction (or ?live=true ring buffer)","description":"Decision lineage — durable trace reconstruction (or ?live=true ring buffer)","tags":["system","governance"],"examples":[{"name":"lineage","input":{},"output":{"records":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/lineage"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.lineage.get","name":"The WHY answer for one request — verified audit block + policy_context + lineage","description":"The WHY answer for one request — verified audit block + policy_context + lineage","tags":["system","governance"],"examples":[{"name":"why","input":{},"output":{"request_id":"","coverage":"captured"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/lineage/{request_id}"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-20","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.memory.audit","name":"Memory change history (append/replace/delete/pin/evict)","description":"Memory change history (append/replace/delete/pin/evict)","tags":["system","governance"],"examples":[{"name":"audit","input":{},"output":{"entries":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/memory/audit"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.memory.compliance","name":"Scan core memory for PII/policy violations","description":"Scan core memory for PII/policy violations","tags":["system","governance"],"examples":[{"name":"scan","input":{},"output":{"compliant":true}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/memory/compliance"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.memory.reconstruct","name":"Reconstruct memory state at a past timestamp (with optional diff)","description":"Reconstruct memory state at a past timestamp (with optional diff)","tags":["system","governance"],"examples":[{"name":"reconstruct","input":{},"output":{"state":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/memory/reconstruct"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.memory.stats","name":"Memory audit stats (operation counts by type)","description":"Memory audit stats (operation counts by type)","tags":["system","governance"],"examples":[{"name":"stats","input":{},"output":{"stats":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/memory/stats"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.policy.dryRun","name":"Evaluate a PolicyContext against the tenant ruleset (no enforcement)","description":"Evaluate a PolicyContext against the tenant ruleset (no enforcement)","tags":["system","governance"],"examples":[{"name":"dry","input":{"action":"tool.invoke"},"output":{"decision":"allow"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/governance/policy/dry-run"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.sleepTimeReport","name":"Sleep-time refinement history","description":"Sleep-time refinement history","tags":["system","governance"],"examples":[{"name":"report","input":{},"output":{"total_refinements":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/sleep-time/report"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.sovereignty.policy","name":"Create a clean-room sovereignty policy between two orgs","description":"Create a clean-room sovereignty policy between two orgs","tags":["system","governance"],"examples":[{"name":"policy","input":{"org_a":"A","org_b":"B"},"output":{"policy":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/governance/sovereignty/policy"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.sovereignty.purge","name":"Issue a provable purge of memory entries for an org","description":"Issue a provable purge of memory entries for an org","tags":["system","governance"],"examples":[{"name":"purge","input":{"organization_id":"O"},"output":{"purge":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/governance/sovereignty/purge"}},"x-br-auth":"apiKey","x-br-permission":"governance.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.summary","name":"Executive dashboard summary (memory health + activity)","description":"Executive dashboard summary (memory health + activity)","tags":["system","governance"],"examples":[{"name":"summary","input":{},"output":{"memory":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/summary"}},"x-br-auth":"apiKey","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.intelligence.institutional","name":"Institutional intelligence (I3) index for the tenant","description":"Institutional intelligence (I3) index for the tenant","tags":["system","governance"],"examples":[{"name":"i3","input":{},"output":{"index":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/institutional"}},"x-br-auth":"apiKey","x-br-permission":"intelligence.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.intelligence.samplingAudit","name":"Routing-sampling audit (agent trap defense)","description":"Routing-sampling audit (agent trap defense)","tags":["system","governance"],"examples":[{"name":"sa","input":{},"output":{"entries":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/sampling-audit"}},"x-br-auth":"apiKey","x-br-permission":"intelligence.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.catalog.get","name":"Get a single check definition","description":"Get a single check definition","tags":["system","guardrails"],"examples":[{"name":"get","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/catalog/{checkId}"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.catalog.list","name":"List checks in the V2 guardrail registry","description":"List checks in the V2 guardrail registry","tags":["system","guardrails"],"examples":[{"name":"list","input":{},"output":{"checks":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/catalog"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.config.get","name":"Get the tenant guardrail pipeline config","description":"Get the tenant guardrail pipeline config","tags":["system","guardrails"],"examples":[{"name":"get","input":{},"output":{"config":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/config"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.config.set","name":"Update the tenant guardrail pipeline config","description":"Update the tenant guardrail pipeline config","tags":["system","guardrails"],"examples":[{"name":"set","input":{"enabled":true},"output":{"status":"updated"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/guardrails/config"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.feedback","name":"Submit false-positive / true-positive feedback for a guardrail scan","description":"Submit false-positive / true-positive feedback for a guardrail scan","tags":["system","guardrails"],"examples":[{"name":"fb","input":{"requestId":"r"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/guardrails/feedback"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.metrics","name":"Aggregated scan + feedback metrics (security_events or in-memory)","description":"Aggregated scan + feedback metrics (security_events or in-memory)","tags":["system","guardrails"],"examples":[{"name":"metrics","input":{},"output":{"totalRuns":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/metrics"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.pipelines.create","name":"Create a V2 guardrail pipeline","description":"Create a V2 guardrail pipeline","tags":["system","guardrails"],"examples":[{"name":"create","input":{"name":"p"},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/guardrails/pipelines"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.pipelines.delete","name":"Delete a V2 guardrail pipeline","description":"Delete a V2 guardrail pipeline","tags":["system","guardrails"],"examples":[{"name":"delete","input":{},"output":{"status":"deleted"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/guardrails/pipelines/{id}"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.pipelines.get","name":"Get a V2 guardrail pipeline by id","description":"Get a V2 guardrail pipeline by id","tags":["system","guardrails"],"examples":[{"name":"get","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/pipelines/{id}"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.pipelines.list","name":"List tenant V2 guardrail pipelines","description":"List tenant V2 guardrail pipelines","tags":["system","guardrails"],"examples":[{"name":"list","input":{},"output":{"pipelines":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/pipelines"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.pipelines.test","name":"Test a V2 guardrail pipeline against sample text","description":"Test a V2 guardrail pipeline against sample text","tags":["system","guardrails"],"examples":[{"name":"test","input":{"text":"..."},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/guardrails/pipelines/{id}/test"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.pipelines.update","name":"Update a V2 guardrail pipeline","description":"Update a V2 guardrail pipeline","tags":["system","guardrails"],"examples":[{"name":"update","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/guardrails/pipelines/{id}"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.providers.create","name":"Register an external guardrail provider","description":"Register an external guardrail provider","tags":["system","guardrails"],"examples":[{"name":"create","input":{"id":"x"},"output":{"status":"registered"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/guardrails/providers"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.providers.delete","name":"Remove an external guardrail provider","description":"Remove an external guardrail provider","tags":["system","guardrails"],"examples":[{"name":"delete","input":{},"output":{"status":"removed"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/guardrails/providers/{id}"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.providers.list","name":"List built-in + external guardrail providers","description":"List built-in + external guardrail providers","tags":["system","guardrails"],"examples":[{"name":"list","input":{},"output":{"providers":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/providers"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.templates.list","name":"List well-known provider templates","description":"List well-known provider templates","tags":["system","guardrails"],"examples":[{"name":"list","input":{},"output":{"templates":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/guardrails/templates"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.guardrails.test","name":"Run text through the guardrail pipeline (testing/preview)","description":"Run text through the guardrail pipeline (testing/preview)","tags":["system","guardrails"],"examples":[{"name":"test","input":{"text":"..."},"output":{"result":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/guardrails/test"}},"x-br-auth":"apiKey","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.addDestination","name":"Add a broadcast destination","description":"Add a broadcast destination","tags":["system","observability"],"examples":[{"name":"add","input":{"name":"Webhook","type":"webhook","config":{"url":"https://example.com"}},"output":{"destination":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/observability/destinations"}},"x-br-auth":"apiKey","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.deleteDestination","name":"Remove a broadcast destination","description":"Remove a broadcast destination","tags":["system","observability"],"examples":[{"name":"delete","input":{},"output":{"status":"removed"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/observability/destinations/{id}"}},"x-br-auth":"apiKey","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.getConfig","name":"Get the full broadcast config (enabled + destinations)","description":"Get the full broadcast config (enabled + destinations)","tags":["system","observability"],"examples":[{"name":"get","input":{},"output":{"config":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/observability/config"}},"x-br-auth":"apiKey","x-br-permission":"observability.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.listDestinations","name":"List configured broadcast destinations for the tenant","description":"List configured broadcast destinations for the tenant","tags":["system","observability"],"examples":[{"name":"list","input":{},"output":{"destinations":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/observability/destinations"}},"x-br-auth":"apiKey","x-br-permission":"observability.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.summary","name":"Observability surface summary (broadcast state + destination count + sub-endpoints)","description":"Observability surface summary (broadcast state + destination count + sub-endpoints)","tags":["system","observability"],"examples":[{"name":"summary","input":{},"output":{"enabled":false,"destination_count":0,"endpoints":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/observability"}},"x-br-auth":"apiKey","x-br-permission":"observability.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-28","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.getTemplate","name":"Get a single integration template (config schema + example)","description":"Get a single integration template (config schema + example)","tags":["system","observability"],"examples":[{"name":"get","input":{},"output":{"template":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/observability/templates/{provider}"}},"x-br-auth":"apiKey","x-br-permission":"observability.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.listTemplates","name":"List available integration template names","description":"List available integration template names","tags":["system","observability"],"examples":[{"name":"list","input":{},"output":{"templates":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/observability/templates"}},"x-br-auth":"apiKey","x-br-permission":"observability.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.testDestination","name":"Deliver a synthetic event to a destination and report the observed outcome","description":"Deliver a synthetic event to a destination and report the observed outcome","tags":["system","observability"],"examples":[{"name":"test","input":{},"output":{"status":"delivered"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/observability/test/{id}"}},"x-br-auth":"apiKey","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.updateConfig","name":"Enable or disable broadcasting for the tenant","description":"Enable or disable broadcasting for the tenant","tags":["system","observability"],"examples":[{"name":"update","input":{"enabled":true},"output":{"enabled":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/observability/config"}},"x-br-auth":"apiKey","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.observability.updateDestination","name":"Update a broadcast destination","description":"Update a broadcast destination","tags":["system","observability"],"examples":[{"name":"update","input":{},"output":{"destination":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/observability/destinations/{id}"}},"x-br-auth":"apiKey","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.ab.get","name":"Get A/B test results for a prompt","description":"Get A/B test results for a prompt","tags":["system","prompts"],"examples":[{"name":"ab-get","input":{},"output":{"winner":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/prompts/{id}/ab"}},"x-br-auth":"apiKey","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.ab.set","name":"Start or stop an A/B test for a prompt","description":"Start or stop an A/B test for a prompt","tags":["system","prompts"],"examples":[{"name":"start","input":{"action":"start","version_a":1,"version_b":2},"output":{"status":"ok"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/prompts/{id}/ab"}},"x-br-auth":"apiKey","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.archive","name":"Archive a prompt template (soft delete)","description":"Archive a prompt template (soft delete)","tags":["system","prompts"],"examples":[{"name":"archive","input":{},"output":{"status":"archived"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/prompts/{id}"}},"x-br-auth":"apiKey","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.create","name":"Create a versioned prompt template","description":"Create a versioned prompt template","tags":["system","prompts"],"examples":[{"name":"create","input":{"id":"greeting","template":"Hello {{name}}"},"output":{"id":"greeting","version":1}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/prompts"}},"x-br-auth":"apiKey","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.diff","name":"Unified diff between two versions of a prompt","description":"Unified diff between two versions of a prompt","tags":["system","prompts"],"examples":[{"name":"diff","input":{},"output":{"diff":""}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/prompts/{id}/diff"}},"x-br-auth":"apiKey","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.evalExport","name":"Export a single evaluation run as JSON or CSV","description":"Export a single evaluation run as JSON or CSV","tags":["system","prompts"],"examples":[{"name":"export","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/prompts/{id}/evaluate/results/{runId}/export"}},"x-br-auth":"apiKey","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.evalResults","name":"List recent evaluation runs for a prompt with aggregate metrics","description":"List recent evaluation runs for a prompt with aggregate metrics","tags":["system","prompts"],"examples":[{"name":"results","input":{},"output":{"runs":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/prompts/{id}/evaluate/results"}},"x-br-auth":"apiKey","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.evaluate","name":"Run a prompt against test cases with a chosen scorer","description":"Run a prompt against test cases with a chosen scorer","tags":["system","prompts"],"examples":[{"name":"evaluate","input":{"test_cases":[{"input":{}}]},"output":{"run_id":"","pass_count":0}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/prompts/{id}/evaluate"}},"x-br-auth":"apiKey","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.get","name":"Get a prompt template with its full version history","description":"Get a prompt template with its full version history","tags":["system","prompts"],"examples":[{"name":"get","input":{},"output":{"id":"","versions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/prompts/{id}"}},"x-br-auth":"apiKey","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.list","name":"List all prompt templates for the tenant","description":"List all prompt templates for the tenant","tags":["system","prompts"],"examples":[{"name":"list","input":{},"output":{"prompts":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/prompts"}},"x-br-auth":"apiKey","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.promote","name":"Promote a prompt version to a higher environment","description":"Promote a prompt version to a higher environment","tags":["system","prompts"],"examples":[{"name":"promote","input":{"version":1,"target_environment":"prod"},"output":{"environment":"prod"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/prompts/{id}/promote"}},"x-br-auth":"apiKey","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.test","name":"Test-resolve a prompt template with the given variables","description":"Test-resolve a prompt template with the given variables","tags":["system","prompts"],"examples":[{"name":"test","input":{"variables":{"name":"World"}},"output":{"resolved_text":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/prompts/{id}/test"}},"x-br-auth":"apiKey","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.prompts.update","name":"Update a prompt — auto-creates a new version","description":"Update a prompt — auto-creates a new version","tags":["system","prompts"],"examples":[{"name":"update","input":{"template":"Hi {{name}}"},"output":{"version":2}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/prompts/{id}"}},"x-br-auth":"apiKey","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.providers.batch","name":"Register up to 10 provider keys in one call (returns 207)","description":"Register up to 10 provider keys in one call (returns 207)","tags":["system","providers"],"examples":[{"name":"batch","input":{"providers":[]},"output":{"results":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/providers/batch"}},"x-br-auth":"apiKey","x-br-permission":"providers.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.providers.catalog","name":"Public catalog of supported provider IDs and base URLs","description":"Public catalog of supported provider IDs and base URLs","tags":["system","providers"],"examples":[{"name":"catalog","input":{},"output":{"providers":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/providers/catalog"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.providers.delete","name":"Remove a provider key by provider name","description":"Remove a provider key by provider name","tags":["system","providers"],"examples":[{"name":"delete","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/providers/{providerId}"}},"x-br-auth":"apiKey","x-br-permission":"providers.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.providers.list","name":"List configured providers for the tenant (admin/operator only)","description":"List configured providers for the tenant (admin/operator only)","tags":["system","providers"],"examples":[{"name":"list","input":{},"output":{"providers":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/providers"}},"x-br-auth":"apiKey","x-br-permission":"providers.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.providers.register","name":"Store an encrypted provider API key for the tenant","description":"Store an encrypted provider API key for the tenant","tags":["system","providers"],"examples":[{"name":"register","input":{"provider":"anthropic","api_key":"sk-..."},"output":{"id":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/providers"}},"x-br-auth":"apiKey","x-br-permission":"providers.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.providers.test","name":"Validate a provider API key with a lightweight live request","description":"Validate a provider API key with a lightweight live request","tags":["system","providers"],"examples":[{"name":"test","input":{"provider":"anthropic","api_key":"sk-..."},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/providers/test"}},"x-br-auth":"apiKey","x-br-permission":"providers.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.replays.compare","name":"Compare routing strategies side-by-side on recorded traffic","description":"Compare routing strategies side-by-side on recorded traffic","tags":["system","replays"],"examples":[{"name":"compare","input":{},"output":{"strategies":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/replays/compare"}},"x-br-auth":"apiKey","x-br-permission":"replays.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.replays.decisions","name":"List recorded routing decisions for the tenant","description":"List recorded routing decisions for the tenant","tags":["system","replays"],"examples":[{"name":"list","input":{},"output":{"decisions":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/replays/decisions"}},"x-br-auth":"apiKey","x-br-permission":"replays.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.replays.simulate","name":"Simulate alternative routing strategy on recorded traffic","description":"Simulate alternative routing strategy on recorded traffic","tags":["system","replays"],"examples":[{"name":"sim","input":{"strategy":"price"},"output":{"period":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/replays/simulate"}},"x-br-auth":"apiKey","x-br-permission":"replays.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.degradation","name":"Current degradation ladder state: level, reason, thresholds, budget utilization","description":"Current degradation ladder state: level, reason, thresholds, budget utilization","tags":["intelligence"],"examples":[{"name":"normal","input":{},"output":{"level":0,"level_name":"normal","reason":"all systems nominal","entered_at":"2026-01-01T00:00:00.000Z","budget_utilization":0.1,"healthy_providers":7,"total_providers":7,"thresholds":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/degradation"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"audio.speech","name":"OpenAI-compatible TTS (binary audio response)","description":"OpenAI-compatible TTS (binary audio response)","tags":["completions"],"examples":[{"name":"tts","input":{"input":"Hello","model":"tts-1","voice":"alloy","response_format":"mp3","speed":1},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/audio/speech"}},"x-br-auth":"apiKey","x-br-permission":"audio.speech","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"audio.transcribe","name":"OpenAI-compatible audio transcription (Whisper, multipart upload)","description":"OpenAI-compatible audio transcription (Whisper, multipart upload)","tags":["completions"],"examples":[{"name":"transcribe","input":{},"output":{"text":"..."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/audio/transcriptions"}},"x-br-auth":"apiKey","x-br-permission":"audio.transcribe","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.discovery","name":"Self-describing capability discovery — routing, models, budget, headers, errors","description":"Self-describing capability discovery — routing, models, budget, headers, errors","tags":["system"],"examples":[{"name":"minimal","input":{},"output":{"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"}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/discovery"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.capabilities","name":"Machine-queryable, trust-scored graph of BR's own capabilities — query, don't read","description":"Machine-queryable, trust-scored graph of BR's own capabilities — query, don't read","tags":["system"],"examples":[{"name":"whole-graph","input":{},"output":{"version":"0.1.0-seed","generated_at":null,"count":0,"nodes":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/capabilities"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"embeddings.create","name":"OpenAI-compatible embeddings endpoint (routed through BR provider catalog)","description":"OpenAI-compatible embeddings endpoint (routed through BR provider catalog)","tags":["completions"],"examples":[{"name":"embed","input":{"model":"text-embedding-3-small","input":"hello"},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/embeddings"}},"x-br-auth":"apiKey","x-br-permission":"embeddings.create","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"images.generate","name":"OpenAI-compatible image generation (proxied to provider)","description":"OpenAI-compatible image generation (proxied to provider)","tags":["completions"],"examples":[{"name":"gen","input":{"prompt":"a cat","model":"dall-e-3","n":1,"size":"1024x1024","quality":"standard","response_format":"url","style":"vivid"},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/images/generations"}},"x-br-auth":"apiKey","x-br-permission":"images.generate","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.estimate","name":"Predict per-model cost for a completion request (no provider calls)","description":"Predict per-model cost for a completion request (no provider calls)","tags":["intelligence"],"examples":[{"name":"auto","input":{"messages":[{"role":"user","content":"hi"}]},"output":{"estimates":[],"request_summary":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/estimate"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.add_items","name":"Append items to an evaluation dataset (batch)","description":"Append items to an evaluation dataset (batch)","tags":["system"],"examples":[{"name":"add","input":{"items":[{"input":{}}]},"output":{"count":1}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/eval/datasets/{id}/items"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.create","name":"Create an evaluation dataset","description":"Create an evaluation dataset","tags":["system"],"examples":[{"name":"create","input":{"name":"smoke-tests"},"output":{"id":"ds_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/eval/datasets"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.delete","name":"Delete an evaluation dataset and all its items","description":"Delete an evaluation dataset and all its items","tags":["system"],"examples":[{"name":"delete","input":{},"output":{"status":"deleted"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/eval/datasets/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.delete_item","name":"Delete a single dataset item","description":"Delete a single dataset item","tags":["system"],"examples":[{"name":"delete","input":{},"output":{"status":"deleted"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/eval/datasets/{id}/items/{itemId}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.export","name":"Export dataset items (JSON default, CSV via ?format=csv)","description":"Export dataset items (JSON default, CSV via ?format=csv)","tags":["system"],"examples":[{"name":"export","input":{},"output":{"items":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/eval/datasets/{id}/export"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.get","name":"Get an evaluation dataset","description":"Get an evaluation dataset","tags":["system"],"examples":[{"name":"get","input":{},"output":{"id":"ds_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/eval/datasets/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.import_logs","name":"Import items from production completion audit logs","description":"Import items from production completion audit logs","tags":["system"],"examples":[{"name":"import","input":{"limit":10},"output":{"imported":0}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/eval/datasets/{id}/import-from-logs"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.list","name":"List evaluation datasets for the tenant","description":"List evaluation datasets for the tenant","tags":["system"],"examples":[{"name":"list","input":{},"output":{"datasets":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/eval/datasets"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.list_items","name":"List items in an evaluation dataset","description":"List items in an evaluation dataset","tags":["system"],"examples":[{"name":"list","input":{},"output":{"items":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/eval/datasets/{id}/items"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.eval.datasets.update","name":"Update an evaluation dataset (name, description)","description":"Update an evaluation dataset (name, description)","tags":["system"],"examples":[{"name":"rename","input":{"name":"x"},"output":{"id":"ds_1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/eval/datasets/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.experiments.create","name":"Create an A/B-test experiment with weighted variants","description":"Create an A/B-test experiment with weighted variants","tags":["intelligence"],"examples":[{"name":"create","input":{"name":"test","variants":[{"id":"a","model":"anthropic/claude-sonnet-4","weight":0.5},{"id":"b","model":"openai/gpt-4o","weight":0.5}]},"output":{"id":"exp_1","status":"running"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/experiments"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.experiments.get","name":"Get an experiment with interim results + statistical significance","description":"Get an experiment with interim results + statistical significance","tags":["intelligence"],"examples":[{"name":"get","input":{},"output":{"id":"exp_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/experiments/{id}"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.experiments.list","name":"List experiments for the tenant","description":"List experiments for the tenant","tags":["intelligence"],"examples":[{"name":"list","input":{},"output":{"experiments":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/experiments"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.experiments.record_outcome","name":"Record an outcome for an experiment variant","description":"Record an outcome for an experiment variant","tags":["intelligence"],"examples":[{"name":"record","input":{"variant_id":"a","success":true},"output":{"ok":true,"experiment_id":"exp_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/experiments/{id}/outcomes"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.explain_request","name":"Per-request routing-decision trace; optional LLM-narrated postmortem","description":"Per-request routing-decision trace; optional LLM-narrated postmortem","tags":["intelligence"],"examples":[{"name":"structured","input":{},"output":{"request_id":"req_x","model_selected":"anthropic/claude-sonnet-4"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/explain/{request_id}"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.feedback","name":"Report outcome (success/partial/failure) for a routed request; the reward updates the model-quality posterior used by auto-selection","description":"Report outcome (success/partial/failure) for a routed request; the reward updates the model-quality posterior used by auto-selection","tags":["intelligence"],"examples":[{"name":"success","input":{"requestId":"req_1","outcome":"success","model_used":"openai/gpt-4o"},"output":{"recorded":true,"request_id":"req_1","model_reward_updated":true,"reward_computed":1,"new_reward_mean":1,"sample_count":1}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/feedback/{requestId}"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.fleet_insights","name":"Fleet model insights — top 10 by evaluations or model-specific","description":"Fleet model insights — top 10 by evaluations or model-specific","tags":["intelligence"],"examples":[{"name":"overview","input":{},"output":{"models":[],"total_models":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/fleet/insights"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.advise","name":"Predictive routing recommendation with reasoning, evidence, and alternatives","description":"Predictive routing recommendation with reasoning, evidence, and alternatives","tags":["intelligence"],"examples":[{"name":"minimal","input":{"messages":[{"role":"user","content":"hi"}]},"output":{"recommendation":{"model":"auto"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/intelligence/advise"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.benchmark","name":"Thompson-vs-static shadow comparator results + statistical significance","description":"Thompson-vs-static shadow comparator results + statistical significance","tags":["intelligence"],"examples":[{"name":"benchmark","input":{},"output":{"period":"rolling"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/benchmark"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.compare_models","name":"Head-to-head comparison of 2-10 models","description":"Head-to-head comparison of 2-10 models","tags":["intelligence"],"examples":[{"name":"compare","input":{},"output":{"models":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/compare"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.deprecations","name":"Active deprecation alerts (filter by provider, level)","description":"Active deprecation alerts (filter by provider, level)","tags":["intelligence"],"examples":[{"name":"list","input":{},"output":{"object":"list","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/deprecations"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.frontier","name":"Cost-quality Pareto frontier with dominated models","description":"Cost-quality Pareto frontier with dominated models","tags":["intelligence"],"examples":[{"name":"default","input":{},"output":{"task_type":"default","frontier":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/frontier"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.model_profile","name":"Single model profile with ranking + deprecation alert","description":"Single model profile with ranking + deprecation alert","tags":["intelligence"],"examples":[{"name":"get","input":{},"output":{"provider":"anthropic"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/model/{provider}/{modelId}"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.rankings","name":"Overall (or task-specific) model leaderboard","description":"Overall (or task-specific) model leaderboard","tags":["intelligence"],"examples":[{"name":"list","input":{},"output":{"object":"list","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/rankings"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.savings","name":"Counterfactual ROI savings (Postgres-backed when configured)","description":"Counterfactual ROI savings (Postgres-backed when configured)","tags":["intelligence"],"examples":[{"name":"savings","input":{},"output":{"source":"memory"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/savings"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.status","name":"Ingestor diagnostics, store size, deprecation alert count","description":"Ingestor diagnostics, store size, deprecation alert count","tags":["intelligence"],"examples":[{"name":"status","input":{},"output":{"store_size":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/status"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.patterns.list","name":"Aggregated request-pattern × model performance data with optional filters","description":"Aggregated request-pattern × model performance data with optional filters","tags":["intelligence"],"examples":[{"name":"all","input":{},"output":{"patterns":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/intelligence/patterns"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.patterns.recommend","name":"Aggregated task-pattern recommendations across all tenants","description":"Aggregated task-pattern recommendations across all tenants","tags":["intelligence"],"examples":[{"name":"empty","input":{},"output":{"recommendations":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/patterns/recommend"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.patterns.store","name":"Store a learned task pattern (tenant-scoped)","description":"Store a learned task pattern (tenant-scoped)","tags":["intelligence"],"examples":[{"name":"store","input":{"task_type":"refactor","approach":{"description":"extract helpers"}},"output":{"id":"pat_1","task_type":"refactor"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/patterns"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.recommend","name":"Ranked model recommendations backed by production routing data","description":"Ranked model recommendations backed by production routing data","tags":["intelligence"],"examples":[{"name":"minimal","input":{},"output":{"recommendations":[],"data_points":0,"tenant_id":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/recommend"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.ops.guardian_stats","name":"Guardian overhead, cache hit rate, anomaly count (24h)","description":"Guardian overhead, cache hit rate, anomaly count (24h)","tags":["intelligence"],"examples":[{"name":"stats","input":{},"output":{"avgOverheadMs":0,"totalRequests":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/ops/guardian-stats"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.routing.cascades","name":"Cascade activations (model escalation on failure)","description":"Cascade activations (model escalation on failure)","tags":["intelligence"],"examples":[{"name":"list","input":{},"output":{"cascades":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/routing/cascades"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.routing.decisions","name":"Recent routing decisions with decisionTrace metadata","description":"Recent routing decisions with decisionTrace metadata","tags":["intelligence"],"examples":[{"name":"list","input":{},"output":{"decisions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/routing/decisions"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.routing.delegated","name":"Brainstorm CLI delegated routing — pick a model for a task spec","description":"Brainstorm CLI delegated routing — pick a model for a task spec","tags":["intelligence"],"examples":[{"name":"minimal","input":{"task":{"type":"code-gen"},"capabilities_needed":["tools"]},"output":{"model":"anthropic/claude-sonnet-4"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/route"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.routing.stream","name":"SSE stream of live routing events for the tenant: route-time decisions (kind=decision) and completion-time outcomes (kind=outcome) carrying a validity-derived success label and latency_ms","description":"SSE stream of live routing events for the tenant: route-time decisions (kind=decision) and completion-time outcomes (kind=outcome) carrying a validity-derived success label and latency_ms","tags":["intelligence"],"examples":[{"name":"stream","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/routing-stream"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.trajectories.export","name":"Export trajectories as JSONL for offline training pipelines","description":"Export trajectories as JSONL for offline training pipelines","tags":["intelligence"],"examples":[{"name":"export","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/trajectories/export"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.trajectories.query","name":"Query stored trajectories with filters (project, request_type, source, limit, since)","description":"Query stored trajectories with filters (project, request_type, source, limit, since)","tags":["intelligence"],"examples":[{"name":"empty","input":{},"output":{"object":"list","data":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/trajectories"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.trajectories.record","name":"Record an orchestration trajectory for the current tenant","description":"Record an orchestration trajectory for the current tenant","tags":["intelligence"],"examples":[{"name":"record","input":{"project":"demo"},"output":{"id":"00000000-0000-0000-0000-000000000001","recorded_at":"2026-01-01T00:00:00Z"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/trajectories"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"intelligence.trajectories.stats","name":"Aggregate statistics over stored trajectories for the current tenant","description":"Aggregate statistics over stored trajectories for the current tenant","tags":["intelligence"],"examples":[{"name":"empty","input":{},"output":{"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/trajectories/stats"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.api_keys.create","name":"Create a new API key (plaintext returned once)","description":"Create a new API key (plaintext returned once)","tags":["system"],"examples":[{"name":"minimal","input":{"name":"ci-key","prefix":"br_live_"},"output":{"id":"key_123","name":"ci-key"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/api-keys"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.api_keys.list","name":"List API keys (no plaintext, preview only)","description":"List API keys (no plaintext, preview only)","tags":["system"],"examples":[{"name":"list","input":{},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/api-keys"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.api_keys.revoke","name":"Revoke an API key (soft-delete; cache invalidated immediately)","description":"Revoke an API key (soft-delete; cache invalidated immediately)","tags":["system"],"examples":[{"name":"revoke","input":{},"output":{"deleted":true,"id":"key_123"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/api-keys/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.api_keys.update","name":"Update an API key's scopes, limits, or metadata (self-service)","description":"Update an API key's scopes, limits, or metadata (self-service)","tags":["system"],"examples":[{"name":"rename","input":{"name":"ci-prod"},"output":{"id":"key_123","name":"ci-prod"}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/api-keys/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.group_mappings.delete","name":"Delete an IdP group → role mapping","description":"Delete an IdP group → role mapping","tags":["system"],"examples":[{"name":"delete","input":{},"output":{"deleted":true,"id":"map_1"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/group-mappings/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.group_mappings.get","name":"Get a single group → role mapping by ID","description":"Get a single group → role mapping by ID","tags":["system"],"examples":[{"name":"get","input":{},"output":{"id":"map_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/group-mappings/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.group_mappings.list","name":"List IdP group → RBAC role mappings for the tenant","description":"List IdP group → RBAC role mappings for the tenant","tags":["system"],"examples":[{"name":"list","input":{},"output":{"mappings":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/group-mappings"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.group_mappings.update","name":"Update an IdP group mapping's role, scopes, or display name","description":"Update an IdP group mapping's role, scopes, or display name","tags":["system"],"examples":[{"name":"promote","input":{"brRole":"operator"},"output":{"id":"map_1","brRole":"operator"}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/group-mappings/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.health","name":"Liveness probe — returns ok while the process is up and serving HTTP","description":"Liveness probe — returns ok while the process is up and serving HTTP","tags":["system"],"examples":[{"name":"healthy","input":{},"output":{"status":"healthy","version":"1.0.0","product":"br","uptime_seconds":12345,"timestamp":"2026-01-01T00:00:00.000Z"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/health"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-01-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.identity.claim_link","name":"Generate a dashboard claim link (admin scope required)","description":"Generate a dashboard claim link (admin scope required)","tags":["system"],"examples":[{"name":"owner","input":{"role":"owner"},"output":{"token":"abc","url":"..."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/tenant/claim-link"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.identity.device_authorize","name":"Start a device-authorization flow (admin scope required)","description":"Start a device-authorization flow (admin scope required)","tags":["system"],"examples":[{"name":"start","input":{},"output":{"device_code":"abc","user_code":"XYZ"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/auth/device/authorize"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.identity.device_token","name":"Poll device-authorization status","description":"Poll device-authorization status","tags":["system"],"examples":[{"name":"linked","input":{"device_code":"abc"},"output":{"status":"linked","tenant":{"id":"t_1"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/auth/device/token"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.identity.link","name":"Generate a browser-based dashboard link URL (admin scope)","description":"Generate a browser-based dashboard link URL (admin scope)","tags":["system"],"examples":[{"name":"link","input":{},"output":{"link_url":"https://..."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/auth/link"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.insights.daily","name":"Daily cost-optimization insight rollup (requires DB)","description":"Daily cost-optimization insight rollup (requires DB)","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"rows":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/insights/daily"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.insights.forecast","name":"Budget runway forecast (daily or monthly period)","description":"Budget runway forecast (daily or monthly period)","tags":["system"],"examples":[{"name":"monthly","input":{},"output":{"projection":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/insights/forecast"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.insights.optimize","name":"Model-substitution recommendations for cost reduction","description":"Model-substitution recommendations for cost reduction","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"recommendations":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/insights/optimize"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.insights.waste","name":"Waste detection report. Returns 403 privacy_restricted on strict privacy mode.","description":"Waste detection report. Returns 403 privacy_restricted on strict privacy mode.","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"status":"ok","items":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/insights/waste"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.killswitch.activate","name":"Emergency stop — suspend all routing for the authenticated tenant","description":"Emergency stop — suspend all routing for the authenticated tenant","tags":["security"],"examples":[{"name":"activate","input":{"reason":"incident"},"output":{"ok":true,"active":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/killswitch/activate"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.killswitch.deactivate","name":"Resume routing for the authenticated tenant","description":"Resume routing for the authenticated tenant","tags":["security"],"examples":[{"name":"deactivate","input":{},"output":{"ok":true,"active":false}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/killswitch/deactivate"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.killswitch.scope_delete","name":"Deactivate a scoped kill switch","description":"Deactivate a scoped kill switch","tags":["security"],"examples":[{"name":"delete","input":{},"output":{"ok":true,"type":"provider","id":"openai"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/killswitch/scope/{type}/{id}"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.killswitch.scope_set","name":"Activate a scoped kill switch (agent, tool, or provider)","description":"Activate a scoped kill switch (agent, tool, or provider)","tags":["security"],"examples":[{"name":"set","input":{"type":"provider","id":"openai","reason":"outage"},"output":{"ok":true,"type":"provider"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/killswitch/scope"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.killswitch.scopes_list","name":"List all active scoped kill switches for the tenant","description":"List all active scoped kill switches for the tenant","tags":["security"],"examples":[{"name":"list","input":{},"output":{"scopes":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/killswitch/scopes"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.killswitch.status","name":"Get current kill switch state + activation history","description":"Get current kill switch state + activation history","tags":["security"],"examples":[{"name":"status","input":{},"output":{"active":false,"history":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/killswitch/status"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.models_leaderboard","name":"Per-model performance rankings across reward, quality, speed, value, reliability","description":"Per-model performance rankings across reward, quality, speed, value, reliability","tags":["system"],"examples":[{"name":"default","input":{},"output":{"object":"list","data":[],"sort_by":"overall","model_count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/models/leaderboard"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.mcp_registry.list","name":"List MCP servers registered for the current tenant","description":"List MCP servers registered for the current tenant","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"servers":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/mcp/registry"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.mcp_registry.register","name":"Register a trusted MCP server for the current tenant","description":"Register a trusted MCP server for the current tenant","tags":["security"],"examples":[{"name":"register","input":{"url":"https://example.com","name":"Example"},"output":{"id":"mcp_1","url":"https://example.com","name":"Example"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/mcp/registry"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.mcp_registry.remove","name":"Remove an MCP server from the tenant's registry","description":"Remove an MCP server from the tenant's registry","tags":["security"],"examples":[{"name":"remove","input":{"id":"mcp_1"},"output":{"id":"mcp_1","status":"removed"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/mcp/registry/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.metrics","name":"Prometheus-compatible metrics endpoint (text exposition format)","description":"Prometheus-compatible metrics endpoint (text exposition format)","tags":["system"],"examples":[{"name":"scrape","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/metrics"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2025-01-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.moderations","name":"OpenAI-compatible moderation endpoint with BR jailbreak/PII layer","description":"OpenAI-compatible moderation endpoint with BR jailbreak/PII layer","tags":["security"],"examples":[{"name":"simple","input":{"input":"hello world"},"output":{"id":"modr-x","model":"text-moderation-latest","results":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/moderations"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-03-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.models.capabilities","name":"Per-model capability profile: catalog flags + production quality/latency/success metrics","description":"Per-model capability profile: catalog flags + production quality/latency/success metrics","tags":["system"],"examples":[{"name":"lookup","input":{"provider":"openai","modelId":"gpt-4o"},"output":{"model":"openai/gpt-4o","catalog":{"supports_tools":true},"production":{"sample_count":0}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/models/{provider}/{modelId}/capabilities"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.models.list","name":"List available models for the authenticated tenant (auto-detects OpenAI vs Anthropic format)","description":"List available models for the authenticated tenant (auto-detects OpenAI vs Anthropic format)","tags":["system"],"examples":[{"name":"openai-format","input":{},"output":{"object":"list","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/models"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.governance.data_policy","name":"The tenant's effective data-protection posture — retention, no-training, attested processors, and enforcement behavior","description":"The tenant's effective data-protection posture — retention, no-training, attested processors, and enforcement behavior","tags":["system","governance"],"examples":[{"name":"effective-posture","input":{},"output":{"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"]}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/governance/data-policy"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-10","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.onboard","name":"Personalized one-call agent setup: identity, models, tools, budget, bootstrap path","description":"Personalized one-call agent setup: identity, models, tools, budget, bootstrap path","tags":["system"],"examples":[{"name":"minimal","input":{},"output":{"identity":{},"recommended_models":[],"mcp_tools":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/onboard"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.ops.alertLog","name":"Recent alert-delivery receipts + last delivery timestamp — proves SNS alarms actually reach a subscriber","description":"Recent alert-delivery receipts + last delivery timestamp — proves SNS alarms actually reach a subscriber","tags":["system"],"examples":[{"name":"recent-receipts","input":{},"output":{"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"}]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/ops/alert-log"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-09","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.ops.build","name":"Authenticated runtime build identity for evidence-gated production verification","description":"Authenticated runtime build identity for evidence-gated production verification","tags":["system"],"examples":[{"name":"runtime-identity","input":{},"output":{"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","deploy":{"store":"redis","previous_known":true,"changed":true,"previous_commit_sha":"c1f0...","current_commit_sha":"d256ac285ac5a5c48e4015bc3cf0937a0db6c3b6"}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/ops/build"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2026-05-22","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.ops.circuit.reset","name":"Manually reset circuit breakers (endpoint, provider, or all). Platform-operator only — breakers are shared across tenants.","description":"Manually reset circuit breakers (endpoint, provider, or all). Platform-operator only — breakers are shared across tenants.","tags":["system"],"examples":[{"name":"single-endpoint","input":{"endpointId":"google::gemini-2.5-flash"},"output":{"reset":["google::gemini-2.5-flash"],"count":1}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/ops/circuit/reset"}},"x-br-auth":"apiKey","x-br-permission":"platform.admin","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.ops.diagnose","name":"Run provider-doctor against the fleet; returns structured diagnoses + remediations","description":"Run provider-doctor against the fleet; returns structured diagnoses + remediations","tags":["system"],"examples":[{"name":"healthy-fleet","input":{},"output":{"providers":[],"summary":{"healthy":0}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/ops/diagnose"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.ops.diagnose.get","name":"GET alias for /v1/ops/diagnose (read-only fleet diagnosis)","description":"GET alias for /v1/ops/diagnose (read-only fleet diagnosis)","tags":["system"],"examples":[{"name":"healthy-fleet","input":{},"output":{"providers":[],"summary":{"healthy":0}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/ops/diagnose"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-28","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.ops.status","name":"Single-pane-of-glass status: providers, endpoints, budget, usage","description":"Single-pane-of-glass status: providers, endpoints, budget, usage","tags":["system"],"examples":[{"name":"ready","input":{},"output":{"status":"ready","providers":{},"endpoints":{},"budget":{},"usage":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/ops/status"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.config.otel","name":"OpenTelemetry exporter configuration: endpoint, service name, batching","description":"OpenTelemetry exporter configuration: endpoint, service name, batching","tags":["system"],"examples":[{"name":"default","input":{},"output":{"enabled":false,"endpoint":null,"service_name":"brainstormrouter","batch_size":100,"flush_interval_ms":5000}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/config/otel"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.presets.archive","name":"Archive a routing preset (soft-delete)","description":"Archive a routing preset (soft-delete)","tags":["system"],"examples":[{"name":"archive","input":{},"output":{"slug":"prod","status":"archived"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/presets/{slug}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.presets.create","name":"Create a routing preset (saved `@preset/<slug>` configuration)","description":"Create a routing preset (saved `@preset/<slug>` configuration)","tags":["system"],"examples":[{"name":"create","input":{"slug":"prod","name":"Prod","model":"anthropic/claude-sonnet-4"},"output":{"preset":{"slug":"prod"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/presets"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.presets.get","name":"Get a routing preset by slug","description":"Get a routing preset by slug","tags":["system"],"examples":[{"name":"get","input":{},"output":{"preset":{"slug":"prod"}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/presets/{slug}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.presets.list","name":"List active routing presets for the tenant","description":"List active routing presets for the tenant","tags":["system"],"examples":[{"name":"list","input":{},"output":{"presets":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/presets"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.presets.update","name":"Update a routing preset (partial)","description":"Update a routing preset (partial)","tags":["system"],"examples":[{"name":"rename","input":{"name":"Prod-v2"},"output":{"preset":{"slug":"prod"}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/presets/{slug}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.registry.get","name":"Get a single registered project by name (404 on missing)","description":"Get a single registered project by name (404 on missing)","tags":["system"],"examples":[{"name":"lookup","input":{"name":"demo"},"output":{"name":"demo","created_at":"2026-01-01T00:00:00Z"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/projects/registry/{name}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.registry.list","name":"List registered projects for the current tenant","description":"List registered projects for the current tenant","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"projects":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/projects/registry"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.registry.update","name":"Update project metadata (404 on missing)","description":"Update project metadata (404 on missing)","tags":["system"],"examples":[{"name":"update","input":{"name":"demo","description":"Updated"},"output":{"ok":true,"project":{"name":"demo"}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/projects/registry/{name}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.registry.upsert","name":"Register or sync a project (upsert by name; 201 on create, 200 on update)","description":"Register or sync a project (upsert by name; 201 on create, 200 on update)","tags":["system"],"examples":[{"name":"register","input":{"name":"demo"},"output":{"ok":true,"project":{"name":"demo"},"created":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/projects/registry"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.activity_get","name":"Get recent activity for a project (filterable by ?since=1h)","description":"Get recent activity for a project (filterable by ?since=1h)","tags":["system"],"examples":[{"name":"since-1h","input":{},"output":{"active_sessions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/projects/{id}/activity"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.activity_post","name":"Report an activity record for a project","description":"Report an activity record for a project","tags":["system"],"examples":[{"name":"report","input":{"user":"alice","current_task":"refactor"},"output":{"user":"alice"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/projects/{id}/activity"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.archive","name":"Archive a project (soft-delete)","description":"Archive a project (soft-delete)","tags":["system"],"examples":[{"name":"archive","input":{},"output":{"id":"p_1","status":"archived"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/projects/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.config_get","name":"Get a project's routing config","description":"Get a project's routing config","tags":["system"],"examples":[{"name":"get","input":{},"output":{"projectId":"p_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/projects/{id}/config"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.config_set","name":"Set project routing config (default model, budget, conventions, etc.)","description":"Set project routing config (default model, budget, conventions, etc.)","tags":["system"],"examples":[{"name":"set","input":{"default_model":"auto"},"output":{"projectId":"p_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/projects/{id}/config"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.create","name":"Create a project under an existing workspace","description":"Create a project under an existing workspace","tags":["system"],"examples":[{"name":"create","input":{"name":"Demo","workspaceId":"ws_1"},"output":{"id":"p_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/projects"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.get","name":"Get a project by id","description":"Get a project by id","tags":["system"],"examples":[{"name":"get","input":{},"output":{"id":"p_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/projects/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.list","name":"List active projects (optionally filtered by ?workspaceId=)","description":"List active projects (optionally filtered by ?workspaceId=)","tags":["system"],"examples":[{"name":"list","input":{},"output":{"projects":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/projects"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.projects.update","name":"Update a project (partial)","description":"Update a project (partial)","tags":["system"],"examples":[{"name":"rename","input":{"name":"Demo v2"},"output":{"id":"p_1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/projects/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.owasp.coverage","name":"OWASP LLM Top 10 coverage assessment for the current tenant's controls","description":"OWASP LLM Top 10 coverage assessment for the current tenant's controls","tags":["security"],"examples":[{"name":"default","input":{},"output":{"items":[],"coverage_score":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/owasp-coverage"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-02-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.owasp.items","name":"OWASP LLM Top 10 item catalog (id, title, description, controls)","description":"OWASP LLM Top 10 item catalog (id, title, description, controls)","tags":["security"],"examples":[{"name":"list","input":{},"output":{"items":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/owasp-items"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-02-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.security.owasp.coverage","name":"OWASP LLM Top 10 coverage assessment for the dashboard Compliance view","description":"OWASP LLM Top 10 coverage assessment for the dashboard Compliance view","tags":["security"],"examples":[{"name":"default","input":{},"output":{"overall_percentage":0,"items":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/security/owasp-coverage"}},"x-br-auth":"supabaseJwt","x-br-permission":"security_events.read","x-br-streaming":null,"x-br-introduced_in":"2025-02-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.health.providers","name":"Per-provider health combining sentinel probes, circuit breakers, and BYOK key presence","description":"Per-provider health combining sentinel probes, circuit breakers, and BYOK key presence","tags":["system"],"examples":[{"name":"all-healthy","input":{},"output":{"providers":[],"summary":{"total_providers":0,"healthy":0,"degraded":0,"down":0}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/health/providers"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-03-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.rbac.my_permissions","name":"Caller's RBAC posture — roles, granted/denied permissions, upgrade paths","description":"Caller's RBAC posture — roles, granted/denied permissions, upgrade paths","tags":["system"],"examples":[{"name":"developer","input":{},"output":{"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":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/rbac/my-permissions"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.register","name":"Machine registration — create tenant + admin user + API key atomically","description":"Machine registration — create tenant + admin user + API key atomically","tags":["system"],"examples":[{"name":"register-sandbox","input":{"tenant_name":"Scout Agent","key_name":"Auto-provisioned","accept_tos":true},"output":{"tenant":{"id":"tenant_x","plan":"sandbox"}}},{"name":"register-invite","input":{"invite_code":"abc","tenant_name":"Acme","admin_email":"ops@acme.com","key_name":"Auto-provisioned","accept_tos":true},"output":{"tenant":{"id":"tenant_x","plan":"free"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/register"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.self","name":"Agent self-awareness — identity, health, budget, memory, suggestions","description":"Agent self-awareness — identity, health, budget, memory, suggestions","tags":["system"],"examples":[{"name":"self","input":{},"output":{"identity":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/self"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.red_team.categories","name":"Supported red-team categories","description":"Supported red-team categories","tags":["security"],"examples":[{"name":"list","input":{},"output":{"categories":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/red-team/categories"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-02-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.red_team.create","name":"Start an automated red-team run against a model","description":"Start an automated red-team run against a model","tags":["security"],"examples":[{"name":"minimal","input":{"model":"anthropic/claude-3-5-sonnet"},"output":{"run_id":"rt_123","status":"queued"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/red-team"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2025-02-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.red_team.get","name":"Fetch a red-team run by ID","description":"Fetch a red-team run by ID","tags":["security"],"examples":[{"name":"lookup","input":{"id":"rt_123"},"output":{"run_id":"rt_123","status":"complete"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/red-team/{id}"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-02-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.red_team.list","name":"List red-team runs for the current tenant","description":"List red-team runs for the current tenant","tags":["security"],"examples":[{"name":"default","input":{},"output":{"runs":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/red-team"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-02-15","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.ack_alert","name":"Acknowledge a shadow-AI alert by ID","description":"Acknowledge a shadow-AI alert by ID","tags":["security"],"examples":[{"name":"ack","input":{"id":"a_1"},"output":{"id":"a_1","acknowledged":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/shadow-ai/alerts/{id}/ack"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.alerts","name":"List shadow-AI alerts for the current tenant (filterable by type/severity)","description":"List shadow-AI alerts for the current tenant (filterable by type/severity)","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"alerts":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/shadow-ai/alerts"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.scan.get","name":"Fetch a scan result by ID","description":"Fetch a scan result by ID","tags":["security"],"examples":[{"name":"found","input":{"id":"s_1"},"output":{"id":"s_1","status":"complete"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/shadow-ai/scans/{id}"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.scan_config.get","name":"Get the scan configuration for the current tenant","description":"Get the scan configuration for the current tenant","tags":["security"],"examples":[{"name":"default","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/shadow-ai/scan-config"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.reset_baseline","name":"Reset the detection baseline for the current tenant","description":"Reset the detection baseline for the current tenant","tags":["security"],"examples":[{"name":"reset","input":{},"output":{"status":"baseline_reset","tenant_id":"t_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/shadow-ai/reset-baseline"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.scan_now","name":"Trigger an immediate scan and return the execution record","description":"Trigger an immediate scan and return the execution record","tags":["security"],"examples":[{"name":"trigger","input":{},"output":{"scan_id":"s_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/shadow-ai/scan-now"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.scan_config.set","name":"Update the scan configuration (merges with existing config)","description":"Update the scan configuration (merges with existing config)","tags":["security"],"examples":[{"name":"merge","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/shadow-ai/scan-config"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.shadow_ai.summary","name":"Alert summary counts for the current tenant","description":"Alert summary counts for the current tenant","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/shadow-ai/summary"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.anomalies.alerts","name":"Recent per-tenant anomaly alerts (process-local)","description":"Recent per-tenant anomaly alerts (process-local)","tags":["security"],"examples":[{"name":"alerts","input":{},"output":{"alerts":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/anomalies"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.anomalies.baselines_get","name":"Export the tenant's anomaly-detection baselines","description":"Export the tenant's anomaly-detection baselines","tags":["security"],"examples":[{"name":"export","input":{},"output":{"baselines":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/anomalies/baselines"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.anomalies.baselines_set","name":"Import previously-exported anomaly-detection baselines","description":"Import previously-exported anomaly-detection baselines","tags":["security"],"examples":[{"name":"import","input":{},"output":{"imported":0}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/anomalies/baselines"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.anomalies.stats","name":"Per-entity per-metric anomaly stats","description":"Per-entity per-metric anomaly stats","tags":["security"],"examples":[{"name":"stats","input":{},"output":{"stats":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/anomalies/stats/{entityType}/{entityId}/{metric}"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.firewall.interceptions","name":"List firewall interceptions (tool_firewall violations or guardrail warnings)","description":"List firewall interceptions (tool_firewall violations or guardrail warnings)","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"interceptions":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/firewall/interceptions"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.policies.get","name":"Read the tenant's policy ruleset","description":"Read the tenant's policy ruleset","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"ruleset":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/policies"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.policies.presets","name":"Built-in policy presets (e.g. L3 baseline)","description":"Built-in policy presets (e.g. L3 baseline)","tags":["security"],"examples":[{"name":"presets","input":{},"output":{"presets":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/policies/presets"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.policies.set","name":"Update the tenant's policy ruleset (invalidates policy-engine cache)","description":"Update the tenant's policy ruleset (invalidates policy-engine cache)","tags":["security"],"examples":[{"name":"set","input":{"version":"v1","rules":[]},"output":{"status":"updated"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/security/policies"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.policies.test","name":"Evaluate a context against the tenant's policy ruleset","description":"Evaluate a context against the tenant's policy ruleset","tags":["security"],"examples":[{"name":"allow","input":{"context":{"action":"read"}},"output":{"decision":"allow"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/policies/test"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.policyPacks.get","name":"Get one policy pack (full rules + framework mapping)","description":"Get one policy pack (full rules + framework mapping)","tags":["security","governance"],"examples":[{"name":"pack","input":{},"output":{"id":"prod-safety"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/policy-packs/{id}"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2026-07-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.policyPacks.list","name":"List the built-in policy pack library (named, versioned, framework-tagged)","description":"List the built-in policy pack library (named, versioned, framework-tagged)","tags":["security","governance"],"examples":[{"name":"packs","input":{},"output":{"packs":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/policy-packs"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2026-07-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.processorFacts.delete","name":"Clear the tenant's declared processor facts (self-service, API key)","description":"Clear the tenant's declared processor facts (self-service, API key)","tags":["security","governance"],"examples":[{"name":"clear","input":{},"output":{"status":"cleared"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/security/processor-facts"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2026-08-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.processorFacts.get","name":"Read back the tenant's parsed processor facts, with anything unparseable reported","description":"Read back the tenant's parsed processor facts, with anything unparseable reported","tags":["security","governance"],"examples":[{"name":"facts","input":{},"output":{"facts":[],"dropped":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/processor-facts"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-07","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.processorFacts.set","name":"Persist the tenant's own processor facts so a constrained request can route (self-service, API key)","description":"Persist the tenant's own processor facts so a constrained request can route (self-service, API key)","tags":["security","governance"],"examples":[{"name":"attest","input":{"facts":[{"processor":"anthropic","service":"completions","effectiveFrom":"2026-01-01T00:00:00.000Z","retention":{"mode":"zero"},"customerDataTraining":"prohibited","evidenceRef":"ZDR-2026-01"}]},"output":{"status":"stored","parsed":1,"dropped":0,"warnings":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/processor-facts"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2026-08-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.processorFacts.validate","name":"Dry-run validate processor facts before writing them to tenant settings","description":"Dry-run validate processor facts before writing them to tenant settings","tags":["security","governance"],"examples":[{"name":"validate","input":{"facts":[]},"output":{"valid":true,"parsed":0,"dropped":0,"warnings":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/security/processor-facts/validate"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2026-08-07","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.siem.get","name":"Get SIEM destination config (auth token never returned)","description":"Get SIEM destination config (auth token never returned)","tags":["security"],"examples":[{"name":"empty","input":{},"output":{"siem":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/siem"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.siem.set","name":"Set SIEM destination config (auth token KMS-encrypted)","description":"Set SIEM destination config (auth token KMS-encrypted)","tags":["security"],"examples":[{"name":"set","input":{"enabled":true},"output":{"status":"updated"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/security/siem"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"security.status","name":"Overall security posture — policy + anomaly tracking summary","description":"Overall security posture — policy + anomaly tracking summary","tags":["security"],"examples":[{"name":"status","input":{},"output":{"policy":{"mode":"off"}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/security/status"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.sessions.latest","name":"Get the most recently updated session for a project","description":"Get the most recently updated session for a project","tags":["system"],"examples":[{"name":"latest","input":{},"output":{"session_id":"s_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/sessions/latest"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.sessions.save","name":"Save session state (≤1MB blob, upserts by session id)","description":"Save session state (≤1MB blob, upserts by session id)","tags":["system"],"examples":[{"name":"save","input":{"project":{"name":"demo"}},"output":{"session_id":"s_1","saved_at":"2026-01-01T00:00:00Z"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/sessions/{id}/state"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.signup.start","name":"Initiate signup: send 6-digit verification code to email","description":"Initiate signup: send 6-digit verification code to email","tags":["system"],"examples":[{"name":"start","input":{"email":"user@example.com","tenant_name":"Acme"},"output":{"message":"Verification code sent. Check your email.","email":"user@example.com"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/signup"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.signup.verify","name":"Verify code → create tenant + user + API key atomically","description":"Verify code → create tenant + user + API key atomically","tags":["system"],"examples":[{"name":"verify","input":{"email":"user@example.com","code":"123456"},"output":{"tenant":{"id":"tenant_x"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/signup/verify"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.sleep_time.config.get","name":"Get the tenant's sleep-time refinement configuration","description":"Get the tenant's sleep-time refinement configuration","tags":["system"],"examples":[{"name":"get","input":{},"output":{"config":{"enabled":false}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/sleep-time/config"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.sleep_time.config.set","name":"Update the tenant's sleep-time refinement configuration","description":"Update the tenant's sleep-time refinement configuration","tags":["system"],"examples":[{"name":"enable","input":{"enabled":true},"output":{"config":{"enabled":true}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/sleep-time/config"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.sleep_time.run","name":"Trigger an immediate sleep-time memory refinement pass","description":"Trigger an immediate sleep-time memory refinement pass","tags":["system"],"examples":[{"name":"run","input":{},"output":{"result":{"status":"ok"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/sleep-time/run"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.task_runs.query","name":"Query task-run history (filter by project, limit)","description":"Query task-run history (filter by project, limit)","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"runs":[],"total":0,"limit":20}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/agent/task-runs"}},"x-br-auth":"apiKey","x-br-permission":"router.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.task_runs.report","name":"Report a completed task run (Brainstorm CLI integration; 201)","description":"Report a completed task run (Brainstorm CLI integration; 201)","tags":["system"],"examples":[{"name":"report","input":{"task_name":"build","status":"completed"},"output":{"ok":true,"id":"abc"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/agent/task-runs"}},"x-br-auth":"apiKey","x-br-permission":"router.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.tasks.create","name":"Schedule a background agent task (cron-scheduled prompt)","description":"Schedule a background agent task (cron-scheduled prompt)","tags":["system"],"examples":[{"name":"hourly","input":{"name":"summary","prompt":"Summarize today","schedule":"0 * * * *"},"output":{"task":{"id":"tsk_1"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/tasks"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.tasks.delete","name":"Cancel a scheduled background task","description":"Cancel a scheduled background task","tags":["system"],"examples":[{"name":"delete","input":{},"output":{"ok":true,"id":"tsk_1"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/tasks/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.tasks.list","name":"List all background tasks for the tenant","description":"List all background tasks for the tenant","tags":["system"],"examples":[{"name":"list","input":{},"output":{"tasks":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/tasks"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.telemetry.live","name":"SSE telemetry stream: model health, budget alerts, routing decisions","description":"SSE telemetry stream: model health, budget alerts, routing decisions","tags":["system"],"examples":[{"name":"stream","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/telemetry/live"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.tos","name":"Returns current Terms of Service version, summary, and URL","description":"Returns current Terms of Service version, summary, and URL","tags":["system"],"examples":[{"name":"current","input":{},"output":{"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"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/tos"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.usage.by_cost_center","name":"Aggregated spend per cost center for the period","description":"Aggregated spend per cost center for the period","tags":["system"],"examples":[{"name":"month","input":{},"output":{"period":"month","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/usage/by-cost-center"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.usage.by_owner","name":"Aggregated spend per agent owner for the period","description":"Aggregated spend per agent owner for the period","tags":["system"],"examples":[{"name":"month","input":{},"output":{"period":"month","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/usage/by-owner"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.usage.feedback","name":"Submit quality feedback for a specific request","description":"Submit quality feedback for a specific request","tags":["system"],"examples":[{"name":"positive","input":{"score":1},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/usage/{requestId}/feedback"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.usage.models","name":"Per-model usage breakdown for the current period","description":"Per-model usage breakdown for the current period","tags":["system"],"examples":[{"name":"month","input":{},"output":{"period":"month","models":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/usage/models"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.usage.root","name":"Alias of /v1/usage/summary served at the bare /v1/usage path","description":"Alias of /v1/usage/summary served at the bare /v1/usage path","tags":["system"],"examples":[{"name":"month","input":{},"output":{"period":"month","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/usage"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.usage.spend","name":"Total spend for the current billing period","description":"Total spend for the current billing period","tags":["system"],"examples":[{"name":"month","input":{},"output":{"period":"month"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/usage/spend"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.usage.summary","name":"Spend, request count, latency summary for the current period","description":"Spend, request count, latency summary for the current period","tags":["system"],"examples":[{"name":"month","input":{},"output":{"period":"month","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/usage/summary"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.webhooks.create","name":"Create a webhook subscription (returns secret once); 400 on SSRF-blocked URL","description":"Create a webhook subscription (returns secret once); 400 on SSRF-blocked URL","tags":["system"],"examples":[{"name":"create","input":{"url":"https://example.com","events":["completion.created"]},"output":{"webhook":{"id":"wh_1","secret":"..."}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/webhooks"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.webhooks.delete","name":"Delete a webhook by ID (404 on missing)","description":"Delete a webhook by ID (404 on missing)","tags":["system"],"examples":[{"name":"delete","input":{"id":"wh_1"},"output":{"deleted":true,"id":"wh_1"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/webhooks/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.webhooks.deliveries","name":"Recent delivery history for a webhook (last 50)","description":"Recent delivery history for a webhook (last 50)","tags":["system"],"examples":[{"name":"empty","input":{"id":"wh_1"},"output":{"deliveries":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/webhooks/{id}/deliveries"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.webhooks.list","name":"List webhook subscriptions for the current tenant","description":"List webhook subscriptions for the current tenant","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"webhooks":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/webhooks"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.webhooks.test","name":"Send a test event to a webhook; records delivery row regardless of outcome","description":"Send a test event to a webhook; records delivery row regardless of outcome","tags":["system"],"examples":[{"name":"test","input":{"id":"wh_1"},"output":{"test":{"succeeded":true,"status_code":200}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/webhooks/{id}/test"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.webhooks.update","name":"Update webhook URL/events/is_active (400 SSRF, 404 missing)","description":"Update webhook URL/events/is_active (400 SSRF, 404 missing)","tags":["system"],"examples":[{"name":"deactivate","input":{"id":"wh_1","is_active":false},"output":{"webhook":{"id":"wh_1","is_active":false}}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/v1/webhooks/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2025-04-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workspaces.archive","name":"Archive a workspace (soft-delete)","description":"Archive a workspace (soft-delete)","tags":["system"],"examples":[{"name":"archive","input":{},"output":{"id":"ws_1","status":"archived"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/workspaces/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workspaces.create","name":"Create a workspace under the tenant","description":"Create a workspace under the tenant","tags":["system"],"examples":[{"name":"create","input":{"name":"Acme"},"output":{"id":"ws_1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/workspaces"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workspaces.get","name":"Get a workspace by id","description":"Get a workspace by id","tags":["system"],"examples":[{"name":"get","input":{},"output":{"id":"ws_1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/workspaces/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workspaces.list","name":"List active workspaces for the tenant","description":"List active workspaces for the tenant","tags":["system"],"examples":[{"name":"list","input":{},"output":{"workspaces":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/workspaces"}},"x-br-auth":"apiKey","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.workspaces.update","name":"Update workspace metadata (name, slug, settings, etc.)","description":"Update workspace metadata (name, slug, settings, etc.)","tags":["system"],"examples":[{"name":"rename","input":{"name":"Acme v2"},"output":{"id":"ws_1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/workspaces/{id}"}},"x-br-auth":"apiKey","x-br-permission":"config.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.xdr.create","name":"Register a new XDR/SIEM destination","description":"Register a new XDR/SIEM destination","tags":["system"],"examples":[{"name":"splunk","input":{"name":"prod-splunk","type":"splunk-ocsf","config":{"url":"https://..."}},"output":{"destination":{"id":"x_1"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/observability/xdr/destinations"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.xdr.delete","name":"Remove an XDR/SIEM destination","description":"Remove an XDR/SIEM destination","tags":["system"],"examples":[{"name":"delete","input":{},"output":{"deleted":true,"id":"x_1"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/v1/observability/xdr/destinations/{id}"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.xdr.enable","name":"Toggle an XDR destination on/off","description":"Toggle an XDR destination on/off","tags":["system"],"examples":[{"name":"enable","input":{"enabled":true},"output":{"enabled":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/observability/xdr/destinations/{id}/enable"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.xdr.list","name":"List XDR/SIEM destinations for the tenant","description":"List XDR/SIEM destinations for the tenant","tags":["system"],"examples":[{"name":"empty","input":{},"output":{"destinations":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/observability/xdr/destinations"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.xdr.stats","name":"Get delivery stats for an XDR destination","description":"Get delivery stats for an XDR destination","tags":["system"],"examples":[{"name":"stats","input":{},"output":{"delivery_count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/observability/xdr/destinations/{id}/stats"}},"x-br-auth":"apiKey","x-br-permission":"security.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.xdr.test","name":"Send a synthetic test event to a destination","description":"Send a synthetic test event to a destination","tags":["system"],"examples":[{"name":"test","input":{},"output":{"test_id":"evt_x"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/observability/xdr/destinations/{id}/test"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.xdr.update","name":"Update an XDR/SIEM destination (partial)","description":"Update an XDR/SIEM destination (partial)","tags":["system"],"examples":[{"name":"rename","input":{"name":"x"},"output":{"destination":{"id":"x_1"}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/v1/observability/xdr/destinations/{id}"}},"x-br-auth":"apiKey","x-br-permission":"security.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"workspace.files.delete","name":"Delete a workspace file","description":"Delete a workspace file","tags":["workspace"],"examples":[{"name":"delete","input":{"filename":"memory.md"},"output":{"ok":true,"deleted":"memory.md","agentId":"default"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/workspace/files/{filename}"}},"x-br-auth":"supabaseJwt","x-br-permission":"workspace.files.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"workspace.files.list","name":"List workspace filenames for the caller's agent scope","description":"List workspace filenames for the caller's agent scope","tags":["workspace"],"examples":[{"name":"list","input":{},"output":{"files":["memory.md"],"agentId":"default"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/workspace/files"}},"x-br-auth":"supabaseJwt","x-br-permission":"workspace.files.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"workspace.files.read","name":"Read a workspace file","description":"Read a workspace file","tags":["workspace"],"examples":[{"name":"read","input":{"filename":"memory.md"},"output":{"filename":"memory.md","content":"","contentHash":null,"updatedAt":"2026-10-20T01:48:13.798Z","agentId":"default"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/workspace/files/{filename}"}},"x-br-auth":"supabaseJwt","x-br-permission":"workspace.files.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"workspace.files.write","name":"Create or update a workspace file","description":"Create or update a workspace file","tags":["workspace"],"examples":[{"name":"write","input":{"filename":"memory.md","content":"# hello"},"output":{"ok":true,"filename":"memory.md","agentId":"default"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/workspace/files/{filename}"}},"x-br-auth":"supabaseJwt","x-br-permission":"workspace.files.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.ops.guardian_stats","name":"Guardian overhead, cache hit rate, anomaly count — dashboard JWT","description":"Guardian overhead, cache hit rate, anomaly count — dashboard JWT","tags":["intelligence"],"examples":[{"name":"stats","input":{},"output":{"avgOverheadMs":0,"totalRequests":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/ops/guardian-stats"}},"x-br-auth":"supabaseJwt","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.routing.cascades","name":"Cascade activations (model escalation on failure) — dashboard JWT","description":"Cascade activations (model escalation on failure) — dashboard JWT","tags":["intelligence"],"examples":[{"name":"list","input":{},"output":{"cascades":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/routing/cascades"}},"x-br-auth":"supabaseJwt","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.routing.decisions","name":"Recent routing decisions with decisionTrace metadata (dashboard JWT)","description":"Recent routing decisions with decisionTrace metadata (dashboard JWT)","tags":["intelligence"],"examples":[{"name":"list","input":{},"output":{"decisions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/routing/decisions"}},"x-br-auth":"supabaseJwt","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.api_keys.create","name":"Create a new dashboard-issued API key with optional controls","description":"Create a new dashboard-issued API key with optional controls","tags":["api_keys"],"examples":[{"name":"create","input":{"name":"My Key"},"output":{"id":"k_x","key":"br_live_..."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/api-keys"}},"x-br-auth":"supabaseJwt","x-br-permission":"api_keys.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.api_keys.delete","name":"Revoke an API key (own keys; tenant owner/admin: any tenant key)","description":"Revoke an API key (own keys; tenant owner/admin: any tenant key)","tags":["api_keys"],"examples":[{"name":"revoke","input":{"id":"k_x"},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/api-keys/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"api_keys.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.api_keys.list","name":"List ALL the tenant's API keys (masked, with owner + created_via)","description":"List ALL the tenant's API keys (masked, with owner + created_via)","tags":["api_keys"],"examples":[{"name":"list","input":{},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/api-keys"}},"x-br-auth":"supabaseJwt","x-br-permission":"api_keys.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.provider_keys.create","name":"Store a new encrypted provider key (BYOK)","description":"Store a new encrypted provider key (BYOK)","tags":["provider_keys"],"examples":[{"name":"store","input":{"provider":"anthropic","apiKey":"sk-ant-..."},"output":{"id":"pk_x"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/provider-keys"}},"x-br-auth":"supabaseJwt","x-br-permission":"provider_keys.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.provider_keys.delete","name":"Deactivate a provider key (does not delete row)","description":"Deactivate a provider key (does not delete row)","tags":["provider_keys"],"examples":[{"name":"deactivate","input":{"id":"pk_x"},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/provider-keys/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"provider_keys.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.provider_keys.list","name":"List active provider keys (masked, no plaintext)","description":"List active provider keys (masked, no plaintext)","tags":["provider_keys"],"examples":[{"name":"list","input":{},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/provider-keys"}},"x-br-auth":"supabaseJwt","x-br-permission":"provider_keys.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.grants.list","name":"List grants for the tenant (filter by subject / status / root / capability)","description":"List grants for the tenant (filter by subject / status / root / capability)","tags":["grants","delegation","governance"],"examples":[{"name":"who-can","input":{"capability":"tool:shell"},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/grants"}},"x-br-auth":"supabaseJwt","x-br-permission":"grants.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.grants.get","name":"Fetch a grant record + verified chain summary","description":"Fetch a grant record + verified chain summary","tags":["grants","delegation","governance"],"examples":[{"name":"get","input":{"id":"<uuid>"},"output":{"grant_id":"<uuid>"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/grants/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"grants.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.grants.chain","name":"Export the per-link-verifiable chain bundle (envelopes + signatures + JWKS ref)","description":"Export the per-link-verifiable chain bundle (envelopes + signatures + JWKS ref)","tags":["grants","delegation","governance"],"examples":[{"name":"chain","input":{"id":"<uuid>"},"output":{"links":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/grants/{id}/chain"}},"x-br-auth":"supabaseJwt","x-br-permission":"grants.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.grants.check","name":"Signed PDP verdict for a principal + requested scope (the dashboard simulator)","description":"Signed PDP verdict for a principal + requested scope (the dashboard simulator)","tags":["grants","delegation","pdp","governance"],"examples":[{"name":"check","input":{"id":"<uuid>","principal":"br:agent:a7","requested":{"models":["anthropic/claude-sonnet-4"]}},"output":{"decision":"allow"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/grants/{id}/check"}},"x-br-auth":"supabaseJwt","x-br-permission":"grants.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.grants.revoke","name":"Break-glass revoke (tenant owner/admin; cascade default true; audited as override)","description":"Break-glass revoke (tenant owner/admin; cascade default true; audited as override)","tags":["grants","delegation","governance","containment"],"examples":[{"name":"revoke","input":{"id":"<uuid>","cascade":true},"output":{"revoked":["<uuid>"]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/grants/{id}/revoke"}},"x-br-auth":"supabaseJwt","x-br-permission":"grants.revoke","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.agents.list","name":"Agent budget configs + leaderboard","description":"Agent budget configs + leaderboard","tags":["budget"],"examples":[{"name":"agents","input":{},"output":{"agents":[],"leaderboard":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/budget/agents"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.agents.put","name":"Configure a per-agent budget","description":"Configure a per-agent budget","tags":["budget"],"examples":[{"name":"configure","input":{"agentId":"a1","perDayUsd":5},"output":{"ok":true,"agentId":"a1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/budget/agents/{agentId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.alerts.config.get","name":"Budget alert thresholds + webhook config","description":"Budget alert thresholds + webhook config","tags":["budget"],"examples":[{"name":"get","input":{},"output":{"enabled":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/budget/alerts/config"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.alerts.config.put","name":"Update budget alert configuration","description":"Update budget alert configuration","tags":["budget"],"examples":[{"name":"update","input":{"enabled":true},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/budget/alerts/config"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.alerts.history","name":"Recent budget alert events","description":"Recent budget alert events","tags":["budget"],"examples":[{"name":"list","input":{},"output":{"alerts":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/budget/alerts/history"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.forecast","name":"Budget forecast + anomaly detection from the last 30 days of spend","description":"Budget forecast + anomaly detection from the last 30 days of spend","tags":["budget"],"examples":[{"name":"forecast","input":{},"output":{"forecast":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/budget/forecast"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.limits.get","name":"Tenant budget limits (daily + monthly)","description":"Tenant budget limits (daily + monthly)","tags":["budget"],"examples":[{"name":"get","input":{},"output":{"dailyLimitUsd":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/budget/limits"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.limits.put","name":"Update tenant budget limits (merge: null clears, undefined leaves)","description":"Update tenant budget limits (merge: null clears, undefined leaves)","tags":["budget"],"examples":[{"name":"set-daily","input":{"dailyLimitUsd":100},"output":{"dailyLimitUsd":100}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/budget/limits"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.budget.status","name":"Tenant-level budget status (daily + monthly spent vs. limits)","description":"Tenant-level budget status (daily + monthly spent vs. limits)","tags":["budget"],"examples":[{"name":"status","input":{},"output":{"tenant_id":"t1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/budget/status"}},"x-br-auth":"supabaseJwt","x-br-permission":"budget.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.killswitch.scope.activate","name":"Activate a scoped kill switch (admin only)","description":"Activate a scoped kill switch (admin only)","tags":["killswitch"],"examples":[{"name":"block-agent","input":{"type":"agent","id":"rogue-agent","reason":"anomaly"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/killswitch/scope"}},"x-br-auth":"supabaseJwt","x-br-permission":"killswitch.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.killswitch.scope.deactivate","name":"Deactivate a scoped kill switch (admin only)","description":"Deactivate a scoped kill switch (admin only)","tags":["killswitch"],"examples":[{"name":"unblock","input":{"type":"agent","id":"rogue-agent"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/killswitch/scope/{type}/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"killswitch.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.killswitch.scopes.list","name":"List active scoped kill-switches (per-agent / per-tool / per-provider)","description":"List active scoped kill-switches (per-agent / per-tool / per-provider)","tags":["killswitch"],"examples":[{"name":"list","input":{},"output":{"scopes":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/killswitch/scopes"}},"x-br-auth":"supabaseJwt","x-br-permission":"killswitch.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.killswitch.status","name":"Tenant kill-switch state + activation history","description":"Tenant kill-switch state + activation history","tags":["killswitch"],"examples":[{"name":"status","input":{},"output":{"active":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/killswitch/status"}},"x-br-auth":"supabaseJwt","x-br-permission":"killswitch.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.approvals.approve","name":"Approve a pending approval record","description":"Approve a pending approval record","tags":["approvals"],"examples":[{"name":"approve","input":{"id":"a1"},"output":{"id":"a1","status":"approved"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/approvals/{id}/approve"}},"x-br-auth":"supabaseJwt","x-br-permission":"approvals.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.approvals.pending","name":"List pending approval records (auto-expires past expiresAt)","description":"List pending approval records (auto-expires past expiresAt)","tags":["approvals"],"examples":[{"name":"list","input":{},"output":{"approvals":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/approvals/pending"}},"x-br-auth":"supabaseJwt","x-br-permission":"approvals.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.approvals.reject","name":"Reject a pending approval record","description":"Reject a pending approval record","tags":["approvals"],"examples":[{"name":"reject","input":{"id":"a1"},"output":{"id":"a1","status":"rejected"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/approvals/{id}/reject"}},"x-br-auth":"supabaseJwt","x-br-permission":"approvals.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.connectors.create","name":"Create a connector (credential encrypted via KMS envelope when present)","description":"Create a connector (credential encrypted via KMS envelope when present)","tags":["connectors"],"examples":[{"name":"create","input":{"name":"GitHub","baseUrl":"https://api.github.com"},"output":{"id":"c1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/connectors"}},"x-br-auth":"supabaseJwt","x-br-permission":"connectors.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.connectors.list","name":"List active connectors (credentials redacted)","description":"List active connectors (credentials redacted)","tags":["connectors"],"examples":[{"name":"list","input":{},"output":{"connectors":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/connectors"}},"x-br-auth":"supabaseJwt","x-br-permission":"connectors.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.projects.create","name":"Create a project under a workspace","description":"Create a project under a workspace","tags":["projects"],"examples":[{"name":"create","input":{"name":"Migrator","workspaceId":"w1"},"output":{"id":"p1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/projects"}},"x-br-auth":"supabaseJwt","x-br-permission":"projects.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.projects.list","name":"List active projects (optionally filtered by workspaceId)","description":"List active projects (optionally filtered by workspaceId)","tags":["projects"],"examples":[{"name":"list","input":{},"output":{"projects":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/projects"}},"x-br-auth":"supabaseJwt","x-br-permission":"projects.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tasks.create","name":"Create a task","description":"Create a task","tags":["tasks"],"examples":[{"name":"create","input":{},"output":{"id":"t1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/tasks"}},"x-br-auth":"supabaseJwt","x-br-permission":"tasks.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tasks.delete","name":"Delete a task","description":"Delete a task","tags":["tasks"],"examples":[{"name":"delete","input":{"id":"t1"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/tasks/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"tasks.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tasks.list","name":"List the tenant's tasks (proxies /v1/tasks logic)","description":"List the tenant's tasks (proxies /v1/tasks logic)","tags":["tasks"],"examples":[{"name":"list","input":{},"output":{"tasks":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/tasks"}},"x-br-auth":"supabaseJwt","x-br-permission":"tasks.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.workspaces.create","name":"Create a workspace","description":"Create a workspace","tags":["workspaces"],"examples":[{"name":"create","input":{"name":"Default"},"output":{"id":"w1","name":"Default"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/workspaces"}},"x-br-auth":"supabaseJwt","x-br-permission":"workspaces.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.workspaces.list","name":"List active (non-archived) workspaces for the tenant","description":"List active (non-archived) workspaces for the tenant","tags":["workspaces"],"examples":[{"name":"list","input":{},"output":{"workspaces":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/workspaces"}},"x-br-auth":"supabaseJwt","x-br-permission":"workspaces.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.digest","name":"Platform-admin daily digest (platform admin only)","description":"Platform-admin daily digest (platform admin only)","tags":["admin"],"examples":[{"name":"digest","input":{},"output":{"digest":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/admin/digest"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.invite_codes.create","name":"Create an invite code (platform admin only)","description":"Create an invite code (platform admin only)","tags":["admin"],"examples":[{"name":"create","input":{"maxUses":1},"output":{"invite_code":{"id":"ic1"}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/admin/invite-codes"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.invite_codes.delete","name":"Delete an invite code (platform admin only)","description":"Delete an invite code (platform admin only)","tags":["admin"],"examples":[{"name":"delete","input":{"id":"ic1"},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/admin/invite-codes/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.invite_codes.list","name":"List invite codes (platform admin only)","description":"List invite codes (platform admin only)","tags":["admin"],"examples":[{"name":"list","input":{},"output":{"invite_codes":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/admin/invite-codes"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.is_admin","name":"Check whether the caller is on the platform-admin allowlist","description":"Check whether the caller is on the platform-admin allowlist","tags":["admin"],"examples":[{"name":"check","input":{},"output":{"isAdmin":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/admin/is-admin"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.tenants.approve","name":"Approve a pending tenant (platform admin only)","description":"Approve a pending tenant (platform admin only)","tags":["admin"],"examples":[{"name":"action","input":{"id":"t1"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/admin/tenants/{id}/approve"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.tenants.get","name":"Get one tenant by ID (platform admin only)","description":"Get one tenant by ID (platform admin only)","tags":["admin"],"examples":[{"name":"get","input":{"id":"t1"},"output":{"tenant":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/admin/tenants/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.tenants.list","name":"List tenants (platform admin only)","description":"List tenants (platform admin only)","tags":["admin"],"examples":[{"name":"list","input":{},"output":{"tenants":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/admin/tenants"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.tenants.reject","name":"Reject a pending tenant (platform admin only)","description":"Reject a pending tenant (platform admin only)","tags":["admin"],"examples":[{"name":"action","input":{"id":"t1"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/admin/tenants/{id}/reject"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.tenants.set_rate_limit","name":"Set per-tenant aggregate rate limit (platform admin only)","description":"Set per-tenant aggregate rate limit (platform admin only)","tags":["admin"],"examples":[{"name":"set","input":{"id":"t1","max_rpm":5000},"output":{"tenant_id":"t1","max_rpm":5000,"previous":null}},{"name":"clear","input":{"id":"t1","max_rpm":null},"output":{"tenant_id":"t1","max_rpm":null,"previous":5000}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/admin/tenants/{id}/rate-limit"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2026-05-14","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.admin.tenants.suspend","name":"Suspend an active tenant (platform admin only)","description":"Suspend an active tenant (platform admin only)","tags":["admin"],"examples":[{"name":"action","input":{"id":"t1"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/admin/tenants/{id}/suspend"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.demo.seed","name":"Seed synthetic firewall + anomaly + forensic + mesh events (admin role)","description":"Seed synthetic firewall + anomaly + forensic + mesh events (admin role)","tags":["admin"],"examples":[{"name":"seed","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/demo/seed"}},"x-br-auth":"supabaseJwt","x-br-permission":"admin.demo.seed","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.ab.action","name":"Start or stop an A/B test on a prompt","description":"Start or stop an A/B test on a prompt","tags":["prompts"],"examples":[{"name":"start","input":{"id":"x","action":"start","version_a":1,"version_b":2},"output":{"id":"x","status":"ok"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/prompts/{id}/ab"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.ab.get","name":"Get current A/B test state for a prompt","description":"Get current A/B test state for a prompt","tags":["prompts"],"examples":[{"name":"get","input":{"id":"x"},"output":{"active":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/prompts/{id}/ab"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.create","name":"Create a new prompt template (version 1)","description":"Create a new prompt template (version 1)","tags":["prompts"],"examples":[{"name":"create","input":{"id":"x","template":"..."},"output":{"id":"x","version":1}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/prompts"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.delete","name":"Archive a prompt (soft-delete: marks archived flag)","description":"Archive a prompt (soft-delete: marks archived flag)","tags":["prompts"],"examples":[{"name":"archive","input":{"id":"x"},"output":{"id":"x","status":"archived"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/prompts/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.get","name":"Get one prompt template (with all versions)","description":"Get one prompt template (with all versions)","tags":["prompts"],"examples":[{"name":"get","input":{"id":"summarize"},"output":{"id":"summarize"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/prompts/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.list","name":"List prompt templates (non-archived)","description":"List prompt templates (non-archived)","tags":["prompts"],"examples":[{"name":"list","input":{},"output":{"prompts":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/prompts"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.promote","name":"Promote a prompt version to a target environment","description":"Promote a prompt version to a target environment","tags":["prompts"],"examples":[{"name":"promote","input":{"id":"x","version":2,"target_environment":"prod"},"output":{"id":"x"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/prompts/{id}/promote"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.test","name":"Render a prompt template with the supplied variables (dry-run)","description":"Render a prompt template with the supplied variables (dry-run)","tags":["prompts"],"examples":[{"name":"render","input":{"id":"x","variables":{"foo":"bar"}},"output":{"resolved_text":""}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/prompts/{id}/test"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.update","name":"Update a prompt — appends a new version, doesn't mutate existing","description":"Update a prompt — appends a new version, doesn't mutate existing","tags":["prompts"],"examples":[{"name":"update","input":{"id":"x","template":"..."},"output":{"id":"x","version":2}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/prompts/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.observability.config.get","name":"Get the tenant broadcast config (destinations + enabled flag)","description":"Get the tenant broadcast config (destinations + enabled flag)","tags":["observability"],"examples":[{"name":"get","input":{},"output":{"config":{"enabled":false}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/observability/config"}},"x-br-auth":"supabaseJwt","x-br-permission":"observability.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.observability.destinations.create","name":"Create an observability destination (broadcast sink)","description":"Create an observability destination (broadcast sink)","tags":["observability"],"examples":[{"name":"create","input":{"name":"Splunk","type":"splunk","config":{}},"output":{"destination":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/observability/destinations"}},"x-br-auth":"supabaseJwt","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.observability.destinations.delete","name":"Delete an observability destination","description":"Delete an observability destination","tags":["observability"],"examples":[{"name":"delete","input":{"id":"d1"},"output":{"id":"d1","status":"deleted"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/observability/destinations/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.observability.destinations.update","name":"Update an observability destination","description":"Update an observability destination","tags":["observability"],"examples":[{"name":"disable","input":{"id":"d1","enabled":false},"output":{"destination":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/observability/destinations/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"observability.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.onboarding.get","name":"Get onboarding wizard state for the tenant","description":"Get onboarding wizard state for the tenant","tags":["onboarding"],"examples":[{"name":"get","input":{},"output":{"completed":false,"use_case":null,"wizard_started_at":null,"wizard_completed_at":null,"first_real_completion_at":null,"providers_added":0,"security_preset_applied":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/onboarding/status"}},"x-br-auth":"supabaseJwt","x-br-permission":"onboarding.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.onboarding.metrics","name":"Time-to-first-completion metrics for the onboarding wizard","description":"Time-to-first-completion metrics for the onboarding wizard","tags":["onboarding"],"examples":[{"name":"metrics","input":{},"output":{"time_to_first_completion_seconds":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/onboarding/metrics"}},"x-br-auth":"supabaseJwt","x-br-permission":"onboarding.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.onboarding.put","name":"Update onboarding wizard state (merge with current)","description":"Update onboarding wizard state (merge with current)","tags":["onboarding"],"examples":[{"name":"patch","input":{"completed":true},"output":{"completed":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/onboarding/status"}},"x-br-auth":"supabaseJwt","x-br-permission":"onboarding.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.ops.cache","name":"Semantic + exact-match cache stats; persistent hit-rate from usage_events","description":"Semantic + exact-match cache stats; persistent hit-rate from usage_events","tags":["ops"],"examples":[{"name":"stats","input":{},"output":{"size":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/ops/cache"}},"x-br-auth":"supabaseJwt","x-br-permission":"ops.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.ops.status","name":"Endpoint health + budget + usage summary (live router fallback to DB)","description":"Endpoint health + budget + usage summary (live router fallback to DB)","tags":["ops"],"examples":[{"name":"status","input":{},"output":{"endpoints":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/ops/status"}},"x-br-auth":"supabaseJwt","x-br-permission":"ops.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.routing.bandit","name":"Thompson sampling bandit arm stats (strategy + per-arm)","description":"Thompson sampling bandit arm stats (strategy + per-arm)","tags":["routing"],"examples":[{"name":"stats","input":{},"output":{"strategy":null,"arms":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/routing/bandit"}},"x-br-auth":"supabaseJwt","x-br-permission":"routing.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.routing.strategy","name":"Set tenant routing strategy (price / quality / balanced)","description":"Set tenant routing strategy (price / quality / balanced)","tags":["routing"],"examples":[{"name":"set","input":{"strategy":"balanced"},"output":{"status":"updated"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/routing/strategy"}},"x-br-auth":"supabaseJwt","x-br-permission":"routing.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tenant.kms.delete","name":"Clear the tenant's KMS config (existing keys still decrypt via row-level ARNs)","description":"Clear the tenant's KMS config (existing keys still decrypt via row-level ARNs)","tags":["tenant_kms"],"examples":[{"name":"clear","input":{},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/tenant/kms"}},"x-br-auth":"supabaseJwt","x-br-permission":"tenant_kms.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tenant.kms.get","name":"Get the tenant's KMS configuration","description":"Get the tenant's KMS configuration","tags":["tenant_kms"],"examples":[{"name":"get","input":{},"output":{"configured":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/tenant/kms"}},"x-br-auth":"supabaseJwt","x-br-permission":"tenant_kms.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tenant.kms.put","name":"Set the tenant's KMS ARNs (kmsArn required)","description":"Set the tenant's KMS ARNs (kmsArn required)","tags":["tenant_kms"],"examples":[{"name":"set","input":{"kmsArn":"arn:aws:kms:..."},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/tenant/kms"}},"x-br-auth":"supabaseJwt","x-br-permission":"tenant_kms.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tenant.kms.validate","name":"Round-trip a test plaintext through the supplied KMS config","description":"Round-trip a test plaintext through the supplied KMS config","tags":["tenant_kms"],"examples":[{"name":"validate","input":{"kmsArn":"arn:aws:kms:..."},"output":{"valid":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/tenant/kms/validate"}},"x-br-auth":"supabaseJwt","x-br-permission":"tenant_kms.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tenant_settings.get","name":"Get the tenant settings blob","description":"Get the tenant settings blob","tags":["tenant_settings"],"examples":[{"name":"get","input":{},"output":{"settings":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/tenant-settings"}},"x-br-auth":"supabaseJwt","x-br-permission":"tenant_settings.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.tenant_settings.patch","name":"Merge tenant settings (contentLogging + features merged deep, rest shallow)","description":"Merge tenant settings (contentLogging + features merged deep, rest shallow)","tags":["tenant_settings"],"examples":[{"name":"patch","input":{},"output":{"settings":{}}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/auth/tenant-settings"}},"x-br-auth":"supabaseJwt","x-br-permission":"tenant_settings.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.approvals.approve","name":"Approve a pending MCP execution","description":"Approve a pending MCP execution","tags":["mcp"],"examples":[{"name":"approve","input":{"id":"a1"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/mcp/approvals/{id}/approve"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.approvals.deny","name":"Deny a pending MCP execution","description":"Deny a pending MCP execution","tags":["mcp"],"examples":[{"name":"deny","input":{"id":"a1"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/mcp/approvals/{id}/deny"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.approvals.list","name":"List pending MCP tool-execution approvals","description":"List pending MCP tool-execution approvals","tags":["mcp"],"examples":[{"name":"list","input":{},"output":{"approvals":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mcp/approvals"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.audit","name":"Recent MCP tool-execution audit entries","description":"Recent MCP tool-execution audit entries","tags":["mcp"],"examples":[{"name":"audit","input":{},"output":{"entries":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mcp/audit"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.governance.policy","name":"Update MCP governance policy for a specific tool","description":"Update MCP governance policy for a specific tool","tags":["mcp"],"examples":[{"name":"allow","input":{"tool_name":"br_list_routes","allowed":true},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/mcp/governance/policy"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.governance.status","name":"MCP governance status","description":"MCP governance status","tags":["mcp"],"examples":[{"name":"status","input":{},"output":{"enabled":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mcp/governance"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.server.discover","name":"Re-discover an MCP server's tools","description":"Re-discover an MCP server's tools","tags":["mcp"],"examples":[{"name":"discover","input":{"id":"s1"},"output":{"tools":[],"count":0}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/mcp/servers/{id}/discover"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.server.health.check","name":"Trigger an MCP server health probe","description":"Trigger an MCP server health probe","tags":["mcp"],"examples":[{"name":"probe","input":{"id":"s1"},"output":{"health":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/mcp/servers/{id}/health"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.server.health.status","name":"Cached MCP server health status","description":"Cached MCP server health status","tags":["mcp"],"examples":[{"name":"status","input":{"id":"s1"},"output":{"health":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mcp/servers/{id}/health"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.servers.create","name":"Register a new MCP server","description":"Register a new MCP server","tags":["mcp"],"examples":[{"name":"register","input":{"name":"GitHub MCP","transport":"streamable-http"},"output":{"server":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/mcp/servers"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.servers.delete","name":"Remove an MCP server","description":"Remove an MCP server","tags":["mcp"],"examples":[{"name":"delete","input":{"id":"s1"},"output":{"id":"s1","status":"removed"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/mcp/servers/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.servers.get","name":"Get one MCP server (redacted)","description":"Get one MCP server (redacted)","tags":["mcp"],"examples":[{"name":"get","input":{"id":"s1"},"output":{"server":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mcp/servers/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.servers.list","name":"List enabled MCP servers for the tenant","description":"List enabled MCP servers for the tenant","tags":["mcp"],"examples":[{"name":"list","input":{},"output":{"servers":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mcp/servers"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.servers.update","name":"Update an MCP server","description":"Update an MCP server","tags":["mcp"],"examples":[{"name":"disable","input":{"id":"s1","enabled":false},"output":{"server":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/mcp/servers/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mcp.tools.list","name":"List all MCP tools discoverable across servers","description":"List all MCP tools discoverable across servers","tags":["mcp"],"examples":[{"name":"list","input":{},"output":{"tools":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mcp/tools"}},"x-br-auth":"supabaseJwt","x-br-permission":"mcp.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.events.stream","name":"SSE stream — real-time dashboard updates (dual auth)","description":"SSE stream — real-time dashboard updates (dual auth)","tags":["events"],"examples":[{"name":"subscribe","input":{},"output":{"connected":true}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/events"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":"sse","x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.forensics.export","name":"Signed forensic-export bundle (usage + security events, filtered)","description":"Signed forensic-export bundle (usage + security events, filtered)","tags":["forensics"],"examples":[{"name":"export","input":{"sessionId":"s1"},"output":{"bundle":{},"signature":"..."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/forensics/export"}},"x-br-auth":"supabaseJwt","x-br-permission":"forensics.export","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.forensics.session.timeline","name":"Stitched usage + security event timeline for a session","description":"Stitched usage + security event timeline for a session","tags":["forensics"],"examples":[{"name":"timeline","input":{"sessionId":"s1"},"output":{"spans":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/forensics/session/{sessionId}/timeline"}},"x-br-auth":"supabaseJwt","x-br-permission":"forensics.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.audit.chainVerify","name":"Verify the hash-chain integrity of the tenant's recent audit window","description":"Verify the hash-chain integrity of the tenant's recent audit window","tags":["governance","audit"],"examples":[{"name":"chain","input":{},"output":{"valid":true}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/governance/audit/chain/verify"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.audit.sign","name":"Detached tenant-HMAC over a caller-supplied entry. NOT evidence minting — see /v1/governance/artifacts/{request_id}","description":"Detached tenant-HMAC over a caller-supplied entry. NOT evidence minting — see /v1/governance/artifacts/{request_id}","tags":["governance"],"examples":[{"name":"sign","input":{"entry":{"kind":"test"}},"output":{"entry":{"kind":"test"},"hmac":"...","keyVersion":"v1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/governance/audit/sign"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.audit.sign","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.audit.verify","name":"Check a detached tenant-HMAC. NOT evidence verification — see POST /v1/governance/audit/verify","description":"Check a detached tenant-HMAC. NOT evidence verification — see POST /v1/governance/audit/verify","tags":["governance"],"examples":[{"name":"verify","input":{"entry":{},"hmac":"..."},"output":{"valid":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/governance/audit/verify"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.audit.verify","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.behavioral_profiles.delete","name":"Delete a behavioral profile by role (admin)","description":"Delete a behavioral profile by role (admin)","tags":["governance"],"examples":[{"name":"delete","input":{"role":"agent"},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/governance/behavioral-profiles/{role}"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.behavioral_profiles.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.behavioral_profiles.list","name":"List behavioral profiles for the tenant","description":"List behavioral profiles for the tenant","tags":["governance"],"examples":[{"name":"list","input":{},"output":{"profiles":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/governance/behavioral-profiles"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.behavioral_profiles.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.behavioral_profiles.update","name":"Create or update a behavioral profile for a role (admin)","description":"Create or update a behavioral profile for a role (admin)","tags":["governance"],"examples":[{"name":"upsert","input":{"role":"agent","maxRps":10},"output":{"profile":{"role":"agent"}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/governance/behavioral-profiles/{role}"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.behavioral_profiles.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.audit.ledger","name":"Recent chained audit rows projected for the Ledger view (+ head hash)","description":"Recent chained audit rows projected for the Ledger view (+ head hash)","tags":["governance","audit"],"examples":[{"name":"ledger","input":{"limit":"50"},"output":{"rows":[],"head_hash":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/governance/audit/ledger"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.compliance","name":"PII scan over the tenant's core memory entries","description":"PII scan over the tenant's core memory entries","tags":["governance"],"examples":[{"name":"compliance","input":{},"output":{"total_entries":0,"violations_found":0,"compliant":true}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/governance/compliance"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.compliance.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.plans","name":"List the tenant's request-scoped liaison plans (read-only; distinct from grants)","description":"List the tenant's request-scoped liaison plans (read-only; distinct from grants)","tags":["governance","plans"],"examples":[{"name":"plans","input":{},"output":{"liaisons":[],"count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/governance/plans"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.policy.dry_run","name":"Dry-run the tenant policy engine against a hypothetical action","description":"Dry-run the tenant policy engine against a hypothetical action","tags":["governance"],"examples":[{"name":"dry-run","input":{"action":"agent.create"},"output":{"decision":"allow"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/governance/policy/dry-run"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.policy.dry_run","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.scope_check","name":"Dry multi-source scope composition (per-source lanes, no enforcement side effects)","description":"Dry multi-source scope composition (per-source lanes, no enforcement side effects)","tags":["governance","enforcement","pdp"],"examples":[{"name":"scope-check","input":{"requested":{"models":["anthropic/claude-sonnet-4"]},"sources":{}},"output":{"results":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/governance/scope-check"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.scope_enforcement","name":"Per-source scope enforcement: configured vs effective (cohort-aware, R6)","description":"Per-source scope enforcement: configured vs effective (cohort-aware, R6)","tags":["governance","enforcement"],"examples":[{"name":"state","input":{},"output":{"sources":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/governance/scope-enforcement"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.governance.would_deny","name":"Would-deny preview: warn-mode denials over an adjustable lookback, deduped","description":"Would-deny preview: warn-mode denials over an adjustable lookback, deduped","tags":["governance","audit","enforcement"],"examples":[{"name":"preview","input":{"days":"7"},"output":{"total":0,"groups":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/governance/would-deny"}},"x-br-auth":"supabaseJwt","x-br-permission":"governance.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-21","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.prompts.diff","name":"Unified diff between two versions of a prompt template","description":"Unified diff between two versions of a prompt template","tags":["prompts"],"examples":[{"name":"diff","input":{"id":"summarize","v1":"1","v2":"2"},"output":{"diff":"--- v1\n+++ v2\n..."}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/prompts/{id}/diff"}},"x-br-auth":"supabaseJwt","x-br-permission":"prompts.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.catalog","name":"Guardrail check registry — tenant-agnostic catalog","description":"Guardrail check registry — tenant-agnostic catalog","tags":["guardrails"],"examples":[{"name":"catalog","input":{},"output":{"checks":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/guardrails/catalog"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.config.get","name":"Get the caller tenant's guardrail config","description":"Get the caller tenant's guardrail config","tags":["guardrails"],"examples":[{"name":"get","input":{},"output":{"config":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/guardrails/config"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.config.update","name":"Update the caller tenant's guardrail config","description":"Update the caller tenant's guardrail config","tags":["guardrails"],"examples":[{"name":"update","input":{"enabled":true},"output":{"status":"updated"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/guardrails/config"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.feedback","name":"Submit guardrail feedback (false-positive / true-positive)","description":"Submit guardrail feedback (false-positive / true-positive)","tags":["guardrails"],"examples":[{"name":"feedback","input":{"requestId":"r1","falsePositive":true},"output":{"ok":true,"feedbackId":"f1"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/guardrails/feedback"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.feedback","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.metrics","name":"Per-scanner guardrail run/pass/fail/error metrics + feedback summary","description":"Per-scanner guardrail run/pass/fail/error metrics + feedback summary","tags":["guardrails"],"examples":[{"name":"metrics","input":{},"output":{"totalRuns":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/guardrails/metrics"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.pipelines.create","name":"Create a new V2 guardrail pipeline","description":"Create a new V2 guardrail pipeline","tags":["guardrails"],"examples":[{"name":"create","input":{"name":"default","enabled":true,"defaultOnFail":"block","confidenceThreshold":0.7,"timeoutMs":5000,"onTimeout":"fail-closed","allowMutation":false},"output":{"id":"p1","name":"default"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/guardrails/pipelines"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.pipelines.delete","name":"Delete a V2 guardrail pipeline","description":"Delete a V2 guardrail pipeline","tags":["guardrails"],"examples":[{"name":"delete","input":{"id":"p1"},"output":{"id":"p1"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/guardrails/pipelines/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.pipelines.list","name":"List V2 guardrail pipelines for the tenant","description":"List V2 guardrail pipelines for the tenant","tags":["guardrails"],"examples":[{"name":"list","input":{},"output":{"pipelines":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/guardrails/pipelines"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.pipelines.test","name":"Execute a pipeline against a sample text — returns the check verdicts","description":"Execute a pipeline against a sample text — returns the check verdicts","tags":["guardrails"],"examples":[{"name":"test","input":{"id":"p1","text":"hello"},"output":{"passed":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/guardrails/pipelines/{id}/test"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.guardrails.pipelines.update","name":"Update an existing V2 guardrail pipeline","description":"Update an existing V2 guardrail pipeline","tags":["guardrails"],"examples":[{"name":"update","input":{"id":"p1","enabled":false},"output":{"id":"p1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/guardrails/pipelines/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"guardrails.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.blocks","name":"List per-block memory stats for the caller's tenant","description":"List per-block memory stats for the caller's tenant","tags":["memory"],"examples":[{"name":"blocks","input":{},"output":{"blocks":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/memory/blocks"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.entries.create","name":"Create a core memory entry","description":"Create a core memory entry","tags":["memory"],"examples":[{"name":"create","input":{"fact":"user prefers dark mode"},"output":{"ok":true,"id":"x"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/memory/entries"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.entries.delete","name":"Delete a core memory entry","description":"Delete a core memory entry","tags":["memory"],"examples":[{"name":"delete","input":{"id":"x"},"output":{"ok":true,"id":"x"}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/memory/entries/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.entries.list","name":"List all core memory entries for the caller's tenant","description":"List all core memory entries for the caller's tenant","tags":["memory"],"examples":[{"name":"list","input":{},"output":{"entries":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/memory/entries"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.entries.update","name":"Update a core memory entry (fact text and/or pin status)","description":"Update a core memory entry (fact text and/or pin status)","tags":["memory"],"examples":[{"name":"pin","input":{"id":"x","pinned":true},"output":{"ok":true,"id":"x"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/memory/entries/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.pending.approve","name":"Approve a pending memory write (commits to shared memory)","description":"Approve a pending memory write (commits to shared memory)","tags":["memory"],"examples":[{"name":"approve","input":{"id":"x"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/memory/pending/{id}/approve"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.approve","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.pending.list","name":"List pending memory-write approvals","description":"List pending memory-write approvals","tags":["memory"],"examples":[{"name":"pending","input":{},"output":{"pending":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/memory/pending"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.pending.reject","name":"Reject a pending memory write","description":"Reject a pending memory write","tags":["memory"],"examples":[{"name":"reject","input":{"id":"x"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/memory/pending/{id}/reject"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.approve","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.query","name":"Score-rank core memory entries against a query string","description":"Score-rank core memory entries against a query string","tags":["memory"],"examples":[{"name":"query","input":{"query":"dark mode"},"output":{"results":[],"query":"dark mode"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/memory/query"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.shared.list","name":"List shared-memory entries (tenant-wide)","description":"List shared-memory entries (tenant-wide)","tags":["memory"],"examples":[{"name":"list","input":{},"output":{"entries":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/memory/shared/entries"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.memory.shared.store","name":"Store a shared-memory entry (may enqueue for approval)","description":"Store a shared-memory entry (may enqueue for approval)","tags":["memory"],"examples":[{"name":"store","input":{"fact":"team standup is 9am Tue/Thu"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/memory/shared/store"}},"x-br-auth":"supabaseJwt","x-br-permission":"memory.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.models.catalog","name":"Full pricing catalog across all providers (no auth)","description":"Full pricing catalog across all providers (no auth)","tags":["models"],"examples":[{"name":"catalog","input":{},"output":{"count":0,"providers":0,"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/models/catalog"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.models.leaderboard","name":"Model performance rankings (Thompson-sampling reward + live metrics)","description":"Model performance rankings (Thompson-sampling reward + live metrics)","tags":["models"],"examples":[{"name":"leaderboard","input":{},"output":{"object":"list","data":[],"sort_by":"overall","model_count":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/models/leaderboard"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.models.list","name":"Available model list for the dashboard (no auth)","description":"Available model list for the dashboard (no auth)","tags":["models"],"examples":[{"name":"list","input":{},"output":{"object":"list","data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/models"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.playground.completions","name":"Dashboard playground completions proxy (Supabase JWT)","description":"Dashboard playground completions proxy (Supabase JWT)","tags":["playground"],"examples":[{"name":"complete","input":{"model":"auto","messages":[]},"output":{"id":"req_x","object":"chat.completion"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/playground/completions"}},"x-br-auth":"supabaseJwt","x-br-permission":"completions.create","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.eval.datasets.list","name":"List evaluation datasets for the dashboard tenant (JWT)","description":"List evaluation datasets for the dashboard tenant (JWT)","tags":["eval"],"examples":[{"name":"list","input":{},"output":{"datasets":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/eval/datasets"}},"x-br-auth":"supabaseJwt","x-br-permission":"config.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.usage.summary","name":"Aggregate usage stats for the tenant","description":"Aggregate usage stats for the tenant","tags":["usage"],"examples":[{"name":"day","input":{},"output":{"period":"day"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/usage/summary"}},"x-br-auth":"supabaseJwt","x-br-permission":"usage.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.usage.models","name":"Per-model usage breakdown for the tenant","description":"Per-model usage breakdown for the tenant","tags":["usage"],"examples":[{"name":"models","input":{},"output":{"models":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/usage/models"}},"x-br-auth":"supabaseJwt","x-br-permission":"usage.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.usage.daily","name":"Daily usage time series","description":"Daily usage time series","tags":["usage"],"examples":[{"name":"daily","input":{},"output":{"days":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/usage/daily"}},"x-br-auth":"supabaseJwt","x-br-permission":"usage.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.usage.feedback","name":"Submit quality feedback for a request (0–1 score + comment)","description":"Submit quality feedback for a request (0–1 score + comment)","tags":["usage"],"examples":[{"name":"rate","input":{"requestId":"r1","score":1},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/usage/{requestId}/feedback"}},"x-br-auth":"supabaseJwt","x-br-permission":"usage.feedback","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.insights.forecast","name":"Spend forecast for the tenant","description":"Spend forecast for the tenant","tags":["insights"],"examples":[{"name":"default","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/insights/forecast"}},"x-br-auth":"supabaseJwt","x-br-permission":"insights.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.insights.savings","name":"Estimated savings vs. baseline model selection","description":"Estimated savings vs. baseline model selection","tags":["insights"],"examples":[{"name":"default","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/insights/savings"}},"x-br-auth":"supabaseJwt","x-br-permission":"insights.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.insights.waste","name":"Waste insights (over-provisioned requests, duplicate work)","description":"Waste insights (over-provisioned requests, duplicate work)","tags":["insights"],"examples":[{"name":"default","input":{},"output":{"items":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/insights/waste"}},"x-br-auth":"supabaseJwt","x-br-permission":"insights.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.insights.optimize","name":"Optimization suggestions for cost / latency","description":"Optimization suggestions for cost / latency","tags":["insights"],"examples":[{"name":"default","input":{},"output":{"suggestions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/insights/optimize"}},"x-br-auth":"supabaseJwt","x-br-permission":"insights.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.billing.summary","name":"30-day cost breakdown by provider, model, and API key","description":"30-day cost breakdown by provider, model, and API key","tags":["billing"],"examples":[{"name":"summary","input":{},"output":{"period":"30d"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/billing/summary"}},"x-br-auth":"supabaseJwt","x-br-permission":"billing.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.billing.export","name":"Export the last 30 days of usage events as CSV","description":"Export the last 30 days of usage events as CSV","tags":["billing"],"examples":[{"name":"csv","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/billing/export"}},"x-br-auth":"supabaseJwt","x-br-permission":"billing.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.analytics.timeseries","name":"Usage time series (bucket = hour/day/week)","description":"Usage time series (bucket = hour/day/week)","tags":["analytics"],"examples":[{"name":"default","input":{},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/analytics/timeseries"}},"x-br-auth":"supabaseJwt","x-br-permission":"analytics.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.analytics.latency_distribution","name":"Latency-distribution histogram + percentiles","description":"Latency-distribution histogram + percentiles","tags":["analytics"],"examples":[{"name":"default","input":{},"output":{"buckets":[],"percentiles":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/analytics/latency-distribution"}},"x-br-auth":"supabaseJwt","x-br-permission":"analytics.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.logs.list","name":"Paginated request log listing (provider/model/status/search filters)","description":"Paginated request log listing (provider/model/status/search filters)","tags":["logs"],"examples":[{"name":"list","input":{},"output":{"logs":[],"nextCursor":null}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/logs"}},"x-br-auth":"supabaseJwt","x-br-permission":"logs.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.logs.detail","name":"Single request log detail","description":"Single request log detail","tags":["logs"],"examples":[{"name":"detail","input":{"requestId":"r1"},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/logs/{requestId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"logs.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.logs.content","name":"Replay request/response content (opt-in via tenant content-logging flag)","description":"Replay request/response content (opt-in via tenant content-logging flag)","tags":["logs"],"examples":[{"name":"content","input":{"requestId":"r1"},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/logs/{requestId}/content"}},"x-br-auth":"supabaseJwt","x-br-permission":"logs.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.logs.rewrite","name":"Poll for an async prompt-rewrite suggestion for a flagged request","description":"Poll for an async prompt-rewrite suggestion for a flagged request","tags":["logs"],"examples":[{"name":"poll","input":{"requestId":"r1"},"output":{"status":"disabled"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/logs/{requestId}/rewrite"}},"x-br-auth":"supabaseJwt","x-br-permission":"logs.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.logs.trace","name":"Decision trace (Thompson-sampling routing breakdown) for a request","description":"Decision trace (Thompson-sampling routing breakdown) for a request","tags":["logs"],"examples":[{"name":"trace","input":{"requestId":"r1"},"output":{"available":false}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/logs/{requestId}/trace"}},"x-br-auth":"supabaseJwt","x-br-permission":"logs.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.security_events.list","name":"Tenant security event feed","description":"Tenant security event feed","tags":["security_events"],"examples":[{"name":"list","input":{},"output":{"events":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/security-events"}},"x-br-auth":"supabaseJwt","x-br-permission":"security_events.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.security_events.summary","name":"Governance violation rollup (N-day window)","description":"Governance violation rollup (N-day window)","tags":["security_events"],"examples":[{"name":"7d","input":{},"output":{"rules":[],"totalViolations":0,"period":"7d"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/security-events/summary"}},"x-br-auth":"supabaseJwt","x-br-permission":"security_events.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.firewall.interceptions","name":"Tool firewall interception feed","description":"Tool firewall interception feed","tags":["firewall"],"examples":[{"name":"list","input":{},"output":{"interceptions":[],"total":0}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/firewall/interceptions"}},"x-br-auth":"supabaseJwt","x-br-permission":"firewall.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mesh.agents","name":"List mesh agents currently registered for the tenant","description":"List mesh agents currently registered for the tenant","tags":["mesh"],"examples":[{"name":"list","input":{},"output":{"agents":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mesh/agents"}},"x-br-auth":"supabaseJwt","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.certs.revocations","name":"List active cert revocations for the tenant","description":"List active cert revocations for the tenant","tags":["certs"],"examples":[{"name":"list","input":{},"output":{"revocations":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/certs/revocations"}},"x-br-auth":"supabaseJwt","x-br-permission":"certs.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.certs.block_tenant","name":"Suspend a tenant by revoking all live agent certs","description":"Suspend a tenant by revoking all live agent certs","tags":["certs"],"examples":[{"name":"block","input":{},"output":{"status":"blocked"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/certs/block-tenant"}},"x-br-auth":"supabaseJwt","x-br-permission":"certs.admin","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.certs.unblock_tenant","name":"Reinstate a previously blocked tenant","description":"Reinstate a previously blocked tenant","tags":["certs"],"examples":[{"name":"unblock","input":{},"output":{"status":"unblocked"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/certs/unblock-tenant"}},"x-br-auth":"supabaseJwt","x-br-permission":"certs.admin","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_manifests.list","name":"List declared agent manifests for the tenant","description":"List declared agent manifests for the tenant","tags":["agent-manifests"],"examples":[{"name":"list","input":{},"output":{"manifests":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/agent-manifests"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_manifests.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_manifests.upsert","name":"Create or update an agent manifest declaration (admin only)","description":"Create or update an agent manifest declaration (admin only)","tags":["agent-manifests"],"examples":[{"name":"upsert","input":{"agentId":"a1"},"output":{"manifest":{}}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/auth/agent-manifests/{agentId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_manifests.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_manifests.delete","name":"Delete an agent manifest declaration (admin only)","description":"Delete an agent manifest declaration (admin only)","tags":["agent-manifests"],"examples":[{"name":"del","input":{"agentId":"a1"},"output":{"deleted":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/agent-manifests/{agentId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_manifests.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.anomaly.events","name":"Anomaly-detection events for the tenant (last 100)","description":"Anomaly-detection events for the tenant (last 100)","tags":["anomaly"],"examples":[{"name":"list","input":{},"output":{"events":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/anomaly/events"}},"x-br-auth":"supabaseJwt","x-br-permission":"anomaly.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.anomaly.kill_switch","name":"Kill-switch triggered events for the tenant (last 100)","description":"Kill-switch triggered events for the tenant (last 100)","tags":["anomaly"],"examples":[{"name":"list","input":{},"output":{"events":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/anomaly/kill-switch"}},"x-br-auth":"supabaseJwt","x-br-permission":"anomaly.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.list","name":"List agent profiles for the tenant","description":"List agent profiles for the tenant","tags":["agent-profiles"],"examples":[{"name":"list","input":{},"output":{"profiles":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/agent-profiles"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.get","name":"Get a single agent profile by ID","description":"Get a single agent profile by ID","tags":["agent-profiles"],"examples":[{"name":"get","input":{"agentId":"a1"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/agent-profiles/{agentId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.create","name":"Create a new agent profile (admin only)","description":"Create a new agent profile (admin only)","tags":["agent-profiles"],"examples":[{"name":"create","input":{"agentId":"a1"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/agent-profiles"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.update","name":"Patch an agent profile, deep-merging hr_record metadata (admin only)","description":"Patch an agent profile, deep-merging hr_record metadata (admin only)","tags":["agent-profiles"],"examples":[{"name":"patch","input":{"agentId":"a1"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/auth/agent-profiles/{agentId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.lifecycle","name":"Transition an agent profile to a new lifecycle state (admin only)","description":"Transition an agent profile to a new lifecycle state (admin only)","tags":["agent-profiles"],"examples":[{"name":"suspend","input":{"agentId":"a1","targetState":"suspended"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/auth/agent-profiles/lifecycle/{agentId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.versions","name":"Get version history for an agent profile","description":"Get version history for an agent profile","tags":["agent-profiles"],"examples":[{"name":"versions","input":{"agentId":"a1"},"output":{"agentId":"a1","currentVersion":0,"versions":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/agent-profiles/{agentId}/versions"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.delegation_graph","name":"Build the delegation graph rooted at an agent","description":"Build the delegation graph rooted at an agent","tags":["agent-profiles"],"examples":[{"name":"graph","input":{"agentId":"a1"},"output":{"graph":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/agent-profiles/{agentId}/delegation-graph"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_bootstrap","name":"Onboard a new agent from the dashboard (admin/operator/developer)","description":"Onboard a new agent from the dashboard (admin/operator/developer)","tags":["agent-bootstrap"],"examples":[{"name":"bootstrap","input":{"agentId":"a1"},"output":{"profile":{}}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/agent-bootstrap"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_bootstrap.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent.sub_agents.terminate","name":"Terminate a delegated sub-agent (admin only)","description":"Terminate a delegated sub-agent (admin only)","tags":["agent-profiles"],"examples":[{"name":"term","input":{"childAgentId":"c1"},"output":{"ok":true}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/auth/agent/sub-agents/{childAgentId}"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.explain","name":"Dashboard GenAI explain bridge — route a freeform explain prompt","description":"Dashboard GenAI explain bridge — route a freeform explain prompt","tags":["explain"],"examples":[{"name":"explain","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/explain"}},"x-br-auth":"supabaseJwt","x-br-permission":"explain.invoke","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mesh.graph","name":"Live mesh-graph snapshot (nodes + aggregated edges)","description":"Live mesh-graph snapshot (nodes + aggregated edges)","tags":["mesh"],"examples":[{"name":"graph","input":{},"output":{"nodes":[],"edges":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mesh/graph"}},"x-br-auth":"supabaseJwt","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mesh.graph_history","name":"Mesh-graph snapshot history (rolling 1–168h window)","description":"Mesh-graph snapshot history (rolling 1–168h window)","tags":["mesh"],"examples":[{"name":"history","input":{},"output":{"snapshots":[],"hours":24}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mesh/graph/history"}},"x-br-auth":"supabaseJwt","x-br-permission":"mesh.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mesh.forensics.list","name":"List forensic snapshots for the tenant (normalized for dashboard)","description":"List forensic snapshots for the tenant (normalized for dashboard)","tags":["forensics"],"examples":[{"name":"list","input":{},"output":{"snapshots":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mesh/forensics"}},"x-br-auth":"supabaseJwt","x-br-permission":"forensics.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.mesh.forensics.get","name":"Get a single forensic snapshot by ID","description":"Get a single forensic snapshot by ID","tags":["forensics"],"examples":[{"name":"get","input":{"id":"s1"},"output":{"snapshot":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/mesh/forensics/{id}"}},"x-br-auth":"supabaseJwt","x-br-permission":"forensics.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.agent_profiles.delegate","name":"Delegate a sub-agent under a parent agent (admin only)","description":"Delegate a sub-agent under a parent agent (admin only)","tags":["agent-profiles"],"examples":[{"name":"delegate","input":{"agentId":"parent","childAgentId":"c1","role":"worker","budgetUsd":1},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/agent-profiles/{agentId}/delegate"}},"x-br-auth":"supabaseJwt","x-br-permission":"agent_profiles.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.provision","name":"Idempotent OAuth user provisioning — create or fetch the caller's tenant + user from a verified Supabase JWT","description":"Idempotent OAuth user provisioning — create or fetch the caller's tenant + user from a verified Supabase JWT","tags":["provision"],"examples":[{"name":"provision","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/provision"}},"x-br-auth":"supabaseJwt","x-br-permission":"provision.invoke","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.me","name":"Resilient self-fetch — same as /provision but read-only-typed","description":"Resilient self-fetch — same as /provision but read-only-typed","tags":["provision"],"examples":[{"name":"me","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/me"}},"x-br-auth":"supabaseJwt","x-br-permission":"provision.invoke","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.claim","name":"Link OAuth identity to a machine-registered tenant by consuming a claim token","description":"Link OAuth identity to a machine-registered tenant by consuming a claim token","tags":["provision"],"examples":[{"name":"claim","input":{"claim_token":"t"},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/claim"}},"x-br-auth":"supabaseJwt","x-br-permission":"provision.invoke","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"auth.device.confirm","name":"Confirm an OAuth device-code grant (browser-side, JWT-authenticated)","description":"Confirm an OAuth device-code grant (browser-side, JWT-authenticated)","tags":["provision"],"examples":[{"name":"confirm","input":{"user_code":"ABCD-EFGH"},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/device/confirm"}},"x-br-auth":"supabaseJwt","x-br-permission":"provision.invoke","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"completions.create","name":"OpenAI-compatible chat completions — streaming + non-streaming, full ModelRouter pipeline (Thompson sampling, cascade, validity, budget commit)","description":"OpenAI-compatible chat completions — streaming + non-streaming, full ModelRouter pipeline (Thompson sampling, cascade, validity, budget commit)","tags":["completions"],"examples":[{"name":"chat","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/chat/completions"}},"x-br-auth":"apiKey","x-br-permission":"completions.create","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"completions.messages.create","name":"Anthropic-compatible messages endpoint — translates body to OpenAI format, runs the shared completions pipeline, translates the response back to Anthropic format","description":"Anthropic-compatible messages endpoint — translates body to OpenAI format, runs the shared completions pipeline, translates the response back to Anthropic format","tags":["completions"],"examples":[{"name":"messages","input":{},"output":{}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/messages"}},"x-br-auth":"apiKey","x-br-permission":"completions.create","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"completions.messages.health","name":"Token-validation probe for Anthropic-compatible clients (Claude for Excel/PowerPoint add-ins) — confirms the API key is accepted; does NOT list messages","description":"Token-validation probe for Anthropic-compatible clients (Claude for Excel/PowerPoint add-ins) — confirms the API key is accepted; does NOT list messages","tags":["completions"],"examples":[{"name":"token-valid","input":{},"output":{"type":"gateway","status":"ok","object":"token_validation","authenticated":true,"note":"API key accepted. This endpoint only validates credentials for Anthropic-compatible clients; it does not list messages. Send messages with POST /v1/messages.","send_endpoint":"POST /v1/messages"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/messages"}},"x-br-auth":"apiKey","x-br-permission":"none","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"system.messages.bridge","name":"Anthropic Messages API with automatic MCP tool execution — explicit opt-in endpoint","description":"Anthropic Messages API with automatic MCP tool execution — explicit opt-in endpoint","tags":["messages","mcp"],"examples":[{"name":"bridge","input":{"model":"claude-sonnet-4-20250514","messages":[]},"output":{"id":"msg_bridge","content":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/bridge/messages"}},"x-br-auth":"apiKey","x-br-permission":"completions.create","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"oauth.authorize.consent","name":"OAuth 2.0 PKCE authorize endpoint — returns app info for consent UI","description":"OAuth 2.0 PKCE authorize endpoint — returns app info for consent UI","tags":["oauth"],"examples":[{"name":"consent","input":{"client_id":"app-abc","redirect_uri":"https://app.example.com/cb","code_challenge":"x","code_challenge_method":"S256"},"output":{"app":{},"scopes":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/auth/oauth/authorize"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"oauth.authorize.approve","name":"OAuth 2.0 PKCE authorize POST — user approves, server issues code","description":"OAuth 2.0 PKCE authorize POST — user approves, server issues code","tags":["oauth"],"examples":[{"name":"approve","input":{"client_id":"app-abc","redirect_uri":"https://app.example.com/cb","code_challenge":"x"},"output":{"redirect_url":"https://app.example.com/cb?code=..."}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/oauth/authorize"}},"x-br-auth":"supabaseJwt","x-br-permission":"oauth.authorize","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"oauth.token.exchange","name":"OAuth 2.0 PKCE token exchange — code + verifier → scoped API key","description":"OAuth 2.0 PKCE token exchange — code + verifier → scoped API key","tags":["oauth"],"examples":[{"name":"exchange","input":{"grant_type":"authorization_code","code":"abc","redirect_uri":"https://app.example.com/cb","code_verifier":"xyz","client_id":"app-abc"},"output":{"key":"br_live_...","scopes":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/auth/oauth/token"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.groups.create","name":"Create or upsert a SCIM group","description":"Create or upsert a SCIM group","tags":["scim"],"examples":[{"name":"create","input":{"displayName":"Engineering"},"output":{"id":"g1","displayName":"Engineering"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/scim/v2/Groups"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.groups.delete","name":"Delete a SCIM group","description":"Delete a SCIM group","tags":["scim"],"examples":[{"name":"delete","input":{"id":"g1"},"output":{}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/scim/v2/Groups/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.groups.get","name":"Get a SCIM group by ID","description":"Get a SCIM group by ID","tags":["scim"],"examples":[{"name":"get","input":{"id":"g1"},"output":{"id":"g1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/scim/v2/Groups/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.groups.list","name":"List SCIM groups (filter + pagination)","description":"List SCIM groups (filter + pagination)","tags":["scim"],"examples":[{"name":"list","input":{},"output":{"Resources":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/scim/v2/Groups"}},"x-br-auth":"scimBearer","x-br-permission":"scim.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.groups.patch","name":"Patch a SCIM group (Operations array)","description":"Patch a SCIM group (Operations array)","tags":["scim"],"examples":[{"name":"rename","input":{"id":"g1","Operations":[{"op":"replace","path":"displayName","value":"Eng"}]},"output":{"id":"g1"}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/scim/v2/Groups/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.groups.replace","name":"Replace a SCIM group (PUT)","description":"Replace a SCIM group (PUT)","tags":["scim"],"examples":[{"name":"put","input":{"id":"g1","displayName":"Engineering"},"output":{"id":"g1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/scim/v2/Groups/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.resource_types","name":"SCIM 2.0 ResourceTypes","description":"SCIM 2.0 ResourceTypes","tags":["scim"],"examples":[{"name":"types","input":{},"output":{"totalResults":2}}],"x-br-protocols":{"rest":{"method":"GET","path":"/scim/v2/ResourceTypes"}},"x-br-auth":"scimBearer","x-br-permission":"scim.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.schemas","name":"SCIM 2.0 supported schemas","description":"SCIM 2.0 supported schemas","tags":["scim"],"examples":[{"name":"schemas","input":{},"output":{"totalResults":2}}],"x-br-protocols":{"rest":{"method":"GET","path":"/scim/v2/Schemas"}},"x-br-auth":"scimBearer","x-br-permission":"scim.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.service_provider_config","name":"SCIM 2.0 ServiceProviderConfig (RFC 7644 §4)","description":"SCIM 2.0 ServiceProviderConfig (RFC 7644 §4)","tags":["scim"],"examples":[{"name":"config","input":{},"output":{"schemas":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/scim/v2/ServiceProviderConfig"}},"x-br-auth":"scimBearer","x-br-permission":"scim.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.users.create","name":"Create or upsert a SCIM user","description":"Create or upsert a SCIM user","tags":["scim"],"examples":[{"name":"create","input":{"userName":"alice@example.com"},"output":{"id":"u1","userName":"alice@example.com"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/scim/v2/Users"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.users.delete","name":"Soft-delete a SCIM user (sets active=false)","description":"Soft-delete a SCIM user (sets active=false)","tags":["scim"],"examples":[{"name":"delete","input":{"id":"u1"},"output":{}}],"x-br-protocols":{"rest":{"method":"DELETE","path":"/scim/v2/Users/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.users.get","name":"Get a SCIM user by ID","description":"Get a SCIM user by ID","tags":["scim"],"examples":[{"name":"get","input":{"id":"u1"},"output":{"id":"u1"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/scim/v2/Users/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.users.list","name":"List SCIM users (filter + pagination)","description":"List SCIM users (filter + pagination)","tags":["scim"],"examples":[{"name":"list","input":{},"output":{"Resources":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/scim/v2/Users"}},"x-br-auth":"scimBearer","x-br-permission":"scim.read","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.users.patch","name":"Patch a SCIM user (Operations array)","description":"Patch a SCIM user (Operations array)","tags":["scim"],"examples":[{"name":"deactivate","input":{"id":"u1","Operations":[{"op":"replace","path":"active","value":false}]},"output":{"id":"u1"}}],"x-br-protocols":{"rest":{"method":"PATCH","path":"/scim/v2/Users/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"scim.users.replace","name":"Replace a SCIM user (PUT)","description":"Replace a SCIM user (PUT)","tags":["scim"],"examples":[{"name":"put","input":{"id":"u1","userName":"alice@example.com"},"output":{"id":"u1"}}],"x-br-protocols":{"rest":{"method":"PUT","path":"/scim/v2/Users/{id}"}},"x-br-auth":"scimBearer","x-br-permission":"scim.write","x-br-streaming":null,"x-br-introduced_in":"2024-09-01","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"discovery.root_manifest","name":"Arrival manifest — one document a frontier model reads to understand what BR does and how to use it","description":"Arrival manifest — one document a frontier model reads to understand what BR does and how to use it","tags":["discovery","agent-onboarding"],"examples":[{"name":"arrival","input":{},"output":{"product":"BrainstormRouter","version":"0.3","posture_summary":{"models_online":31,"providers_online":8}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2026-05-24","x-br-deprecated_in":null,"x-br-version":"v1","x-br-behavior":{"effects":[{"kind":"read_only","source":"capability_registry"}],"cost":{"shape":"negligible","drivers":[],"bounded_by":["rate_limit"],"typical_usd":0,"p95_usd":0},"security":{"data_classes_touched":[],"guardrails_applied":[],"ocsf_events_emitted":[{"class_uid":6003,"type":"api_activity","activity":"read"}],"mitre_attack_relevant":[],"compliance_frameworks":["SOC2-CC6"],"requires_principal_trust_tier":"restricted","auto_killswitch_on":[]},"composition":{"typically_preceded_by":[],"typically_followed_by":["discovery.capability.describe","security.agent.bootstrap","liaison.open"],"incompatible_with":[]},"recovery":{"rate_limited":{"action":"backoff_exponential","base_ms":1000}},"trace":["principal_chain"]}},{"id":"discovery.capability.describe","name":"Behavior block for one capability — effects, cost shape, security profile, composition, recovery vocabulary","description":"Behavior block for one capability — effects, cost shape, security profile, composition, recovery vocabulary","tags":["discovery","agent-onboarding"],"examples":[{"name":"describe-intelligence-estimate","input":{"capability_id":"intelligence.estimate"},"output":{"capability_id":"intelligence.estimate","summary":"Predict per-model cost for a completion request (no provider calls)","protocols":{"rest":{"method":"POST","path":"/v1/estimate"}},"behavior":{}}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/capabilities/{capability_id}/describe"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2026-05-24","x-br-deprecated_in":null,"x-br-version":"v1","x-br-behavior":{"effects":[{"kind":"read_only","source":"capability_registry"}],"cost":{"shape":"negligible","drivers":[],"bounded_by":["rate_limit"],"typical_usd":0,"p95_usd":0},"security":{"data_classes_touched":[],"guardrails_applied":[],"ocsf_events_emitted":[{"class_uid":6003,"type":"api_activity","activity":"read"}],"mitre_attack_relevant":[],"compliance_frameworks":["SOC2-CC6"],"requires_principal_trust_tier":"restricted","auto_killswitch_on":[]},"composition":{"typically_preceded_by":["discovery.root_manifest"],"typically_followed_by":["liaison.open"],"incompatible_with":[]},"recovery":{"not_found":{"action":"discover","hint":"GET / lists all capability ids; pick one and retry"},"behavior_not_declared":{"action":"fall_back_to_openapi","hint":"GET /openapi.json contains the schema; the behavior block is still being authored"}},"trace":["capability_id","principal_chain"]}},{"id":"discovery.agent_card","name":"A2A v1.0 agent card — capability discovery for A2A-aware peers and frontier models","description":"A2A v1.0 agent card — capability discovery for A2A-aware peers and frontier models","tags":["discovery","a2a","agent-onboarding"],"examples":[{"name":"agent-card","input":{},"output":{"protocolVersion":"1.0","name":"BrainstormRouter","skills":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/.well-known/agent-card.json"}},"x-br-auth":"none","x-br-permission":null,"x-br-streaming":null,"x-br-introduced_in":"2026-05-24","x-br-deprecated_in":null,"x-br-version":"v1","x-br-behavior":{"effects":[{"kind":"read_only","source":"capability_registry"}],"cost":{"shape":"negligible","drivers":[],"bounded_by":["rate_limit"],"typical_usd":0,"p95_usd":0},"security":{"data_classes_touched":[],"guardrails_applied":[],"ocsf_events_emitted":[{"class_uid":6003,"type":"api_activity","activity":"read"}],"mitre_attack_relevant":[],"compliance_frameworks":["SOC2-CC6"],"requires_principal_trust_tier":"restricted","auto_killswitch_on":[]},"composition":{"typically_preceded_by":["discovery.root_manifest"],"typically_followed_by":["discovery.capability.describe","security.agent.bootstrap"],"incompatible_with":[]},"recovery":{"rate_limited":{"action":"backoff_exponential","base_ms":1000}},"trace":["principal_chain"]}},{"id":"liaison.open","name":"Open a negotiation session — mint signed liaison_id and SSE downlink URL","description":"Open a negotiation session — mint signed liaison_id and SSE downlink URL","tags":["liaison","agent-onboarding"],"examples":[{"name":"open","input":{"intent_summary":"Multi-model document summarization","max_total_cost_usd":0.5,"expected_duration_s":300},"output":{"liaison_id":"<jwt>","sse_url":"/v1/liaison/<id>/events","ttl_s":1800}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/liaison/open"}},"x-br-auth":"apiKey","x-br-permission":"liaison.open","x-br-streaming":null,"x-br-introduced_in":"2026-05-24","x-br-deprecated_in":null,"x-br-version":"v1","x-br-behavior":{"effects":[{"kind":"tenant_state_write","scope":"liaison_store","reversible":true,"undo_window_seconds":1800}],"cost":{"shape":"negligible","drivers":[],"bounded_by":["rate_limit"],"typical_usd":0,"p95_usd":0},"security":{"data_classes_touched":[],"guardrails_applied":[],"ocsf_events_emitted":[{"class_uid":6003,"type":"api_activity","activity":"create"}],"mitre_attack_relevant":[],"compliance_frameworks":["SOC2-CC6","NIST-AI-RMF-MEASURE-2.6"],"requires_principal_trust_tier":"bronze","auto_killswitch_on":["rate_exceeds_2sigma"]},"composition":{"typically_preceded_by":["security.agent.bootstrap"],"typically_followed_by":["liaison.plan","liaison.events"],"incompatible_with":[]},"recovery":{"rate_limited":{"action":"backoff_exponential","base_ms":1000},"auth_error":{"action":"human_in_loop","hint":"obtain an API key"}},"trace":["liaison_id","principal_chain","max_total_cost_usd"]}},{"id":"liaison.plan","name":"Mint a signed pre-flight contract binding cost ceiling + prompt fingerprint","description":"Mint a signed pre-flight contract binding cost ceiling + prompt fingerprint","tags":["liaison","binding-contract"],"examples":[{"name":"plan","input":{"liaison_id":"<jwt>","messages":[{"role":"user","content":"hello"}]},"output":{"plan_id":"<hex>","ceiling_usd":0.001,"ttl_seconds":60}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/liaison/{liaison_id}/plan"}},"x-br-auth":"apiKey","x-br-permission":"liaison.plan","x-br-streaming":null,"x-br-introduced_in":"2026-05-24","x-br-deprecated_in":null,"x-br-version":"v1","x-br-behavior":{"effects":[{"kind":"tenant_state_write","scope":"liaison_store.plans","reversible":true,"undo_window_seconds":60}],"cost":{"shape":"negligible","drivers":[],"bounded_by":["rate_limit"],"typical_usd":0,"p95_usd":0},"security":{"data_classes_touched":["prompt_fingerprint"],"guardrails_applied":[],"ocsf_events_emitted":[{"class_uid":6003,"type":"api_activity","activity":"create"}],"mitre_attack_relevant":[],"compliance_frameworks":["SOC2-CC6","NIST-AI-RMF-MEASURE-2.6"],"requires_principal_trust_tier":"bronze","auto_killswitch_on":[]},"composition":{"typically_preceded_by":["liaison.open"],"typically_followed_by":["completions.create"],"incompatible_with":[]},"recovery":{"liaison_not_found":{"action":"renegotiate","hint":"open a new liaison"},"liaison_expired":{"action":"renegotiate","hint":"open a new liaison"},"ceiling_exceeds_max":{"action":"rewrite_prompt","hint":"reduce max_tokens or simplify input"}},"trace":["plan_id","ceiling_usd","model_selected","prompt_fingerprint"]}},{"id":"liaison.close","name":"Finalize a liaison — emit cost summary, trace digest, expire delegations","description":"Finalize a liaison — emit cost summary, trace digest, expire delegations","tags":["liaison"],"examples":[{"name":"close","input":{"liaison_id":"<jwt>"},"output":{"status":"closed","actual_cost_usd":0.01,"principals":[]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/liaison/{liaison_id}/close"}},"x-br-auth":"apiKey","x-br-permission":"liaison.close","x-br-streaming":null,"x-br-introduced_in":"2026-05-24","x-br-deprecated_in":null,"x-br-version":"v1","x-br-behavior":{"effects":[{"kind":"tenant_state_write","scope":"liaison_store","reversible":false,"undo_window_seconds":0}],"cost":{"shape":"negligible","drivers":[],"bounded_by":[],"typical_usd":0,"p95_usd":0},"security":{"data_classes_touched":[],"guardrails_applied":[],"ocsf_events_emitted":[{"class_uid":6003,"type":"api_activity","activity":"delete"}],"mitre_attack_relevant":[],"compliance_frameworks":["SOC2-CC6"],"requires_principal_trust_tier":"bronze","auto_killswitch_on":[]},"composition":{"typically_preceded_by":["liaison.plan","completions.create"],"typically_followed_by":[],"incompatible_with":[]},"recovery":{"liaison_not_found":{"action":"discover","hint":"GET / for surface map"}},"trace":["liaison_id","actual_cost_usd","principal_count","plan_count"]}},{"id":"liaison.events","name":"SSE stream of routing decisions and trace envelopes scoped to a liaison session","description":"SSE stream of routing decisions and trace envelopes scoped to a liaison session","tags":["liaison","intelligence"],"examples":[{"name":"stream","input":{"liaison_id":"<jwt>"},"output":{}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/liaison/{liaison_id}/events"}},"x-br-auth":"apiKey","x-br-permission":"audit.read","x-br-streaming":null,"x-br-introduced_in":"2026-05-24","x-br-deprecated_in":null,"x-br-version":"v1","x-br-behavior":{"effects":[{"kind":"read_only","source":"routing_event_bus"}],"cost":{"shape":"negligible","drivers":[],"bounded_by":["rate_limit"],"typical_usd":0,"p95_usd":0},"security":{"data_classes_touched":[],"guardrails_applied":[],"ocsf_events_emitted":[{"class_uid":6003,"type":"api_activity","activity":"subscribe"}],"mitre_attack_relevant":[],"compliance_frameworks":["SOC2-CC6"],"requires_principal_trust_tier":"bronze","auto_killswitch_on":[]},"composition":{"typically_preceded_by":["liaison.open"],"typically_followed_by":["liaison.close"],"incompatible_with":[]},"recovery":{"rate_limited":{"action":"backoff_exponential","base_ms":1000},"liaison_not_found":{"action":"discover","hint":"call POST /v1/liaison/open first"}},"trace":["principal_chain","liaison_id"]}},{"id":"grants.issue","name":"Mint a root capability grant (api_key auth; root scope ⊆ issuer effective scope)","description":"Mint a root capability grant (api_key auth; root scope ⊆ issuer effective scope)","tags":["grants","delegation"],"examples":[{"name":"issue","input":{"subject":"br:agent:agent-7","models":["anthropic/claude-sonnet-4"]},"output":{"grant_id":"<uuid>","depth":0}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/grants"}},"x-br-auth":"apiKey","x-br-permission":"grants.issue","x-br-streaming":null,"x-br-introduced_in":"2026-06-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"grants.attenuate","name":"Derive a child grant (identity == parent subject; double subset bound)","description":"Derive a child grant (identity == parent subject; double subset bound)","tags":["grants","delegation"],"examples":[{"name":"attenuate","input":{"id":"<parent-uuid>","models":["anthropic/claude-sonnet-4"]},"output":{"grant_id":"<uuid>","depth":1}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/grants/{id}/attenuate"}},"x-br-auth":"apiKey","x-br-permission":"grants.attenuate","x-br-streaming":null,"x-br-introduced_in":"2026-06-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"grants.revoke","name":"Revoke a grant (issuer / ancestor-subject; admin role: any; cascade default true)","description":"Revoke a grant (issuer / ancestor-subject; admin role: any; cascade default true)","tags":["grants","delegation"],"examples":[{"name":"revoke","input":{"id":"<uuid>","cascade":true},"output":{"revoked":["<uuid>"]}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/grants/{id}/revoke"}},"x-br-auth":"apiKey","x-br-permission":"grants.revoke","x-br-streaming":null,"x-br-introduced_in":"2026-06-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"grants.get","name":"Fetch a grant record + verified chain summary","description":"Fetch a grant record + verified chain summary","tags":["grants","delegation"],"examples":[{"name":"get","input":{"id":"<uuid>"},"output":{"grant_id":"<uuid>"}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/grants/{id}"}},"x-br-auth":"apiKey","x-br-permission":"grants.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"grants.list","name":"List grants for the tenant (filter by subject / status / root)","description":"List grants for the tenant (filter by subject / status / root)","tags":["grants","delegation"],"examples":[{"name":"list","input":{},"output":{"data":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/grants"}},"x-br-auth":"apiKey","x-br-permission":"grants.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"grants.chain","name":"Export the per-link-verifiable chain bundle (envelopes + signatures + JWKS ref)","description":"Export the per-link-verifiable chain bundle (envelopes + signatures + JWKS ref)","tags":["grants","delegation"],"examples":[{"name":"chain","input":{"id":"<uuid>"},"output":{"links":[]}}],"x-br-protocols":{"rest":{"method":"GET","path":"/v1/grants/{id}/chain"}},"x-br-auth":"apiKey","x-br-permission":"grants.read","x-br-streaming":null,"x-br-introduced_in":"2026-06-12","x-br-deprecated_in":null,"x-br-version":"v1"},{"id":"grants.check","name":"Standalone PDP: signed allow/deny verdict for a principal + requested scope","description":"Standalone PDP: signed allow/deny verdict for a principal + requested scope","tags":["grants","delegation","pdp"],"examples":[{"name":"check","input":{"id":"<uuid>","principal":"br:agent:a7","requested":{"models":["anthropic/claude-sonnet-4"]}},"output":{"decision":"allow"}}],"x-br-protocols":{"rest":{"method":"POST","path":"/v1/grants/{id}/check"}},"x-br-auth":"apiKey","x-br-permission":"grants.check","x-br-streaming":null,"x-br-introduced_in":"2026-06-12","x-br-deprecated_in":null,"x-br-version":"v1"}],"x-br-protocol_versions":{"mcp":"2026-07-28","ocsf":"1.3.0","oauth_token_exchange":"RFC8693"},"x-br-interoperates_with":["A2A v1.0","MCP 2026-07-28","OCSF 1.3.0","x402 (forward-compatible)"],"x-br-onboarding":{"root_manifest":"/","capability_describe_pattern":"/v1/capabilities/{capability_id}/describe","liaison_open":"/v1/liaison/open","agent_playbook":"/llms-agent-playbook.txt"}}