Inventory v1
Reference for the Inventory v1 endpoints on Roblox.
Base URL: https://inventory.roblox.com
Endpoints
Section titled “Endpoints”| 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 |
postCollectionsItemsItemtypeItemtargetid
Section titled “postCollectionsItemsItemtypeItemtargetid”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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
itemType | unknown | Yes | Type of the item (i.e. Asset, Bundle) |
itemTargetId | integer | Yes | ID of the item |
Response
Section titled “Response”Type: unknown
Errors
Section titled “Errors”| 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/lib/endpoints/inventoryv1';
const data = await fetchApi(deleteCollectionsItemsItemtypeItemtargetid, { itemType: /* unknown */, itemTargetId: /* integer */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
itemType | unknown | Yes | Type of the item (i.e. Asset, Bundle) |
itemTargetId | integer | Yes | ID of the item |
Response
Section titled “Response”Type: unknown
Errors
Section titled “Errors”| 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. |
getPackagesPackageidAssets
Section titled “getPackagesPackageidAssets”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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
packageID | integer | Yes | The asset ID of the package |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
assetIds | number[] |
getUsersUseridAssetsCollectibles
Section titled “getUsersUseridAssetsCollectibles”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 */});Parameters
Section titled “Parameters”| 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 |
Response
Section titled “Response”| 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 |
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 400 | The specified asset type(s) are invalid. |
| 403 | The specified user’s inventory is hidden. |
getUsersUseridCanViewInventory
Section titled “getUsersUseridCanViewInventory”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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
userId | integer | Yes | The user identifier. |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
canView | boolean |
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 400 | 1: The specified user does not exist! |
getUsersUseridCategories
Section titled “getUsersUseridCategories”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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
userId | integer | Yes |
Response
Section titled “Response”| 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 |
getUsersUseridCategoriesFavorites
Section titled “getUsersUseridCategoriesFavorites”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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
userId | integer | Yes |
Response
Section titled “Response”| 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 |
getUsersUseridItemsItemtypeItemtargetid
Section titled “getUsersUseridItemsItemtypeItemtargetid”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 */});Parameters
Section titled “Parameters”| 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 |
Response
Section titled “Response”| 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 |
Errors
Section titled “Errors”| 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/lib/endpoints/inventoryv1';
const data = await fetchApi(getUsersUseridItemsItemtypeItemtargetidIsOwned, { userId: /* integer */, itemType: /* unknown */, itemTargetId: /* integer */});Parameters
Section titled “Parameters”| 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 |
Response
Section titled “Response”Type: boolean
Errors
Section titled “Errors”| 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! |
getUsersUseridPlacesInventory
Section titled “getUsersUseridPlacesInventory”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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
userId | integer | Yes | |
placesTab | unknown | Yes | |
itemsPerPage | integer | Yes | |
cursor | integer | Yes |
Response
Section titled “Response”| 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”` |
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 400 | 6: Invalid request |
| 403 | 3: Insufficient permission. |