Skip to main content
The Developer Platform API requires a Business plan. Upgrade in your dashboard.

List keys

GET /v1/projects/:id/keys
Paginated list of issued keys. Raw key values are never returned — only metadata.

Query parameters

ParamDefaultMaxDescription
limit50100Keys per page
offset0Pagination offset
curl "https://developer.sirius.menu/v1/projects/a1b2.../keys?limit=10" \
  -H "Authorization: Bearer sdt_..."
{
  "keys": [
    {
      "id": "k1a2b3c4-...",
      "user_hash": "a9f2c8...",
      "tier": "standard",
      "watermark": "4f8a2b1c9d3e7f06",
      "issued_at": 1712345678,
      "expires_at": 1712432078,
      "max_uses": null,
      "current_uses": 14,
      "revoked": 0
    }
  ],
  "total": 1842
}

Revoke a key

POST /v1/projects/:id/keys/revoke
Revoke a single key by its ID. The key immediately stops working.
curl -X POST https://developer.sirius.menu/v1/projects/a1b2.../keys/revoke \
  -H "Authorization: Bearer sdt_..." \
  -H "Content-Type: application/json" \
  -d '{ "key_id": "k1a2b3c4-..." }'
{ "ok": true }

Bulk revoke by watermark

POST /v1/projects/:id/keys/revoke-bulk
Revoke every key with a matching watermark. Use this when a leaked script dump contains a watermark — extract the 16-character hex string from the WM_ prefix and pass it here.
curl -X POST https://developer.sirius.menu/v1/projects/a1b2.../keys/revoke-bulk \
  -H "Authorization: Bearer sdt_..." \
  -H "Content-Type: application/json" \
  -d '{ "watermark": "4f8a2b1c9d3e7f06" }'
{ "ok": true, "revoked_count": 3 }
The watermark must be exactly 16 lowercase hex characters.