Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.
Roblox.Catalog.Api.CatalogSearchDetailedResponseItem — openapi
Game-engine version of fully hydrated asset or bundle in catalog marketplace. Documented here: https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#SearchCatalog.
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| id | integer | false | The Item Id. |
| itemType | integer | false | The Roblox.Catalog.Api.CatalogSearchDetailedResponseItem.ItemType item type. ['Asset' = 1, 'Bundle' = 2] |
| assetType | integer | false | The Roblox.Platform.Assets.AssetType serialized if item is an asset. |
| bundleType | integer | false | The Roblox.Platform.Bundles.Core.BundleType serialized if item is a bundle. |
| isRecolorable | boolean | false | Gets or sets the property whether a bundle is recolorable or not. Not serialized for asset. |
| name | string | false | The item name. |
| description | string | false | The item description. |
| productId | integer | false | The product id of corresponding item. |
| bundledItems | array | false | The System.Collections.Generic.IEnumerable`1 contained in the bundle, serialized if item is a bundle. |
| itemStatus | array | false | The System.Collections.Generic.IEnumerable`1 if item has Roblox.Catalog.Api.CatalogItemStatus. |
| itemRestrictions | array | false | The System.Collections.Generic.IEnumerable`1 if item has Roblox.Catalog.Api.CatalogItemRestriction. |
| creatorHasVerifiedBadge | boolean | false | The verified status of a creator. |
| creatorType | integer | false | The Roblox.Catalog.Api.CatalogSearchDetailedResponseItem.CreatorType of the item's creator. |
| creatorTargetId | integer | false | The creator id of the item's creator. |
| creatorName | string | false | The creator name of the item's creator. |
| price | integer | false | The item's price. |
| lowestPrice | integer | false | The item's lowest price, only if the item is resellable and there are resellers. |
| lowestResalePrice | integer | false | The item's lowest resale price, only if the item is resellable and there are resellers, including current user. |
| priceStatus | string | false | The localized string item status if the item's price should not be displayed. |
| unitsAvailableForConsumption | integer | false | The number of items in stock, only if the item is resellable and is limitedEdition. |
| favoriteCount | integer | false | The number of times the item has been favorited. |
| offSaleDeadline | string | false | When the item will go off sale, if the item has an off deadline. |
| collectibleItemId | string | false | The item's collectible item id. It is an UUID if a item is collectible type. Otherwise, it is null. |
| totalQuantity | integer | false | The collectible or limited-unique item's total quantity of unique instances. |
| saleLocationType | integer | false | The sale location type of the item. ['NotApplicable' = 0, 'ShopOnly' = 1, 'MyExperiencesOnly' = 2, 'ShopAndMyExperiences' = 3, 'ExperiencesById' = 4, 'ShopAndAllExperiences' = 5, 'ExperiencesDevApiOnly' = 6, 'ShopAndExperiencesById' = 7] |
| hasResellers | boolean | false | An indicator if the item has resellers or not (null if not resellable). |
| isOffSale | boolean | false | An indicator if the item is off sale or not. |
| quantityLimitPerUser | integer | false | Quantity limit for how many instances a user can buy. |
| supportsHeadShapes | boolean | false | Whether the item supports head shapes. |
| timedOptions | array | false | The timed options for the item. |
Related Schemas
Complete Schema
{
"description": "Game-engine version of fully hydrated asset or bundle in catalog marketplace.\nDocumented here: https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#SearchCatalog.",
"type": "object",
"properties": {
"id": {
"format": "int64",
"description": "The Item Id.",
"type": "integer"
},
"itemType": {
"format": "int32",
"description": "The Roblox.Catalog.Api.CatalogSearchDetailedResponseItem.ItemType item type. ['Asset' = 1, 'Bundle' = 2]",
"enum": [
1,
2
],
"type": "integer"
},
"assetType": {
"format": "int32",
"description": "The Roblox.Platform.Assets.AssetType serialized if item is an asset.",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
16,
17,
18,
19,
21,
22,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96
],
"type": "integer"
},
"bundleType": {
"format": "int32",
"description": "The Roblox.Platform.Bundles.Core.BundleType serialized if item is a bundle.",
"enum": [
1,
2,
3,
4
],
"type": "integer"
},
"isRecolorable": {
"description": "Gets or sets the property whether a bundle is recolorable or not. Not serialized for asset.",
"type": "boolean"
},
"name": {
"description": "The item name.",
"type": "string"
},
"description": {
"description": "The item description.",
"type": "string"
},
"productId": {
"format": "int64",
"description": "The product id of corresponding item.",
"type": "integer"
},
"bundledItems": {
"description": "The System.Collections.Generic.IEnumerable`1 contained in the bundle, serialized if item is a bundle.",
"type": "array",
"items": {
"$ref": "#/components/schemas/Roblox.Catalog.Api.BundleItemDetailModel"
}
},
"itemStatus": {
"description": "The System.Collections.Generic.IEnumerable`1 if item has Roblox.Catalog.Api.CatalogItemStatus.",
"type": "array",
"items": {
"format": "int32",
"description": "Catalog item status enum. ['New' = 1, 'Sale' = 2, 'SaleTimer' = 7, 'IsFAE' = 8]",
"enum": [
1,
2,
7,
8
],
"type": "integer"
}
},
"itemRestrictions": {
"description": "The System.Collections.Generic.IEnumerable`1 if item has Roblox.Catalog.Api.CatalogItemRestriction.",
"type": "array",
"items": {
"format": "int32",
"description": "Catalog item restriction enum. ['ThirteenPlus' = 1, 'LimitedUnique' = 2, 'Limited' = 3, 'BuildersClub' = 4, 'TurboBuildersClub' = 5, 'OutrageousBuildersClub' = 6, 'Rthro' = 7, 'Live' = 8, 'Collectible' = 9]",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"type": "integer"
}
},
"creatorHasVerifiedBadge": {
"description": "The verified status of a creator.",
"type": "boolean"
},
"creatorType": {
"format": "int32",
"description": "The Roblox.Catalog.Api.CatalogSearchDetailedResponseItem.CreatorType of the item's creator.",
"enum": [
0,
1,
2
],
"type": "integer"
},
"creatorTargetId": {
"format": "int64",
"description": "The creator id of the item's creator.",
"type": "integer"
},
"creatorName": {
"description": "The creator name of the item's creator.",
"type": "string"
},
"price": {
"format": "int64",
"description": "The item's price.",
"type": "integer"
},
"lowestPrice": {
"format": "int64",
"description": "The item's lowest price, only if the item is resellable and there are resellers.",
"type": "integer"
},
"lowestResalePrice": {
"format": "int64",
"description": "The item's lowest resale price, only if the item is resellable and there are resellers, including current user.",
"type": "integer"
},
"priceStatus": {
"description": "The localized string item status if the item's price should not be displayed.",
"type": "string"
},
"unitsAvailableForConsumption": {
"format": "int64",
"description": "The number of items in stock, only if the item is resellable and is limitedEdition.",
"type": "integer"
},
"favoriteCount": {
"format": "int64",
"description": "The number of times the item has been favorited.",
"type": "integer"
},
"offSaleDeadline": {
"format": "date-time",
"description": "When the item will go off sale, if the item has an off deadline.",
"type": "string"
},
"collectibleItemId": {
"description": "The item's collectible item id.\nIt is an UUID if a item is collectible type. Otherwise, it is null.",
"type": "string"
},
"totalQuantity": {
"format": "int64",
"description": "The collectible or limited-unique item's total quantity of unique instances.",
"type": "integer"
},
"saleLocationType": {
"format": "int32",
"description": "The sale location type of the item. ['NotApplicable' = 0, 'ShopOnly' = 1, 'MyExperiencesOnly' = 2, 'ShopAndMyExperiences' = 3, 'ExperiencesById' = 4, 'ShopAndAllExperiences' = 5, 'ExperiencesDevApiOnly' = 6, 'ShopAndExperiencesById' = 7]",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"hasResellers": {
"description": "An indicator if the item has resellers or not (null if not resellable).",
"type": "boolean"
},
"isOffSale": {
"description": "An indicator if the item is off sale or not.",
"type": "boolean"
},
"quantityLimitPerUser": {
"format": "int32",
"description": "Quantity limit for how many instances a user can buy.",
"type": "integer"
},
"supportsHeadShapes": {
"description": "Whether the item supports head shapes.",
"type": "boolean"
},
"timedOptions": {
"description": "The timed options for the item.",
"type": "array",
"items": {
"$ref": "#/components/schemas/Roblox.Catalog.Api.TimedOption"
}
}
},
"additionalProperties": false
}