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

# Update User Inventory Item Custom Data

> _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for version 2._ Updates the key-value pair data tagged to the specified item, which is read-only from the client.

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| ProductDisabledForTitle | 1609 |




## OpenAPI

````yaml /services/playfab/api-references/rest/server/server.openapi.json post /Server/UpdateUserInventoryItemCustomData
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/UpdateUserInventoryItemCustomData:
    post:
      tags:
        - Player Item Management
      summary: Update User Inventory Item Custom Data
      description: >
        _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new
        Economy features are being developed only for version 2._ Updates the
        key-value pair data tagged to the specified item, which is read-only
        from the client.


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | ProductDisabledForTitle | 1609 |
      operationId: UpdateUserInventoryItemCustomData
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserInventoryItemDataRequest'
        description: >-
          This function performs an additive update of the arbitrary JSON object
          containing the custom data for the item instance which belongs to the
          specified user. In updating the custom data object, keys which already
          exist in the object will have their values overwritten, while keys
          with null values will be removed. No other key-value pairs will be
          changed apart from those specified in the call.
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    UpdateUserInventoryItemDataRequest:
      description: >-
        This function performs an additive update of the arbitrary JSON object
        containing the custom data for the item instance which belongs to the
        specified user. In updating the custom data object, keys which already
        exist in the object will have their values overwritten, while keys with
        null values will be removed. No other key-value pairs will be changed
        apart from those specified in the call.
      type: object
      properties:
        CharacterId:
          description: Unique PlayFab assigned ID for a specific character owned by a user
          type: string
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        Data:
          description: >-
            Key-value pairs to be written to the custom data. Note that keys are
            trimmed of whitespace, are limited in size, and may not begin with a
            '!' character or be null.
          type: object
        ItemInstanceId:
          description: Unique PlayFab assigned instance identifier of the item
          type: string
        KeysToRemove:
          description: >-
            Optional list of Data-keys to remove from UserData. Some SDKs cannot
            insert null-values into Data due to language constraints. Use this
            to delete the keys directly.
          type: array
          items:
            type: string
        PlayFabId:
          description: >-
            Unique PlayFab assigned ID of the user on whom the operation will be
            performed.
          type: string
      required:
        - PlayFabId
        - ItemInstanceId
      example:
        PlayFabId: '204883457'
        CharacterId: '9890723423'
        ItemInstanceId: '88331144'
        Data:
          Equipped: 'True'
          Slot: Head
    EmptyResponse:
      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
  responses:
    EmptyResponse:
      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/EmptyResponse'
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  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

- [Update User Inventory Item Custom Data](/services/playfab/api-references/rest/server/player-item-management/update-user-inventory-item-custom-data.md)
- [Get User Inventory](/services/playfab/api-references/rest/client/player-item-management/get-user-inventory.md)
- [PFItemInstance](/services/playfab/api-references/c/pftypes/structs/pfiteminstance.md)
- [Profile Writes Meter API Description](/services/playfab/pricing/meters/profile-writes.md)
- [Grant Items To User](/services/playfab/api-references/rest/server/player-item-management/grant-items-to-user.md)
