PersonSearchRequest
queryobject · requiredRequired. Elasticsearch-style query DSL for searching. Supports bool queries with filter, must, must_not, and should clauses. Use terms, match, match_phrase, exists, range, and other Elasticsearch query types.
sizeinteger · min: 1 · max: 100Number of results to return (1-100)
Default: 10frominteger · min: 0Offset for pagination
Default: 0scroll_tokenstringToken for scrolling through large result sets
sortobject[]Array of sort specifications. Each item can specify a field and order (asc/desc). Defaults to sorting by relevance score (desc).
Default: [{"_score":"desc"}]
PersonSearchPageRequest
queryobject · requiredRequired. Elasticsearch-style query DSL. Same as PersonSearchRequest query.
sizeinteger · min: 1 · max: 100Number of results per page (1-100)
Default: 10pageinteger · min: 1Page number (1-based)
Default: 1sortobject[]Sort specifications. Defaults to relevance (_score desc).
Default: [{"_score":"desc"}]
PersonSearchResponse
statusintegerHTTP status code
totalintegerTotal number of matching results
scroll_tokenstringToken for pagination (if more results available)
dataobject[]Array of person records
PersonSearchPageResponse
dataobject[]Array of person records
totalintegerTotal number of matching results
pageintegerCurrent page number (1-based)
sizeintegerPage size (results per page)
total_pagesintegerTotal number of pages, computed as ceil(total / size) when
totalis present
ProspectSearchRequest
searchstringFree-text or boolean search string. Supports boolean operators (AND, OR, NOT), quoted phrases for exact matches, and parentheses for grouping — e.g.
("software engineer" OR developer) AND (python OR golang) NOT intern.pageinteger · min: 1Page number (1-based, max 100).
Default: 1sessionIdstringOptional session id for consistent results across paginated requests.
currentJobTitlesstringCurrent job titles, comma-separated (max 70).
pastJobTitlesstringPast job titles, comma-separated (max 70).
currentCompaniesstringCurrent company URLs/IDs, comma-separated (max 50).
pastCompaniesstringPast company URLs/IDs, comma-separated (max 50).
locationsstringLocation text, comma-separated (max 70). Defaults to United Arab Emirates when omitted.
geoIdsstringLinkedIn Geo IDs, comma-separated (overrides locations).
schoolsstringSchool URLs/IDs, comma-separated (max 50).
firstNamesstringFirst name filters, comma-separated (max 70).
lastNamesstringLast name filters, comma-separated (max 70).
industryIdsstringIndustry IDs, comma-separated (max 70).
seniorityLevelIdsstringSeniority level IDs, comma-separated.
functionIdsstringJob function IDs, comma-separated.
companyHeadcountstringCompany size filter, comma-separated.
recentlyChangedJobsbooleanOnly people who changed jobs within 90 days.
postedOnLinkedinbooleanOnly people who posted on LinkedIn in the last 30 days.
salesNavUrlstringLinkedIn Sales Navigator URL (overrides other filters except page).
ProspectSearchProfileRequest
searchstringFree-text or boolean search string. Supports boolean operators (AND, OR, NOT), quoted phrases for exact matches, and parentheses for grouping — e.g.
("software engineer" OR developer) AND (python OR golang) NOT intern.pageinteger · min: 1Page number (1-based, max 100).
Default: 1sessionIdstringOptional session id for consistent results across paginated requests.
currentJobTitlesstringCurrent job titles, comma-separated (max 70).
pastJobTitlesstringPast job titles, comma-separated (max 70).
currentCompaniesstringCurrent company URLs/IDs, comma-separated (max 50).
pastCompaniesstringPast company URLs/IDs, comma-separated (max 50).
locationsstringLocation text, comma-separated (max 70). Defaults to United Arab Emirates when omitted.
geoIdsstringLinkedIn Geo IDs, comma-separated (overrides locations).
schoolsstringSchool URLs/IDs, comma-separated (max 50).
firstNamesstringFirst name filters, comma-separated (max 70).
lastNamesstringLast name filters, comma-separated (max 70).
industryIdsstringIndustry IDs, comma-separated (max 70).
seniorityLevelIdsstringSeniority level IDs, comma-separated.
functionIdsstringJob function IDs, comma-separated.
companyHeadcountstringCompany size filter, comma-separated.
recentlyChangedJobsbooleanOnly people who changed jobs within 90 days.
postedOnLinkedinbooleanOnly people who posted on LinkedIn in the last 30 days.
salesNavUrlstringLinkedIn Sales Navigator URL (overrides other filters except page).
limitinteger · min: 1 · max: 25Maximum number of leads to enrich with a full profile (default 10, max 25).
Default: 10findEmailstringFind and verify email via SMTP when enriching profiles.
skipSmtpstringSkip SMTP verification when finding emails.
includeAboutProfilestringInclude the 'About this profile' popup data.
ProspectProfileRequest
urlstringLinkedIn profile URL.
publicIdentifierstringPublic identifier of the profile (the /in/
slug). profileIdstringLinkedIn profile ID.
findEmailstringFind and verify email via SMTP.
skipSmtpstringSkip SMTP verification when finding emails.
mainstringReturn only the main version with limited data for fewer credits.
includeAboutProfilestringInclude the 'About this profile' popup data.
ProspectPerson
idstringUnique person identifier
elastic_scorenumberElastic relevance score (_score)
full_namestringFull name
first_namestringFirst name
last_namestringLast name
middle_namestringMiddle name
emailstringPrimary email address
emailsstring[]Array of email addresses
phonesstring[]Array of phone numbers (alternative to phone_numbers)
phone_numbersstring[]Array of phone numbers
job_titlestringCurrent job title
companystringCurrent company name (alternative to company_name)
company_namestringCurrent company name
locationstringLocation string (e.g., 'Bengaluru, India')
location_namesstring[]Array of location names
profilesSocial media profiles (can be object or array format)
educationobject[]Education history
experienceobject[]Work experience history
skillsstring[]List of skills
interestsstring[]List of interests
job_company_linkedin_urlstringLinkedIn URL of the current company.
job_company_idstringCompany identifier for the current position.
picture_urlstringProfile picture URL.
premiumbooleanWhether the person has a premium account.
open_profilebooleanWhether the profile is an open profile (messageable without a connection).
top_skillsstring[]Highlighted top skills.
connections_countintegerNumber of connections (profile lookups only).
follower_countintegerNumber of followers (profile lookups only).
open_to_workbooleanWhether the person is open to work (profile lookups only).
hiringbooleanWhether the person is hiring (profile lookups only).
ProspectSearchResponse
dataobject[]Array of person records.
totalintegerTotal number of matching leads.
pageintegerCurrent page number (1-based).
sizeintegerPage size.
total_pagesintegerTotal number of pages.
enriched_countintegerNumber of records enriched with a full profile (search-profile only).
PersonEnrichRequest
pdl_idstringUnique person identifier
first_namestringFirst name of the person
last_namestringLast name of the person
middle_namestringMiddle name of the person
full_namestringFull name of the person
emailstringEmail address
phone_numberstringPhone number (E.164 format recommended)
job_titlestringJob title or role
company_namestringCompany name
locationstringLocation (city, state, country, etc.)
schoolstringSchool or university name
profilestring[]Array of social profile URLs (LinkedIn, Twitter, etc.)
min_likelihoodinteger · min: 1 · max: 10Minimum match threshold (1-10)
include_if_matchedbooleanReturn only if match found
Default: false
PersonEnrichRequestV2
ninjagraph_idstringNinjaGraph person identifier.
first_namestringFirst name of the person
last_namestringLast name of the person
middle_namestringMiddle name of the person
full_namestringFull name of the person
emailstringEmail address
phone_numberstringPhone number (E.164 format recommended)
job_titlestringJob title or role
company_namestringCompany name
locationstringLocation (city, state, country, etc.)
schoolstringSchool or university name
profilestring[]Array of social profile URLs (LinkedIn, Twitter, etc.)
min_likelihoodinteger · min: 1 · max: 10Minimum match threshold (1-10)
include_if_matchedbooleanReturn only if match found
Default: false
PersonEnrichBulkRequestV2
requestsobject[] · minItems: 1 · maxItems: 100 · requiredArray of enrich request objects.
PersonEnrichResponse
statusintegerHTTP status code
likelihoodintegerMatch likelihood score (1-10)
dataEnriched person record, or null if no match found
dataset_versionstringDataset version identifier, if applicable
PersonEnrichData
idstringUnique person identifier
full_namestringFull name
first_namestringFirst name
middle_initialstringMiddle initial
middle_namestringMiddle name
last_initialstringLast initial
last_namestringLast name
sexstringSex (e.g., female, male)
birth_yearintegerBirth year
birth_datestringBirth date
work_emailstringWork email address
personal_emailsstring[]Personal email addresses
recommended_personal_emailstringRecommended personal email
mobile_phonestringMobile phone number
location_namestringFull location name (e.g., city, region, country)
location_localitystringLocality (city)
location_metrostringMetro area
location_regionstringRegion (state/province)
location_countrystringCountry
location_continentstringContinent
location_street_addressstringStreet address
location_address_line_2stringAddress line 2
location_postal_codestringPostal code
location_geostringGeo coordinates (lat,lon)
location_last_updatedstringWhen location was last updated (YYYY-MM-DD)
phone_numbersstring[]Phone numbers
emailsobject[]Emails with type (e.g., professional)
location_namesstring[]Location names
regionsstring[]Regions
countriesstring[]Countries
street_addressesstring[]Street addresses
Person
idstringUnique person identifier
elastic_scorenumberElastic relevance score (_score)
full_namestringFull name
first_namestringFirst name
last_namestringLast name
middle_namestringMiddle name
emailstringPrimary email address
emailsstring[]Array of email addresses
phonesstring[]Array of phone numbers (alternative to phone_numbers)
phone_numbersstring[]Array of phone numbers
job_titlestringCurrent job title
companystringCurrent company name (alternative to company_name)
company_namestringCurrent company name
locationstringLocation string (e.g., 'Bengaluru, India')
location_namesstring[]Array of location names
profilesSocial media profiles (can be object or array format)
educationobject[]Education history
experienceobject[]Work experience history
skillsstring[]List of skills
interestsstring[]List of interests
SocialProfile
networkstringSocial network name (e.g., linkedin, twitter, github)
urlstringProfile URL
usernamestringUsername on the platform
Education
schoolstringSchool or university name
degreesstring[]Array of degrees obtained
start_datestring · dateStart date (YYYY-MM-DD)
end_datestring · dateEnd date (YYYY-MM-DD)
Experience
companyobjecttitlestringJob title
start_datestring · dateStart date (YYYY-MM-DD)
end_datestring · dateEnd date (YYYY-MM-DD), null if current position
summarystringJob description or summary
QueryGeneratorSubmitRequest
job_descriptionstring · minLength: 1 · requiredRaw job description text. The agent extracts titles, skills, location, seniority, and other hiring criteria from this.
callback_urlstring · uri · requiredHTTPS webhook URL that receives progress and terminal events. Must be on the allowed domain list.
callback_secretstring · minLength: 1 · requiredShared secret used to HMAC-SHA256-sign every webhook payload (
X-Signatureheader).search_idstring · minLength: 1 · requiredYour reference ID. Echoed unchanged on every response and webhook event; never interpreted by the agent.
indexstringElasticsearch index to target. Defaults to
person.Default: personagent_reasoningbooleanControls how deeply the agent works the query.
false(default) — Extract criteria and generate the boolean search + Elasticsearch query only. No evaluate/optimize loop.true— Full reasoning mode: multiple iterations that evaluate hit results and optimize the query until confirmed.
Default: falseshould_emit_eventbooleanWhen
false, suppressesstep.progresswebhooks; you still receive the terminalrun.completed/run.failed.Default: trueoptionsobjectOptional tuning for the agent evaluator loop. Most relevant when
agent_reasoningistrue.
QueryGeneratorAcceptedResponse
task_idstringUnique run ID. Use for webhook correlation.
search_idstringYour reference ID, echoed from the request.
statusstring · enumInitial status after accept.
Enum values:ACCEPTED
CreditActivityLogsRequest
tenant_idstring · uuid · requiredTenant UUID to query. Required; not derived from the API key / JWT.
startDatestring · date · requiredRange start (ISO date).
endDatestring · date · requiredRange end (ISO date).
pageinteger · min: 1Default: 1pageSizeinteger · min: 1 · max: 100Default: 50attributesstring[]Optional attribute filter.
jobIdsstring[]Optional job ID filter.
sortBystring · enumEnum values:created_atunitsattributeDefault: created_atsortOrderstring · enumEnum values:ascdescDefault: desc
CreditActivityLogsResponse
rowsobject[]Activity rows for the requested page, ordered by sortBy/sortOrder. Empty array when nothing matches the filters.
total_countintegerTotal matching rows across the whole date range.
total_creditsnumberSum of
unitsacross all matching rows in the date range.total_pagesintegerNumber of pages at the requested pageSize. 0 when there are no matching rows.
pageintegerEcho of the resolved page number (clamped to >= 1).
page_sizeintegerEcho of the resolved page size (clamped to 1–100).
has_nextbooleanTrue when a further page exists.
has_prevbooleanTrue when an earlier page exists.
