/Management API

API

Management API

Everything the dashboard does, by API.

Everything the dashboard does is available at https://api.vallkey.com/_guard/v1 with your management token:

Create a key
curl https://api.vallkey.com/_guard/v1/keys \  -H "Authorization: Bearer $VALLKEY_TOKEN" \  -H "Content-Type: application/json" \  -d '{"provider":"stripe","real_key":"sk_test_...","label":"CI","rules":{"allow":[{"method":"GET","path":"/v1/**"}]}}'
RequestWhat it does
POST /keysCreates a ghost key: { provider, real_key, label?, rules? }. Returns the ghost key once.
GET /keysLists your keys.
GET /keys/:idRules, pending changes, today's usage and recent activity.
PUT /keys/:id/rulesReplaces the rules. Answers { applied: "now" } or { applied: "scheduled", activatesAt }.
POST /keys/:id/killKills the key: { reason? }.
POST /keys/:id/reviveSchedules the key to come back after the safety delay.
DELETE /keys/:idDeletes the key and destroys its encrypted real key.
PUT /keys/:id/real-key, DELETE /keys/:id/real-keySchedules a new real key { real_key }, or cancels the pending one.
POST /keys/:id/rotate, DELETE /keys/:id/previousCreates a new ghost key { grace_hours: 0 | 1 | 24 | 72 } and returns it once; or turns the old one off early.
PUT /keys/:id/blocked-usersBlocks or unblocks one of your users on the key's short-lived keys: { "user": "user_4821", "blocked": true }.
GET /keys/:id/activity, GET /keys/:id/activity.csvActivity, newest first, paged with ?before=<id>&limit=; or all of it as CSV.
GET /members, POST /invites, PUT /members/:id/role, DELETE /members/:idManages the team (owner only, except listing).
GET /auditThe audit log, paged with ?before=<id>&limit=.
GET /account/export, POST /account/deleteExports your data, or deletes the account with { "confirm": "DELETE MY ACCOUNT" }.
GET /passkeys, DELETE /passkeys/:idLists or removes passkeys, for example to recover a locked-out account.
POST /token/rotateReplaces your recovery token and returns the new one once.
GET /tokens, POST /tokens, DELETE /tokens/:idLists, creates { name, scope: "read" | "admin" | "full" } or revokes API tokens (owner only). A new token is returned once.
GET /billingYour plan, its limits and this month's usage.
GET /alerts, PUT /alertsReads or sets { webhook_url?, email_alerts? }.

Still have a question?

We read every email, usually within a day.

Contact support