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

# Update player profile

> Edit only the display name using the current version.



## OpenAPI

````yaml scripts/reference/sources/openapi/player.json PATCH /v1/identity/me/profile
openapi: 3.1.0
info:
  title: Summer Player Game Platform API
  version: summer.player.games/v1
  description: >-
    Public Summer Games store reads, the connected-app OAuth endpoints, and the
    signed-in player's profile and preferences.
servers:
  - url: https://api.summer.games
security:
  - playerBearer: []
paths:
  /v1/identity/me/profile:
    patch:
      description: >-
        Edit only the display name using the current version. Handle changes and
        caller-selected user IDs are rejected. On uncertain delivery reload the
        profile before reconciling. Responses are no-store.
      operationId: updatePlayerProfile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - displayName
                - expectedVersion
              properties:
                displayName:
                  $ref: '#/components/schemas/PlayerDisplayNameInput'
                expectedVersion:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740990
      responses:
        '200':
          description: Saved profile with incremented version
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlayerProfile'
        '400':
          description: invalid_request; invalid fields or values
        '401':
          description: Authentication missing or account inactive
        '403':
          description: Player identity.read permission required
        '409':
          description: version_conflict; reload before editing
        '503':
          description: Profile unavailable; reconcile uncertain writes with GET
components:
  schemas:
    PlayerDisplayNameInput:
      type: string
      description: >-
        Trimmed nonempty Unicode text, at most 64 code points and 256 UTF-8
        bytes after trimming; Unicode category C characters are rejected. Names
        need not be unique.
    PlayerProfile:
      type: object
      required:
        - handle
        - displayName
        - version
        - needsProfileSetup
      properties:
        handle:
          type: string
          nullable: true
          pattern: ^[a-z][a-z0-9_]{2,23}$
        displayName:
          type: string
        version:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        needsProfileSetup:
          type: boolean
          description: True exactly when handle is null.
  securitySchemes:
    playerBearer:
      type: http
      scheme: bearer
      description: >-
        A player access token. Store reads need no token. Other apps get a token
        through connected-app OAuth: register the client, let the player approve
        it on summer.games, then exchange the code at the token endpoint.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.