auth

Centrifugo Token

Mint a Centrifugo connection JWT scoped to ONE project channel.

kind selects which per-project channel (translations default, used by @sonenta/react-i18next with liveUpdates: true; or missing, used by the client-admin missing-key dashboard). Auth: Bearer JWT (user) OR Bearer ApiKey, associated with the requested project (membership for users, scope/project_uuid for keys).

Tenant isolation (task 583): the client supplies only project_uuid and kind. The route 403s unless the principal is authorized on that project, then derives org_uuid + the exact channel from the SERVER-SIDE project doc and binds it via the JWT channels claim. A client can never obtain a token for an org/project it is not a member of, nor for an arbitrary channel.

post/v1/auth/centrifugo-token

Request

  • Base URL: https://api.sonenta.dev
  • URL: https://api.sonenta.dev/v1/auth/centrifugo-token
  • Auth: none declared

Request body

project_uuidstring required
kind'translations' | 'missing' | 'feedback' | 'translation_jobs' | 'agent'
version_uuidstring nullable

Response

Successful Response

tokenstring required
channelstring required
expires_atinteger required
ttl_secondsinteger required

Changes

No recorded changes to this operation across all 1 revision of this API.