Personal API keys for Desktop and CLI
This page gets a machine connected to your SynapseX Chat account. At the end you
will have either an sxc_… key in your clipboard or a device approved through
the browser — both of which let SynapseX Desktop and the
SynapseX CLI act as you.
These keys are issued by SynapseX Chat and are not the same thing as the
sk-synapsex-… keys used by the Platform API. See
API keys and scopes for the distinction.
How do I create a personal API key?
- Sign in at chat.synapsex.ai .
- Open Settings → API Keys.
- Type a name in the field (for example
MacBook desktop) and click Create key. - Copy the
sxc_…value immediately.
The plaintext key is shown exactly once, at creation. Only a SHA-256 hash of it is stored, so nobody — including SynapseX support — can show it to you again. If you lose it, revoke the key and create a new one.
After creation the list shows only the key’s name, its short prefix, its scope, when it was created and when it was last used. That prefix is how you tell keys apart later.
What are the limits on personal API keys?
| Constraint | Value |
|---|---|
| Format | sxc_ followed by 43 characters |
| Scope | compute — always, and it is the only scope available |
| Maximum active keys | 10 per account |
| Revocation | Any time, from the same Settings → API Keys list |
- Creating an 11th active key is refused with HTTP 409 and a message telling you to revoke one first.
- A revoked or expired key is rejected on every request from that moment on.
- A key can never create another key. Key creation requires a signed-in browser session, so a leaked key cannot be used to mint more.
Is there a way to sign in a device without copying a key?
Yes, and it is the recommended route: device login. The client shows an
eight-character code formatted XXXX-XXXX, you approve it in a browser where you
are already signed in, and the client receives its own credential. Nothing is
copied and pasted.
- Start the sign-in in SynapseX Desktop or the CLI. It displays a code.
- Open chat.synapsex.ai/activate while signed in. The page is titled Connect a device.
- Check that the code on the page matches the code shown by the client, then click Approve device. (Deny is right there if the code does not match — never approve a code you did not just generate.)
- The client finishes on its own and stores its credential.
Try the device flow yourself
The first step of the flow is a public endpoint, so you can run it right now:
curl -s -X POST https://chat.synapsex.ai/api/auth/device/code \
-H "Content-Type: application/json" \
-d '{"client_id":"synapsex-code"}'You get back a JSON object of this documented shape:
{
"device_code": "…",
"user_code": "XXXX-XXXX",
"verification_uri": "https://chat.synapsex.ai/activate",
"verification_uri_complete": "https://chat.synapsex.ai/activate?code=XXXX-XXXX",
"expires_in": 900,
"interval": 5
}That tells you three practical things: the approval page is always
https://chat.synapsex.ai/activate, the code is valid for 900 seconds
(15 minutes), and a client polls at most once every 5 seconds. Open the
verification_uri_complete URL in a signed-in browser and the code is filled in
for you.
If the code expires before you approve it, just start the sign-in again in the client — nothing is left behind.
Operational guidance
- One key per device. Name it after the machine. That way a single revocation takes exactly one device offline.
- Revoke when you stop using a machine. Settings → API Keys → Revoke on the row. The credential stops working immediately.
- Never paste an
sxc_key into the Platform API. It has the wrong prefix and the wrong scope, and it will not authenticate there. The Platform API wants ansk-synapsex-…key — see Manage workspace API keys. - Never commit a key. Treat it exactly like a password.