curl --request POST \
--url https://api.simpl.gg/v1/projects/{project_id}/keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"kind": "server",
"name": "Production Server Key"
}
'{
"key_id": "key_abc123",
"key": "sk_live_abc123...xyz",
"kind": "server",
"prefix": "sk_live_",
"last_four": "xyz",
"name": "Production Server Key",
"created_at": "2026-09-21T14:00:00Z"
}Mint an API key
Creates a key for the project. The full key is returned exactly once, in this response, and can never be retrieved again. Simpl keeps only a hash. Store it before moving on; a lost key is replaced, not recovered.
kind: server mints sk_live_, which has full access to the project.
kind: client mints ck_live_, which reaches only player-facing
endpoints and never returns private lobbies. Ship the client key; keep
the server key on your backend.
A project may hold several keys of each kind, which is what makes rotation possible without downtime: mint the replacement, deploy it, then delete the old one.
curl --request POST \
--url https://api.simpl.gg/v1/projects/{project_id}/keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"kind": "server",
"name": "Production Server Key"
}
'{
"key_id": "key_abc123",
"key": "sk_live_abc123...xyz",
"kind": "server",
"prefix": "sk_live_",
"last_four": "xyz",
"name": "Production Server Key",
"created_at": "2026-09-21T14:00:00Z"
}Authorizations
Developer session token from POST /v1/auth/login or
POST /v1/auth/register. Valid 7 days.
Authenticates the developer control plane. It also reaches the server
and build endpoints, which a dashboard has to drive and which no
session can otherwise call: an API key's value is returned once, at
mint, so nothing can read back a key for an existing project. On those
endpoints a session names its project with project_id, or is
resolved from the resource it addresses, and is always checked against
the account that owns it.
It reaches no player-facing game endpoint.
Path Parameters
Project identifier.
"proj_abc123"
Body
Response
Key created. This is the only response that contains key.
Returned once, on creation. key is the only time the full value exists
outside the caller. Simpl cannot show it again, and a lost key must be
replaced rather than recovered.
"key_abc123"
The full key. Store it now; it is never returned again.
"sk_live_abc123...xyz"
server mints an sk_live_ key with full access to the project.
client mints a ck_live_ key for shipped game binaries.
server, client sk_live_, ck_live_ "xyz"
"Production Server Key"