Principal dashboard
Not ported to the Workers staging stack — this page is a pure API client, so drive the API directly.
The same flow, over HTTP
POST /v1/principals { name, country, accredited, kyc:{sandboxOutcome} } → id + one-time secret
POST /v1/principals/:id/kyc Bearer <secret>
POST /v1/agents Bearer <secret> { name, runtime, public_jwk }
POST /v1/mandates Bearer <secret> { agent, scopes[] }
POST /v1/mandates/:id/revoke Bearer <secret>
POST /v1/agents/:id/rotate Bearer <secret> { public_jwk }
GET /v1/principals/:id/dashboard Bearer <secret> → the exact JSON this page rendered
API parity is complete; only the React UI is absent.