Nakama Tournaments API

List, join, and submit to tournaments.

OpenAPI Specification

nakama-tournaments-api-openapi.yml Raw ↑
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 <session_token>`. 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 <session_token>`.'
externalDocs:
  description: Nakama documentation
  url: https://heroiclabs.com/docs/nakama/