Activate policy
Stages a draft policy for activation as the organization’s single enforced policy. API-initiated activation ALWAYS routes through quorum — the request is never applied immediately.
Response shapes:
- 202 Accepted: activation staged, awaiting quorum approval from ≥2 approvers.
- 409 Conflict: policy is already active.
- 422 Unprocessable Entity: either the org’s quorum is not configured with ≥2 approvers (configure it via the UI first), or a direct-activation path was attempted (which violates the two-principal invariant and is never permitted via API key).
The two-principal invariant: no single API key may unilaterally activate a policy. Configure your org’s quorum policy with at least 2 approvers to use this endpoint.
Tracking the outcome: there is no public approval-status endpoint. Poll GET /v1/policies/{id} until its status becomes enforced (approved) — it stays draft if the approval request expires or is rejected — or subscribe to a webhook. The returned approval_request_id is for correlation (dashboard/webhooks), not a pollable API resource.
Authorizations
Headers
API version (defaults to the latest supported version if omitted).
v1 Unique key (1-255 printable ASCII chars) used to safely retry write operations. Same key + body returns the cached response; same key + different body returns 409.
1 - 255Path Parameters
Policy ID
Body
Optional comment recorded against the approval request for audit purposes.
500"Activating after security review"
Response
Success
Identifier of the approval request, for correlation in the dashboard and webhook events. Not a pollable public endpoint.
"9b2e7a1c-3d4f-4a8b-9c0d-1e2f3a4b5c6d"
ISO-8601 time at which the approval request expires; if it lapses the policy stays draft.
"2026-05-17T10:30:00Z"
Human-readable explanation of the next steps.
The policy awaiting activation. Poll GET /v1/policies/{policy_id} until status=enforced.
"f47ac10b-58cc-4372-a567-0e02b2c3d479"
Number of approvals required before the policy becomes enforced.
2
Always "pending_authorization" for this response.
"pending_authorization"