> ## 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 Character Inventory

> _NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for version 2._ Retrieves the specified character's current inventory of virtual goods

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| CharacterNotFound | 1135 |
| ProductDisabledForTitle | 1609 |




## OpenAPI

````yaml post /Server/GetCharacterInventory
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/GetCharacterInventory:
    post:
      tags:
        - Player Item Management
      summary: Get Character Inventory
      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._ Retrieves the
        specified character's current inventory of virtual goods


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | CharacterNotFound | 1135 |

        | ProductDisabledForTitle | 1609 |
      operationId: GetCharacterInventory
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCharacterInventoryRequest'
        description: >-
          All items currently in the character inventory will be returned,
          irrespective of how they were acquired (via purchasing, grants,
          coupons, etc.). Items that are expired, fully consumed, or are no
          longer valid are not considered to be in the user's current inventory,
          and so will not be not included. Also returns their virtual currency
          balances.
      responses:
        '200':
          $ref: '#/components/responses/GetCharacterInventoryResult'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - SecretKey: []
components:
  schemas:
    GetCharacterInventoryRequest:
      description: >-
        All items currently in the character inventory will be returned,
        irrespective of how they were acquired (via purchasing, grants, coupons,
        etc.). Items that are expired, fully consumed, or are no longer valid
        are not considered to be in the user's current inventory, and so will
        not be not included. Also returns their virtual currency balances.
      type: object
      properties:
        CatalogVersion:
          description: Used to limit results to only those from a specific catalog version.
          type: string
        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
        PlayFabId:
          description: >-
            Unique PlayFab assigned ID of the user on whom the operation will be
            performed.
          type: string
      required:
        - PlayFabId
        - CharacterId
      example:
        PlayFabId: '204883457'
        CharacterId: '9890723423'
        CatalogVersion: '5'
    GetCharacterInventoryResult:
      type: object
      properties:
        CharacterId:
          description: Unique identifier of the character for this inventory.
          type: string
        Inventory:
          description: Array of inventory items belonging to the character.
          type: array
          items:
            $ref: '#/components/schemas/ItemInstance'
          x-isUnordered: true
          x-isclass: true
        PlayFabId:
          description: >-
            Unique PlayFab assigned ID of the user on whom the operation will be
            performed.
          type: string
        VirtualCurrency:
          description: Array of virtual currency balance(s) belonging to the character.
          type: object
          x-actualtype: int32
        VirtualCurrencyRechargeTimes:
          allOf:
            - $ref: '#/components/schemas/VirtualCurrencyRechargeTime'
          description: Array of remaining times and timestamps for virtual currencies.
      example:
        PlayFabId: '204883457'
        CharacterId: '9890723423'
        Inventory:
          - ItemId: shield_level_5
            ItemInstanceId: '9879843'
            ItemClass: shields
            CatalogVersion: '5'
          - ItemId: energy_boost_1
            ItemInstanceId: '3854637'
            ItemClass: boosts
            RemainingUses: 4
            CatalogVersion: '5'
        VirtualCurrency:
          GC: 15
        VirtualCurrencyRechargeTimes:
          GC:
            SecondsToRecharge: 3600
            RechargeTime: '2014-01-01T12:00:00'
            RechargeMax: 50
    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
    ItemInstance:
      description: >-
        A unique instance of an item in a user's inventory. Note, to retrieve
        additional information for an item such as Tags, Description that are
        the same across all instances of the item, a call to GetCatalogItems is
        required. The ItemID of can be matched to a catalog entry, which
        contains the additional information. Also note that Custom Data is only
        set when the User's specific instance has updated the CustomData via a
        call to UpdateUserInventoryItemCustomData. Other fields such as
        UnitPrice and UnitCurrency are only set when the item was granted via a
        purchase.
      type: object
      properties:
        Annotation:
          description: >-
            Game specific comment associated with this instance when it was
            added to the user inventory.
          type: string
        BundleContents:
          description: >-
            Array of unique items that were awarded when this catalog item was
            purchased.
          type: array
          items:
            type: string
        BundleParent:
          description: >-
            Unique identifier for the parent inventory item, as defined in the
            catalog, for object which were added from a bundle or container.
          type: string
        CatalogVersion:
          description: >-
            Catalog version for the inventory item, when this instance was
            created.
          type: string
        CustomData:
          description: >-
            A set of custom key-value pairs on the instance of the inventory
            item, which is not to be confused with the catalog item's custom
            data.
          type: object
        DisplayName:
          description: CatalogItem.DisplayName at the time this item was purchased.
          type: string
        Expiration:
          description: Timestamp for when this instance will expire.
          type: string
        ItemClass:
          description: Class name for the inventory item, as defined in the catalog.
          type: string
        ItemId:
          description: Unique identifier for the inventory item, as defined in the catalog.
          type: string
        ItemInstanceId:
          description: Unique item identifier for this specific instance of the item.
          type: string
        PurchaseDate:
          description: Timestamp for when this instance was purchased.
          type: string
        RemainingUses:
          description: Total number of remaining uses, if this is a consumable item.
          type: number
          x-actualtype: int32
        UnitCurrency:
          description: >-
            Currency type for the cost of the catalog item. Not available when
            granting items.
          type: string
        UnitPrice:
          description: >-
            Cost of the catalog item in the given currency. Not available when
            granting items.
          type: number
          x-actualtype: uint32
        UsesIncrementedBy:
          description: >-
            The number of uses that were added or removed to this item in this
            call.
          type: number
          x-actualtype: int32
      required:
        - UnitPrice
      example:
        ItemId: shield_level_5
        ItemInstanceId: '133713371337'
        ItemClass: shields
        PurchaseDate: '2017-03-07T00:00:00'
        Expiration: '2018-10-01T00:00:00'
        RemainingUses: 10
        Annotation: No Annotation
        CatalogVersion: '5'
        BundleParent: crate block 1
      x-sortKey: ItemInstanceId
    VirtualCurrencyRechargeTime:
      type: object
      properties:
        RechargeMax:
          description: >-
            Maximum value to which the regenerating currency will automatically
            increment. Note that it can exceed this value through use of the
            AddUserVirtualCurrency API call. However, it will not regenerate
            automatically until it has fallen below this value.
          type: number
          x-actualtype: int32
        RechargeTime:
          description: >-
            Server timestamp in UTC indicating the next time the virtual
            currency will be incremented.
          type: string
        SecondsToRecharge:
          description: >-
            Time remaining (in seconds) before the next recharge increment of
            the virtual currency.
          type: number
          x-actualtype: int32
      required:
        - SecondsToRecharge
        - RechargeTime
        - RechargeMax
      example:
        SecondsToRecharge: 3600
        RechargeTime: '2014-01-01T12:00:00'
        RechargeMax: 50
  responses:
    GetCharacterInventoryResult:
      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/GetCharacterInventoryResult'
            example:
              code: 200
              status: OK
              data:
                PlayFabId: '204883457'
                CharacterId: '9890723423'
                Inventory:
                  - ItemId: shield_level_5
                    ItemInstanceId: '9879843'
                    ItemClass: shields
                    CatalogVersion: '5'
                  - ItemId: energy_boost_1
                    ItemInstanceId: '3854637'
                    ItemClass: boosts
                    RemainingUses: 4
                    CatalogVersion: '5'
                VirtualCurrency:
                  GC: 15
                VirtualCurrencyRechargeTimes:
                  GC:
                    SecondsToRecharge: 3600
                    RechargeTime: '2014-01-01T12:00:00'
                    RechargeMax: 50
    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

- [Get Character Inventory](/api-reference/player-item-management/get-character-inventory.md)
- [PlayFab Release Notes 2015](/services/playfab/release-notes/2015.md)
- [Items (Legacy Economy)](/services/playfab/economy-monetization/economy/items/index.md)
- [PFCharacterInventory](/services/playfab/api-references/c/pftypes/structs/pfcharacterinventory.md)
- [character_inventory_item_added](/services/playfab/api-references/events/Character/character-inventory-item-added.md)
