Issue a participant token
POST/api/projects/:projectId/participants/token
Mint a short-lived, Ed25519-signed token for one player of this project. The client sends it as Authorization: Bearer <token> to the /client/v1/* routes, where it may only read its own data. The participant is created on first use. Pass roomId to receive the ODIN voice token in the same response. Verify tokens elsewhere with the public keys from GET /api/.well-known/jwks.json. Join gate: an active temp_ban/perm_ban answers 403 with the ban in the body; an active mute, listen_only or text_only tags the ODIN token cortex:muted, and ODIN tokens live 300 s. Tags and lifetime need the access_key token provider — odinTokenRestrictions.applied says whether they are in.
Request
Responses
- 201
- 403
- 503
Token issued
Either the credential may not mint participant tokens for this project, or the player has an active temp_ban/perm_ban — then the body carries the ban (JoinRefusedResponse).
This deployment has no participant token signing key configured