export type GetApiAssetDeliveryApiV1AssetIdAssetIdVersionVersionNumberArgs = {assetId: number, versionNumber: number, 'Accept-Encoding'?: string | undefined, 'Roblox-Place-Id'?: number | undefined, AssetType?: string | undefined, AssetFormat?: string | undefined, 'Roblox-AssetFormat'?: string | undefined, 'Roblox-Usage-Context'?: string | undefined, skipSigningScripts?: boolean | undefined, clientInsert?: number | undefined, scriptinsert?: number | undefined, modulePlaceId?: number | undefined, serverplaceid?: number | undefined, expectedAssetType?: string | undefined, doNotFallbackToBaselineRepresentation?: boolean | undefined, contentRepresentationPriorityList?: string | undefined, accessContext?: string | undefined}; export type GetApiAssetDeliveryApiV1AssetIdAssetIdVersionVersionNumberOptions = {baseUrl?: string | undefined, robloxApiKey?: string | undefined, fetch?: typeof fetch | undefined}; /** * Retrieves an asset by its ID and version number with OpenCloud auth. * * GET /asset-delivery-api/v1/assetId/{assetId}/version/{versionNumber} * * Also accepts auth: roblox-oauth2 */ export const getApiAssetDeliveryApiV1AssetIdAssetIdVersionVersionNumber = async (args: GetApiAssetDeliveryApiV1AssetIdAssetIdVersionVersionNumberArgs, options?: GetApiAssetDeliveryApiV1AssetIdAssetIdVersionVersionNumberOptions) => { const {baseUrl = "https://apis.roblox.com", fetch: fetchFn = fetch, robloxApiKey} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args['Accept-Encoding'] != null) headers.set("Accept-Encoding", String(args['Accept-Encoding'])) if (args['Roblox-Place-Id'] != null) headers.set("Roblox-Place-Id", String(args['Roblox-Place-Id'])) if (args.AssetType != null) headers.set("AssetType", String(args.AssetType)) if (args.AssetFormat != null) headers.set("AssetFormat", String(args.AssetFormat)) if (args['Roblox-AssetFormat'] != null) headers.set("Roblox-AssetFormat", String(args['Roblox-AssetFormat'])) if (args['Roblox-Usage-Context'] != null) headers.set("Roblox-Usage-Context", String(args['Roblox-Usage-Context'])) if (args.skipSigningScripts != null) query.append("skipSigningScripts", String(args.skipSigningScripts)) if (args.clientInsert != null) query.append("clientInsert", String(args.clientInsert)) if (args.scriptinsert != null) query.append("scriptinsert", String(args.scriptinsert)) if (args.modulePlaceId != null) query.append("modulePlaceId", String(args.modulePlaceId)) if (args.serverplaceid != null) query.append("serverplaceid", String(args.serverplaceid)) if (args.expectedAssetType != null) query.append("expectedAssetType", String(args.expectedAssetType)) if (args.doNotFallbackToBaselineRepresentation != null) query.append("doNotFallbackToBaselineRepresentation", String(args.doNotFallbackToBaselineRepresentation)) if (args.contentRepresentationPriorityList != null) query.append("contentRepresentationPriorityList", String(args.contentRepresentationPriorityList)) if (args.accessContext != null) query.append("accessContext", String(args.accessContext)) if (robloxApiKey !== undefined) headers.set("x-api-key", robloxApiKey) const url = `${baseUrl.replace(/\/+$/, '')}/asset-delivery-api/v1/assetId/${encodeURIComponent(String(args.assetId))}/version/${encodeURIComponent(String(args.versionNumber))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };