Skip to content

Modify Many Player Inventory Uuid Self

PUT
/inventory/v2/player/me/inventory

Modify many Inventory records for the currently authenticated player.

Authorizations

Request Body required

Collection of Update Inventory Requests. The Inventory referenced in the Update Inventory Requests must exist otherwise the request will fail. Each individual entry will be processed in the order they are specified in the collection.

Note: Partial success is possible as each request is processed individually.

object
source

Source of this Inventory Operation.

string
Allowed values: UNKNOWN WEB_ORDER_REPAIR IN_GAME WEB_SITE NO_SALE SUPPORT ACTIVITY REFUND SYSTEM REWARDS ESPORTS TREASURE CONSOLE ODYSSEY STEAM RETURN JSON_GATE SEND_GIFT RECEIVE_GIFT STEAM_DLC TWITCH_MILESTONE TWITCH_PRIME PSN XBOX PTS_GRANT INSTANCE ACCOUNT_TRANSFER PROMOCODE TRIUMPH_SYSTEM LOGIN_GRANT EOM_UNCAPPED EOM_CAPPED FACEBOOK_DROP DATABASE_SCRIPT ACCOUNT_LINKING CLAN CONVERSION APPLE GOOGLE GOOGLE_PLAY PORTAL_DURABLE PARTNER_ACHIEVEMENT MIXER_DROP NINTENDO STREAM_VIEWING_PROGRESS DISCORD FIRST_LOGIN_GRANT TWITCH_FUEL DISCORD_DLC NETEASE EPIC_GAMES FORTE FACEBOOK HIREZ DAILY_REWARD ADD_ACCOUNT_EMAIL_REWARD CLIENT_CLAIM CLIENT ENTITLEMENTS AMAZON SIMULMEDIA LUNA
client_order_ref_id

Arbitrary UUID that can be used by clients to correlate Order requests with Order responses.

string format: uuid
inventory
required

Collection of Update Inventory Requests.

Array<object>
>= 1 items

Request to Update Inventory by an existing Inventory ID. If the Inventory entry does not exist, then the request will fail.

object
bucket

Inventory Bucket for this Inventory Operation.

string
Allowed values: free sweat none anon amazon steam psn xbox_live google twitch nintendo_switch apple nintendo epic google_play nintendo_ppid
count

Count for this Inventory Operation.

integer
default: 1
expires

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
custom_data

Arbitrary data map that can be set to add additional data to Inventory.

object
key
additional properties
string
item_id

Item ID for this Inventory Operation. If the Item ID is not set during an Update Inventory Request, then the Item ID will not be modified on the existing Inventory Record.

integer
inventory_id
required

Inventory ID for this Inventory Operation.

string format: uuid

Responses

200

Successful Response

Represents a Player Order.

object
source

The source of the Player Order.

string
Allowed values: UNKNOWN WEB_ORDER_REPAIR IN_GAME WEB_SITE NO_SALE SUPPORT ACTIVITY REFUND SYSTEM REWARDS ESPORTS TREASURE CONSOLE ODYSSEY STEAM RETURN JSON_GATE SEND_GIFT RECEIVE_GIFT STEAM_DLC TWITCH_MILESTONE TWITCH_PRIME PSN XBOX PTS_GRANT INSTANCE ACCOUNT_TRANSFER PROMOCODE TRIUMPH_SYSTEM LOGIN_GRANT EOM_UNCAPPED EOM_CAPPED FACEBOOK_DROP DATABASE_SCRIPT ACCOUNT_LINKING CLAN CONVERSION APPLE GOOGLE GOOGLE_PLAY PORTAL_DURABLE PARTNER_ACHIEVEMENT MIXER_DROP NINTENDO STREAM_VIEWING_PROGRESS DISCORD FIRST_LOGIN_GRANT TWITCH_FUEL DISCORD_DLC NETEASE EPIC_GAMES FORTE FACEBOOK HIREZ DAILY_REWARD ADD_ACCOUNT_EMAIL_REWARD CLIENT_CLAIM CLIENT ENTITLEMENTS AMAZON SIMULMEDIA LUNA
client_order_ref_id

Arbitrary UUID clients can use to track Orders between request to response.

string format: uuid
portal_id

Portal of the Portal User the Player Order belongs to.

integer
portal_user_id

Portal User Id for the Player this Player Order belongs to.

string
instance_id

Instance Id for the Instance who submits the Player Order.

string
match_id

Match Id for the Match that generated the Player Order.

string
is_transaction

If an order is a transaction, any failed entries will roll back changes from all other entries.

boolean
order_id
required

Unique Identifier for the Order.

string
player_uuid
required

Player UUID of the Player this Player Order belongs to.

string format: uuid
created_time
required

Time the Player Order was created.

string format: date-time
entries
required

List of Player Order Entries for the Player Order.

Array<object>

Represents a line item in the Player Order and the results of the line item.

object
type
required

The type of entry.

string
Allowed values: fill_loot purchase_loot purchase_dynamic_bundle promotion_code fill_loot_single_transient fill_entitled_loot create_new_persistent_inventory update_existing_persistent_inventory create_new_transient_inventory update_existing_transient_inventory update_inventory
loot_id

Unique Identifier for the Loot

integer
quantity
required

Quantity of Inventory

integer
vendor_version

Legacy version for the vendor owning the loot_id. Use vendor_etag instead.

integer format: int64
vendor_etag

Etag for the vendor owning the loot_id. Will fail the fulfillment if they do not match

string
dynamic_bundle_loot_ids

List of Loot IDs for the dynamic bundle.

Array<integer>
purchase_price

The purchase price of the Loot.

object
price_item_id
required

The Item used as the currency for the purchase.

integer
price
required

The price of the Item.

integer
price_coupon_item_id

The Item used as the coupon for the purchase.

integer
external_tran_id

External Transaction Id for source of the acquisition or a promotion code to claim. Required for [PROMOTION_CODE] types

string
external_item_sku

External item SKU for the Order Entry.

string
use_inventory_bucket

Inventory Bucket to use for the Order Entry.

string
Allowed values: free sweat none anon amazon steam psn xbox_live google twitch nintendo_switch apple nintendo epic google_play nintendo_ppid
player_portal_event_id

Player Portal Event Id for the Order Entry.

integer format: int64
inventory_id

Unique Identifier for the Inventory

string format: uuid
legacy_inventory_id

Legacy Inventory Id. This is only used when type equals [UPDATE_EXISTING_PERSISTENT_INVENTORY, UPDATE_EXISTING_TRANSIENT_INVENTORY]

integer format: int64
item_id

Item Id used create or update Inventory directly. This is only used when type equals [CREATE_NEW_PERSISTENT_INVENTORY, CREATE_NEW_TRANSIENT_INVENTORY]

integer
expires

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
custom_data

Custom Data Attributes for the Inventory. This is only used when type equals [CREATE_NEW_PERSISTENT_INVENTORY, UPDATE_EXISTING_PERSISTENT_INVENTORY, CREATE_NEW_TRANSIENT_INVENTORY, UPDATE_EXISTING_TRANSIENT_INVENTORY, UPDATE_INVENTORY]

object
key
additional properties
string
entry_id
required

Unique Identifier for the Order Entry.

string
result

Entry result type.

string
Allowed values: success internal_error invalid_entry_type not_allowed_on_current_portal loot_not_found loot_not_active price_item_not_found price_not_allowed dynamic_bundle_invalid too_many_requests price_does_not_match vendor_version_does_not_match dynamic_bundle_ltis_do_not_match cannot_afford_price cannot_afford_coupon failed_to_spend_price failed_to_spend_coupon loot_not_for_sale_with_price_item coupons_disabled coupon_item_not_found coupon_item_not_active coupon_item_not_applicable_for_quantity coupon_item_not_applicable_for_price_item coupon_item_not_applicable_for_loot quantity_not_allowed promotion_expired promotion_not_found promotion_no_uses_left promotion_not_available promotion_claimed_already dynamic_bundles_not_available transient_single_loot_already_applied loot_not_fillable_from_client permission_denied failed_to_find_any_sub_loot failed_to_fill_any_sub_loot cannot_meet_loot_blocker cannot_meet_loot_required failed_to_consume_loot_required failed_to_submit_new_order failed_to_modify_inventory inventory_not_found item_not_found item_not_active too_many_inv_custom_attributes always_owned_inventory_cannot_be_modified available_until_is_in_past rollback not_started
details

Details for the Order Entry.

Array<object>
default:

Represents details of what occurred in a Player Order Entry.

object
type
required

The type of detail.

string
Allowed values: unknown inventory_change dynamic_bundle_lti claim_promo_code return_promo_code new_order
loot_id

The Loot ID.

integer
inv_change

The Inventory change that occurred as part of this detail.

object
before_item_id

The Item ID of the Item before the change.

integer
after_item_id

The Item ID of the Item after the change.

integer
before

The Inventory Record before the change.

object
inventory_id
required

Unique ID for this Inventory Record.

string format: uuid
type
required

Type of Inventory Record.

string
Allowed values: persistent transient always_owned
legacy_inventory_id

Legacy Inventory ID.

integer format: int64
bucket

Bucket for this Inventory Record.

string
Allowed values: free sweat none anon amazon steam psn xbox_live google twitch nintendo_switch apple nintendo epic google_play nintendo_ppid
count
required

Instance count for this Inventory Record.

integer
acquired
required

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
expires

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
custom_data

Arbitrary map of data for this Inventory Record.

object
key
additional properties
string
after

The Inventory Record after the change.

object
inventory_id
required

Unique ID for this Inventory Record.

string format: uuid
type
required

Type of Inventory Record.

string
Allowed values: persistent transient always_owned
legacy_inventory_id

Legacy Inventory ID.

integer format: int64
bucket

Bucket for this Inventory Record.

string
Allowed values: free sweat none anon amazon steam psn xbox_live google twitch nintendo_switch apple nintendo epic google_play nintendo_ppid
count
required

Instance count for this Inventory Record.

integer
acquired
required

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
expires

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
custom_data

Arbitrary map of data for this Inventory Record.

object
key
additional properties
string
order

Reference to the Player Order that this detail belongs to.

object
source

The source of the Player Order.

string
Allowed values: UNKNOWN WEB_ORDER_REPAIR IN_GAME WEB_SITE NO_SALE SUPPORT ACTIVITY REFUND SYSTEM REWARDS ESPORTS TREASURE CONSOLE ODYSSEY STEAM RETURN JSON_GATE SEND_GIFT RECEIVE_GIFT STEAM_DLC TWITCH_MILESTONE TWITCH_PRIME PSN XBOX PTS_GRANT INSTANCE ACCOUNT_TRANSFER PROMOCODE TRIUMPH_SYSTEM LOGIN_GRANT EOM_UNCAPPED EOM_CAPPED FACEBOOK_DROP DATABASE_SCRIPT ACCOUNT_LINKING CLAN CONVERSION APPLE GOOGLE GOOGLE_PLAY PORTAL_DURABLE PARTNER_ACHIEVEMENT MIXER_DROP NINTENDO STREAM_VIEWING_PROGRESS DISCORD FIRST_LOGIN_GRANT TWITCH_FUEL DISCORD_DLC NETEASE EPIC_GAMES FORTE FACEBOOK HIREZ DAILY_REWARD ADD_ACCOUNT_EMAIL_REWARD CLIENT_CLAIM CLIENT ENTITLEMENTS AMAZON SIMULMEDIA LUNA
client_order_ref_id

Arbitrary UUID clients can use to track Orders between request to response.

string format: uuid
portal_id

Portal of the Portal User the Player Order belongs to.

integer
portal_user_id

Portal User Id for the Player this Player Order belongs to.

string
instance_id

Instance Id for the Instance who submits the Player Order.

string
match_id

Match Id for the Match that generated the Player Order.

string
is_transaction

If an order is a transaction, any failed entries will roll back changes from all other entries.

boolean
order_id

Unique Identifier for the Order.

string
entries
required

List of Player Order Entries for the Player Order.

Array<object>

Request to create a Player Order Entry.

object
type
required

The type of entry.

string
Allowed values: fill_loot purchase_loot purchase_dynamic_bundle promotion_code fill_loot_single_transient fill_entitled_loot create_new_persistent_inventory update_existing_persistent_inventory create_new_transient_inventory update_existing_transient_inventory update_inventory
loot_id

Unique Identifier for the Loot

integer
quantity
required

Quantity of Inventory

integer
vendor_version

Legacy version for the vendor owning the loot_id. Use vendor_etag instead.

integer format: int64
vendor_etag

Etag for the vendor owning the loot_id. Will fail the fulfillment if they do not match

string
dynamic_bundle_loot_ids

List of Loot IDs for the dynamic bundle.

Array<integer>
purchase_price

The purchase price of the Loot.

object
price_item_id
required

The Item used as the currency for the purchase.

integer
price
required

The price of the Item.

integer
price_coupon_item_id

The Item used as the coupon for the purchase.

integer
external_tran_id

External Transaction Id for source of the acquisition or a promotion code to claim. Required for [PROMOTION_CODE] types

string
external_item_sku

External item SKU for the Order Entry.

string
use_inventory_bucket

Inventory Bucket to use for the Order Entry.

string
Allowed values: free sweat none anon amazon steam psn xbox_live google twitch nintendo_switch apple nintendo epic google_play nintendo_ppid
player_portal_event_id

Player Portal Event Id for the Order Entry.

integer format: int64
inventory_id

Unique Identifier for the Inventory

string format: uuid
legacy_inventory_id

Legacy Inventory Id. This is only used when type equals [UPDATE_EXISTING_PERSISTENT_INVENTORY, UPDATE_EXISTING_TRANSIENT_INVENTORY]

integer format: int64
item_id

Item Id used create or update Inventory directly. This is only used when type equals [CREATE_NEW_PERSISTENT_INVENTORY, CREATE_NEW_TRANSIENT_INVENTORY]

integer
expires

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
custom_data

Custom Data Attributes for the Inventory. This is only used when type equals [CREATE_NEW_PERSISTENT_INVENTORY, UPDATE_EXISTING_PERSISTENT_INVENTORY, CREATE_NEW_TRANSIENT_INVENTORY, UPDATE_EXISTING_TRANSIENT_INVENTORY, UPDATE_INVENTORY]

object
key
additional properties
string
entry_id

Unique Identifier for the Order Entry.

string

202

Accepted

Create a new Player Order.

Note: use_inventory_bucket will be ignored on the PlayerOrderEntryCreate if the source equals CLIENT.

object
source

The source of the Player Order.

string
Allowed values: UNKNOWN WEB_ORDER_REPAIR IN_GAME WEB_SITE NO_SALE SUPPORT ACTIVITY REFUND SYSTEM REWARDS ESPORTS TREASURE CONSOLE ODYSSEY STEAM RETURN JSON_GATE SEND_GIFT RECEIVE_GIFT STEAM_DLC TWITCH_MILESTONE TWITCH_PRIME PSN XBOX PTS_GRANT INSTANCE ACCOUNT_TRANSFER PROMOCODE TRIUMPH_SYSTEM LOGIN_GRANT EOM_UNCAPPED EOM_CAPPED FACEBOOK_DROP DATABASE_SCRIPT ACCOUNT_LINKING CLAN CONVERSION APPLE GOOGLE GOOGLE_PLAY PORTAL_DURABLE PARTNER_ACHIEVEMENT MIXER_DROP NINTENDO STREAM_VIEWING_PROGRESS DISCORD FIRST_LOGIN_GRANT TWITCH_FUEL DISCORD_DLC NETEASE EPIC_GAMES FORTE FACEBOOK HIREZ DAILY_REWARD ADD_ACCOUNT_EMAIL_REWARD CLIENT_CLAIM CLIENT ENTITLEMENTS AMAZON SIMULMEDIA LUNA
client_order_ref_id

Arbitrary UUID clients can use to track Orders between request to response.

string format: uuid
portal_id

Portal of the Portal User the Player Order belongs to.

integer
portal_user_id

Portal User Id for the Player this Player Order belongs to.

string
instance_id

Instance Id for the Instance who submits the Player Order.

string
match_id

Match Id for the Match that generated the Player Order.

string
is_transaction

If an order is a transaction, any failed entries will roll back changes from all other entries.

boolean
order_id

Unique Identifier for the Order.

string
entries
required

List of Player Order Entries for the Player Order.

Array<object>

Request to create a Player Order Entry.

object
type
required

The type of entry.

string
Allowed values: fill_loot purchase_loot purchase_dynamic_bundle promotion_code fill_loot_single_transient fill_entitled_loot create_new_persistent_inventory update_existing_persistent_inventory create_new_transient_inventory update_existing_transient_inventory update_inventory
loot_id

Unique Identifier for the Loot

integer
quantity
required

Quantity of Inventory

integer
vendor_version

Legacy version for the vendor owning the loot_id. Use vendor_etag instead.

integer format: int64
vendor_etag

Etag for the vendor owning the loot_id. Will fail the fulfillment if they do not match

string
dynamic_bundle_loot_ids

List of Loot IDs for the dynamic bundle.

Array<integer>
purchase_price

The purchase price of the Loot.

object
price_item_id
required

The Item used as the currency for the purchase.

integer
price
required

The price of the Item.

integer
price_coupon_item_id

The Item used as the coupon for the purchase.

integer
external_tran_id

External Transaction Id for source of the acquisition or a promotion code to claim. Required for [PROMOTION_CODE] types

string
external_item_sku

External item SKU for the Order Entry.

string
use_inventory_bucket

Inventory Bucket to use for the Order Entry.

string
Allowed values: free sweat none anon amazon steam psn xbox_live google twitch nintendo_switch apple nintendo epic google_play nintendo_ppid
player_portal_event_id

Player Portal Event Id for the Order Entry.

integer format: int64
inventory_id

Unique Identifier for the Inventory

string format: uuid
legacy_inventory_id

Legacy Inventory Id. This is only used when type equals [UPDATE_EXISTING_PERSISTENT_INVENTORY, UPDATE_EXISTING_TRANSIENT_INVENTORY]

integer format: int64
item_id

Item Id used create or update Inventory directly. This is only used when type equals [CREATE_NEW_PERSISTENT_INVENTORY, CREATE_NEW_TRANSIENT_INVENTORY]

integer
expires

Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone

string format: date-time
custom_data

Custom Data Attributes for the Inventory. This is only used when type equals [CREATE_NEW_PERSISTENT_INVENTORY, UPDATE_EXISTING_PERSISTENT_INVENTORY, CREATE_NEW_TRANSIENT_INVENTORY, UPDATE_EXISTING_TRANSIENT_INVENTORY, UPDATE_INVENTORY]

object
key
additional properties
string
entry_id

Unique Identifier for the Order Entry.

string

403

Forbidden

object
auth_success
boolean
default: true
error_code
required
string
desc
required
string

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string