Inventory - Purchase Inventory Items

Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped.

POST https://titleId.playfabapi.com/Inventory/PurchaseInventoryItems

Request Header

Name Required Type Description
X-EntityToken True

string

This API requires an Entity Session Token, available from the Entity GetEntityToken method.

Request Body

Name Required Type Description
DeleteEmptyStacks True

boolean

Indicates whether stacks reduced to an amount of 0 during the request should be deleted from the inventory. (Default=false)

Amount

number

The amount to purchase.

CollectionId

string

The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is unlimited.

CustomTags

object

The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

DurationInSeconds

number

The duration to purchase.

ETag

string

ETags are used for concurrency checking when updating resources. More information about using ETags can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags

Entity

EntityKey

The entity to perform this action on.

IdempotencyId

string

The Idempotency ID for this request. Idempotency IDs can be used to prevent operation replay in the medium term but will be garbage collected eventually.

Item

InventoryItemReference

The inventory item the request applies to.

NewStackValues

InitialValues

The values to apply to a stack newly created by this request.

PriceAmounts

PurchasePriceAmount[]

The per-item price the item is expected to be purchased at. This must match a value configured in the Catalog or specified Store.

StoreId

string

The id of the Store to purchase the item from.

Responses

Name Type Description
200 OK

PurchaseInventoryItemsResponse

400 Bad Request

ApiErrorWrapper

This is the outer wrapper for all responses with errors

Security

X-EntityToken

This API requires an Entity Session Token, available from the Entity GetEntityToken method.

Type: apiKey
In: header

Definitions

Name Description
AlternateId
ApiErrorWrapper

The basic wrapper around every failed API response

EntityKey

Combined entity type and ID structure which uniquely identifies a single entity.

InitialValues
InventoryItemReference
PurchaseInventoryItemsRequest

Purchase a single item or bundle, paying the associated price.

PurchaseInventoryItemsResponse
PurchasePriceAmount

AlternateId

Name Type Description
Type

string

Type of the alternate ID.

Value

string

Value of the alternate ID.

ApiErrorWrapper

The basic wrapper around every failed API response

Name Type Description
code

integer

Numerical HTTP code

error

string

Playfab error code

errorCode

integer

Numerical PlayFab error code

errorDetails

object

Detailed description of individual issues with the request object

errorMessage

string

Description for the PlayFab errorCode

status

string

String HTTP code

EntityKey

Combined entity type and ID structure which uniquely identifies a single entity.

Name Type Description
Id

string

Unique ID of the entity.

Type

string

Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types

InitialValues

Name Type Description
DisplayProperties

object

Game specific properties for display purposes. The Display Properties field has a 1000 byte limit.

InventoryItemReference

Name Type Description
AlternateId

AlternateId

The inventory item alternate id the request applies to.

Id

string

The inventory item id the request applies to.

StackId

string

The inventory stack id the request should redeem to. (Default="default")

PurchaseInventoryItemsRequest

Purchase a single item or bundle, paying the associated price.

Name Type Description
Amount

number

The amount to purchase.

CollectionId

string

The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is unlimited.

CustomTags

object

The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

DeleteEmptyStacks

boolean

Indicates whether stacks reduced to an amount of 0 during the request should be deleted from the inventory. (Default=false)

DurationInSeconds

number

The duration to purchase.

ETag

string

ETags are used for concurrency checking when updating resources. More information about using ETags can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags

Entity

EntityKey

The entity to perform this action on.

IdempotencyId

string

The Idempotency ID for this request. Idempotency IDs can be used to prevent operation replay in the medium term but will be garbage collected eventually.

Item

InventoryItemReference

The inventory item the request applies to.

NewStackValues

InitialValues

The values to apply to a stack newly created by this request.

PriceAmounts

PurchasePriceAmount[]

The per-item price the item is expected to be purchased at. This must match a value configured in the Catalog or specified Store.

StoreId

string

The id of the Store to purchase the item from.

PurchaseInventoryItemsResponse

Name Type Description
ETag

string

ETags are used for concurrency checking when updating resources. More information about using ETags can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags

IdempotencyId

string

The idempotency id used in the request.

TransactionIds

string[]

The ids of transactions that occurred as a result of the request.

PurchasePriceAmount

Name Type Description
Amount

number

The amount of the inventory item to use in the purchase .

ItemId

string

The inventory item id to use in the purchase .

StackId

string

The inventory stack id the to use in the purchase. Set to "default" by default

Error Codes

Name Code
DatabaseThroughputExceeded 1113
InsufficientFunds 1059
InvalidCatalogItemConfiguration 4015
ItemNotFound 1047