---
title: "Returns details about the given bundleId."
method: GET
path: "/v1/bundles/{bundleId}/details"
tags: ["Assets", "Avatars"]
---

# Returns details about the given bundleId.

`GET /v1/bundles/{bundleId}/details`

## Path parameters

- `bundleId` integer, required

## Response `200`

OK

- RobloxCatalogApiBundleDetailsModel — The hydration model representing a bundle on marketplace. Returned in all bundles controller endpoints. Bound in the game-engine MarketplaceService.GetProductInfo method. https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetProductInfo.
  - `id` integer
  - `name` string
  - `description` string
  - `bundleType` string
  - `isRecolorable` boolean
  - `items` RobloxCatalogApiBundleItemDetailModel[]
    - `owned` boolean
    - `id` integer
    - `name` string
    - `type` string
    - `supportsHeadShapes` boolean — Whether the bundle item supports head shapes.
    - `assetType` integer — The asset type of the bundle item, if it's an asset.
  - `creator` RobloxCatalogApiBundleCreatorModel
    - `id` integer
    - `name` string
    - `type` string
    - `hasVerifiedBadge` boolean
  - `product` RobloxCatalogApiBundleProductModel
    - `id` integer
    - `type` string
    - `isPublicDomain` boolean
    - `isForSale` boolean
    - `priceInRobux` integer
    - `isFree` boolean
    - `noPriceText` string
    - `premiumPricing` RobloxCatalogApiPremiumPricingModel — Defines the Premium pricing for a catalog item.
      - `premiumDiscountPercentage` integer — The Premium discount percentage for a catalog item.
      - `premiumPriceInRobux` integer — The Premium price for a catalog item.
  - `itemRestrictions` integer[]
  - `collectibleItemDetail` RobloxCatalogApiCollectibleItemDetail
    - `collectibleItemId` string
    - `collectibleProductId` string
    - `price` integer
    - `lowestPrice` integer
    - `lowestResalePrice` integer
    - `totalQuantity` integer
    - `unitsAvailable` integer
    - `saleLocation` RobloxCatalogApiSaleLocation — SaleLocation information for a collectible item (asset or bundle).
      - `saleLocationType` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 — Sale location type related for an item detail. ['NotApplicable' = 0, 'ShopOnly' = 1, 'MyExperiencesOnly' = 2, 'ShopAndMyExperiences' = 3, 'ExperiencesById' = 4, 'ShopAndAllExperiences' = 5, 'ExperiencesDevApiOnly' = 6, 'ShopAndExperiencesById' = 7]
      - `saleLocationTypeId` integer
      - `universeIds` integer[]
      - `enabledUniverseIds` integer[]
    - `hasResellers` boolean
    - `saleStatus` 0 | 1 | 2 | 3 | 4 — ['Invalid' = 0, 'Draft' = 1, 'OffSale' = 2, 'OnSale' = 3, 'PendingSale' = 4]
    - `quantityLimitPerUser` integer
    - `offSaleDeadline` string, date-time
    - `collectibleItemType` 0 | 1 | 2 — The type of collectible item, limited or non-limited for now. ['Invalid' = 0, 'Limited' = 1, 'NonLimited' = 2]
    - `lowestAvailableResaleProductId` string
    - `lowestAvailableResaleItemInstanceId` string
    - `resaleRestriction` 0 | 1 | 2 — ['Invalid' = 0, 'None' = 1, 'Disabled' = 2]
  - `discountInformation` RobloxCatalogApiDiscountInformation
    - `originalPrice` integer
    - `totalDiscountPercentage` number, float
    - `totalDiscountAmount` integer
    - `discounts` RobloxCatalogApiDiscount[]
      - `robuxDiscountAmount` integer
      - `robuxDiscountPercentage` number, float
      - `discountCampaign` string
      - `localizedDiscountAttribution` string

## Other responses

- `400` — 1: Invalid bundle

---

[API](https://skmtc.net/roblox/apis/roblox-api.md) · [All operations](https://skmtc.net/roblox/apis/roblox-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/roblox/roblox-api/revisions/1d2042bb1a48/schema)
