openapi: 3.0.1 info: title: Nakama Account Tournaments API description: 'Representative OpenAPI description of the core REST API for Nakama, the open-source game and app backend server by Heroic Labs. Nakama''s public HTTP API is generated by the gRPC-gateway from `api/api.proto` and is published upstream as `apigrpc/apigrpc.swagger.json` in the heroiclabs/nakama repository. This document reconstructs the primary client-facing surface: authentication, accounts and identity linking, social (friends and groups), storage, leaderboards and tournaments, notifications, and custom RPCs. Authentication endpoints are guarded by the server key using HTTP Basic auth, where the server key is the username and the password is empty. All other endpoints are authorized with the JWT session token returned by an authenticate call, sent as `Authorization: Bearer `. RPC endpoints may alternatively be called server-to-server with an `http_key` query parameter.' termsOfService: https://heroiclabs.com/terms/ contact: name: Heroic Labs url: https://heroiclabs.com/ email: support@heroiclabs.com license: name: Apache 2.0 url: https://github.com/heroiclabs/nakama/blob/master/LICENSE version: '2.0' servers: - url: http://127.0.0.1:7350 description: Default self-hosted Nakama server. Replace host/port with your Heroic Cloud project URL in production. security: - BearerAuth: [] tags: - name: Tournaments description: List, join, and submit to tournaments. paths: /v2/tournament: get: operationId: listTournaments tags: - Tournaments summary: List current or upcoming tournaments. parameters: - in: query name: category_start schema: type: integer format: int32 - in: query name: category_end schema: type: integer format: int32 - in: query name: limit schema: type: integer format: int32 - in: query name: cursor schema: type: string responses: '200': description: A list of tournaments. content: application/json: schema: $ref: '#/components/schemas/TournamentList' /v2/tournament/{tournament_id}/join: post: operationId: joinTournament tags: - Tournaments summary: Attempt to join an open and running tournament. parameters: - in: path name: tournament_id required: true schema: type: string responses: '200': description: The user joined the tournament. components: schemas: TournamentList: type: object properties: tournaments: type: array items: $ref: '#/components/schemas/Tournament' cursor: type: string Tournament: type: object properties: id: type: string title: type: string description: type: string category: type: integer format: int32 sort_order: type: integer format: int32 size: type: integer format: int32 max_size: type: integer format: int32 max_num_score: type: integer format: int32 can_enter: type: boolean end_active: type: integer format: int32 next_reset: type: integer format: int32 duration: type: integer format: int32 start_time: type: string format: date-time end_time: type: string format: date-time securitySchemes: BasicAuth: type: http scheme: basic description: HTTP Basic auth using the server key as the username and an empty password. Guards the authenticate endpoints. BearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'The JWT session token returned by an authenticate call, sent as `Authorization: Bearer `.' externalDocs: description: Nakama documentation url: https://heroiclabs.com/docs/nakama/