> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Join Lobby

> Join a lobby.

Allowed entity token types: title_player_account, title

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| LobbyBadRequest | 13007 |
| LobbyDoesNotExist | 13000 |
| LobbyMemberCannotRejoin | 13004 |
| LobbyNotJoinable | 13003 |
| LobbyPlayerAlreadyJoined | 13002 |
| LobbyPlayerMaxLobbyLimitExceeded | 13008 |
| LobbyRateLimitExceeded | 13001 |




## OpenAPI

````yaml post /Lobby/JoinLobby
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Multiplayer API
  description: >-
    API methods for managing multiplayer servers. API methods for managing
    parties. The lobby service helps players group together to play multiplayer
    games. It is often used as a rendezvous point for players to share
    connection information. The TrueSkill service helps titles to estimate a
    player's skill based on their match results. The player skill values from
    this service are commonly used by a matchmaking service to provide players
    with balanced matches.
  termsOfService: https://playfab.com/terms/
  contact:
    url: https://community.playfab.com/index.html
  license:
    name: Apache 2.0
    url: https://github.com/PlayFab/API_Specs/blob/master/LICENSE
servers:
  - url: https://{titleId}.playfabapi.com
    description: PlayFab title endpoint
    variables:
      titleId:
        default: your_title_id
        description: Your PlayFab title ID (hex).
security: []
tags:
  - name: Lobby
    description: ''
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Matchmaking Admin
    description: Matchmaking Admin APIs
  - name: MultiplayerServer
    description: Multiplayer Server APIs
  - name: PubSub
    description: PlayFab PubSub APIs
  - name: TrueSkill
    description: TrueSkill APIs
  - name: TrueSkill Admin
    description: TrueSkill Admin APIs
paths:
  /Lobby/JoinLobby:
    post:
      tags:
        - Lobby
      summary: Join Lobby
      description: |
        Join a lobby.

        Allowed entity token types: title_player_account, title

        ## Error codes

        This operation may return the following PlayFab errors:

        | Error | Code |
        | --- | --- |
        | LobbyBadRequest | 13007 |
        | LobbyDoesNotExist | 13000 |
        | LobbyMemberCannotRejoin | 13004 |
        | LobbyNotJoinable | 13003 |
        | LobbyPlayerAlreadyJoined | 13002 |
        | LobbyPlayerMaxLobbyLimitExceeded | 13008 |
        | LobbyRateLimitExceeded | 13001 |
      operationId: JoinLobby
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JoinLobbyRequest'
        description: Request to join a lobby. Only a client can join a lobby.
      responses:
        '200':
          $ref: '#/components/responses/JoinLobbyResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    JoinLobbyRequest:
      description: Request to join a lobby. Only a client can join a lobby.
      type: object
      properties:
        ConnectionString:
          description: >-
            A field which indicates which lobby the user will be joining. This
            field is opaque to everyone except the Lobby service.
          type: string
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        MemberData:
          description: >-
            The private key-value pairs used by the member to communicate
            information to other members and the owner. Visible to all entities
            in the lobby. At most 30 key-value pairs may be stored here, keys
            are limited to 30 characters and values to 1000. The total size of
            all memberData values may not exceed 4096 bytes.Keys are case
            sensitive.
          type: object
        MemberEntity:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The member entity who is joining the lobby.
      example:
        MemberEntity:
          Id: '1234'
          Type: title_player_account
          TypeString: title_player_account
        ConnectionString: connString
        MemberData:
          MyDataKey: MyDataKey value
    EntityKey:
      description: >-
        Combined entity type and ID structure which uniquely identifies a single
        entity.
      type: object
      properties:
        Id:
          description: Unique ID of the entity.
          type: string
        Type:
          description: >-
            Entity type. See
            https://learn.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
          type: string
      required:
        - Id
    JoinLobbyResult:
      type: object
      properties:
        LobbyId:
          description: Successfully joined lobby's id.
          type: string
      required:
        - LobbyId
    ApiErrorWrapper:
      description: The basic wrapper around every failed API response
      type: object
      properties:
        code:
          description: Numerical HTTP code
          type: integer
        status:
          description: String HTTP code
          type: string
        error:
          description: Playfab error code
          type: string
        errorCode:
          description: Numerical PlayFab error code
          type: integer
        errorMessage:
          description: Description for the PlayFab errorCode
          type: string
        errorDetails:
          description: Detailed description of individual issues with the request object
          type: object
      required:
        - code
        - errorCode
  responses:
    JoinLobbyResult:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
                description: >-
                  The Http status code. If X-ReportErrorAsSuccess header is set
                  to true, this will report the actual http error code.
              status:
                type: string
                description: The Http status code as a string.
              data:
                $ref: '#/components/schemas/JoinLobbyResult'
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    EntityToken:
      type: apiKey
      in: header
      name: X-EntityToken
      description: >-
        This API requires an Entity Session Token, available from the Entity
        GetEntityToken method.

````

## Related topics

- [Join lobbies](/services/playfab/multiplayer/lobby/join-lobbies.md)
- [Join Lobby](/api-reference/lobby/join-lobby.md)
- [Join Lobby As Server](/services/playfab/api-references/rest/multiplayer/lobby/join-lobby-as-server.md)
- [PFMultiplayerJoinLobby](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayerjoinlobby.md)
- [PFMultiplayerCreateAndJoinLobby](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayercreateandjoinlobby.md)
