Authentication
Every request carries an API key in the Authorization header. A key starts with sk-satulink- followed by 48 hex characters.
Request
curl https://api-dev.satulink.ai/v1/models \
-H "Authorization: Bearer sk-satulink-..."const res = await fetch("https://api-dev.satulink.ai/v1/models", {
headers: { Authorization: `Bearer ${process.env.SATULINK_API_KEY}` },
});
const models = await res.json();import os
import requests
res = requests.get(
"https://api-dev.satulink.ai/v1/models",
headers={"Authorization": f"Bearer {os.environ['SATULINK_API_KEY']}"},
)
models = res.json()A key is shown only once when it is created; afterwards the dashboard keeps only its prefix and suffix. A leaked key can be revoked at any time from API Keys.
Authentication errors
| Status | Code | Meaning |
|---|---|---|
| 401 | MISSING_AUTH_HEADER | The Authorization header was not sent. |
| 401 | INVALID_API_KEY_FORMAT | The key does not start with sk-satulink- or its length is wrong. |
| 401 | INVALID_API_KEY | The key is unknown or has been revoked. |
| 401 | API_KEY_EXPIRED | The key is past its expiration date. |
| 401 | USER_NOT_FOUND | The account that owns the key was not found. |
| 403 | IP_NOT_ALLOWED | The request IP is not in the IP list allowed by the key. |
| 403 | ACCOUNT_INACTIVE | The account is inactive, so it cannot use the gateway. |
Still haven't found the answer? Try it directly in Playground or view the list of active models.

