Docs / Shared / Authentication
Authentication
One page, shared by every dataset. Send your key as a bearer token on every request.
The header
Authorization: Bearer sk_live_7f3c… // required, on every request // 401 unauthorized — missing, malformed or revoked key // 403 forbidden — key valid, but your plan does not include this dataset // 429 rate_limited — see Retry-After and X-RateLimit-Remaining
A rejected request carries WWW-Authenticate: Bearer, so a standard HTTP client reports it as an authentication failure rather than an opaque 401.
Keys
sk_live_ | Production keys. Count against your plan's quota and rate limit. |
sk_test_ | Not issued yet. Test keys will return fixture data and never be billed; today every key is a live one. |
| How many | As many as you need. There is no per-plan limit on keys and nobody approves them — create, name and switch them off from your dashboard, and a new one is live within about 30 seconds. Requests are counted per account rather than per key, so a second key costs you nothing and lets you scope and rotate one server at a time. |
| Storage | We hold a SHA-256 digest of your key, never the key itself. Nobody at softon.dev can read it back to you — if you lose it, issue a new one. |
| Transport | HTTPS only. A request over plain HTTP is rejected, not redirected — a redirect would have already leaked the key. |
| Rotation | Issue the replacement first, deploy it, then revoke the old key from your dashboard. Revoking takes effect within about 30 seconds and cannot be undone — nothing is ever deleted, so a revoked key stays listed and its usage stays attributed to it. |