Authorization: Bearer ... header.
1. Scanner API keys
Format:psk_live_<random> or psk_test_<random>. The psk_ prefix (for partner scanner key) is separate from the main Sly API keyspace (pk_*) so leakage of one does not compromise the other.
- Scoped: each key has a list of allowed scopes (
scan,batch,read,tests). Request a key with only what you need. - Rate-limited: each key has a per-minute rate limit (default 60, higher on request).
- Environment-separated:
psk_test_*targets the sandbox corpus;psk_live_*targets production. No silent cross-environment calls. - Revocable: keys can be revoked without affecting other keys on the same tenant. Contact Sly support to rotate.
2. SSO via Sly account (JWT)
If you already have a Sly dashboard account (app.getsly.ai), your logged-in session token works on the Scanner API directly:
- The JWT is verified against Supabase Auth. Your tenant and role are resolved from
user_profiles. - Session tokens expire in 15 minutes. The dashboard refreshes automatically; custom integrations should refresh on 401.
- SSO sessions get full scopes — this path is intended for dashboard use, not programmatic integrations.
Request headers
Errors
Security notes
- Store keys in a secret manager. Never commit them.
- Keys are hashed (SHA-256) server-side; the plaintext is shown once at issuance.
- If a key leaks, rotate immediately. Old key is revoked at the same moment the new one is issued.