In the Steamworks partner dashboard, navigate to your app's Steam Inventory Service section and open the item definitions editor.
Create item definitions in JSON format, specifying required fields: itemdefid (unique integer), type (item or bundle), name, description, and display_type.
For bundle items, set the bundle field to a semicolon-delimited list of child itemdefids and quantities to define what the bundle contains.
Set price fields (price or price_category) if items are directly purchasable via Steam, or leave blank for items granted only through game logic.
Upload the item definitions JSON via the editor and click Publish; changes are not live until explicitly published, allowing staged edits.
Use the ISteamInventory API in-game to call GetAllItems or GetItemsByID to display player inventory, and trigger item grants with server-side calls to the Inventory Service web API using your publisher key.
Known gotchas
itemdefid values are permanent; once a definition is published and used, the ID cannot be reassigned to a different item type without breaking player inventories.
Item definition updates (like name or description changes) require re-publishing; cached clients may show stale data until they refresh their item definitions.
The Inventory Service web API for granting items requires a publisher web API key, which must be kept server-side and never exposed to clients.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp