GET /v1/admin/approval-policy
Read-only approval-policy matrix for high-risk command-center actions. The response lists route templates, required bootstrap role, typed confirmation and reason expectations, dry-run availability, durable approval-event storage status, and remaining production auth/approval blockers. It does not return raw admin tokens, request bodies, prompts, outputs, customer tokens, gateway keys, route secrets, or private URLs.

Authentication

API Key (header: X-B3IQ-Admin-Token)

Responses

200 Command-center approval policy and storage readiness.
application/json
object string
Enum: b3iq.admin.approval_policy
generated_at string (date-time)
policy_version string
Enum: admin_approval_policy_v1
auth_model string
Enum: bootstrap_role_tokens
workflow_status string
Enum: transitional, ready
actor_role string
Enum: admin, operator, viewer
storage object
events_table string
Enum: admin_approval_events
events_table_present boolean
status string
retention_policy string
production_blocked_by string[]
Array of:
summary object
high_risk_action_count integer
reason_required_count integer
typed_confirmation_count integer
dry_run_supported_count integer
actions object[]
Array of:
action string
category string
method string
route_template string
required_role string
Enum: admin, operator, viewer
reason_required boolean
typed_confirmation string | null
dry_run_supported boolean
current_enforcement string
production_requirement string
default B3IQ-native problem response.
curl -X GET 'https://{controlPlaneHost}/v1/admin/approval-policy' \  -H 'X-B3IQ-Admin-Token: YOUR_API_KEY'
const response = await fetch('https://{controlPlaneHost}/v1/admin/approval-policy', {  method: 'GET',  headers: {      "X-B3IQ-Admin-Token": "YOUR_API_KEY"  }});const data = await response.json();console.log(data);
200 Response
{  "object": "b3iq.admin.approval_policy",  "generated_at": "2024-01-01T00:00:00Z",  "policy_version": "admin_approval_policy_v1",  "auth_model": "bootstrap_role_tokens",  "workflow_status": "transitional",  "actor_role": "admin",  "storage": {    "events_table": "admin_approval_events",    "events_table_present": true,    "status": "<string>",    "retention_policy": "<string>"  },  "production_blocked_by": [    "<string>"  ],  "summary": {    "high_risk_action_count": 123,    "reason_required_count": 123,    "typed_confirmation_count": 123,    "dry_run_supported_count": 123  },  "actions": [    {      "action": "<string>",      "category": "<string>",      "method": "<string>",      "route_template": "<string>",      "required_role": "admin",      "reason_required": true,      "typed_confirmation": "<string>",      "dry_run_supported": true,      "current_enforcement": "<string>",      "production_requirement": "<string>"    }  ]}
Ask a question... ⌘I