> ## 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 Title Data

> Updates the key-value store of custom title settings

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| DataLengthExceeded | 1146 |
| TooManyKeys | 1147 |




## OpenAPI

````yaml /services/playfab/api-references/rest/server/server.openapi.json post /Server/SetTitleData
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Server API
  description: >-
    Provides functionality to allow external (developer-controlled) servers to
    interact with user inventories and data in a trusted manner, and to handle
    matchmaking and client connection orchestration
  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
  - name: Analytics
    description: Analytics APIs
  - name: Authentication
    description: Authentication APIs
  - name: Character Data
    description: Character Data APIs
  - name: Characters
    description: Characters APIs
  - name: Content
    description: Content Service APIs
  - name: Friend List Management
    description: Friend List Management APIs
  - name: Matchmaking
    description: Matchmaking APIs
  - name: Platform Specific Methods
    description: Platform Specific Methods APIs
  - name: Player Data Management
    description: Player Data Management APIs
  - name: Player Item Management
    description: Player Item Management APIs
  - name: PlayStream
    description: PlayStream Management APIs
  - name: Server-Side Cloud Script
    description: Server-Side Cloud Script APIs
  - name: Shared Group Data
    description: Shared Group Data APIs
  - name: Title-Wide Data Management
    description: Title-Wide Data Management APIs
paths:
  /Server/SetTitleData:
    post:
      tags:
        - Title-Wide Data Management
      summary: Set Title Data
      description: |
        Updates the key-value store of custom title settings

        ## Error codes

        This operation may return the following PlayFab errors:

        | Error | Code |
        | --- | --- |
        | DataLengthExceeded | 1146 |
        | TooManyKeys | 1147 |
      operationId: SetTitleData
      requestBody:
        $ref: '#/components/requestBodies/SetTitleDataRequest'
      responses:
        '200':
          $ref: '#/components/responses/SetTitleDataResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  requestBodies:
    SetTitleDataRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SetTitleDataRequest'
      description: >-
        This API is designed to store title specific values which can be read,
        but not written to, by the client. For example, a developer could choose
        to store values which modify the user experience, such as enemy spawn
        rates, weapon strengths, movement speeds, etc. This allows a developer
        to update the title without the need to create, test, and ship a new
        build. This operation is additive. If a Key does not exist in the
        current dataset, it will be added with the specified Value. If it
        already exists, the Value for that key will be overwritten with the new
        Value.
  responses:
    SetTitleDataResult:
      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/SetTitleDataResult'
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  schemas:
    SetTitleDataRequest:
      description: >-
        This API is designed to store title specific values which can be read,
        but not written to, by the client. For example, a developer could choose
        to store values which modify the user experience, such as enemy spawn
        rates, weapon strengths, movement speeds, etc. This allows a developer
        to update the title without the need to create, test, and ship a new
        build. This operation is additive. If a Key does not exist in the
        current dataset, it will be added with the specified Value. If it
        already exists, the Value for that key will be overwritten with the new
        Value.
      type: object
      properties:
        Key:
          description: >-
            key we want to set a value on (note, this is additive - will only
            replace an existing key's value if they are the same name.) Keys are
            trimmed of whitespace. Keys may not begin with the '!' character.
          type: string
        Value:
          description: new value to set. Set to null to remove a value
          type: string
      required:
        - Key
      example:
        Key: Running Speed
        Value: '1.03'
    SetTitleDataResult:
      type: object
      properties: {}
    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
  securitySchemes:
    SecretKey:
      type: apiKey
      in: header
      name: X-SecretKey
      description: >-
        This API requires a title secret key, available to title admins, from
        PlayFab Game Manager.

````

## Related topics

- [Set Title Data](/services/playfab/api-references/rest/server/title-wide-data-management/set-title-data.md)
- [Set Title Data And Overrides](/api-reference/title-wide-data-management/set-title-data-and-overrides.md)
- [Title Data quickstart](/services/playfab/live-service-management/game-configuration/titledata/quickstart.md)
- [PFTitleDataManagementSetTitleDataRequest](/services/playfab/api-references/c/pftitledatamanagementtypes/structs/pftitledatamanagementsettitledatarequest.md)
- [PFTitleDataManagementServerSetTitleDataAsync](/services/playfab/api-references/c/pftitledatamanagement/functions/pftitledatamanagementserversettitledataasync.md)
