Skip to content

Inventory v1

Reference for the Inventory v1 endpoints on Roblox.

Base URL: https://inventory.roblox.com

Method Path Name
POST /v1/collections/items/:itemType/:itemTargetId postCollectionsItemsItemtypeItemtargetid
DELETE /v1/collections/items/:itemType/:itemTargetId deleteCollectionsItemsItemtypeItemtargetid
GET /v1/packages/:packageId/assets getPackagesPackageidAssets
GET /v1/users/:userId/assets/collectibles getUsersUseridAssetsCollectibles
GET /v1/users/:userId/can-view-inventory getUsersUseridCanViewInventory
GET /v1/users/:userId/categories getUsersUseridCategories
GET /v1/users/:userId/categories/favorites getUsersUseridCategoriesFavorites
GET /v1/users/:userId/items/:itemType/:itemTargetId getUsersUseridItemsItemtypeItemtargetid
GET /v1/users/:userId/items/:itemType/:itemTargetId/is-owned getUsersUseridItemsItemtypeItemtargetidIsOwned
GET /v1/users/:userId/places/inventory getUsersUseridPlacesInventory

POST /v1/collections/items/:itemType/:itemTargetId

Adds an item to the appropriate collection

Usage
import { fetchApi } from 'rozod';
import { postCollectionsItemsItemtypeItemtargetid } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(postCollectionsItemsItemtypeItemtargetid, {
itemType: /* unknown */,
itemTargetId: /* integer */
});
Name Type Required Description
itemType unknown Yes Type of the item (i.e. Asset, Bundle)
itemTargetId integer Yes ID of the item

Type: unknown

Status Description
400 1: The item type does not exist.
2: The asset does not exist.
3: The bundle does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
4: You don't own the specified item.
5: Assets of this type are not allowed in collections.
6: Items of this type are not allowed in collections.
7: The item is already in the collection.
9: The collection is full.

deleteCollectionsItemsItemtypeItemtargetid

Section titled “deleteCollectionsItemsItemtypeItemtargetid”

DELETE /v1/collections/items/:itemType/:itemTargetId

Removes an item to the appropriate collection

Usage
import { fetchApi } from 'rozod';
import { deleteCollectionsItemsItemtypeItemtargetid } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(deleteCollectionsItemsItemtypeItemtargetid, {
itemType: /* unknown */,
itemTargetId: /* integer */
});
Name Type Required Description
itemType unknown Yes Type of the item (i.e. Asset, Bundle)
itemTargetId integer Yes ID of the item

Type: unknown

Status Description
400 1: The item type does not exist.
2: The asset does not exist.
3: The bundle does not exist.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
8: The item is not in the collection.

GET /v1/packages/:packageId/assets

Given a package ID, returns the list of asset IDs for that package

Usage
import { fetchApi } from 'rozod';
import { getPackagesPackageidAssets } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getPackagesPackageidAssets, {
packageID: /* integer */
});
Name Type Required Description
packageID integer Yes The asset ID of the package
Field Type Description
assetIds number[]

GET /v1/users/:userId/assets/collectibles

Gets all collectible assets owned by the specified user.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridAssetsCollectibles } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridAssetsCollectibles, {
userId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
Name Type Required Description
userId integer Yes The userid of the owner of the collectibles.
cursor string? No The paging cursor for the previous or next page.
sortOrder enum Yes Sorted by userAssetId
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
userAssetId number
serialNumber number
assetId number
name string
recentAveragePrice number
originalPrice number
assetStock number
buildersClubMembershipType `“None” “BC”
isOnHold boolean
Status Description
400 The specified asset type(s) are invalid.
403 The specified user's inventory is hidden.

GET /v1/users/:userId/can-view-inventory

Gets whether the specified user’s inventory can be viewed.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridCanViewInventory } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridCanViewInventory, {
userId: /* integer */
});
Name Type Required Description
userId integer Yes The user identifier.
Field Type Description
canView boolean
Status Description
400 1: The specified user does not exist!

GET /v1/users/:userId/categories

Return inventory categories for a user

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridCategories } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridCategories, {
userId: /* integer */
});
Name Type Required Description
userId integer Yes
Field Type Description
categories object[] See below

categories[] item fields:

Field Type Description
name string
displayName string
categoryType string
items object[] See below

items[] item fields:

Field Type Description
name string
displayName string
filter string
id number
type `“AssetType” “Bundle”
categoryType string

GET /v1/users/:userId/categories/favorites

Return favorites categories for a user

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridCategoriesFavorites } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridCategoriesFavorites, {
userId: /* integer */
});
Name Type Required Description
userId integer Yes
Field Type Description
categories object[] See below

categories[] item fields:

Field Type Description
name string
displayName string
categoryType string
items object[] See below

items[] item fields:

Field Type Description
name string
displayName string
filter string
id number
type `“AssetType” “Bundle”
categoryType string

GET /v1/users/:userId/items/:itemType/:itemTargetId

Gets owned items of the specified item type. Game Servers can make requests for any user, but can only make requests for game passes that belong to the place sending the request.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridItemsItemtypeItemtargetid } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridItemsItemtypeItemtargetid, {
userId: /* integer */,
itemType: /* unknown */,
itemTargetId: /* integer */
});
Name Type Required Description
userId integer Yes ID of the user in question
itemType unknown Yes Type of the item in question (i.e. Asset, GamePass, Badge, Bundle)
itemTargetId integer Yes ID of the item in question
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
id number
name string
type `“Asset” “GamePass”
instanceId number
Status Description
400 1: The specified user does not exist!
5: The specified game pass does not exist! Are you using the new game pass ID?
6: The specified item type does not exist.
7: The specified Asset does not exist!
10: The specified asset is not a badge!
12: The specified bundle does not exist!

getUsersUseridItemsItemtypeItemtargetidIsOwned

Section titled “getUsersUseridItemsItemtypeItemtargetidIsOwned”

GET /v1/users/:userId/items/:itemType/:itemTargetId/is-owned

Gets whether a user owns an item of type itemType with id itemTargetId.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridItemsItemtypeItemtargetidIsOwned } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridItemsItemtypeItemtargetidIsOwned, {
userId: /* integer */,
itemType: /* unknown */,
itemTargetId: /* integer */
});
Name Type Required Description
userId integer Yes ID of the user in question
itemType unknown Yes Type of the item in question (i.e. Asset, GamePass, Badge, Bundle)
itemTargetId integer Yes ID of the item in question

Type: boolean

Status Description
400 1: The specified user does not exist!
5: The specified game pass does not exist! Are you using the new game pass ID?
6: The specified item type does not exist.
7: The specified Asset does not exist!
10: The specified asset is not a badge!
12: The specified bundle does not exist!

GET /v1/users/:userId/places/inventory

Gets Created, MyGames, or OtherGames places inventory for a user

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridPlacesInventory } from 'rozod/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridPlacesInventory, {
userId: /* integer */,
placesTab: /* unknown */,
itemsPerPage: /* integer */,
cursor: /* integer */
});
Name Type Required Description
userId integer Yes
placesTab unknown Yes
itemsPerPage integer Yes
cursor integer Yes
Field Type Description
previousPageCursor string
nextPageCursor string
data object[] See below

data[] item fields:

Field Type Description
universeId number
placeId number
name string
creator object See below
priceInRobux number

creator fields:

Field Type Description
id number
name string
type `“User” “Group”
Status Description
400 6: Invalid request
403 3: Insufficient permission.