import {z} from 'zod' export type V1WebPresenceRequestOptions = 'Order.SocialMedia' | 'Order.ReviewSummary' | 'Order.ReviewFull' | 'Order.NaicsPrediction' | 'Order.WebsiteAnalysis' | 'Order.DirectoryListing'; export type ISO2CountryCode = 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW'; export type InputSocialProfile = {site: 'linked_in:personal' | 'linked_in:company' | 'twitter' | 'instagram' | 'facebook' | 'youtube' | 'tiktok' | 'pinterest' | 'x', value: string}; export type V1WebPresenceRequest = {options?: Array | undefined, name: string, address: string, iso2_country_code?: (ISO2CountryCode | null) | undefined, alternative_names?: (Array | null) | undefined, officer_names?: (Array | null) | undefined, website?: (string | null) | undefined, phone_number?: (string | null) | undefined, email?: (string | null) | undefined, reference_id?: (string | null) | undefined, social_profiles?: (Array | null) | undefined}; export type CreateApiWebPresenceRequestsArgs = {Prefer?: (string | null) | undefined, body: V1WebPresenceRequest}; export type CreateApiWebPresenceRequestsOptions = {baseUrl?: string | undefined, APIKeyHeader?: string | undefined, fetch?: typeof fetch | undefined}; export const v1TaskState = z.enum(["PENDING", "EXECUTING", "COMPLETED", "FAILED", "CANCELLED"]); export const v1ISO2CountryCode = z.enum(["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW"]); export const v1AddressMatchType = z.enum(["NO_MATCH", "CITY", "STATE", "SIMILAR", "EXACT"]); export const v1WebPresenceSource = z.enum(["INPUT_WEBSITE", "FOUND_WEBSITE", "SOCIAL_PROFILE", "INPUT_SOCIAL_PROFILE", "REVIEW", "DIRECTORY"]); export const v1PhoneNumberMatchType = z.enum(["NO_MATCH", "EXACT", "AREA_CODE"]); export const v1EmailMatchType = z.enum(["NO_MATCH", "EXACT", "DOMAIN"]); export const v1ConfidenceLevel = z.enum(["high", "medium", "low"]); export const v1DiscoveredInstagramMetadata = z.object({is_private: z.boolean().nullable().optional(), is_business_account: z.boolean().nullable().optional(), has_business_address: z.boolean().nullable().optional(), bio: z.string().nullable().optional(), followers_count: z.number().int().nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), address: z.string().nullable().optional(), business_website: z.string().nullable().optional()}); export const v1DiscoveredLinkedInMetadata = z.object({company_size_range: z.string().nullable().optional(), industry: z.string().nullable().optional(), followers_count: z.number().int().nullable().optional(), phone_number: z.string().nullable().optional(), bio: z.string().nullable().optional(), email: z.string().nullable().optional(), number_of_employees: z.number().int().nullable().optional(), business_website: z.string().nullable().optional()}); export const v1DiscoveredFacebookMetadata = z.object({is_business_page: z.boolean().nullable().optional(), has_reviews: z.boolean().nullable().optional(), check_ins_count: z.number().int().nullable().optional(), followers_count: z.number().int().nullable().optional(), bio: z.string().nullable().optional(), phone_number: z.string().nullable().optional(), address: z.string().nullable().optional(), email: z.string().nullable().optional(), business_website: z.string().nullable().optional()}); export const v1DiscoveredXMetadata = z.object({is_verified: z.boolean().nullable().optional(), follower_count: z.number().int().nullable().optional(), bio: z.string().nullable().optional(), joined_date: z.string().nullable().optional(), address: z.string().nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), business_website: z.string().nullable().optional()}); export const v1DiscoveredYouTubeMetadata = z.object({is_verified: z.boolean().nullable().optional(), subscriber_count: z.number().int().nullable().optional(), channel_type: z.string().nullable().optional(), has_business_email: z.boolean().nullable().optional(), channel_description: z.string().nullable().optional(), followers_count: z.number().int().nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), business_website: z.string().nullable().optional()}); export const v1DiscoveredTikTokMetadata = z.object({is_verified: z.boolean().nullable().optional(), is_business_account: z.boolean().nullable().optional(), follower_count: z.number().int().nullable().optional(), bio: z.string().nullable().optional(), has_business_website: z.boolean().nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), business_website: z.string().nullable().optional()}); export const v1DiscoveredPinterestMetadata = z.object({follower_count: z.number().int().nullable().optional(), monthly_views: z.number().int().nullable().optional(), bio: z.string().nullable().optional(), has_business_website: z.boolean().nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), business_website: z.string().nullable().optional()}); export const v1DiscoveredSocialProfile = z.object({site: z.enum(["linked_in:personal", "linked_in:company", "twitter", "instagram", "facebook", "youtube", "tiktok", "pinterest", "x"]), username: z.string(), confidence: v1ConfidenceLevel.nullable().optional(), metadata: z.union([v1DiscoveredInstagramMetadata, v1DiscoveredLinkedInMetadata, v1DiscoveredFacebookMetadata, v1DiscoveredXMetadata, v1DiscoveredYouTubeMetadata, v1DiscoveredTikTokMetadata, v1DiscoveredPinterestMetadata]).nullable().optional(), found_on: z.array(z.enum(["INPUT_WEBSITE", "FOUND_WEBSITE"])).optional(), url: z.string()}); export const v1InputSocialProfileMatch = z.object({site: z.enum(["linked_in:personal", "linked_in:company", "twitter", "instagram", "facebook", "youtube", "tiktok", "pinterest", "x"]), value: z.string(), matched: z.boolean()}); export const v1ReviewSource = z.enum(["yelp", "google", "trustpilot", "tripadvisor", "other"]); export const v1ReviewDetail = z.object({username: z.string(), text: z.string(), date: z.string(), rating: z.number().int()}); export const v1GoogleReviewMetadata = z.object({open_state: z.string().nullable().optional(), operating_hours: z.record(z.string(), z.unknown()).nullable().optional(), description: z.string().nullable().optional(), types: z.array(z.string()).nullable().optional(), service_options: z.record(z.string(), z.unknown()).nullable().optional()}); export const v1DiscoveredReview = z.object({source: v1ReviewSource.nullable().optional(), url: z.string(), confidence: v1ConfidenceLevel.nullable().optional(), rating: z.number().gte(0).lte(5).nullable().optional(), volume: z.number().int().gte(0).nullable().optional(), summary: z.string().nullable().optional(), phone_number: z.string().nullable().optional(), address: z.string().nullable().optional(), business_website: z.string().nullable().optional(), reviews: z.array(v1ReviewDetail).optional(), metadata: v1GoogleReviewMetadata.nullable().optional()}); export const v1DirectoryListingPerson = z.object({name: z.string(), title: z.string().nullable().optional()}); export const v1DiscoveredDirectoryListing = z.object({source: z.string().nullable().optional(), url: z.string().nullable().optional(), category: z.string().nullable().optional(), business_name: z.string().nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), business_website: z.string().nullable().optional(), address: z.string().nullable().optional(), people: z.array(v1DirectoryListingPerson).optional()}); export const v1WebsiteRedirectInfo = z.object({is_redirect_url: z.boolean(), redirects_to: z.string()}); export const v1SocialProfile = z.object({site: z.enum(["linked_in:personal", "linked_in:company", "twitter", "instagram", "facebook", "youtube", "tiktok", "pinterest", "x"]), username: z.string(), url: z.string()}); export const v1StateAbbreviation = z.enum(["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY", "PR", "VI", "AE", "AA", "AP", "GU", "AS"]); export const v1AddressRDI = z.enum(["Residential", "Commercial"]); export const v1USPSDeliveryType = z.enum(["FIRM", "GENERAL_DELIVERY", "HIGH_RISE", "POST_OFFICE", "RURAL_ROUTE", "STREET"]); export const v1AddressSummaryResponse = z.object({id: z.string(), street: z.string(), city: z.string(), state: v1StateAbbreviation, zip: z.string(), latitude: z.number(), longitude: z.number(), rdi: v1AddressRDI.nullable().optional(), deliverable: z.boolean().nullable().optional(), cmra: z.boolean().nullable().optional(), url: z.string().min(1).max(2083).nullable().optional(), delivery_type: v1USPSDeliveryType.nullable().optional()}); export const v1WebsiteAnalysisPerson = z.object({name: z.string(), titles: z.array(z.string())}); export const v1WebsiteBuildStatus = z.enum(["coming_soon", "inactive", "active"]); export const v1WhoIsRecordResponse = z.object({domain_created_at: z.string().nullable(), domain_age_months: z.number().int().nullable().optional(), domain_updated_at: z.string().nullable(), domain_expires_at: z.string().nullable(), registrar: z.string().nullable()}); export const v1SSLInvalidReason = z.enum(["CERTIFICATE_EXPIRED", "HOSTNAME_MISMATCH", "SELF_SIGNED", "REVOKED", "UNTRUSTED_AUTHORITY", "VERIFICATION_FAILED", "NOT_HTTPS", "CONNECTION_TIMED_OUT", "UNABLE_TO_CONNECT", "SERVER_DISCONNECTED", "SERVER_ERROR", "CONNECTION_ERROR"]); export const v1SSLCertificateType = z.enum(["DV", "OV", "EV", "Unknown"]); export const v1TLSVersion = z.enum(["TLSv1.0", "TLSv1.1", "TLSv1.2", "TLSv1.3", "SSLv3", "Unknown"]); export const v1SSLValidityInfo = z.object({is_valid: z.boolean().nullable().optional(), reason: v1SSLInvalidReason.nullable().optional(), issuer: z.string().nullable().optional(), subject: z.string().nullable().optional(), issued_date: z.string().nullable().optional(), expiry_date: z.string().nullable().optional(), days_until_expiry: z.number().int().nullable().optional(), cert_age_days: z.number().int().nullable().optional(), certificate_type: v1SSLCertificateType.nullable().optional(), is_wildcard: z.boolean().nullable().optional(), key_size: z.number().int().nullable().optional(), tls_version: v1TLSVersion.nullable().optional(), is_self_signed: z.boolean().nullable().optional(), is_revoked: z.boolean().nullable().optional()}); export const v1WebsiteStructureMetrics = z.object({depth: z.string(), breadth: z.string()}); export const v1WebsiteAnalysisDetails = z.object({id: z.string(), url: z.string().min(1), redirects: v1WebsiteRedirectInfo.nullable().optional(), parked: z.boolean().nullable(), email_deliverable: z.boolean().nullable().optional(), phone_numbers: z.array(z.string()).nullable().optional(), emails: z.array(z.string()).nullable(), social_profiles: z.array(v1SocialProfile).nullable(), addresses: z.array(v1AddressSummaryResponse).optional(), people: z.array(v1WebsiteAnalysisPerson).nullable().optional(), website_build_status: v1WebsiteBuildStatus.nullable().optional(), website_summary: z.string().nullable().optional(), console_url: z.string().min(1).max(2083), screenshot_url: z.string().min(1).max(2083).nullable().optional(), whois_record: v1WhoIsRecordResponse.nullable().optional(), ssl_validity: v1SSLValidityInfo.nullable().optional(), website_structure_metrics: v1WebsiteStructureMetrics.nullable().optional()}); export const v1VisaRiskTier = z.union([z.literal(1), z.literal(2), z.literal(3)]); export const v1MCC = z.object({code: z.string(), description: z.string().nullable().optional(), mastercard_risk: z.boolean().nullable().optional(), visa_risk_tier: v1VisaRiskTier.nullable().optional()}); export const v1SICCode = z.object({code: z.string(), description: z.string().nullable().optional()}); export const v1RiskLevel = z.enum(["high", "medium", "low", "no_risk"]); export const v1PredictedNaicsResponse = z.object({code: z.string(), title: z.string(), accuracy: z.number().nullable().optional(), keywords: z.array(z.string()).nullable().optional(), mcc_codes: z.array(v1MCC).nullable().optional(), sic_codes: z.array(v1SICCode).nullable().optional(), risk_level: v1RiskLevel.nullable().optional(), reasoning: z.string().nullable().optional()}); export const v1ScoreType = z.enum(["fraud", "risk", "kyb"]); export const v1ScoreResponse = z.object({type: v1ScoreType, score: z.number(), rating: z.string()}); export const v1USWebPresenceResponse = z.object({request_type: z.literal("UNITED_STATES"), id: z.string(), state: v1TaskState, created_at: z.string(), updated_at: z.string().nullable().optional(), options: z.array(z.enum(["Order.SocialMedia", "Order.ReviewSummary", "Order.ReviewFull", "Order.NaicsPrediction", "Order.WebsiteAnalysis", "Order.DirectoryListing"])).optional(), name: z.string(), alternative_names: z.array(z.string()).nullable().optional(), address: z.string().max(255).nullable().optional(), iso2_country_code: v1ISO2CountryCode.nullable().optional(), website: z.string().nullable().optional(), officer_names: z.array(z.string()).nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), reference_id: z.string().max(128).nullable().optional(), business_address_match: v1AddressMatchType.nullable().optional(), business_address_match_sources: z.array(v1WebPresenceSource).nullable().optional(), phone_number_match: v1PhoneNumberMatchType.nullable().optional(), phone_number_match_sources: z.array(v1WebPresenceSource).nullable().optional(), email_match: v1EmailMatchType.nullable().optional(), email_match_sources: z.array(v1WebPresenceSource).nullable().optional(), people_match: z.boolean().nullable().optional(), people_match_sources: z.array(v1WebPresenceSource).nullable().optional(), business_website_match: z.boolean().nullable().optional(), business_website_redirect_match: z.boolean().nullable().optional(), found_website: z.string().nullable().optional(), website_accuracy: z.number().nullable().optional(), found_social_profiles: z.array(v1DiscoveredSocialProfile).nullable().optional(), input_social_profiles: z.array(v1DiscoveredSocialProfile).nullable().optional(), social_profiles_match: z.array(v1InputSocialProfileMatch).nullable().optional(), found_reviews: z.array(v1DiscoveredReview).nullable().optional(), found_directory_listings: z.array(v1DiscoveredDirectoryListing).nullable().optional(), website_analysis: v1WebsiteAnalysisDetails.nullable().optional(), input_website_analysis: v1WebsiteAnalysisDetails.nullable().optional(), industry_prediction: v1PredictedNaicsResponse.nullable().optional(), scores: z.array(v1ScoreResponse).nullable().optional()}); export const v1InternationalAddressMatchType = z.enum(["NO_MATCH", "REGION", "CITY", "COUNTRY", "EXACT"]); export const v1InternationalWebPresenceResponse = z.object({request_type: z.literal("INTERNATIONAL"), id: z.string(), state: v1TaskState, created_at: z.string(), updated_at: z.string().nullable().optional(), options: z.array(z.enum(["Order.SocialMedia", "Order.ReviewSummary", "Order.ReviewFull", "Order.NaicsPrediction", "Order.WebsiteAnalysis", "Order.DirectoryListing"])).optional(), name: z.string(), alternative_names: z.array(z.string()).nullable().optional(), address: z.string().max(255).nullable().optional(), iso2_country_code: v1ISO2CountryCode.nullable().optional(), website: z.string().nullable().optional(), officer_names: z.array(z.string()).nullable().optional(), phone_number: z.string().nullable().optional(), email: z.string().nullable().optional(), reference_id: z.string().max(128).nullable().optional(), business_address_match: v1InternationalAddressMatchType.nullable().optional(), business_address_match_sources: z.array(v1WebPresenceSource).nullable().optional(), phone_number_match: v1PhoneNumberMatchType.nullable().optional(), phone_number_match_sources: z.array(v1WebPresenceSource).nullable().optional(), email_match: v1EmailMatchType.nullable().optional(), email_match_sources: z.array(v1WebPresenceSource).nullable().optional(), people_match: z.boolean().nullable().optional(), people_match_sources: z.array(v1WebPresenceSource).nullable().optional(), business_website_match: z.boolean().nullable().optional(), business_website_redirect_match: z.boolean().nullable().optional(), found_website: z.string().nullable().optional(), website_accuracy: z.number().nullable().optional(), found_social_profiles: z.array(v1DiscoveredSocialProfile).nullable().optional(), input_social_profiles: z.array(v1DiscoveredSocialProfile).nullable().optional(), social_profiles_match: z.array(v1InputSocialProfileMatch).nullable().optional(), found_reviews: z.array(v1DiscoveredReview).nullable().optional(), found_directory_listings: z.array(v1DiscoveredDirectoryListing).nullable().optional(), website_analysis: v1WebsiteAnalysisDetails.nullable().optional(), input_website_analysis: v1WebsiteAnalysisDetails.nullable().optional(), industry_prediction: v1PredictedNaicsResponse.nullable().optional(), scores: z.array(v1ScoreResponse).nullable().optional()}); export const v1WebPresenceResponse = z.discriminatedUnion("request_type", [v1USWebPresenceResponse, v1InternationalWebPresenceResponse]); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Post Web Presence Request * * POST /web_presence_requests */ export const createApiWebPresenceRequests = async (args: CreateApiWebPresenceRequestsArgs, options?: CreateApiWebPresenceRequestsOptions) => { const {baseUrl = "https://api.baselayer.com", fetch: fetchFn = fetch, APIKeyHeader} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args.Prefer != null) headers.set("Prefer", String(args.Prefer)) if (APIKeyHeader !== undefined) headers.set("X-API-Key", APIKeyHeader) const url = `${baseUrl.replace(/\/+$/, '')}/web_presence_requests${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(v1WebPresenceResponse, await res.json()) };