Base URL and authentication
Every Syntic API request goes to https://app.syntic.ai/v1 and carries your key in an Authorization header. The key decides which organization’s plan and credit pay for the request.
The basics
| Item | Value |
|---|---|
| Base URL | https://app.syntic.ai/v1 |
| Chat endpoint | POST https://app.syntic.ai/v1/chat/completions |
| Model list | GET https://app.syntic.ai/v1/models |
| Auth header | Authorization: Bearer sk_live_… |
| Body format | JSON, with Content-Type: application/json |
| Request format | OpenAI-compatible chat completions |
The word Bearer isn’t case-sensitive. A request with no key gets 401 unauthenticated.
Credentials the API accepts
| Credential | Starts with | Accepted |
|---|---|---|
| Private API key from the Console | sk_live_ | Yes |
| Syntic Code key | sk_syntic_ | Yes |
| Syntic Code sign-in token | (a signed token) | Yes |
| Public API key | pk_live_ | No, 403 public_key_rejected |
For your own apps, always use a private sk_live_ key.
Which organization pays
A key belongs to the organization that was selected when it was created. Requests draw on that organization’s plan allowance first, then its credit balance if usage credits are on.
A key keeps working only while:
- the account that created it is enabled,
- that account is still an active member of the organization, and
- the organization is available and on a paid plan.
If any of these stops being true, requests fail with a 403 even though nobody revoked the key. See My API key isn’t working.
Store the key safely
Read the key from an environment variable or secret store at runtime. Never put it in browser code, mobile apps or a repository. See Keep your API keys safe.
Useful response headers
| Header | Use it for |
|---|---|
x-syntic-request-id | Identifying one request when you contact support. Error responses also carry the same value in x-request-id. See Request IDs. |
Retry-After | On a 429 or 503, how many seconds to wait |
Developer documentation
Full details of every field and endpoint are at platform.syntic.ai/docs.