export type EnumExportFormats = 'raw' | 'json' | 'csv'; export type TimeRangeQueryParameter = 'last_day' | 'last_week' | 'last_month' | 'last_3_months' | 'last_6_months' | 'last_12_months' | 'all_time'; export type GetApiV1AssetEnumerateExportArgs = {not_seen_for_days?: number | undefined, format?: EnumExportFormats | undefined, search?: string | undefined, labels?: string | undefined, is_new?: boolean | undefined, host?: string | undefined, port?: string | undefined, status_code?: string | undefined, title?: string | undefined, content_length?: string | undefined, domain?: string | undefined, cname?: string | undefined, technologies?: string | undefined, sort_asc?: string | undefined, sort_desc?: string | undefined, time?: TimeRangeQueryParameter | undefined, start_date?: string | undefined, end_date?: string | undefined, 'X-Team-Id'?: string | undefined, custom_filter?: string | undefined, is_screenshot?: boolean | undefined, ip?: string | undefined, favicon?: string | undefined, only_dns?: boolean | undefined, only_ip?: boolean | undefined}; export type GetApiV1AssetEnumerateExportOptions = {baseUrl?: string | undefined, XAPIKey?: string | undefined, fetch?: typeof fetch | undefined}; /** * Export Enumeration of user * * GET /v1/asset/enumerate/export */ export const getApiV1AssetEnumerateExport = async (args: GetApiV1AssetEnumerateExportArgs, options?: GetApiV1AssetEnumerateExportOptions) => { const {baseUrl = "https://api.projectdiscovery.io", fetch: fetchFn = fetch, XAPIKey} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/octet-stream") if (args.not_seen_for_days != null) query.append("not_seen_for_days", String(args.not_seen_for_days)) if (args.format != null) query.append("format", String(args.format)) if (args.search != null) query.append("search", String(args.search)) if (args.labels != null) query.append("labels", String(args.labels)) if (args.is_new != null) query.append("is_new", String(args.is_new)) if (args.host != null) query.append("host", String(args.host)) if (args.port != null) query.append("port", String(args.port)) if (args.status_code != null) query.append("status_code", String(args.status_code)) if (args.title != null) query.append("title", String(args.title)) if (args.content_length != null) query.append("content_length", String(args.content_length)) if (args.domain != null) query.append("domain", String(args.domain)) if (args.cname != null) query.append("cname", String(args.cname)) if (args.technologies != null) query.append("technologies", String(args.technologies)) if (args.sort_asc != null) query.append("sort_asc", String(args.sort_asc)) if (args.sort_desc != null) query.append("sort_desc", String(args.sort_desc)) if (args.time != null) query.append("time", String(args.time)) if (args.start_date != null) query.append("start_date", String(args.start_date)) if (args.end_date != null) query.append("end_date", String(args.end_date)) if (args['X-Team-Id'] != null) headers.set("X-Team-Id", String(args['X-Team-Id'])) if (args.custom_filter != null) query.append("custom_filter", String(args.custom_filter)) if (args.is_screenshot != null) query.append("is_screenshot", String(args.is_screenshot)) if (args.ip != null) query.append("ip", String(args.ip)) if (args.favicon != null) query.append("favicon", String(args.favicon)) if (args.only_dns != null) query.append("only_dns", String(args.only_dns)) if (args.only_ip != null) query.append("only_ip", String(args.only_ip)) if (XAPIKey !== undefined) headers.set("X-API-Key", XAPIKey) const url = `${baseUrl.replace(/\/+$/, '')}/v1/asset/enumerate/export${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 res.blob() };