> ## 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.

# Authenticate Game Server With Custom Id

> Create a game_server entity token and return a new or existing game_server entity.

Allowed entity token types: title



## OpenAPI

````yaml /services/playfab/api-references/rest/authentication/authentication.openapi.json post /GameServerIdentity/AuthenticateGameServerWithCustomId
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Authentication API
  description: >-
    The Authentication APIs provide a convenient way to convert classic
    authentication responses into entity authentication models. These APIs will
    provide you with the entity authentication token needed for subsequent
    Entity API calls. The game_server API is designed to create uniquely
    identifiable game_server entities. The game_server Entity token can be used
    to call Matchmaking Lobby and Pubsub for server scenarios.
  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: Authentication
    description: Authentication APIs
paths:
  /GameServerIdentity/AuthenticateGameServerWithCustomId:
    post:
      tags:
        - Authentication
      summary: Authenticate Game Server With Custom Id
      description: >-
        Create a game_server entity token and return a new or existing
        game_server entity.


        Allowed entity token types: title
      operationId: AuthenticateGameServerWithCustomId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthenticateCustomIdRequest'
        description: >-
          Create or return a game_server entity token. Caller must be a title
          entity.
      responses:
        '200':
          $ref: '#/components/responses/AuthenticateCustomIdResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    AuthenticateCustomIdRequest:
      description: >-
        Create or return a game_server entity token. Caller must be a title
        entity.
      type: object
      properties:
        CustomId:
          description: >-
            The customId used to create and retrieve game_server entity tokens.
            This is unique at the title level. CustomId must be between 32 and
            100 characters.
          type: string
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
      required:
        - CustomId
      example:
        CustomId: 12345678123412341234123456789abc
    AuthenticateCustomIdResult:
      type: object
      properties:
        EntityToken:
          allOf:
            - $ref: '#/components/schemas/EntityTokenResponse'
          description: The token generated used to set X-EntityToken for game_server calls.
        NewlyCreated:
          description: True if the account was newly created on this authentication.
          type: boolean
      required:
        - NewlyCreated
      example:
        EntityToken:
          EntityToken: Bw3YDMumgfsv45GKWxgUCF7DumqFnbFbVDQTyYcDrCpBavU3YDJJ47D388eyeDfZ
          TokenExpiration: '2022-01-26T07:24:12Z'
          Entity:
            Id: 3D00C64954
            Type: game_server
            TypeString: game_server
        NewlyCreated: true
    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
    EntityTokenResponse:
      type: object
      properties:
        Entity:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The entity id and type.
        EntityToken:
          description: The token used to set X-EntityToken for all entity based API calls.
          type: string
        TokenExpiration:
          description: The time the token will expire, if it is an expiring token, in UTC.
          type: string
      example:
        EntityToken: lS2hbYH1Gls1KbnlyozHSQBrF4zsq6q006ci9ijSNqQUiiO6xyCQtVrLjsXjdBJ
        TokenExpiration: '2022-01-26T07:24:12Z'
        Entity:
          Id: 174812abf712
          Type: title_player_account
          TypeString: title_player_account
    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
  responses:
    AuthenticateCustomIdResult:
      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/AuthenticateCustomIdResult'
            example:
              code: 200
              status: OK
              data:
                EntityToken:
                  EntityToken: >-
                    Bw3YDMumgfsv45GKWxgUCF7DumqFnbFbVDQTyYcDrCpBavU3YDJJ47D388eyeDfZ
                  TokenExpiration: '2022-01-26T07:24:12Z'
                  Entity:
                    Id: 3D00C64954
                    Type: game_server
                    TypeString: game_server
                NewlyCreated: true
    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

- [Authenticate Game Server With Custom Id](/services/playfab/api-references/rest/authentication/authentication/authenticate-game-server-with-custom-id.md)
- [PFAuthenticationAuthenticateGameServerWithCustomIdAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationauthenticategameserverwithcustomidasync.md)
- [PFAuthenticationAuthenticateGameServerWithCustomIdGetResult](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationauthenticategameserverwithcustomidgetresult.md)
- [Game Servers and Lobbies](/services/playfab/multiplayer/lobby/lobby-server-overview.md)
- [Game Server Configuration overview](/services/playfab/live-service-management/game-configuration/index.md)
