Authentication
API key (X-API-Key)
Most /v1/* routes expect an API key in the X-API-Key header.
Exceptions:
POST /v1/billing/checkoutandPOST /v1/billing/portalaccept eitherAuthorization: Bearer <access_token>orX-API-Key.GET /v1/usageandGET /v1/analytics/usagealso accept either Bearer JWT orX-API-Key, so the dashboard can read usage without exposing the raw key./v1/public/visitor-counterroutes are public and gated by server config, not by an API key.POST /v1/billing/webhookis public at the HTTP auth layer but requires a valid webhook signature.
curl https://api.scrift.app/v1/catalog/stripe \
-H "X-API-Key: YOUR_API_KEY"
How to get a key
Register at scrift.app. Your key is shown once in the dashboard after registration or regeneration. If you lose it, generate a new key from the dashboard.
Rate limits
Daily quotas depend on your plan. See Rate limits for tiers and HTTP 429 behavior.
JWT (account endpoints)
User account routes under /auth/* may require a bearer token where the OpenAPI operation says so, for example:
Authorization: Bearer <access_token>
If you only call catalog/search/SVG/PNG/WebP/brand/subscription APIs from your backend with an API key, you do not need JWT.
Errors
Missing or invalid keys receive 401 with error code invalid_api_key.
{
"error": "invalid_api_key",
"message": "API key required. Pass X-API-Key header."
}