Claim the first platform admin account
Promotes the calling user to the owner admin, but only while no admin account exists. The count and the insert share an advisory lock, so exactly one concurrent caller wins and the rest are rejected as bootstrap-closed. Requires a signed-in user with a verified email address, and writes a critical audit event.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/admin/bootstrap-owner"{ "data": { "id": "string", "email": "string", "displayName": "string", "role": "owner", "status": "active", "createdAt": "string", "activatedAt": "string" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Report whether the admin console still needs bootstrapping
Returns the number of platform admin accounts and whether first-run bootstrap is still open. Intentionally unauthenticated: the setup screen probes it before any admin exists, and it exposes nothing beyond that count.
Read the caller's bootstrap and admin state
Returns whether bootstrap is still open, the caller's email, and the caller's admin record once one exists. While bootstrap is open it answers without an admin check; afterwards the caller must be a platform admin with a verified email address.