openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
614 lines (613 loc) • 229 kB
TypeScript
import type { ArrayNonEmptyIfConst, Identifier, ObjectEither, ObjectPrettify } from "typeforge";
import type { SortOrder } from "../../../utils/utils.types";
import type { RawBundle, RawPaginatedBundlesData } from "./catalog.types";
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
export declare const assetIdsToCatalogCategoryIds: import("../../apiGroup/apiGroup.types").CallApiMethod<Record<any, any>, {
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
[Key: number]: Identifier;
[Key: `${number}`]: Identifier;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
[x: number]: Identifier;
[x: `${number}`]: Identifier;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
[x: number]: Identifier;
[x: `${number}`]: Identifier;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: {
[x: number]: Identifier;
[x: `${number}`]: Identifier;
} | undefined;
}, false>;
/**
* Lists asset IDs and their corresponding catalog sub category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogSubCategoryIds()
* @exampleData {"2":55,"3":16,"8":54,"10":6,"11":56,"12":57,"13":8,"17":15,"18":10,"19":5,"38":7,"40":18,"41":20,"42":21,"43":22,"44":23,"45":24,"46":25,"47":26,"48":28,"50":30,"51":31,"52":32,"53":33,"54":34,"55":35,"61":39,"62":41,"64":58,"65":59,"66":60,"67":61,"68":62,"69":63,"70":64,"71":64,"72":65}
* @exampleRawBody {"2":55,"3":16,"8":54,"10":6,"11":56,"12":57,"13":8,"17":15,"18":10,"19":5,"38":7,"40":18,"41":20,"42":21,"43":22,"44":23,"45":24,"46":25,"47":26,"48":28,"50":30,"51":31,"52":32,"53":33,"54":34,"55":35,"61":39,"62":41,"64":58,"65":59,"66":60,"67":61,"68":62,"69":63,"70":64,"71":64,"72":65}
*/
export declare const assetIdsToCatalogSubCategoryIds: import("../../apiGroup/apiGroup.types").CallApiMethod<Record<any, any>, {
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
[Key: number]: Identifier;
[Key: `${number}`]: Identifier;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
[x: number]: Identifier;
[x: `${number}`]: Identifier;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
[x: number]: Identifier;
[x: `${number}`]: Identifier;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: {
[x: number]: Identifier;
[x: `${number}`]: Identifier;
} | undefined;
}, false>;
/**
* Lists catalog categories and their corresponding ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:categories } = await ClassicCatalogApi.catalogCategories()
* @exampleData {"Featured":0,"All":1,"Collectibles":2,"Clothing":3,"BodyParts":4,"Gear":5,"Models":6,"Plugins":7,"Decals":8,"Audio":9,"Meshes":10,"Accessories":11,"AvatarAnimations":12,"CommunityCreations":13,"Video":14,"Recommended":15,"LayeredClothing":16,"Characters":17}
* @exampleRawBody {"Featured":0,"All":1,"Collectibles":2,"Clothing":3,"BodyParts":4,"Gear":5,"Models":6,"Plugins":7,"Decals":8,"Audio":9,"Meshes":10,"Accessories":11,"AvatarAnimations":12,"CommunityCreations":13,"Video":14,"Recommended":15,"LayeredClothing":16,"Characters":17}
*/
export declare const catalogCategories: import("../../apiGroup/apiGroup.types").CallApiMethod<Record<any, any>, {
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
[Key: string]: Identifier;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
[x: string]: Identifier;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
[x: string]: Identifier;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: {
[x: string]: Identifier;
} | undefined;
}, false>;
/**
* Lists catalog sub categories and their corresponding ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:categories } = await ClassicCatalogApi.catalogCategories()
* @exampleData {"Featured":0,"All":1,"Collectibles":2,"Clothing":3,"BodyParts":4,"Gear":5,"Models":6,"Plugins":7,"Decals":8,"Hats":9,"Faces":10,"Packages":11,"Shirts":12,"Tshirts":13,"Pants":14,"Heads":15,"Audio":16,"RobloxCreated":17,"Meshes":18,"Accessories":19,"HairAccessories":20,"FaceAccessories":21,"NeckAccessories":22,"ShoulderAccessories":23,"FrontAccessories":24,"BackAccessories":25,"WaistAccessories":26,"AvatarAnimations":27,"ClimbAnimations":28,"FallAnimations":30,"IdleAnimations":31,"JumpAnimations":32,"RunAnimations":33,"SwimAnimations":34,"WalkAnimations":35,"AnimationPackage":36,"BodyPartsBundles":37,"AnimationBundles":38,"EmoteAnimations":39,"CommunityCreations":40,"Video":41,"Recommended":51,"LayeredClothing":52,"AllBundles":53,"HeadAccessories":54,"ClassicTShirts":55,"ClassicShirts":56,"ClassicPants":57,"TShirtAccessories":58,"ShirtAccessories":59,"PantsAccessories":60,"JacketAccessories":61,"SweaterAccessories":62,"ShortsAccessories":63,"ShoesBundles":64,"DressSkirtAccessories":65,"DynamicHeads":66}
* @exampleRawBody {"Featured":0,"All":1,"Collectibles":2,"Clothing":3,"BodyParts":4,"Gear":5,"Models":6,"Plugins":7,"Decals":8,"Hats":9,"Faces":10,"Packages":11,"Shirts":12,"Tshirts":13,"Pants":14,"Heads":15,"Audio":16,"RobloxCreated":17,"Meshes":18,"Accessories":19,"HairAccessories":20,"FaceAccessories":21,"NeckAccessories":22,"ShoulderAccessories":23,"FrontAccessories":24,"BackAccessories":25,"WaistAccessories":26,"AvatarAnimations":27,"ClimbAnimations":28,"FallAnimations":30,"IdleAnimations":31,"JumpAnimations":32,"RunAnimations":33,"SwimAnimations":34,"WalkAnimations":35,"AnimationPackage":36,"BodyPartsBundles":37,"AnimationBundles":38,"EmoteAnimations":39,"CommunityCreations":40,"Video":41,"Recommended":51,"LayeredClothing":52,"AllBundles":53,"HeadAccessories":54,"ClassicTShirts":55,"ClassicShirts":56,"ClassicPants":57,"TShirtAccessories":58,"ShirtAccessories":59,"PantsAccessories":60,"JacketAccessories":61,"SweaterAccessories":62,"ShortsAccessories":63,"ShoesBundles":64,"DressSkirtAccessories":65,"DynamicHeads":66}
*/
export declare const catalogSubCategories: import("../../apiGroup/apiGroup.types").CallApiMethod<Record<any, any>, {
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
[Key: string]: Identifier;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
[x: string]: Identifier;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
[x: string]: Identifier;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: {
[x: string]: Identifier;
} | undefined;
}, false>;
/**
* Lists bundles a particular asset belongs to.
* @endpoint GET /v1/assets/{assetId}/bundles
*
* @param assetId The ID of the asset to get bundles for.
* @param limit The number of results to be returned per request.
* @param sortOrder The order that the results are sorted in.
* @param cursor The paging cursor for the previous or next page.
*
* @example const { data:bundles } = await ClassicCatalogApi.bundlesAssetIsIn({ assetId: 2608539495 })
* @exampleData [{"id":429,"name":"Magma Fiend","description":"He's got hot blood, with a temperature of nine hundred and three.","bundleType":"BodyParts","items":[{"id":2608534881,"name":"Magma Fiend - Left Arm","type":"Asset"},{"id":2608536258,"name":"Magma Fiend - Left Leg","type":"Asset"},{"id":2608537440,"name":"Magma Fiend - Right Arm","type":"Asset"},{"id":2608538559,"name":"Magma Fiend - Right Leg","type":"Asset"},{"id":2608539495,"name":"Magma Fiend - Torso","type":"Asset"},{"id":2510230574,"name":"Rthro Climb","type":"Asset"},{"id":2510233257,"name":"Rthro Fall","type":"Asset"},{"id":2510235063,"name":"Rthro Idle","type":"Asset"},{"id":2510236649,"name":"Rthro Jump","type":"Asset"},{"id":2510238627,"name":"Rthro Run","type":"Asset"},{"id":2510240941,"name":"Rthro Swim","type":"Asset"},{"id":2510242378,"name":"Rthro Walk","type":"Asset"},{"id":474312030,"name":"Magma Fiend","type":"UserOutfit"},{"id":12726967427,"name":"Magma Fiend - Head","type":"Asset"},{"id":11573370910,"name":"Anime - Mood","type":"Asset"},{"id":23452425262,"name":"Magma Fiend Head","type":"UserOutfit"}],"creator":{"id":1,"name":"Roblox","type":"User","hasVerifiedBadge":true},"product":{"id":7219806593957530,"type":"productType","isPublicDomain":false,"isForSale":true,"priceInRobux":300,"isFree":false,"noPriceText":null},"collectibleItemDetail":{"collectibleItemId":"e036077b-ed8d-4bf1-9193-4e64bbc86978","collectibleProductId":null,"price":300,"lowestPrice":300,"lowestResalePrice":0,"totalQuantity":0,"unitsAvailable":0,"saleLocation":{"saleLocationType":"ShopAndAllExperiences","saleLocationTypeId":5,"universeIds":[],"enabledUniverseIds":[]},"hasResellers":false,"saleStatus":"OnSale","quantityLimitPerUser":null,"offSaleDeadline":null,"collectibleItemType":"NonLimited","lowestAvailableResaleProductId":null,"lowestAvailableResaleItemInstanceId":null,"resaleRestriction":"Disabled"}}]
* @exampleRawBody {"previousPageCursor":null,"nextPageCursor":null,"data":[{"id":429,"name":"Magma Fiend","description":"He's got hot blood, with a temperature of nine hundred and three.","bundleType":"BodyParts","items":[{"id":2608534881,"name":"Magma Fiend - Left Arm","type":"Asset"},{"id":2608536258,"name":"Magma Fiend - Left Leg","type":"Asset"},{"id":2608537440,"name":"Magma Fiend - Right Arm","type":"Asset"},{"id":2608538559,"name":"Magma Fiend - Right Leg","type":"Asset"},{"id":2608539495,"name":"Magma Fiend - Torso","type":"Asset"},{"id":2510230574,"name":"Rthro Climb","type":"Asset"},{"id":2510233257,"name":"Rthro Fall","type":"Asset"},{"id":2510235063,"name":"Rthro Idle","type":"Asset"},{"id":2510236649,"name":"Rthro Jump","type":"Asset"},{"id":2510238627,"name":"Rthro Run","type":"Asset"},{"id":2510240941,"name":"Rthro Swim","type":"Asset"},{"id":2510242378,"name":"Rthro Walk","type":"Asset"},{"id":474312030,"name":"Magma Fiend","type":"UserOutfit"},{"id":12726967427,"name":"Magma Fiend - Head","type":"Asset"},{"id":11573370910,"name":"Anime - Mood","type":"Asset"},{"id":23452425262,"name":"Magma Fiend Head","type":"UserOutfit"}],"creator":{"id":1,"name":"Roblox","type":"User","hasVerifiedBadge":true},"product":{"id":7219806593957530,"type":"productType","isPublicDomain":false,"isForSale":true,"priceInRobux":300,"isFree":false,"noPriceText":null},"collectibleItemDetail":{"collectibleItemId":"e036077b-ed8d-4bf1-9193-4e64bbc86978","collectibleProductId":"85283800-cf57-4870-9a02-141945b9cbfd","price":300,"lowestPrice":300,"lowestResalePrice":0,"totalQuantity":0,"unitsAvailable":0,"saleLocation":{"saleLocationType":"ShopAndAllExperiences","saleLocationTypeId":5,"universeIds":[],"enabledUniverseIds":[]},"hasResellers":false,"saleStatus":"OnSale","quantityLimitPerUser":null,"offSaleDeadline":null,"collectibleItemType":"NonLimited","lowestAvailableResaleProductId":null,"lowestAvailableResaleItemInstanceId":null,"resaleRestriction":"Disabled"}}]}
*/
export declare const bundlesAssetIsIn: import("../../apiGroup/apiGroup.types").CallApiMethod<{
assetId: Identifier;
limit?: 10 | 25 | 50 | 100 | undefined;
sortOrder?: SortOrder | undefined;
cursor?: string | undefined;
}, {
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: RawPaginatedBundlesData) => string) | undefined;
getCursorsFn?: ((rawData: {
previousPageCursor: string | null;
nextPageCursor: string | null;
data: {
id: Identifier;
name: string;
description: string;
bundleType: "BodyParts" | "Animations" | "Shoes" | "DynamicHead" | "DynamicHeadAvatar";
items: {
id: Identifier;
name: string;
type: "Asset";
}[];
creator: {
id: Identifier;
name: string;
type: "User" | "Group";
hasVerifiedBadge: boolean;
};
product: {
id: Identifier;
type: "productType";
isPublicDomain: boolean;
isForSale: boolean;
priceInRobux: number;
isFreee: boolean;
noPriceText: string | null;
};
collectibleItemDetail?: {
collectibleItemId: string;
collectibleProductId: string;
price: number;
lowestPrice: number;
lowestResalePrice: number;
totalQuantity: number;
unitsAvailable: number;
saleLocation: {
saleLocationType: "NotApplicable" | "ShopOnly" | "MyExperiencesOnly" | "ShopAndMyExperiences" | "ExperiencesById" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | "ShopAndExperiencesById";
saleLocationTypeId: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7;
universeIds: Identifier[];
enabledUniverseIds: Identifier[];
};
hasResellers: boolean;
saleStatus: "Invalid" | "Draft" | "OffSale" | "OnSale" | "PendingSale";
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
quantityLimitPerUser: number | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
offSaleDeadLine: `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z+${number}${number}${number}${number}` | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
collectableItemType: "Limited" | "Invalid" | "NonLimited";
lowestAvailableResaleProductId: Identifier | null;
lowestAvailableResaleItemInstanceId: Identifier | null;
resaleRestriction: "Invalid" | "None" | "Disabled";
} | undefined;
}[];
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
previousPageCursor: string | null;
nextPageCursor: string | null;
data: {
id: Identifier;
name: string;
description: string;
bundleType: "BodyParts" | "Animations" | "Shoes" | "DynamicHead" | "DynamicHeadAvatar";
items: {
id: Identifier;
name: string;
type: "Asset";
}[];
creator: {
id: Identifier;
name: string;
type: "User" | "Group";
hasVerifiedBadge: boolean;
};
product: {
id: Identifier;
type: "productType";
isPublicDomain: boolean;
isForSale: boolean;
priceInRobux: number;
isFreee: boolean;
noPriceText: string | null;
};
collectibleItemDetail?: {
collectibleItemId: string;
collectibleProductId: string;
price: number;
lowestPrice: number;
lowestResalePrice: number;
totalQuantity: number;
unitsAvailable: number;
saleLocation: {
saleLocationType: "NotApplicable" | "ShopOnly" | "MyExperiencesOnly" | "ShopAndMyExperiences" | "ExperiencesById" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | "ShopAndExperiencesById";
saleLocationTypeId: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7;
universeIds: Identifier[];
enabledUniverseIds: Identifier[];
};
hasResellers: boolean;
saleStatus: "Invalid" | "Draft" | "OffSale" | "OnSale" | "PendingSale";
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
quantityLimitPerUser: number | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
offSaleDeadLine: `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z+${number}${number}${number}${number}` | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
collectableItemType: "Limited" | "Invalid" | "NonLimited";
lowestAvailableResaleProductId: Identifier | null;
lowestAvailableResaleItemInstanceId: Identifier | null;
resaleRestriction: "Invalid" | "None" | "Disabled";
} | undefined;
}[];
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: {
id: Identifier;
name: string;
description: string;
bundleType: "BodyParts" | "Animations" | "Shoes" | "DynamicHead" | "DynamicHeadAvatar";
items: {
id: Identifier;
name: string;
type: "Asset";
}[];
creator: {
id: Identifier;
name: string;
type: "User" | "Group";
hasVerifiedBadge: boolean;
};
product: {
id: Identifier;
type: "productType";
isPublicDomain: boolean;
isForSale: boolean;
priceInRobux: number;
isFreee: boolean;
noPriceText: string | null;
};
collectibleItemDetail?: {
collectibleItemId: string;
collectibleProductId: string;
price: number;
lowestPrice: number;
lowestResalePrice: number;
totalQuantity: number;
unitsAvailable: number;
saleLocation: {
saleLocationType: "NotApplicable" | "ShopOnly" | "MyExperiencesOnly" | "ShopAndMyExperiences" | "ExperiencesById" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | "ShopAndExperiencesById";
saleLocationTypeId: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7;
universeIds: Identifier[];
enabledUniverseIds: Identifier[];
};
hasResellers: boolean;
saleStatus: "Invalid" | "Draft" | "OffSale" | "OnSale" | "PendingSale";
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
quantityLimitPerUser: number | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
offSaleDeadLine: Date | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
collectableItemType: "Limited" | "Invalid" | "NonLimited";
lowestAvailableResaleProductId: Identifier | null;
lowestAvailableResaleItemInstanceId: Identifier | null;
resaleRestriction: "Invalid" | "None" | "Disabled";
} | undefined;
}[] | undefined;
} & import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<RawPaginatedBundlesData, {
id: Identifier;
name: string;
description: string;
bundleType: "BodyParts" | "Animations" | "Shoes" | "DynamicHead" | "DynamicHeadAvatar";
items: {
id: Identifier;
name: string;
type: "Asset";
}[];
creator: {
id: Identifier;
name: string;
type: "User" | "Group";
hasVerifiedBadge: boolean;
};
product: {
id: Identifier;
type: "productType";
isPublicDomain: boolean;
isForSale: boolean;
priceInRobux: number;
isFreee: boolean;
noPriceText: string | null;
};
collectibleItemDetail?: {
collectibleItemId: string;
collectibleProductId: string;
price: number;
lowestPrice: number;
lowestResalePrice: number;
totalQuantity: number;
unitsAvailable: number;
saleLocation: {
saleLocationType: "NotApplicable" | "ShopOnly" | "MyExperiencesOnly" | "ShopAndMyExperiences" | "ExperiencesById" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | "ShopAndExperiencesById";
saleLocationTypeId: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7;
universeIds: Identifier[];
enabledUniverseIds: Identifier[];
};
hasResellers: boolean;
saleStatus: "Invalid" | "Draft" | "OffSale" | "OnSale" | "PendingSale";
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
quantityLimitPerUser: number | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
offSaleDeadLine: Date | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
collectableItemType: "Limited" | "Invalid" | "NonLimited";
lowestAvailableResaleProductId: Identifier | null;
lowestAvailableResaleItemInstanceId: Identifier | null;
resaleRestriction: "Invalid" | "None" | "Disabled";
} | undefined;
}[]>, true>;
/**
* Gets information about a bundle.
* @endpoint GET /v1/bundles/{bundleId}/details
*
* @param bundleId The ID of the bundle to get information about.
*
* @example const { data:bundle } = await ClassicCatalogApi.bundleInfo({ bundleId: 429 })
* @exampleData {"id":429,"name":"Magma Fiend","description":"He's got hot blood, with a temperature of nine hundred and three.","bundleType":"BodyParts","items":[{"id":2608534881,"name":"Magma Fiend - Left Arm","type":"Asset"},{"id":2608536258,"name":"Magma Fiend - Left Leg","type":"Asset"},{"id":2608537440,"name":"Magma Fiend - Right Arm","type":"Asset"},{"id":2608538559,"name":"Magma Fiend - Right Leg","type":"Asset"},{"id":2608539495,"name":"Magma Fiend - Torso","type":"Asset"},{"id":2510230574,"name":"Rthro Climb","type":"Asset"},{"id":2510233257,"name":"Rthro Fall","type":"Asset"},{"id":2510235063,"name":"Rthro Idle","type":"Asset"},{"id":2510236649,"name":"Rthro Jump","type":"Asset"},{"id":2510238627,"name":"Rthro Run","type":"Asset"},{"id":2510240941,"name":"Rthro Swim","type":"Asset"},{"id":2510242378,"name":"Rthro Walk","type":"Asset"},{"id":474312030,"name":"Magma Fiend","type":"UserOutfit"},{"id":12726967427,"name":"Magma Fiend - Head","type":"Asset"},{"id":11573370910,"name":"Anime - Mood","type":"Asset"},{"id":23452425262,"name":"Magma Fiend Head","type":"UserOutfit"}],"creator":{"id":1,"name":"Roblox","type":"User","hasVerifiedBadge":true},"product":{"id":7219806593957530,"type":"productType","isPublicDomain":false,"isForSale":true,"priceInRobux":300,"isFree":false,"noPriceText":null},"collectibleItemDetail":{"collectibleItemId":"e036077b-ed8d-4bf1-9193-4e64bbc86978","collectibleProductId":null,"price":300,"lowestPrice":300,"lowestResalePrice":0,"totalQuantity":0,"unitsAvailable":0,"saleLocation":{"saleLocationType":"ShopAndAllExperiences","saleLocationTypeId":5,"universeIds":[],"enabledUniverseIds":[]},"hasResellers":false,"saleStatus":"OnSale","quantityLimitPerUser":null,"offSaleDeadline":null,"collectibleItemType":"NonLimited","lowestAvailableResaleProductId":null,"lowestAvailableResaleItemInstanceId":null,"resaleRestriction":"Disabled"}}
* @exampleRawBody {"id":429,"name":"Magma Fiend","description":"He's got hot blood, with a temperature of nine hundred and three.","bundleType":"BodyParts","items":[{"id":2608534881,"name":"Magma Fiend - Left Arm","type":"Asset"},{"id":2608536258,"name":"Magma Fiend - Left Leg","type":"Asset"},{"id":2608537440,"name":"Magma Fiend - Right Arm","type":"Asset"},{"id":2608538559,"name":"Magma Fiend - Right Leg","type":"Asset"},{"id":2608539495,"name":"Magma Fiend - Torso","type":"Asset"},{"id":2510230574,"name":"Rthro Climb","type":"Asset"},{"id":2510233257,"name":"Rthro Fall","type":"Asset"},{"id":2510235063,"name":"Rthro Idle","type":"Asset"},{"id":2510236649,"name":"Rthro Jump","type":"Asset"},{"id":2510238627,"name":"Rthro Run","type":"Asset"},{"id":2510240941,"name":"Rthro Swim","type":"Asset"},{"id":2510242378,"name":"Rthro Walk","type":"Asset"},{"id":474312030,"name":"Magma Fiend","type":"UserOutfit"},{"id":12726967427,"name":"Magma Fiend - Head","type":"Asset"},{"id":11573370910,"name":"Anime - Mood","type":"Asset"},{"id":23452425262,"name":"Magma Fiend Head","type":"UserOutfit"}],"creator":{"id":1,"name":"Roblox","type":"User","hasVerifiedBadge":true},"product":{"id":7219806593957530,"type":"productType","isPublicDomain":false,"isForSale":true,"priceInRobux":300,"isFree":false,"noPriceText":null},"collectibleItemDetail":{"collectibleItemId":"e036077b-ed8d-4bf1-9193-4e64bbc86978","collectibleProductId":"85283800-cf57-4870-9a02-141945b9cbfd","price":300,"lowestPrice":300,"lowestResalePrice":0,"totalQuantity":0,"unitsAvailable":0,"saleLocation":{"saleLocationType":"ShopAndAllExperiences","saleLocationTypeId":5,"universeIds":[],"enabledUniverseIds":[]},"hasResellers":false,"saleStatus":"OnSale","quantityLimitPerUser":null,"offSaleDeadline":null,"collectibleItemType":"NonLimited","lowestAvailableResaleProductId":null,"lowestAvailableResaleItemInstanceId":null,"resaleRestriction":"Disabled"}}
*/
export declare const bundleInfo: <BundleId extends Identifier>(this: any, args: {
bundleId: BundleId;
}) => Promise<{
data: {
id: BundleId;
name: string;
description: string;
bundleType: "BodyParts" | "Animations" | "Shoes" | "DynamicHead" | "DynamicHeadAvatar";
items: {
id: Identifier;
name: string;
type: "Asset";
}[];
creator: {
id: Identifier;
name: string;
type: "User" | "Group";
hasVerifiedBadge: boolean;
};
product: {
id: Identifier;
type: "productType";
isPublicDomain: boolean;
isForSale: boolean;
priceInRobux: number;
isFreee: boolean;
noPriceText: string | null;
};
collectibleItemDetail?: {
collectibleItemId: string;
collectibleProductId: string;
price: number;
lowestPrice: number;
lowestResalePrice: number;
totalQuantity: number;
unitsAvailable: number;
saleLocation: {
saleLocationType: "NotApplicable" | "ShopOnly" | "MyExperiencesOnly" | "ShopAndMyExperiences" | "ExperiencesById" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | "ShopAndExperiencesById";
saleLocationTypeId: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7;
universeIds: Identifier[];
enabledUniverseIds: Identifier[];
};
hasResellers: boolean;
saleStatus: "Invalid" | "Draft" | "OffSale" | "OnSale" | "PendingSale";
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
quantityLimitPerUser: number | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
offSaleDeadLine: Date | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
collectableItemType: "Limited" | "Invalid" | "NonLimited";
lowestAvailableResaleProductId: Identifier | null;
lowestAvailableResaleItemInstanceId: Identifier | null;
resaleRestriction: "Invalid" | "None" | "Disabled";
} | undefined;
};
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: {
id: BundleId;
name: string;
description: string;
bundleType: "BodyParts" | "Animations" | "Shoes" | "DynamicHead" | "DynamicHeadAvatar";
items: {
id: Identifier;
name: string;
type: "Asset";
}[];
creator: {
id: Identifier;
name: string;
type: "User" | "Group";
hasVerifiedBadge: boolean;
};
product: {
id: Identifier;
type: "productType";
isPublicDomain: boolean;
isForSale: boolean;
priceInRobux: number;
isFreee: boolean;
noPriceText: string | null;
};
collectibleItemDetail?: {
collectibleItemId: string;
collectibleProductId: string;
price: number;
lowestPrice: number;
lowestResalePrice: number;
totalQuantity: number;
unitsAvailable: number;
saleLocation: {
saleLocationType: "NotApplicable" | "ShopOnly" | "MyExperiencesOnly" | "ShopAndMyExperiences" | "ExperiencesById" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | "ShopAndExperiencesById";
saleLocationTypeId: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7;
universeIds: Identifier[];
enabledUniverseIds: Identifier[];
};
hasResellers: boolean;
saleStatus: "Invalid" | "Draft" | "OffSale" | "OnSale" | "PendingSale";
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
quantityLimitPerUser: number | null;
/**
* Lists asset IDs and their corresponding catalog category ID.
* @endpoint GET /v1/asset-to-category
*
* @example const { data:ids } = await ClassicCatalogApi.assetIdsToCatalogCategoryIds()
* @exampleData {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
* @exampleRawBody {"2":3,"3":9,"8":11,"10":6,"11":3,"12":3,"13":8,"17":4,"18":4,"19":11,"38":7,"40":10,"41":11,"42":11,"43":11,"44":11,"45":11,"46":11,"47":11,"48":12,"50":12,"51":12,"52":12,"53":12,"54":12,"55":12,"61":12,"62":14,"64":3,"65":3,"66":3,"67":3,"68":3,"69":3,"70":3,"71":3,"72":3}
*/
offSaleDeadLine: `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z+${number}${number}${number}${number}` | null;
/**
* Lists asset IDs and their corresponding catalog category ID.