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

# Get Entity Token

> Method to exchange a legacy AuthenticationTicket or title SecretKey for an Entity Token or to refresh a still valid Entity Token.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| EncryptionKeyBroken | 1291 |
| NoValidCertificateForAad | 1376 |




## OpenAPI

````yaml /services/playfab/api-references/rest/authentication/authentication.openapi.json post /Authentication/GetEntityToken
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:
  /Authentication/GetEntityToken:
    post:
      tags:
        - Authentication
      summary: Get Entity Token
      description: >
        Method to exchange a legacy AuthenticationTicket or title SecretKey for
        an Entity Token or to refresh a still valid Entity Token.


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | EncryptionKeyBroken | 1291 |

        | NoValidCertificateForAad | 1376 |
      operationId: GetEntityToken
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetEntityTokenRequest'
        description: >-
          This API must be called with X-SecretKey, X-Authentication or
          X-EntityToken headers. The header must still be valid and cannot be
          expired or revoked.If successful, it will issue a new entity token and
          emit the "entity_logged_in" PlayStream event.
      responses:
        '200':
          $ref: '#/components/responses/GetEntityTokenResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security: []
components:
  schemas:
    GetEntityTokenRequest:
      description: >-
        This API must be called with X-SecretKey, X-Authentication or
        X-EntityToken headers. The header must still be valid and cannot be
        expired or revoked.If successful, it will issue a new entity token and
        emit the "entity_logged_in" PlayStream event.
      type: object
      properties:
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
      example: {}
    GetEntityTokenResponse:
      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
    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
    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:
    GetEntityTokenResponse:
      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/GetEntityTokenResponse'
            example:
              code: 200
              status: OK
              data:
                EntityToken: >-
                  lS2hbYH1Gls1KbnlyozHSQBrF4zsq6q006ci9ijSNqQUiiO6xyCQtVrLjsXjdBJ
                TokenExpiration: '2022-01-26T07:24:12Z'
                Entity:
                  Id: 174812abf712
                  Type: title_player_account
                  TypeString: title_player_account
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'

````

## Related topics

- [Get Entity Token](/services/playfab/api-references/rest/authentication/authentication/get-entity-token.md)
- [PFEntityGetEntityTokenResult](/services/playfab/api-references/c/pfentity/functions/pfentitygetentitytokenresult.md)
- [PFEntityGetEntityTokenAsync](/services/playfab/api-references/c/pfentity/functions/pfentitygetentitytokenasync.md)
- [PFEntityGetEntityTokenResultSize](/services/playfab/api-references/c/pfentity/functions/pfentitygetentitytokenresultsize.md)
- [Entity Handles](/services/playfab/sdks/c/entity-handles.md)
