Authentication
Simple auth model, two key types
The API uses Bearer tokens in the Authorization header. Use management bootstrap keys for /management/* routes, and generated server API keys for protected license lifecycle routes.
1) Management bootstrap key
Configure this with MANAGEMENT_API_KEYS (or MANAGEMENT_API_KEY) and keep it in trusted backend or operator tooling.
bash
curl -sS http://localhost:8080/management/api-keys \
-H "Authorization: Bearer management_key_dev_123456"2) Generated server API key
Create these from the Management API, then use them for /generate and /revoke.
bash
curl -sS http://localhost:8080/generate \
-H "Authorization: Bearer <generated_server_api_key>" \
-H "Content-Type: application/json" \
-d '{"slug":"default","metadata":{"email":"user@example.com"}}'Public runtime routes
/activate, /validate, and /deactivate do not require API keys, but you should still call them from your app backend when possible.