Keyring

Onboarding walkthrough

Everything the dashboard can do, in the order a new vendor does it.

The dashboard at keyring.belghalem.fr is an HTTP client of the control plane and nothing more: every action on it is one of the control-plane endpoints, and everything it can do, a krsk_ secret key can do over curl. This walkthrough follows the dashboard's own navigation.

StepDashboard pageEndpoint
Workspace and secret keysSign up, Welcome, SettingsPOST /v1/workspaces, /v1/secret_keys
ProjectsProjectsPOST /v1/projects
TenantsTenantsPOST /v1/tenants
KeysAPI keysPOST /v1/keys
Test modeMint a key → ModeThe env on every key
Rotate and revokeAPI keys → the key/v1/keys/:id/rotate, /v1/keys/:id/revoke
Rate limitsProject and key edit formsdefault_rate_limits, rate_limits
IdempotencyNothing to configureThe Idempotency-Key header
Request logsThe key page, the tenant pageGET /v1/keys/:id/usage, /v1/usage/tenants
Embed "Manage API keys"Settings → embed originsPOST /v1/embed_tokens, @keyring/react

Two principals show up throughout, and keeping them apart is most of the mental model:

  • A krsk_ secret key is your credential. Your server uses it to poll policy and to call the control plane. It is minted once per workspace on sign-up and again from Settings → Secret keys.
  • A kr_ API key is your customer's credential. It belongs to one tenant, one project and one environment, and it is the thing the SDK verifies on every request.

Neither is ever shown twice. The control plane stores hashes and there is no plaintext recovery for anyone, support included.