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

# Set Profile Language

> Updates the entity's language. The precedence hierarchy for communication to the player is Title Player Account language, Master Player Account language, and then title default language if the first two aren't set or supported.



## OpenAPI

````yaml /services/playfab/api-references/rest/profiles/profiles.openapi.json post /Profile/SetProfileLanguage
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Profiles API
  description: >-
    All PlayFab entities have profiles, which hold top-level properties about
    the entity. These APIs give you the tools needed to manage entity profiles.
  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: Account Management
    description: Account Management APIs
paths:
  /Profile/SetProfileLanguage:
    post:
      tags:
        - Account Management
      summary: Set Profile Language
      description: >-
        Updates the entity's language. The precedence hierarchy for
        communication to the player is Title Player Account language, Master
        Player Account language, and then title default language if the first
        two aren't set or supported.
      operationId: SetProfileLanguage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetProfileLanguageRequest'
        description: >-
          Given an entity profile, will update its language to the one passed in
          if the profile's version is equal to the one passed in.
      responses:
        '200':
          $ref: '#/components/responses/SetProfileLanguageResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    SetProfileLanguageRequest:
      description: >-
        Given an entity profile, will update its language to the one passed in
        if the profile's version is equal to the one passed in.
      type: object
      properties:
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        Entity:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: >-
            The optional entity to perform this action on. Defaults to the
            currently logged in entity.
        ExpectedVersion:
          description: The expected version of a profile to perform this update on
          type: number
          x-actualtype: int32
        Language:
          description: >-
            The language to set on the given entity. Deletes the profile's
            language if passed in a null string.
          type: string
      example:
        Language: en
        ExpectedVersion: 123
        Entity:
          Id: '1234'
          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
    SetProfileLanguageResponse:
      type: object
      properties:
        OperationResult:
          allOf:
            - $ref: '#/components/schemas/OperationTypes'
          description: The type of operation that occured on the profile's language
        VersionNumber:
          description: The updated version of the profile after the language update
          type: number
          x-actualtype: int32
      example:
        VersionNumber: 124
        OperationResult: Updated
    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
    OperationTypes:
      type: string
      enum:
        - Created
        - Updated
        - Deleted
        - None
  responses:
    SetProfileLanguageResponse:
      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/SetProfileLanguageResponse'
            example:
              code: 200
              status: OK
              data:
                VersionNumber: 124
                OperationResult: Updated
    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

- [Set Profile Language](/services/playfab/api-references/rest/profiles/account-management/set-profile-language.md)
- [PFProfilesSetProfileLanguageRequest](/services/playfab/api-references/c/pfprofilestypes/structs/pfprofilessetprofilelanguagerequest.md)
- [PFProfilesSetProfileLanguageAsync](/services/playfab/api-references/c/pfprofiles/functions/pfprofilessetprofilelanguageasync.md)
- [PFProfilesSetProfileLanguageResponse](/services/playfab/api-references/c/pfprofilestypes/structs/pfprofilessetprofilelanguageresponse.md)
- [PFProfilesSetProfileLanguageGetResult](/services/playfab/api-references/c/pfprofiles/functions/pfprofilessetprofilelanguagegetresult.md)
