Onboarding and auth

Mint a provisional anonymous workspace and API key

POST
/v1/public/agents/provision

Zero-human onboarding entry point. Mints a provisional workspace, its org API key, and a seeded shadow-mode default policy — no account, no email. Hard caps: 10 requests per minute, 5 provisional workspaces per network per 24 hours, and an exploration allowance of 50 governed decisions per month. The raw key is returned exactly once. Every dossier a provisional workspace mints carries a SIGNED issuer_context tier of "provisional_anonymous" inside the dossier claims, so a verifier can always distinguish it from an owned org's dossier. Claiming (POST /v1/orgs/{org_id}/claim/start then /claim/verify) attaches a human owner; the key and the dossier ledger survive the claim. The workspace is stamped with what the caller's User-Agent says about where it came from and nothing else: the product and version, and for the open-source runtime's agent-safe-pipeline/<version> (repo=<owner/name>; example=<name>; surface=github) form and Govern's govern/<version> (example=govern@<version>; surface=<runner>; repo=<owner/name>) form, the repository, example and surface. The stamp is accounting for the acquisition funnel; it is never decision input and never verified.

Request Body

application/json

agent_name?string

Optional display name for the workspace, shown to the claiming owner.

Lengthlength <= 64

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/public/agents/provision" \  -H "Content-Type: application/json" \  -d '{}'
{  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",  "raw_key": "string",  "provisional": true,  "limits": {    "requests_per_minute": 10,    "workspaces_per_network_per_day": 5,    "governed_decisions_per_month": 50,    "workspaces_service_wide_per_day": 0  },  "claim": {},  "next": {}}