Unity Lobbies API

Create and manage game lobbies

Documentation

📖
Documentation
https://docs.unity.com/ugs/en-us/manual/authentication/manual/rest-api
📖
APIReference
https://services.docs.unity.com/player-auth-admin/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/cloud-code/manual
📖
APIReference
https://services.docs.unity.com/cloud-code-admin/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/cloud-save/manual/reference/rest-api
📖
APIReference
https://services.docs.unity.com/cloud-save-admin/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/economy/manual/write-configuration/rest-api
📖
APIReference
https://services.docs.unity.com/economy-admin/v2/index.html
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/leaderboards/manual/write-configuration/rest-api
📖
APIReference
https://services.docs.unity.com/leaderboards-admin/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/remote-config/manual/write-configuration/rest-api
📖
APIReference
https://services.docs.unity.com/remote-config-admin/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/analytics/manual/rest-api
📖
APIReference
https://services.docs.unity.com/analytics/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/lobby/manual/lobby-apis
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/matchmaker/manual/matchmaker-api
📖
APIReference
https://services.docs.unity.com/matchmaker-admin/v3/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/relay/manual/rest-api
📖
APIReference
https://services.docs.unity.com/relay-allocations/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/game-server-hosting/manual/api/rest-api
📖
APIReference
https://services.docs.unity.com/multiplay-config/v1/
📖
Documentation
https://docs.unity.com/ugs/manual/ccd/manual/ccd-rest-api
📖
APIReference
https://services.docs.unity.com/content-delivery-management/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/cloud-code/manual/triggers
📖
APIReference
https://services.docs.unity.com/triggers-admin/v1/
📖
APIReference
https://services.docs.unity.com/scheduler-admin/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/friends/manual/overview
📖
APIReference
https://services.docs.unity.com/friends/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/moderation/manual/overview
📖
APIReference
https://services.docs.unity.com/moderation/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/push-notifications/manual/overview
📖
Documentation
https://docs.unity.com/ugs/manual/devops/manual/build-automation/build-automation-api
📖
APIReference
https://build-api.cloud.unity3d.com/docs/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/devops/manual/unity-version-control
📖
APIReference
https://services.docs.unity.com/guides/unity-version-control-cm/overview/
📖
Documentation
https://docs.unity.com/ugs/manual/overview/manual/access-control
📖
APIReference
https://services.docs.unity.com/access/v1/
📖
Documentation
https://support.unity.com/hc/en-us/articles/38766626849684-How-do-I-configure-SCIM-provisioning
📖
APIReference
https://services.docs.unity.com/scim/v2/
📖
Documentation
https://unity.com/products/distributed-authority
📖
APIReference
https://services.docs.unity.com/distributed-authority/v1/
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/safe-text/manual/overview
📖
Documentation
https://docs.unity.com/ugs/en-us/manual/asset-manager/manual
📖
APIReference
https://services.docs.unity.com/assets-manager/v1/
📖
Documentation
https://docs.unity.com/ads/en-us/manual/MonetizationResourceCenter
📖
APIReference
https://services.docs.unity.com/monetize/v1/

Specifications

Other Resources

OpenAPI Specification

unity-lobbies-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Unity Analytics Allocations Lobbies API
  description: The Unity Analytics REST API provides endpoints for ingesting custom analytics events from game clients and servers. Events are used to track player behavior, game performance, and feature adoption. The API supports batched event ingestion with automatic retry and buffering for high-volume game telemetry.
  version: v1.0.0
  termsOfService: https://unity.com/legal/terms-of-service
  contact:
    name: Unity Support
    url: https://support.unity.com
  license:
    name: Unity Terms of Service
    url: https://unity.com/legal/terms-of-service
servers:
- url: https://analytics.services.api.unity.com
  description: Unity Analytics Production Server
security:
- apiKeyAuth: []
tags:
- name: Lobbies
  description: Create and manage game lobbies
paths:
  /v1/lobbies:
    post:
      operationId: createLobby
      summary: Create Lobby
      description: Creates a new lobby with the specified configuration. The requesting player becomes the lobby host.
      tags:
      - Lobbies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLobbyRequest'
      responses:
        '200':
          description: Lobby created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lobby'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
  /v1/lobbies/{lobbyId}:
    get:
      operationId: getLobby
      summary: Get Lobby
      description: Returns the current state and configuration of a lobby.
      tags:
      - Lobbies
      parameters:
      - name: lobbyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Lobby details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lobby'
        '404':
          description: Lobby not found
    patch:
      operationId: updateLobby
      summary: Update Lobby
      description: Updates lobby configuration and data. Only the lobby host can update the lobby.
      tags:
      - Lobbies
      parameters:
      - name: lobbyId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLobbyRequest'
      responses:
        '200':
          description: Lobby updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lobby'
    delete:
      operationId: deleteLobby
      summary: Delete Lobby
      description: Deletes a lobby. Only the host can delete the lobby.
      tags:
      - Lobbies
      parameters:
      - name: lobbyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Lobby deleted
  /v1/lobbies/{lobbyId}/join:
    post:
      operationId: joinLobbyById
      summary: Join Lobby By ID
      description: Joins an existing lobby by its unique identifier.
      tags:
      - Lobbies
      parameters:
      - name: lobbyId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JoinLobbyRequest'
      responses:
        '200':
          description: Joined lobby successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lobby'
        '404':
          description: Lobby not found
        '409':
          description: Lobby is full or not joinable
  /v1/lobbies/code/{lobbyCode}:
    post:
      operationId: joinLobbyByCode
      summary: Join Lobby By Code
      description: Joins a private lobby using a lobby join code shared by the host.
      tags:
      - Lobbies
      parameters:
      - name: lobbyCode
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JoinLobbyRequest'
      responses:
        '200':
          description: Joined lobby successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lobby'
        '404':
          description: Invalid lobby code
  /v1/lobbies/{lobbyId}/heartbeat:
    post:
      operationId: heartbeatLobby
      summary: Heartbeat Lobby
      description: Sends a heartbeat to keep the lobby active. Lobbies without recent heartbeats are automatically deleted.
      tags:
      - Lobbies
      parameters:
      - name: lobbyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Heartbeat received
components:
  schemas:
    CreatePlayerRequest:
      type: object
      required:
      - id
      properties:
        id:
          type: string
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DataObject'
    LobbyPlayer:
      type: object
      properties:
        id:
          type: string
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DataObject'
        joined:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
    CreateLobbyRequest:
      type: object
      required:
      - name
      - maxPlayers
      properties:
        name:
          type: string
        maxPlayers:
          type: integer
          minimum: 1
        isPrivate:
          type: boolean
          default: false
        player:
          $ref: '#/components/schemas/CreatePlayerRequest'
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DataObject'
    DataObject:
      type: object
      properties:
        value:
          type: string
        visibility:
          type: string
          enum:
          - Public
          - Member
          - Private
        index:
          type: string
    Lobby:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        lobbyCode:
          type: string
          description: Join code for private lobbies
        isPrivate:
          type: boolean
        isLocked:
          type: boolean
        maxPlayers:
          type: integer
        availableSlots:
          type: integer
        hostId:
          type: string
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DataObject'
        players:
          type: array
          items:
            $ref: '#/components/schemas/LobbyPlayer'
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
    UpdateLobbyRequest:
      type: object
      properties:
        name:
          type: string
        maxPlayers:
          type: integer
        isPrivate:
          type: boolean
        isLocked:
          type: boolean
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DataObject'
        hostId:
          type: string
          description: Transfer host to this player ID
    JoinLobbyRequest:
      type: object
      required:
      - playerId
      properties:
        playerId:
          type: string
        player:
          $ref: '#/components/schemas/CreatePlayerRequest'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
externalDocs:
  description: Unity Analytics Documentation
  url: https://docs.unity.com/ugs/en-us/manual/analytics/manual/rest-api