import {z} from 'zod' export type CreateApiApiV1LinkedinSearchArgs = {cursor?: string | undefined, limit?: number | undefined, account_id: string, body: {api: 'classic', category: 'people', keywords?: string | undefined, industry?: Array | undefined, location?: Array | undefined, profile_language?: Array | undefined, network_distance?: Array | undefined, company?: Array | undefined, past_company?: Array | undefined, school?: Array | undefined, service?: Array | undefined, connections_of?: Array | undefined, followers_of?: Array | undefined, open_to?: (Array<'proBono' | 'boardMember'>) | undefined, advanced_keywords?: ({first_name?: string | undefined, last_name?: string | undefined, title?: string | undefined, company?: string | undefined, school?: string | undefined}) | undefined} | {api: 'classic', category: 'companies', keywords?: string | undefined, industry?: Array | undefined, location?: Array | undefined, has_job_offers?: boolean | undefined, headcount?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, network_distance?: Array | undefined} | {api: 'classic', category: 'posts', keywords?: string | undefined, sort_by?: ('relevance' | 'date') | undefined, date_posted?: ('past_day' | 'past_week' | 'past_month') | undefined, content_type?: ('videos' | 'images' | 'live_videos' | 'collaborative_articles' | 'documents' | 'jobs') | undefined, posted_by?: ({member?: Array | undefined, company?: Array | undefined, me?: boolean | undefined, first_connections?: boolean | undefined, people_you_follow?: boolean | undefined}) | undefined, mentioning?: ({member?: Array | undefined, company?: Array | undefined}) | undefined, author?: ({industry?: Array | undefined, company?: Array | undefined, keywords?: string | undefined}) | undefined} | {api: 'classic', category: 'jobs', keywords?: string | undefined, sort_by?: ('relevance' | 'date') | undefined, date_posted?: number | undefined, region?: string | undefined, location?: Array | undefined, location_within_area?: number | undefined, industry?: Array | undefined, seniority?: (Array<'executive' | 'director' | 'mid_senior' | 'associate' | 'entry' | 'intern'>) | undefined, function?: Array | undefined, role?: Array | undefined, job_type?: (Array<'full_time' | 'part_time' | 'contract' | 'temporary' | 'volunteer' | 'internship' | 'other'>) | undefined, company?: Array | undefined, presence?: (Array<'on_site' | 'hybrid' | 'remote'>) | undefined, easy_apply?: boolean | undefined, has_verifications?: boolean | undefined, under_10_applicants?: boolean | undefined, in_your_network?: boolean | undefined, fair_chance_employer?: boolean | undefined, benefits?: (Array<'medical_insurance' | 'vision_insurance' | 'dental_insurance' | 'disability_insurance' | '401(k)' | 'pension_plan' | 'paid_maternity_leave' | 'paid_paternity_leave' | 'commuter_benefits' | 'student_loan_assistance' | 'tuition_assistance'>) | undefined, commitments?: (Array<'career_growth_and_learning' | 'diversity_equity_and_inclusion' | 'environmental_sustainability' | 'social_impact' | 'work_life_balance'>) | undefined, minimum_salary?: ({currency: 'USD' | 'AUD' | 'CAD', value: number} | {currency: 'GBP', value: number}) | undefined} | {api: 'sales_navigator', category: 'people', keywords?: string | undefined, last_viewed_at?: number | undefined, saved_search_id?: string | undefined, recent_search_id?: string | undefined, location?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, location_by_postal_code?: ({include?: Array | undefined, exclude?: Array | undefined, within_area?: number | undefined}) | undefined, industry?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, first_name?: string | undefined, last_name?: string | undefined, tenure?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, groups?: Array | undefined, school?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, profile_language?: Array | undefined, company?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, company_headcount?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, company_type?: (Array<'public_company' | 'privately_held' | 'non_profit' | 'educational_institution' | 'partnership' | 'self_employed' | 'self_owned' | 'government_agency'>) | undefined, company_location?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, tenure_at_company?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, past_company?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, function?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, role?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, tenure_at_role?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, seniority?: ({include?: (Array<'owner/partner' | 'cxo' | 'vice_president' | 'director' | 'experienced_manager' | 'entry_level_manager' | 'strategic' | 'senior' | 'entry_level' | 'in_training'>) | undefined, exclude?: (Array<'owner/partner' | 'cxo' | 'vice_president' | 'director' | 'experienced_manager' | 'entry_level_manager' | 'strategic' | 'senior' | 'entry_level' | 'in_training'>) | undefined}) | undefined, past_role?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, following_your_company?: boolean | undefined, viewed_your_profile_recently?: boolean | undefined, network_distance?: (Array) | undefined, connections_of?: Array | undefined, past_colleague?: boolean | undefined, shared_experiences?: boolean | undefined, changed_jobs?: boolean | undefined, posted_on_linkedin?: boolean | undefined, mentionned_in_news?: boolean | undefined, persona?: Array | undefined, account_lists?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, lead_lists?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, viewed_profile_recently?: boolean | undefined, messaged_recently?: boolean | undefined, include_saved_leads?: boolean | undefined, include_saved_accounts?: boolean | undefined, save_search?: {name: string} | undefined} | {api: 'sales_navigator', category: 'companies', keywords?: string | undefined, last_viewed_at?: number | undefined, saved_search_id?: string | undefined, recent_search_id?: string | undefined, industry?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, location?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, location_by_postal_code?: ({include?: Array | undefined, exclude?: Array | undefined, within_area?: number | undefined}) | undefined, has_job_offers?: boolean | undefined, headcount?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, headcount_growth?: ({min?: number | undefined, max?: number | undefined}) | undefined, department_headcount?: ({department: Array, min?: number | undefined, max?: number | undefined}) | undefined, department_headcount_growth?: ({department: Array, min?: number | undefined, max?: number | undefined}) | undefined, network_distance?: Array | undefined, annual_revenue?: {currency: string, min: number, max: number} | undefined, followers_count?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, fortune?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, technologies?: Array | undefined, recent_activities?: (Array<'senior_leadership_changes' | 'funding_events'>) | undefined, saved_accounts?: Array | undefined, account_lists?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, save_search?: {name: string} | undefined} | {api: 'recruiter', category: 'people', keywords?: string | undefined, locale?: ('arabic' | 'bangla' | 'czech' | 'danish' | 'german' | 'greek' | 'english' | 'spanish' | 'persian' | 'finnish' | 'french' | 'hindi' | 'hungarian' | 'indonesian' | 'italian' | 'hebrew' | 'japanese' | 'korean' | 'marathi' | 'malay' | 'dutch' | 'norwegian' | 'punjabi' | 'polish' | 'portuguese' | 'romanian' | 'russian' | 'swedish' | 'telugu' | 'thai' | 'tagalog' | 'turkish' | 'ukrainian' | 'vietnamese' | 'chinese_simplified' | 'chinese_traditional') | undefined, saved_search?: ({id: string, project_id: string, newest_results_only?: boolean | undefined}) | undefined, saved_filter?: string | undefined, location?: (Array<{id: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined, scope?: ('CURRENT' | 'OPEN_TO_RELOCATE_ONLY' | 'CURRENT_OR_OPEN_TO_RELOCATE') | undefined, title?: string | undefined}>) | undefined, location_within_area?: number | undefined, industry?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, role?: (Array<{id: string, title?: string | undefined, is_selection: boolean, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined, scope?: ('CURRENT_OR_PAST' | 'CURRENT' | 'PAST' | 'PAST_NOT_CURRENT' | 'OPEN_TO_WORK') | undefined} | {keywords: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined, scope?: ('CURRENT_OR_PAST' | 'CURRENT' | 'PAST' | 'PAST_NOT_CURRENT' | 'OPEN_TO_WORK') | undefined}>) | undefined, skills?: (Array<{id: string, title?: string | undefined, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined} | {keywords: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined}>) | undefined, company?: (Array<{id: string, name?: string | undefined, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined, scope?: ('CURRENT_OR_PAST' | 'CURRENT' | 'PAST' | 'PAST_NOT_CURRENT') | undefined} | {keywords: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined, scope?: ('CURRENT_OR_PAST' | 'CURRENT' | 'PAST' | 'PAST_NOT_CURRENT') | undefined}>) | undefined, company_headcount?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, current_company?: (Array<{id: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined}>) | undefined, past_company?: (Array<{id: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined}>) | undefined, school?: (Array<{id: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined}>) | undefined, degree?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, employment_type?: (Array<'FULL_TIME' | 'PART_TIME' | 'CONTRACT' | 'INTERNSHIP'>) | undefined, groups?: Array | undefined, graduation_year?: ({min?: number | undefined, max?: number | undefined}) | undefined, tenure?: ({min?: number | undefined, max?: number | undefined}) | undefined, tenure_in_company?: ({min?: number | undefined, max?: number | undefined}) | undefined, tenure_in_position?: ({min?: number | undefined, max?: number | undefined}) | undefined, seniority?: ({include?: (Array<'owner' | 'partner' | 'cxo' | 'vp' | 'director' | 'manager' | 'senior' | 'entry' | 'training' | 'unpaid'>) | undefined, exclude?: (Array<'owner' | 'partner' | 'cxo' | 'vp' | 'director' | 'manager' | 'senior' | 'entry' | 'training' | 'unpaid'>) | undefined}) | undefined, function?: Array | undefined, network_distance?: (Array) | undefined, spoken_languages?: (Array<{language: string, priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined, scope?: ('ELEMENTARY' | 'LIMITED_WORKING' | 'PROFESSIONAL_WORKING' | 'FULL_PROFESSIONAL' | 'NATIVE_OR_BILINGUAL') | undefined}>) | undefined, hide_previously_viewed?: {timespan: number} | undefined, profile_language?: Array | undefined, recently_joined?: (Array<{min?: number | undefined, max?: number | undefined}>) | undefined, spotlights?: (Array<'OPEN_TO_WORK' | 'ACTIVE_TALENT' | 'REDISCOVERED_CANDIDATES' | 'INTERNAL_CANDIDATES' | 'INTERESTED_IN_YOUR_COMPANY' | 'HAVE_COMPANY_CONNECTIONS'>) | undefined, first_name?: Array | undefined, last_name?: Array | undefined, has_military_background?: boolean | undefined, past_applicants?: boolean | undefined, hiring_projects?: ({include?: Array | undefined, exclude?: Array | undefined}) | undefined, recruiting_activity?: (Array<{id: 'messages' | 'tags' | 'notes' | 'projects' | 'resumes' | 'reviews', priority?: ('CAN_HAVE' | 'MUST_HAVE' | 'DOESNT_HAVE') | undefined, timespan?: number | undefined}>) | undefined, notes?: Array | undefined} | {url: string} | {cursor: string}}; export type CreateApiApiV1LinkedinSearchOptions = {baseUrl?: string | undefined, AccessToken?: string | undefined, fetch?: typeof fetch | undefined}; export const createApiApiV1LinkedinSearchResponse = z.object({object: z.literal("LinkedinSearch"), items: z.array(z.union([z.object({object: z.literal("SearchResult"), type: z.literal("PEOPLE"), id: z.string(), public_identifier: z.union([z.string(), z.unknown()]), public_profile_url: z.union([z.string(), z.unknown()]), profile_url: z.union([z.string(), z.unknown()]), profile_picture_url: z.union([z.string(), z.unknown()]), profile_picture_url_large: z.union([z.string(), z.unknown()]), member_urn: z.union([z.string(), z.unknown()]), name: z.union([z.string(), z.unknown()]), first_name: z.string().optional(), last_name: z.string().optional(), network_distance: z.union([z.literal("SELF"), z.literal("DISTANCE_1"), z.literal("DISTANCE_2"), z.literal("DISTANCE_3"), z.literal("OUT_OF_NETWORK")]), location: z.union([z.string(), z.unknown()]), industry: z.union([z.string(), z.unknown()]), keywords_match: z.string().optional(), headline: z.string(), connections_count: z.number().optional(), followers_count: z.number().optional(), pending_invitation: z.boolean().optional(), can_send_inmail: z.boolean().optional(), hiddenCandidate: z.boolean().optional(), interestLikelihood: z.string().optional(), privacySettings: z.object({allowConnectionsBrowse: z.boolean(), showPremiumSubscriberIcon: z.boolean()}).optional(), skills: z.array(z.object({name: z.string(), endorsement_count: z.number()})).optional(), recruiter_candidate_id: z.string().optional(), recruiter_pipeline_category: z.string().optional(), premium: z.boolean().optional(), verified: z.boolean().optional(), shared_connections_count: z.number().optional(), recent_posts_count: z.number().optional(), recently_hired: z.boolean().optional(), mentioned_in_the_news: z.boolean().optional(), last_outreach_activity: z.object({type: z.union([z.literal("SEND_MESSAGE"), z.literal("ACCEPT_INVITATION")]), performed_at: z.string()}).optional(), current_positions: z.array(z.object({company: z.string(), company_id: z.union([z.string(), z.unknown()]), company_url: z.union([z.string(), z.unknown()]), company_description: z.union([z.string(), z.unknown()]), company_headcount: z.union([z.object({min: z.number().optional(), max: z.number().optional()}), z.unknown()]), logo: z.union([z.string(), z.unknown()]), description: z.union([z.string(), z.unknown()]), role: z.string(), location: z.union([z.string(), z.unknown()]), industry: z.array(z.string()), tenure_at_role: z.object({years: z.number().optional(), months: z.number().optional()}).optional(), tenure_at_company: z.object({years: z.number().optional(), months: z.number().optional()}).optional(), start: z.object({year: z.number().optional(), month: z.number().optional()}).optional(), end: z.object({year: z.number().optional(), month: z.number().optional()}).optional(), skills: z.union([z.array(z.object({name: z.string(), endorsement_count: z.number()})), z.unknown()])})).optional(), education: z.array(z.object({degree: z.union([z.string(), z.unknown()]), field_of_study: z.union([z.string(), z.unknown()]), school: z.string(), school_id: z.union([z.string(), z.unknown()]), start: z.object({year: z.number().optional(), month: z.number().optional()}), end: z.object({year: z.number().optional(), month: z.number().optional()}).optional(), school_details: z.object({name: z.string(), employeeCount: z.number(), location: z.string(), description: z.string(), url: z.string(), logo: z.union([z.string(), z.unknown()])}).optional()})).optional(), work_experience: z.array(z.object({company: z.string(), company_id: z.union([z.string(), z.unknown()]), company_url: z.union([z.string(), z.unknown()]), company_description: z.union([z.string(), z.unknown()]), company_headcount: z.union([z.object({min: z.number().optional(), max: z.number().optional()}), z.unknown()]), logo: z.union([z.string(), z.unknown()]), role: z.string(), industry: z.union([z.string(), z.unknown()]), description: z.union([z.string(), z.unknown()]), start: z.object({year: z.number().optional(), month: z.number().optional()}), end: z.object({year: z.number().optional(), month: z.number().optional()}).optional(), skills: z.union([z.array(z.object({name: z.string(), endorsement_count: z.number()})), z.unknown()])})).optional(), certifications: z.array(z.object({name: z.string(), organization: z.string(), organization_id: z.union([z.string(), z.unknown()]), url: z.string().optional(), start: z.object({year: z.number(), month: z.string().optional()}).optional(), end: z.object({year: z.number(), month: z.string().optional()}).optional()})).optional(), projects: z.array(z.object({name: z.string(), description: z.string(), skills: z.array(z.string()), start: z.object({year: z.number(), month: z.string().optional()}).optional(), end: z.object({year: z.number(), month: z.string().optional()}).optional()})).optional(), interests: z.string().optional(), tags: z.array(z.object({id: z.string(), name: z.string()})).optional(), notes: z.array(z.object({project_id: z.string(), content: z.string(), created_at: z.number(), author: z.object({id: z.string(), seat_id: z.string(), first_name: z.string(), last_name: z.string(), public_profile_url: z.boolean()}).optional()})).optional()}), z.object({object: z.literal("SearchResult"), type: z.literal("COMPANY"), id: z.string(), name: z.string(), location: z.union([z.string(), z.unknown()]), profile_url: z.string(), industry: z.string(), summary: z.union([z.string(), z.unknown()]), followers_count: z.number().optional(), job_offers_count: z.number().optional(), headcount: z.string().optional(), revenue_range: z.object({min: z.number(), max: z.number(), currency: z.string()}).optional()}), z.object({object: z.literal("SearchResult"), type: z.literal("POST"), provider: z.literal("LINKEDIN"), id: z.string().min(1), social_id: z.string(), share_url: z.string(), title: z.string().optional(), text: z.string(), date: z.string(), parsed_datetime: z.string(), reaction_counter: z.number(), comment_counter: z.number(), repost_counter: z.number(), impressions_counter: z.number(), user_reacted: z.enum(["LIKE", "PRAISE", "APPRECIATION", "EMPATHY", "INTEREST", "ENTERTAINMENT"]).optional(), author: z.object({public_identifier: z.union([z.string(), z.unknown()]), id: z.union([z.string(), z.unknown()]), name: z.union([z.string(), z.unknown()]), is_company: z.boolean(), headline: z.string().optional(), profile_picture_url: z.string().optional()}), written_by: z.object({id: z.string(), public_identifier: z.string(), name: z.string()}).optional(), permissions: z.object({can_react: z.boolean(), can_share: z.boolean(), can_post_comments: z.boolean()}), is_repost: z.boolean(), repost_id: z.string().optional(), repost_parsed_datetime: z.string().optional(), reposted_by: z.object({public_identifier: z.union([z.string(), z.unknown()]), id: z.union([z.string(), z.unknown()]), name: z.union([z.string(), z.unknown()]), is_company: z.boolean(), headline: z.string().optional(), profile_picture_url: z.string().optional()}).optional(), repost_content: z.object({id: z.string().min(1), date: z.string(), parsed_datetime: z.string(), attachments: z.array(z.union([z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("img"), size: z.object({width: z.number(), height: z.number()}), sticker: z.boolean()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("video"), size: z.object({width: z.number(), height: z.number()}), gif: z.boolean()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("audio"), duration: z.number().optional(), voice_note: z.boolean()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("file"), file_name: z.string()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("linkedin_post")}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("video_meeting"), starts_at: z.union([z.number(), z.unknown()]), expires_at: z.union([z.number(), z.unknown()]), time_range: z.union([z.number(), z.unknown()])}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("media_share"), post: z.object({url: z.string(), author: z.string().optional(), author_id: z.string().optional(), author_messaging_id: z.string().optional(), description: z.string().optional()}).optional(), story: z.object({url: z.string(), author: z.string().optional()}).optional(), cta: z.object({text: z.string(), type: z.string(), url: z.string().optional()}).optional(), link: z.object({text: z.string(), url: z.string(), title: z.string(), summary: z.string(), image_url: z.string()}).optional(), video_call: z.object({type: z.string(), description: z.string(), duration: z.number(), start_time: z.number(), end_time: z.number()}).optional()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("profile"), profile: z.object({id: z.string(), profile_pic_url: z.string(), is_verified: z.boolean(), username: z.string(), full_name: z.string(), is_private: z.boolean(), instagram_messaging_id: z.string().optional()})}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("contact_card"), display_name: z.union([z.string(), z.unknown()]), phones: z.array(z.object({number: z.string(), type: z.string().optional()})), emails: z.array(z.object({address: z.string(), type: z.string().optional()})), organization: z.union([z.string(), z.unknown()])}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("poll"), poll: z.object({question: z.string(), options: z.array(z.object({text: z.string(), voter_count: z.number()})), description: z.union([z.string(), z.unknown()]), type: z.union([z.literal("regular"), z.literal("quiz")]), is_anonymous: z.boolean(), allows_multiple_answers: z.boolean()})})])), author: z.object({public_identifier: z.union([z.string(), z.unknown()]), id: z.union([z.string(), z.unknown()]), name: z.union([z.string(), z.unknown()]), is_company: z.boolean(), headline: z.string().optional(), profile_picture_url: z.string().optional()}), text: z.string()}).optional(), mentions: z.array(z.object({url: z.string(), start: z.number(), length: z.number()})), attachments: z.array(z.union([z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("img"), size: z.object({width: z.number(), height: z.number()}), sticker: z.boolean()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("video"), size: z.object({width: z.number(), height: z.number()}), gif: z.boolean()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("audio"), duration: z.number().optional(), voice_note: z.boolean()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("file"), file_name: z.string()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("linkedin_post")}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("video_meeting"), starts_at: z.union([z.number(), z.unknown()]), expires_at: z.union([z.number(), z.unknown()]), time_range: z.union([z.number(), z.unknown()])}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("media_share"), post: z.object({url: z.string(), author: z.string().optional(), author_id: z.string().optional(), author_messaging_id: z.string().optional(), description: z.string().optional()}).optional(), story: z.object({url: z.string(), author: z.string().optional()}).optional(), cta: z.object({text: z.string(), type: z.string(), url: z.string().optional()}).optional(), link: z.object({text: z.string(), url: z.string(), title: z.string(), summary: z.string(), image_url: z.string()}).optional(), video_call: z.object({type: z.string(), description: z.string(), duration: z.number(), start_time: z.number(), end_time: z.number()}).optional()}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("profile"), profile: z.object({id: z.string(), profile_pic_url: z.string(), is_verified: z.boolean(), username: z.string(), full_name: z.string(), is_private: z.boolean(), instagram_messaging_id: z.string().optional()})}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("contact_card"), display_name: z.union([z.string(), z.unknown()]), phones: z.array(z.object({number: z.string(), type: z.string().optional()})), emails: z.array(z.object({address: z.string(), type: z.string().optional()})), organization: z.union([z.string(), z.unknown()])}), z.object({id: z.string(), file_size: z.number().optional(), unavailable: z.boolean(), mimetype: z.string().optional(), url: z.string().optional(), url_expires_at: z.number().optional(), type: z.literal("poll"), poll: z.object({question: z.string(), options: z.array(z.object({text: z.string(), voter_count: z.number()})), description: z.union([z.string(), z.unknown()]), type: z.union([z.literal("regular"), z.literal("quiz")]), is_anonymous: z.boolean(), allows_multiple_answers: z.boolean()})})])), poll: z.object({id: z.string().min(1), total_votes_count: z.number(), question: z.string(), is_open: z.boolean(), options: z.array(z.object({id: z.string().min(1), text: z.string(), win: z.boolean(), votes_count: z.number()}))}).optional(), group: z.object({id: z.string(), name: z.string(), private: z.boolean()}).optional(), job_posting: z.object({id: z.union([z.string(), z.unknown()]), title: z.string(), location: z.string(), company: z.object({id: z.union([z.string(), z.unknown()]), name: z.union([z.string(), z.unknown()]), picture_url: z.string().optional()})}).optional(), article: z.object({id: z.union([z.string(), z.unknown()]), title: z.string(), url: z.string().optional(), author: z.string().optional(), published_at: z.string().optional(), excerpt: z.string().optional(), picture_url: z.string().optional()}).optional(), analytics: z.object({impressions: z.number().optional(), engagements: z.number().optional(), engagement_rate: z.number().optional(), clicks: z.number().optional(), clickthrough_rate: z.number().optional(), page_viewers_from_this_post: z.number().optional(), followers_gained_from_this_post: z.number().optional(), members_reached: z.number().optional()}).optional()}), z.object({object: z.literal("SearchResult"), type: z.literal("JOB"), id: z.string(), reference_id: z.string(), title: z.string(), location: z.union([z.string(), z.unknown()]), posted_at: z.union([z.string(), z.unknown()]), reposted: z.boolean(), url: z.string(), promoted: z.boolean(), benefits: z.array(z.string()), easy_apply: z.boolean(), company: z.union([z.object({id: z.union([z.string(), z.unknown()]), public_identifier: z.union([z.string(), z.unknown()]), name: z.union([z.string(), z.unknown()]), profile_url: z.union([z.string(), z.unknown()]), profile_picture_url: z.union([z.string(), z.unknown()])}), z.unknown()])})])), config: z.object({params: z.union([z.object({api: z.literal("classic"), category: z.literal("people"), keywords: z.string().optional(), industry: z.array(z.string()).optional(), location: z.array(z.string()).optional(), profile_language: z.array(z.string().min(2).max(2)).optional(), network_distance: z.array(z.union([z.literal(1), z.literal(2), z.literal(3)])).optional(), company: z.array(z.string()).optional(), past_company: z.array(z.string()).optional(), school: z.array(z.string()).optional(), service: z.array(z.string()).optional(), connections_of: z.array(z.string()).optional(), followers_of: z.array(z.string()).optional(), open_to: z.array(z.enum(["proBono", "boardMember"])).optional(), advanced_keywords: z.object({first_name: z.string().optional(), last_name: z.string().optional(), title: z.string().optional(), company: z.string().optional(), school: z.string().optional()}).optional()}), z.object({api: z.literal("classic"), category: z.literal("companies"), keywords: z.string().optional(), industry: z.array(z.string()).optional(), location: z.array(z.string()).optional(), has_job_offers: z.boolean().optional(), headcount: z.array(z.object({min: z.union([z.literal(1), z.literal(11), z.literal(51), z.literal(201), z.literal(501), z.literal(1001), z.literal(5001), z.literal(10001)]).optional(), max: z.union([z.literal(1), z.literal(10), z.literal(50), z.literal(200), z.literal(500), z.literal(1000), z.literal(5000), z.literal(10000)]).optional()})).optional(), network_distance: z.array(z.union([z.literal(1), z.literal(2), z.literal(3)])).optional()}), z.object({api: z.literal("classic"), category: z.literal("posts"), keywords: z.string().optional(), sort_by: z.enum(["relevance", "date"]).optional(), date_posted: z.enum(["past_day", "past_week", "past_month"]).optional(), content_type: z.enum(["videos", "images", "live_videos", "collaborative_articles", "documents", "jobs"]).optional(), posted_by: z.object({member: z.array(z.string()).optional(), company: z.array(z.string()).optional(), me: z.boolean().optional(), first_connections: z.boolean().optional(), people_you_follow: z.boolean().optional()}).optional(), mentioning: z.object({member: z.array(z.string()).optional(), company: z.array(z.string()).optional()}).optional(), author: z.object({industry: z.array(z.string()).optional(), company: z.array(z.string()).optional(), keywords: z.string().optional()}).optional()}), z.object({api: z.literal("classic"), category: z.literal("jobs"), keywords: z.string().optional(), sort_by: z.enum(["relevance", "date"]).optional(), date_posted: z.number().optional(), region: z.string().optional(), location: z.array(z.string()).optional(), location_within_area: z.number().optional(), industry: z.array(z.string()).optional(), seniority: z.array(z.enum(["executive", "director", "mid_senior", "associate", "entry", "intern"])).optional(), function: z.array(z.string()).optional(), role: z.array(z.string()).optional(), job_type: z.array(z.enum(["full_time", "part_time", "contract", "temporary", "volunteer", "internship", "other"])).optional(), company: z.array(z.string()).optional(), presence: z.array(z.enum(["on_site", "hybrid", "remote"])).optional(), easy_apply: z.boolean().optional(), has_verifications: z.boolean().optional(), under_10_applicants: z.boolean().optional(), in_your_network: z.boolean().optional(), fair_chance_employer: z.boolean().optional(), benefits: z.array(z.enum(["medical_insurance", "vision_insurance", "dental_insurance", "disability_insurance", "401(k)", "pension_plan", "paid_maternity_leave", "paid_paternity_leave", "commuter_benefits", "student_loan_assistance", "tuition_assistance"])).optional(), commitments: z.array(z.enum(["career_growth_and_learning", "diversity_equity_and_inclusion", "environmental_sustainability", "social_impact", "work_life_balance"])).optional(), minimum_salary: z.union([z.object({currency: z.union([z.literal("USD"), z.literal("AUD"), z.literal("CAD")]), value: z.union([z.literal(40), z.literal(60), z.literal(80), z.literal(100), z.literal(120), z.literal(140), z.literal(160), z.literal(180), z.literal(200)])}), z.object({currency: z.literal("GBP"), value: z.union([z.literal(20), z.literal(30), z.literal(40), z.literal(50), z.literal(60), z.literal(70), z.literal(80), z.literal(90), z.literal(100)])})]).optional()}), z.object({api: z.literal("sales_navigator"), category: z.literal("people"), keywords: z.string().optional(), last_viewed_at: z.number().optional(), saved_search_id: z.string().optional(), recent_search_id: z.string().optional(), location: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), location_by_postal_code: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional(), within_area: z.number().optional()}).optional(), industry: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), first_name: z.string().optional(), last_name: z.string().optional(), tenure: z.array(z.object({min: z.union([z.literal(0), z.literal(1), z.literal(3), z.literal(6), z.literal(10)]).optional(), max: z.union([z.literal(1), z.literal(2), z.literal(5), z.literal(10)]).optional()})).optional(), groups: z.array(z.string()).optional(), school: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), profile_language: z.array(z.string().min(2).max(2)).optional(), company: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), company_headcount: z.array(z.object({min: z.union([z.literal(1), z.literal(11), z.literal(51), z.literal(201), z.literal(501), z.literal(1001), z.literal(5001), z.literal(10001)]).optional(), max: z.union([z.literal(1), z.literal(10), z.literal(50), z.literal(200), z.literal(500), z.literal(1000), z.literal(5000), z.literal(10000)]).optional()})).optional(), company_type: z.array(z.enum(["public_company", "privately_held", "non_profit", "educational_institution", "partnership", "self_employed", "self_owned", "government_agency"])).optional(), company_location: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), tenure_at_company: z.array(z.object({min: z.union([z.literal(0), z.literal(1), z.literal(3), z.literal(6), z.literal(10)]).optional(), max: z.union([z.literal(1), z.literal(2), z.literal(5), z.literal(10)]).optional()})).optional(), past_company: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), function: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), role: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), tenure_at_role: z.array(z.object({min: z.union([z.literal(0), z.literal(1), z.literal(3), z.literal(6), z.literal(10)]).optional(), max: z.union([z.literal(1), z.literal(2), z.literal(5), z.literal(10)]).optional()})).optional(), seniority: z.object({include: z.array(z.enum(["owner/partner", "cxo", "vice_president", "director", "experienced_manager", "entry_level_manager", "strategic", "senior", "entry_level", "in_training"])).optional(), exclude: z.array(z.enum(["owner/partner", "cxo", "vice_president", "director", "experienced_manager", "entry_level_manager", "strategic", "senior", "entry_level", "in_training"])).optional()}).optional(), past_role: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), following_your_company: z.boolean().optional(), viewed_your_profile_recently: z.boolean().optional(), network_distance: z.array(z.union([z.union([z.literal(1), z.literal(2), z.literal(3)]), z.literal("GROUP")])).optional(), connections_of: z.array(z.string()).optional(), past_colleague: z.boolean().optional(), shared_experiences: z.boolean().optional(), changed_jobs: z.boolean().optional(), posted_on_linkedin: z.boolean().optional(), mentionned_in_news: z.boolean().optional(), persona: z.array(z.string()).optional(), account_lists: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), lead_lists: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), viewed_profile_recently: z.boolean().optional(), messaged_recently: z.boolean().optional(), include_saved_leads: z.boolean().optional(), include_saved_accounts: z.boolean().optional(), save_search: z.object({name: z.string()}).optional()}), z.object({api: z.literal("sales_navigator"), category: z.literal("companies"), keywords: z.string().optional(), last_viewed_at: z.number().optional(), saved_search_id: z.string().optional(), recent_search_id: z.string().optional(), industry: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), location: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), location_by_postal_code: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional(), within_area: z.number().optional()}).optional(), has_job_offers: z.boolean().optional(), headcount: z.array(z.object({min: z.union([z.literal(1), z.literal(11), z.literal(51), z.literal(201), z.literal(501), z.literal(1001), z.literal(5001), z.literal(10001)]).optional(), max: z.union([z.literal(1), z.literal(10), z.literal(50), z.literal(200), z.literal(500), z.literal(1000), z.literal(5000), z.literal(10000)]).optional()})).optional(), headcount_growth: z.object({min: z.number().optional(), max: z.number().optional()}).optional(), department_headcount: z.object({department: z.array(z.string()), min: z.number().optional(), max: z.number().optional()}).optional(), department_headcount_growth: z.object({department: z.array(z.string()), min: z.number().optional(), max: z.number().optional()}).optional(), network_distance: z.array(z.union([z.literal(1), z.literal(2), z.literal(3)])).optional(), annual_revenue: z.object({currency: z.string().min(3).max(3), min: z.union([z.literal(0), z.literal(0.2), z.literal(1), z.literal(2.5), z.literal(5), z.literal(10), z.literal(20), z.literal(50), z.literal(100), z.literal(500), z.literal(1000), z.literal(1001)]), max: z.union([z.literal(0), z.literal(0.2), z.literal(1), z.literal(2.5), z.literal(5), z.literal(10), z.literal(20), z.literal(50), z.literal(100), z.literal(500), z.literal(1000), z.literal(1001)])}).optional(), followers_count: z.array(z.object({min: z.union([z.literal(1), z.literal(51), z.literal(101), z.literal(1001), z.literal(5001)]).optional(), max: z.union([z.literal(50), z.literal(100), z.literal(1000), z.literal(5000)]).optional()})).optional(), fortune: z.array(z.object({min: z.union([z.literal(0), z.literal(51), z.literal(101), z.literal(251)]).optional(), max: z.union([z.literal(50), z.literal(100), z.literal(250), z.literal(500)]).optional()})).optional(), technologies: z.array(z.string()).optional(), recent_activities: z.array(z.enum(["senior_leadership_changes", "funding_events"])).optional(), saved_accounts: z.array(z.string()).optional(), account_lists: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), save_search: z.object({name: z.string()}).optional()}), z.object({api: z.literal("recruiter"), category: z.literal("people"), keywords: z.string().min(1).optional(), locale: z.enum(["arabic", "bangla", "czech", "danish", "german", "greek", "english", "spanish", "persian", "finnish", "french", "hindi", "hungarian", "indonesian", "italian", "hebrew", "japanese", "korean", "marathi", "malay", "dutch", "norwegian", "punjabi", "polish", "portuguese", "romanian", "russian", "swedish", "telugu", "thai", "tagalog", "turkish", "ukrainian", "vietnamese", "chinese_simplified", "chinese_traditional"]).optional(), saved_search: z.object({id: z.string(), project_id: z.string(), newest_results_only: z.boolean().optional()}).optional(), saved_filter: z.string().optional(), location: z.array(z.object({id: z.string(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional(), scope: z.enum(["CURRENT", "OPEN_TO_RELOCATE_ONLY", "CURRENT_OR_OPEN_TO_RELOCATE"]).optional(), title: z.string().optional()})).optional(), location_within_area: z.number().optional(), industry: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), role: z.array(z.union([z.object({id: z.string(), title: z.string().optional(), is_selection: z.boolean(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional(), scope: z.enum(["CURRENT_OR_PAST", "CURRENT", "PAST", "PAST_NOT_CURRENT", "OPEN_TO_WORK"]).optional()}), z.object({keywords: z.string().min(1), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional(), scope: z.enum(["CURRENT_OR_PAST", "CURRENT", "PAST", "PAST_NOT_CURRENT", "OPEN_TO_WORK"]).optional()})])).optional(), skills: z.array(z.union([z.object({id: z.string(), title: z.string().optional(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional()}), z.object({keywords: z.string().min(1), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional()})])).optional(), company: z.array(z.union([z.object({id: z.string(), name: z.string().optional(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional(), scope: z.enum(["CURRENT_OR_PAST", "CURRENT", "PAST", "PAST_NOT_CURRENT"]).optional()}), z.object({keywords: z.string().min(1), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional(), scope: z.enum(["CURRENT_OR_PAST", "CURRENT", "PAST", "PAST_NOT_CURRENT"]).optional()})])).optional(), company_headcount: z.array(z.object({min: z.union([z.literal(1), z.literal(11), z.literal(51), z.literal(201), z.literal(501), z.literal(1001), z.literal(5001), z.literal(10001)]).optional(), max: z.union([z.literal(1), z.literal(10), z.literal(50), z.literal(200), z.literal(500), z.literal(1000), z.literal(5000), z.literal(10000)]).optional()})).optional(), current_company: z.array(z.object({id: z.string(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional()})).optional(), past_company: z.array(z.object({id: z.string(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional()})).optional(), school: z.array(z.object({id: z.string(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional()})).optional(), degree: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), employment_type: z.array(z.enum(["FULL_TIME", "PART_TIME", "CONTRACT", "INTERNSHIP"])).optional(), groups: z.array(z.string()).optional(), graduation_year: z.object({min: z.number().gte(1000).lte(9999).optional(), max: z.number().gte(1000).lte(9999).optional()}).optional(), tenure: z.object({min: z.number().optional(), max: z.number().optional()}).optional(), tenure_in_company: z.object({min: z.number().optional(), max: z.number().optional()}).optional(), tenure_in_position: z.object({min: z.number().optional(), max: z.number().optional()}).optional(), seniority: z.object({include: z.array(z.enum(["owner", "partner", "cxo", "vp", "director", "manager", "senior", "entry", "training", "unpaid"])).optional(), exclude: z.array(z.enum(["owner", "partner", "cxo", "vp", "director", "manager", "senior", "entry", "training", "unpaid"])).optional()}).optional(), function: z.array(z.string()).optional(), network_distance: z.array(z.union([z.union([z.literal(1), z.literal(2), z.literal(3)]), z.literal("GROUP")])).optional(), spoken_languages: z.array(z.object({language: z.string(), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional(), scope: z.enum(["ELEMENTARY", "LIMITED_WORKING", "PROFESSIONAL_WORKING", "FULL_PROFESSIONAL", "NATIVE_OR_BILINGUAL"]).optional()})).optional(), hide_previously_viewed: z.object({timespan: z.number()}).optional(), profile_language: z.array(z.string().min(2).max(2)).optional(), recently_joined: z.array(z.object({min: z.union([z.literal(2), z.literal(8), z.literal(15), z.literal(31)]).optional(), max: z.union([z.literal(1), z.literal(7), z.literal(14), z.literal(30), z.literal(90)]).optional()})).optional(), spotlights: z.array(z.enum(["OPEN_TO_WORK", "ACTIVE_TALENT", "REDISCOVERED_CANDIDATES", "INTERNAL_CANDIDATES", "INTERESTED_IN_YOUR_COMPANY", "HAVE_COMPANY_CONNECTIONS"])).optional(), first_name: z.array(z.string().min(1)).optional(), last_name: z.array(z.string().min(1)).optional(), has_military_background: z.boolean().optional(), past_applicants: z.boolean().optional(), hiring_projects: z.object({include: z.array(z.string()).optional(), exclude: z.array(z.string()).optional()}).optional(), recruiting_activity: z.array(z.object({id: z.enum(["messages", "tags", "notes", "projects", "resumes", "reviews"]), priority: z.enum(["CAN_HAVE", "MUST_HAVE", "DOESNT_HAVE"]).optional(), timespan: z.number().optional()})).optional(), notes: z.array(z.string().min(1)).optional()}), z.object({url: z.string()}), z.object({cursor: z.string().min(1)})]).optional()}), paging: z.object({start: z.union([z.number(), z.unknown()]), page_count: z.number(), total_count: z.union([z.number(), z.unknown()])}), cursor: z.union([z.string().min(1), z.unknown()]), metadata: z.object({search_history_id: z.string().optional(), search_context_id: z.string().optional(), search_request_id: z.string().optional()}).optional()}); 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 }; /** * Perform Linkedin search * * POST /api/v1/linkedin/search */ export const createApiApiV1LinkedinSearch = async (args: CreateApiApiV1LinkedinSearchArgs, options?: CreateApiApiV1LinkedinSearchOptions) => { const {baseUrl = "https://api1.unipile.com:13111", fetch: fetchFn = fetch, AccessToken} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args.cursor != null) query.append("cursor", String(args.cursor)) if (args.limit != null) query.append("limit", String(args.limit)) if (args.account_id != null) query.append("account_id", String(args.account_id)) if (AccessToken !== undefined) headers.set("X-API-KEY", AccessToken) const url = `${baseUrl.replace(/\/+$/, '')}/api/v1/linkedin/search${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(createApiApiV1LinkedinSearchResponse, await res.json()) };