Skip to content

Authentication

All Lizen API requests require a bearer token in the Authorization header.

Authorization: Bearer lz_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

API key format

API keys start with lz_ followed by 32 random alphanumeric characters. They are generated in the dashboard under Settings → API Keys and shown exactly once at creation. Store them securely — they cannot be retrieved after creation, only rotated.

lz_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p

Scopes

Each API key has a permission scope:

ScopeWhat it can do
full_accessAll endpoints
validatePOST /v1/validate only
keys:readList and view keys
keys:writeCreate and extend keys
keys:revokeRevoke keys
products:readList and view products
products:writeCreate, update, delete products
analytics:readAccess analytics endpoints
offline:writeGenerate and sync offline licenses

Use the narrowest scope that meets your needs. For embedded use (inside your app binary), use validate only.

Security rules

  • Never include your API key in your app binary. Use environment variables.
  • Rotate keys from Settings → API Keys if you suspect compromise.
  • Use validate-scoped keys for your app; full_access only for server-side automation.
  • Revoked keys are blocked globally in under 1 second.

Example

Terminal window
curl https://api.lizen.dev/v1/ping \
-H "Authorization: Bearer lz_your_key_here"
{ "status": "ok", "accountId": "acc_xyz" }