Skip to content

Inventory v1

Reference for the Inventory v1 endpoints on Roblox.

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

MethodPathName
POST/v1/collections/items/:itemType/:itemTargetIdpostCollectionsItemsItemtypeItemtargetid
DELETE/v1/collections/items/:itemType/:itemTargetIddeleteCollectionsItemsItemtypeItemtargetid
GET/v1/packages/:packageId/assetsgetPackagesPackageidAssets
GET/v1/users/:userId/assets/collectiblesgetUsersUseridAssetsCollectibles
GET/v1/users/:userId/can-view-inventorygetUsersUseridCanViewInventory
GET/v1/users/:userId/categoriesgetUsersUseridCategories
GET/v1/users/:userId/categories/favoritesgetUsersUseridCategoriesFavorites
GET/v1/users/:userId/items/:itemType/:itemTargetIdgetUsersUseridItemsItemtypeItemtargetid
GET/v1/users/:userId/items/:itemType/:itemTargetId/is-ownedgetUsersUseridItemsItemtypeItemtargetidIsOwned
GET/v1/users/:userId/places/inventorygetUsersUseridPlacesInventory

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

Adds an item to the appropriate collection

Usage
import { fetchApi } from 'rozod';
import { postCollectionsItemsItemtypeItemtargetid } from 'rozod/lib/endpoints/inventoryv1';
const data = await fetchApi(postCollectionsItemsItemtypeItemtargetid, {
itemType: /* unknown */,
itemTargetId: /* integer */
});
NameTypeRequiredDescription
itemTypeunknownYesType of the item (i.e. Asset, Bundle)
itemTargetIdintegerYesID of the item

Type: unknown

StatusDescription
4001: The item type does not exist.
2: The asset does not exist.
3: The bundle does not exist.
4010: Authorization has been denied for this request.
4030: 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/lib/endpoints/inventoryv1';
const data = await fetchApi(deleteCollectionsItemsItemtypeItemtargetid, {
itemType: /* unknown */,
itemTargetId: /* integer */
});
NameTypeRequiredDescription
itemTypeunknownYesType of the item (i.e. Asset, Bundle)
itemTargetIdintegerYesID of the item

Type: unknown

StatusDescription
4001: The item type does not exist.
2: The asset does not exist.
3: The bundle does not exist.
4010: Authorization has been denied for this request.
4030: 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/lib/endpoints/inventoryv1';
const data = await fetchApi(getPackagesPackageidAssets, {
packageID: /* integer */
});
NameTypeRequiredDescription
packageIDintegerYesThe asset ID of the package
FieldTypeDescription
assetIdsnumber[]

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

Gets all collectible assets owned by the specified user.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridAssetsCollectibles } from 'rozod/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridAssetsCollectibles, {
userId: /* integer */,
cursor: /* string? */,
sortOrder: /* enum */
});
NameTypeRequiredDescription
userIdintegerYesThe userid of the owner of the collectibles.
cursorstring?NoThe paging cursor for the previous or next page.
sortOrderenumYesSorted by userAssetId
FieldTypeDescription
previousPageCursorstring
nextPageCursorstring
dataobject[]See below

data[] item fields:

FieldTypeDescription
userAssetIdnumber
serialNumbernumber
assetIdnumber
namestring
recentAveragePricenumber
originalPricenumber
assetStocknumber
buildersClubMembershipType`“None""BC"
isOnHoldboolean
StatusDescription
400The specified asset type(s) are invalid.
403The 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/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridCanViewInventory, {
userId: /* integer */
});
NameTypeRequiredDescription
userIdintegerYesThe user identifier.
FieldTypeDescription
canViewboolean
StatusDescription
4001: 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/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridCategories, {
userId: /* integer */
});
NameTypeRequiredDescription
userIdintegerYes
FieldTypeDescription
categoriesobject[]See below

categories[] item fields:

FieldTypeDescription
namestring
displayNamestring
categoryTypestring
itemsobject[]See below

items[] item fields:

FieldTypeDescription
namestring
displayNamestring
filterstring
idnumber
type`“AssetType""Bundle"
categoryTypestring

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

Return favorites categories for a user

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridCategoriesFavorites } from 'rozod/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridCategoriesFavorites, {
userId: /* integer */
});
NameTypeRequiredDescription
userIdintegerYes
FieldTypeDescription
categoriesobject[]See below

categories[] item fields:

FieldTypeDescription
namestring
displayNamestring
categoryTypestring
itemsobject[]See below

items[] item fields:

FieldTypeDescription
namestring
displayNamestring
filterstring
idnumber
type`“AssetType""Bundle"
categoryTypestring

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/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridItemsItemtypeItemtargetid, {
userId: /* integer */,
itemType: /* unknown */,
itemTargetId: /* integer */
});
NameTypeRequiredDescription
userIdintegerYesID of the user in question
itemTypeunknownYesType of the item in question (i.e. Asset, GamePass, Badge, Bundle)
itemTargetIdintegerYesID of the item in question
FieldTypeDescription
previousPageCursorstring
nextPageCursorstring
dataobject[]See below

data[] item fields:

FieldTypeDescription
idnumber
namestring
type`“Asset""GamePass"
instanceIdnumber
StatusDescription
4001: 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/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridItemsItemtypeItemtargetidIsOwned, {
userId: /* integer */,
itemType: /* unknown */,
itemTargetId: /* integer */
});
NameTypeRequiredDescription
userIdintegerYesID of the user in question
itemTypeunknownYesType of the item in question (i.e. Asset, GamePass, Badge, Bundle)
itemTargetIdintegerYesID of the item in question

Type: boolean

StatusDescription
4001: 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/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridPlacesInventory, {
userId: /* integer */,
placesTab: /* unknown */,
itemsPerPage: /* integer */,
cursor: /* integer */
});
NameTypeRequiredDescription
userIdintegerYes
placesTabunknownYes
itemsPerPageintegerYes
cursorintegerYes
FieldTypeDescription
previousPageCursorstring
nextPageCursorstring
dataobject[]See below

data[] item fields:

FieldTypeDescription
universeIdnumber
placeIdnumber
namestring
creatorobjectSee below
priceInRobuxnumber

creator fields:

FieldTypeDescription
idnumber
namestring
type`“User""Group”`
StatusDescription
4006: Invalid request
4033: Insufficient permission.