Which SynapseX key do you need?
SynapseX issues two kinds of API key and they are not interchangeable. This page tells you which one to create for the job in front of you, and — just as useful — shows you the exact error you get when you use the wrong one, so you can diagnose it in seconds instead of assuming your key is broken.
The two key formats side by side
sxc_… | sk-synapsex-… | |
|---|---|---|
| Created in | chat.synapsex.ai → Settings → API Keys | The workspace console at platform.synapsex.ai |
| Scope | compute | chat:write |
| Authenticates | SynapseX Desktop and the SynapseX CLI, against chat.synapsex.ai | The Platform API at platform.synapsex.ai |
| Used for | Signing a device into your chat account | Calling the OpenAI-compatible chat completions endpoint from your own code |
| Limit | Maximum 10 active keys per account | — |
| Also requires | A signed-in browser session to create it | A positive credit balance, or every call fails |
| Docs | Chat API keys | API keys |
Both are shown to you exactly once, at creation. Both are stored as a SHA-256 hash and never in plain text.
How do I tell I used the wrong key?
An sxc_ key sent to the Platform API. The Platform API only accepts an
Authorization header beginning Bearer sk-synapsex-, so an sxc_ key is
rejected before anything else happens. Try it:
curl -s https://platform.synapsex.ai/api/v1/models \
-H "Authorization: Bearer sxc_YOUR-CHAT-KEY"Real response, HTTP 401:
{"error":{"message":"Missing or invalid API key","type":"authentication_error"}}If you see authentication_error on a key you just created and copied
carefully, check the prefix before you check anything else. It is almost always
the wrong family of key.
An sk-synapsex- key given to Desktop or the CLI. It is not recognised
there. The Desktop and CLI sign-in expects a chat-side credential — the one you
get from browser approval or from an sxc_ key. A
Platform API key will not sign a device in, no matter how valid it is on
platform.synapsex.ai.
What does a scope actually gate?
Today there are exactly two scopes that grant anything, and each belongs to one side of the product:
chat:writeis required for chat completions on the Platform API. A Platform key without it is authenticated but refused, with HTTP 403 and the messageAPI key does not have chat:write scope. New keys get this scope by default, so you normally never think about it.computeis the scope carried by everysxc_key, and it is what the chat-side clients check.
No other scope grants anything today. If you see a scope name elsewhere and wonder whether it unlocks a feature, the answer is no.
How are keys stored, and what does that mean for you?
On both sides, SynapseX stores only a SHA-256 hash of your key. The plaintext is returned once, in the response to the create request, and is never retrievable afterwards — not by support, not by you.
The operational consequence is simple: rotate, do not recover. If you lose a key, create a new one and revoke the old one. Give keys names that say where they live (“laptop”, “ci-build”) so that revoking the right one later is obvious. On the chat side you can hold at most 10 active keys, and the list shows each key’s short prefix so you can match a key you still have against its row.
Because a key can never mint another key, creating one always requires a browser session. That is deliberate: a leaked key cannot be used to manufacture more keys.
Which billing pool does each key spend from?
This is the second half of “the two products are separate”:
- Work you do through your chat account — including from Desktop and the
CLI signed in with an
sxc_key — counts against your chat plan’s monthly quota and its daily message counters. See Chat plans. - Calls to the Platform API with an
sk-synapsex-key draw down your workspace’s prepaid credits. With a balance of zero, every call is refused with HTTP 402 and"type":"insufficient_quota"before a model ever runs. See Credits and spending.
The two pools do not convert into each other, and the units are not even the same size: in chat 1 credit is $0.01, on the Platform API 1 credit is $1.00. Buying one never tops up the other.
Three questions that pick your key
Answer in order and stop at the first yes.
-
Are you calling an HTTP API from your own code? → You need an
sk-synapsex-key from the workspace console atplatform.synapsex.ai, plus credits. Start at Platform API authentication. -
Are you signing in SynapseX Desktop or the CLI? → Use browser approval — no key handling at all. If you need a key you can store in configuration instead, create an
sxc_key at chat.synapsex.ai → Settings → API Keys. -
Are you just using the browser? → No key at all. Sign in at
chat.synapsex.aiand start typing.
Next
- How browser-approval device login works — the no-key path for Desktop and the CLI.
- How SynapseX fits together — why there are two hosts, two accounts and two billing pools.
- Chat API keys and API keys — the step-by-step creation and revocation flows.