For the complete documentation index, see llms.txt. This page is also available as Markdown.

Governance API

Review registered agents, change agent lifecycle state, and build audit-derived governance reports for compliance workflows.

These governance routes are staging-only and BFF-only today. They use X-Platform-Service-Auth with the governance:read scope, not an end-user bearer token.

Operation
Endpoint

List registered agents

GET /v1/governance/agents

Get one registered agent

GET /v1/governance/agents/{agent_id}

Pause, resume, or revoke an agent

PATCH /v1/governance/agents/{agent_id}

Build a governance report

GET /v1/governance/reports

Create a report snapshot

POST /v1/governance/reports/snapshot

Get a report snapshot

GET /v1/governance/reports/{report_id}

No external agent creation endpoint is exposed. Agents continue to be created through existing provisioning flows. The policy check catalog is not exposed in this cycle because it is deferred pending a future security and legal review.

Authentication

All Governance API routes require the platform service header:

X-Platform-Service-Auth: <secret-with-governance-read>

The platform credential must carry governance:read.

List Registered Agents

GET /v1/governance/agents
X-Platform-Service-Auth: <secret-with-governance-read>

Query parameters:

Parameter
Required
Notes

tenant_id

Yes

Tenant whose agent registry should be listed.

status

No

active, pending, quarantined, or revoked.

owner

No

Phase 1 tenant owner alias. A non-matching value returns an empty list.

limit

No

Default 100, maximum 500.

cursor

No

Cursor returned by the previous page.

scopes is null in Phase 1 because the registry stores scope_hash, not the original scope list.

Get One Registered Agent

Change Agent Lifecycle

transition is one of pause, resume, or revoke. The route writes governance.agent.lifecycle_changed to the existing audit event store with the actor and reason.

Build A Governance Report

Query parameters:

Parameter
Required
Notes

tenant_id

Yes

Tenant whose audit events should be reported.

period_start

Yes

Inclusive report start timestamp.

period_end

Yes

Exclusive report end timestamp.

agent_id

No

Filters policy-relevant events to one agent.

format

No

json by default, or csv.

Reports include policy-relevant audit events in the requested period. Historical rows are joined to policy_decisions when policy_decision_id is present. policy_decision_id is not populated on all historical audit events, so rows without a native outcome or resolvable policy decision are returned with decision_data_status set to unavailable rather than omitted.

The full request and response schema is maintained in Brain_API_Specification.yaml.

Create A Report Snapshot

Query parameters:

Parameter
Required
Notes

tenant_id

Yes

Tenant whose audit events should be reported.

period_start

Yes

Inclusive report start timestamp.

period_end

Yes

Exclusive report end timestamp.

agent_id

No

Filters policy-relevant events to one agent.

format

No

json only for snapshots. CSV is not persisted.

Snapshot creation generates the same JSON GovernanceReport as GET /v1/governance/reports, stores that exact payload with its filters, and returns a grpt_ report id. The stored payload is immutable.

Idempotency-Key is optional. When supplied, a retry with the same key and same snapshot request returns the original 201 response with the same report_id. Reusing the same key with different snapshot parameters returns 409.

Get A Report Snapshot

Query parameters:

Parameter
Required
Notes

tenant_id

Yes

Tenant that owns the row.

This route returns the frozen snapshot and does not re-query the live audit store.

Last updated