Skip to main content
The /v1 API uses one auth model: a workspace API key sent as a Bearer token. Each key belongs to exactly one workspace and can only reach that workspace.

Key format

ndsk_live_ followed by a random secret. We store only a hash, so a lost key cannot be recovered: create a new one.

Creating a key

1

Open the admin

app.neuraldraft.io → Settings → For developers → API keys.
2

Create key

Name it after where it lives (vercel-prod, claude-code-laptop). Pick full access or individual scopes.
3

Copy it once

Put it in your secret manager or .env (never in browser code or git).
You can also manage keys with the API: GET/POST /v1/projects/me/api-keys and DELETE /v1/projects/me/api-keys/{id}.

Sending the key

Scopes

A key has * (full access) or a list of scopes. blog:* grants every blog: scope. A missing scope returns 403:

Auth errors

See Errors for the rest.

Revoking and rotating

Revoke a key in the admin or with DELETE /v1/projects/me/api-keys/{id}; it stops working right away. To rotate, create the new key, deploy it, then revoke the old one: a workspace can hold several active keys.

Several workspaces (agencies)

A key never reaches another workspace. To work across clients, hold one key per client: NEURALDRAFT_API_KEYS in the developer MCP or NeuralDraftWorkspaces in the SDK.