DevelopersAPIsSearch APIsPeople Search APIs

People Search APIs

People Search APIs let you find and manage individual contacts using AI-powered query understanding, criteria-driven refinement, and asynchronous workflow execution.

Overview

The People Search system runs asynchronous workflows so you can start or refine contact searches, monitor progress, access results, and stop active runs.

The workflow includes:

  1. Start or Continue – Begin a new people search with a prompt, or extend an existing workflow by supplying its thread_id and a total_target
  2. Monitor status – Poll GET /status/{thread_id} with the thread_id returned from start or continue to fetch the current workflow snapshot (criteria, table structure, rows, state)
  3. Get results & lists – Use the Company Search Get Lists and Get Search Result endpoints today (people results are included). Dedicated GET /people-search/getLists and GET /people-search/getSearchResult/{thread_id} routes are coming soon.
  4. People enrichment – Start or stop asynchronous enrichment workflows on people search results
  5. Stop – Cancel an in-flight people workflow using its thread_id
  6. Search people – Query contacts directly from MongoDB using Atlas Search with structured path filters

Base URL: https://chordian-core.chordian.ai

Authentication: Bearer token (HTTPBearer) or API key cookie (APIKeyCookie). Send your API key in the header: Authorization: Bearer <api-key>.


Start a people search workflow.

The body must include a string prompt. The API forwards that JSON to the agent service via celery_task.execute_function with function_name="start_people_workflow". The workflow runs in the background; use the returned thread_id to poll status.

POST /people-search/start

Authentication: Authorization: Bearer <api-key>

Request Body

{
  "list_description": "VP Engineering leaders in fintech",
  "list_name": "Q3 prospects",
  "prompt": "Find VP-level engineering leaders at Series B fintech companies in the US",
  "search_mode": "fast"
}
FieldTypeRequiredDescription
promptstringNatural-language description of the people you want to find.
list_descriptionstringHuman-readable description for the resulting list.
list_namestringName for the resulting list.
search_modestringSearch mode (e.g. fast).

Successful Response (200 OK)

{
  "success": true,
  "message": "string",
  "thread_id": "string",
  "status": "processing"
}
FieldTypeDescription
successbooleantrue when the workflow was started successfully.
messagestringHuman-readable status message.
thread_idstringWorkflow thread identifier. Pass this to Get People Search Status (GET /people-search/status/{thread_id}), or use with Continue / Stop.
statusstringWorkflow state (e.g. processing).

Validation Error (422)

{
  "status_code": 422,
  "message": "Request validation failed",
  "errors": [
    {
      "field": "body.prompt",
      "message": "Field required",
      "type": "missing"
    }
  ],
  "data": null
}

Example

curl -X POST "https://chordian-core.chordian.ai/people-search/start" \
  -H "Authorization: Bearer <api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "list_description": "VP Engineering leaders in fintech",
    "list_name": "Q3 prospects",
    "prompt": "Find VP-level engineering leaders at Series B fintech companies in the US",
    "search_mode": "fast"
  }'

Continue an existing people search workflow.

The body must include thread_id and total_target. The API forwards that JSON to the agent service via celery_task.execute_function with function_name="continue_people_workflow".

POST /people-search/continue

Authentication: Authorization: Bearer <api-key>

Request Body

{
  "thread_id": "thread_abc123",
  "total_target": 200
}
FieldTypeRequiredDescription
thread_idstringIdentifier of the existing workflow thread to continue (the thread_id returned by Start People Search).
total_targetintegerTarget total number of people the workflow should aim to collect.

Successful Response (200 OK)

{
  "success": true,
  "thread_id": "string",
  "status": "continuing"
}
FieldTypeDescription
successbooleantrue when the continue request was accepted.
thread_idstringWorkflow thread identifier. Pass this to Get People Search Status (GET /people-search/status/{thread_id}).
statusstringWorkflow state (e.g. continuing).

Validation Error (422)

{
  "status_code": 422,
  "message": "Request validation failed",
  "errors": [
    {
      "field": "body.thread_id",
      "message": "Field required",
      "type": "missing"
    },
    {
      "field": "body.total_target",
      "message": "Field required",
      "type": "missing"
    }
  ],
  "data": null
}

Example

curl -X POST "https://chordian-core.chordian.ai/people-search/continue" \
  -H "Authorization: Bearer <api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "thread_id": "thread_xyz789",
    "total_target": 200
  }'

Get People Search Status

Poll the status of a previously started people workflow. Returns a snapshot of the workflow (criteria, table structure, rows, etc.) for the given thread_id.

GET /people-search/status/{thread_id}

Authentication: Authorization: Bearer <api-key>

Path Parameters

ParameterTypeRequiredDescription
thread_idstringPeople workflow thread identifier (the thread_id returned by Start or Continue).

Successful Response (200 OK)

A full snapshot of the workflow — overall status, search criteria, the result table (columns + rows), collected records, and progress counters.

{
  "success": true,
  "thread_id": "string",
  "current_step": "string",
  "category": "string",
  "criteria": [
    {
      "name": "string",
      "value": "string",
      "column_name": "string",
      "columnType": "string",
      "description": "string",
      "type": "string",
      "width": 0,
      "maxWidth": 0,
      "minWidth": 0
    }
  ],
  "error_message": "string",
  "total_target": 0,
  "table_structure": {
    "columns": [
      {
        "id": "string",
        "header": "string",
        "type": "fixed",
        "width": 0,
        "required": true,
        "columnType": "string",
        "dataType": "string",
        "maxWidth": 0,
        "minWidth": 0
      }
    ],
    "rows": [
      {
        "id": "string",
        "cells": {
          "additionalProp1": {
            "row_id": "string",
            "column_id": "string",
            "value": "string",
            "status": "string",
            "metadata": {
              "additionalProp1": {}
            },
            "expandable": false
          }
        },
        "step_source": "string",
        "metadata": {
          "additionalProp1": {}
        }
      }
    ],
    "total_target": 0,
    "current_count": 0
  },
  "all_companies": [
    {
      "additionalProp1": {}
    }
  ],
  "step_companies": {
    "additionalProp1": {}
  },
  "title": "string",
  "description": "string",
  "goal": "string",
  "processed_companies": [
    "string"
  ]
}
Top-level fields
FieldTypeDescription
successbooleantrue when the snapshot was produced successfully. Check error_message when false.
thread_idstringIdentifier of this workflow thread.
current_stepstringName of the step the workflow is currently executing.
categorystringWorkflow category / classification assigned by the agent.
criteriaarray<Criterion>Filtering / scoring criteria (see Criterion).
error_messagestringError description when the workflow fails; empty or null otherwise.
total_targetintegerTarget total number of records the workflow aims to collect.
table_structureobject<TableStructure>Schema and current contents of the result table (see TableStructure).
all_companiesarray<object>All records discovered across the workflow (wire field name; each item is an open object).
step_companiesobjectMap of step name → records surfaced in that step (wire field name).
titlestringHuman-readable title for the workflow / result set.
descriptionstringHuman-readable description of the workflow / result set.
goalstringGoal statement for the workflow.
processed_companiesarray<string>Identifiers of records the workflow has processed so far (wire field name).
Criterion (item of criteria[])
FieldTypeDescription
namestringCriterion name.
valuestringCurrent value / target for the criterion.
column_namestringResult-table column this criterion maps to.
columnTypestringUI column-type hint.
descriptionstringHuman-readable description.
typestringInternal criterion type.
widthintegerDefault column width (pixels).
maxWidthintegerMaximum column width.
minWidthintegerMinimum column width.
TableStructure (table_structure)
FieldTypeDescription
columnsarray<Column>Column definitions (see Column).
rowsarray<Row>Rows collected so far (see Row).
total_targetintegerTarget row count for this table.
current_countintegerNumber of rows currently in the table.
Column (item of table_structure.columns[])
FieldTypeDescription
idstringStable column identifier (used as cells key on each row).
headerstringDisplay label for the column.
typestringColumn type — typically fixed or dynamic-criterion columns.
widthintegerDefault column width (pixels).
requiredbooleanWhether the column must be populated for a complete row.
columnTypestringUI column-type hint.
dataTypestringUnderlying data type for cell values.
maxWidthintegerMaximum column width.
minWidthintegerMinimum column width.
Row (item of table_structure.rows[])
FieldTypeDescription
idstringStable row identifier.
cellsobject<string, Cell>Map of column id → cell value (see Cell).
step_sourcestringWorkflow step that produced this row.
metadataobjectArbitrary per-row metadata.
Cell (value in Row.cells)
FieldTypeDescription
row_idstringParent row identifier.
column_idstringColumn this cell belongs to.
valuestringCell value, serialized as a string.
statusstringCell status (e.g. pending, loaded, error).
metadataobjectArbitrary per-cell metadata.
expandablebooleantrue when a drill-down view is available.

Validation Error (422)

{
  "status_code": 422,
  "message": "Validation Error",
  "errors": [
    {
      "field": "path.thread_id",
      "message": "Field required",
      "type": "missing"
    }
  ],
  "data": null
}

Example

curl "https://chordian-core.chordian.ai/people-search/status/thread_abc123" \
  -H "Authorization: Bearer <api-key>"

Stop a running people-search workflow.

The path thread_id is forwarded to the agent service via celery_task.execute_function with function_name="stop_people_workflow".

POST /people-search/stop/{thread_id}

Authentication: Authorization: Bearer <api-key>

Path Parameters

ParameterTypeRequiredDescription
thread_idstringPeople workflow thread identifier (the thread_id returned by Start or Continue).

Successful Response (200 OK)

{
  "success": true,
  "thread_id": "string",
  "status": "stopping",
  "message": "string"
}
FieldTypeDescription
successbooleantrue when the stop request was accepted.
thread_idstringWorkflow thread identifier that is being stopped.
statusstringWorkflow state (e.g. stopping).
messagestringHuman-readable status message.

Validation Error (422)

{
  "status_code": 422,
  "message": "Validation Error",
  "errors": [
    {
      "field": "path.thread_id",
      "message": "Field required",
      "type": "missing"
    }
  ],
  "data": null
}

Example

curl -X POST "https://chordian-core.chordian.ai/people-search/stop/thread_abc123" \
  -H "Authorization: Bearer <api-key>"

Start People Enrichment

Start a people enrichment workflow on an existing people search thread.

POST /people-search/start-enrichment

Authentication: Authorization: Bearer <api-key>

Request Body

{
  "thread_id": "thread_abc123",
  "column_name": "string"
}
FieldTypeRequiredDescription
thread_idstringWorkflow thread identifier for the people search to enrich.
column_namestringColumn to enrich in the workflow result table.

Successful Response (200 OK)

{}
FieldTypeDescription
(response)objectEnrichment task details returned by the agent service.

Validation Error (422)

{
  "status_code": 422,
  "message": "Request validation failed",
  "errors": [
    {
      "field": "body.thread_id",
      "message": "Field required",
      "type": "missing"
    },
    {
      "field": "body.column_name",
      "message": "Field required",
      "type": "missing"
    }
  ],
  "data": null
}

Example

curl -X POST "https://chordian-core.chordian.ai/people-search/start-enrichment" \
  -H "Authorization: Bearer <api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "thread_id": "thread_xyz789",
    "column_name": "email"
  }'

Stop People Enrichment

Stop a running people enrichment workflow.

POST /people-search/stop-enrichment/{thread_id}

Authentication: Authorization: Bearer <api-key>

Path Parameters

ParameterTypeRequiredDescription
thread_idstringPeople workflow thread identifier for the enrichment run to stop.

Successful Response (200 OK)

{}
FieldTypeDescription
(response)objectEnrichment task details returned by the agent service.

Validation Error (422)

{
  "status_code": 422,
  "message": "Validation Error",
  "errors": [],
  "data": null
}

Example

curl -X POST "https://chordian-core.chordian.ai/people-search/stop-enrichment/thread_abc123" \
  -H "Authorization: Bearer <api-key>"

Coming soon: GET /people-search/getLists and GET /people-search/getSearchResult/{thread_id} are not available yet. Use the Company Search endpoints below to fetch lists and thread results for people workflows today — responses include people search data as well as company data.

Get Lists

Get all lists for the current tenant (company and people workflows).

See Get Lists in Company Search APIs for the full reference.

GET /company-search/getLists

Authentication: Authorization: Bearer <api-key>

Successful Response (200 OK)

{
  "success": true,
  "data": [
    {
      "id": "string",
      "listLinkID": "string",
      "createdAt": "string",
      "listDescription": "string",
      "listName": "string",
      "listStatus": "string",
      "listType": "string",
      "noOfRecords": 0,
      "title": "string",
      "subtitle": "string",
      "author": 0,
      "type": "string"
    }
  ],
  "total": 0
}
FieldTypeDescription
successbooleantrue when lists were retrieved successfully.
dataarray<ListItem>List records for the current tenant (see ListItem). Includes people and company lists.
totalintegerTotal number of lists returned.
ListItem (item of data[])
FieldTypeDescription
idstringList identifier.
listLinkIDstringLinked list ID.
createdAtstringISO timestamp when the list was created.
listDescriptionstringList description.
listNamestringList name.
listStatusstringCurrent list status.
listTypestringList type classification.
noOfRecordsintegerNumber of records in the list.
titlestringDisplay title.
subtitlestringDisplay subtitle.
authorintegerAuthor identifier.
typestringType label.

Example

curl "https://chordian-core.chordian.ai/company-search/getLists" \
  -H "Authorization: Bearer <api-key>"

Get Search Result

Get the search result for a given thread (use the thread_id from your people search workflow).

See Get Search Result in Company Search APIs for the full reference.

GET /company-search/getSearchResult/{thread_id}

Authentication: Authorization: Bearer <api-key>

Path Parameters

ParameterTypeRequiredDescription
thread_idstringWorkflow thread identifier (e.g. from Start People Search)

Successful Response (200 OK)

{
  "success": true,
  "thread_id": "string",
  "list_id": "string",
  "status": "string",
  "list_name": "string",
  "list_description": "string",
  "list_type": "string",
  "total_target": 0,
  "criteria": [
    {
      "name": "string",
      "value": "string",
      "column_name": "string",
      "type": "string"
    }
  ],
  "results": [
    {
      "additionalProp1": {}
    }
  ],
  "count": 0,
  "created_at": "string",
  "updated_at": "string"
}
FieldTypeDescription
successbooleantrue when the result was retrieved successfully.
thread_idstringWorkflow thread identifier.
list_idstringAssociated list identifier.
statusstringResult / workflow status.
list_namestringName of the list.
list_descriptionstringDescription of the list.
list_typestringList type classification.
total_targetintegerTarget number of records for this search.
criteriaarray<object>Criteria used for the search (each item has name, value, column_name, type).
resultsarray<object>Result rows — includes people records from people search workflows (open shape per item).
countintegerNumber of results returned.
created_atstringISO timestamp when the result was created.
updated_atstringISO timestamp when the result was last updated.

Example

curl "https://chordian-core.chordian.ai/company-search/getSearchResult/thread_abc123" \
  -H "Authorization: Bearer <api-key>"

Search People

Search people from MongoDB using Atlas Search. Pass one or more field name values in the path array to control which attributes are matched against your query.

For nested fields, use the full dot-notation name from the table below (for example, personalInfo.linkedin_url or currentJobInfo.current_employer).

Searchable attributes

Use the Name column values in your request path array.

NameLabelDescription
fullNameNameThe full name of the contact.
personalInfo.profileImageProfile ImageURL or reference to the contact’s profile image.
personalInfo.linkedin_urlLinkedInLinkedIn profile URL of the contact.
personalInfo.locationLocationThe contact’s location, typically city, region, or country.
positionCurrent Job TitleThe contact’s current job title or role.
currentJobInfo.current_employerCompany NameThe name of the company where the person currently works.
currentJobInfo.current_employer_idCurrent Employer IDUnique identifier for the person’s current employer.
currentJobInfo.current_employer_domainCurrent Employer DomainThe official website domain of the organization where the person is currently employed.
currentJobInfo.current_employer_websiteCurrent Employer WebsiteThe official website of the organization where the person currently works.
currentJobInfo.current_employer_linkedin_urlCurrent Employer LinkedIn URLThe LinkedIn company page URL of the person’s current employer.
personalInfo.birth_yearBirth YearThe year in which the individual was born.
personalInfo.region_latitudeLatitudeGeographic latitude coordinate for the individual’s region or location.
personalInfo.region_longitudeLongitudeGeographic longitude coordinate for the individual’s region or location.
personalInfo.cityCityThe city where the individual currently resides.
personalInfo.regionRegionThe state, province, or broader geographic region where the individual resides.
personalInfo.countryCountryThe country where the individual resides or is associated with.
personalInfo.country_codeCountry CodeISO country code (e.g. alpha-2) representing the individual’s country.
personalInfo.educationEducationAcademic background, including degrees, institutions, and fields of study.
skillsSkillsProfessional skills and expertise, including technical, soft, and domain-specific competencies.
links.angellistAngelList URLThe contact’s AngelList profile URL.
links.twitterTwitterThe Twitter profile URL or handle of the contact.
links.quoraQuora URLThe Quora profile URL of the contact.
links.crunchbaseCrunchbase URLThe Crunchbase profile URL with professional and investment-related information.
links.facebookFacebook URLThe Facebook profile URL of the contact.
recommended_emailEmailRecommended email address for contacting the individual.
personalInfo.domainDomainPrimary website domain associated with the contact or their current employer.
currentJobInfo.company_cityCompany CityThe city where the person’s current company is located.
currentJobInfo.company_regionCompany RegionThe region or state where the person’s current company is based.
currentJobInfo.company_countryCompany CountryThe country where the person’s current company is headquartered or operates.
personalInfo.senioritySeniorityJob level or position hierarchy within an organization (e.g. entry, manager, executive).
personalInfo.genderGenderThe identified or reported gender of the individual.
personalInfo.timezoneIdTime Zone IDTime zone identifier (e.g. America/New_York, Asia/Kolkata) for the contact.
experiences.companyExperience CompanyCompanies where the individual has gained professional experience.
experiences.durationExperience DurationDuration of employment at a past company, typically in months or years.
experiences.positionsExperience PositionsJob titles or roles held at previous workplaces.
experiences.titleExperience TitleOfficial job titles held during past work experiences.
experiences.subtitleExperience SubtitleSecondary title or brief description for a past role.
experiences.locationExperience LocationCity, region, or country where a past role was based.
experiences.descriptionExperience DescriptionSummary of responsibilities, achievements, and tasks in a past role.
experiences.startTimeExperience Start TimeDate when the individual began a specific past role.
experiences.endTimeExperience End TimeDate when the individual ended a specific past role.
experiences.socialUrlExperience Social URLSocial or professional profile link associated with a past role or company.
education.titleEducation TitleDegree or qualification name (e.g. Bachelor of Science).
education.subtitleEducation SubtitleField of study, specialization, or program focus.
education.metaEducation MetaSupplementary education details such as honors, activities, or projects.
education.institutionNameEducation InstitutionName of the school, college, or university attended.
education.socialUrlEducation Social URLSocial profile link associated with an educational institution or record.
education.degreeEducation DegreeFormal academic credential earned (e.g. Bachelor’s, Master’s, PhD).
personalInfo.certificationsCertificationsProfessional certifications validating skills or training in a field.
personalInfo.coursesCoursesCourses or training programs the individual has completed.
languages.nameLanguagesLanguages the individual speaks, often with proficiency level.
personalInfo.groupsGroupsProfessional or interest-based groups the contact belongs to.
personalInfo.socialConnectionsSocial ConnectionsNetwork of contacts on social and professional platforms.
personalInfo.coverImageUrlCover Image URLURL of the contact’s cover or banner image on a profile.
personalInfo.volunteeringVolunteeringUnpaid service activities, organizations, and causes the contact supports.
phonePhonePhone number(s) associated with the contact.
personalInfo.stateStateState or province where the contact is located.
personalInfo.stateCodeState CodeAbbreviated state or region code for the contact’s location.
personalInfo.bioBioShort biography summarizing the contact’s background and professional focus.
personalInfo.avatarAvatarAvatar or profile image URL for the contact.
links.githubGitHubGitHub profile URL of the contact.
links.googlePlusGoogle PlusGoogle Plus profile URL of the contact.
current_work_emailWork EmailProfessional email address for work-related communication.
current_personal_emailPersonal EmailPersonal email address for non-work communication.
healthCare.npi_numberNPI NumberNational Provider Identifier (NPI)—unique 10-digit ID for U.S. healthcare providers.
healthCare.credentialsNPI CredentialsProfessional credentials linked to the provider’s NPI profile.
healthCare.license_numberNPI License NumberProfessional license information linked to the NPI profile.
healthCare.specializationNPI SpecializationMedical specialty or taxonomy classification on the NPI profile.
education.startEducation StartedDate when the education program started.
education.endEducation EndedDate when the education program ended.
aboutAboutFree-text summary about the person.
currentJobInfo.company_sizeCurrent Company SizeNumber of employees at the person’s current company.
currentJobInfo.company_foundedCurrent Company FoundedYear the person’s current company was founded.
currentJobInfo.company_industryCurrent Company IndustryIndustry or sector of the person’s current company.
currentJobInfo.current_company_linkedinCurrent Company LinkedInLinkedIn URL of the person’s current company.
currentJobInfo.current_company_facebookCurrent Company FacebookFacebook page URL of the person’s current company.
currentJobInfo.current_company_twitterCurrent Company TwitterX (Twitter) profile URL of the person’s current company.
currentJobInfo.current_company_typeCurrent Company TypeOwnership or structure type of the current employer (e.g. private, public).
currentJobInfo.current_company_tickerCurrent Company TickerStock ticker symbol if the current employer is publicly traded.
currentJobInfo.current_compay_employeesCurrent Company EmployeesTotal employee count at the person’s current company.
currentJobInfo.current_company_revenueCurrent Company RevenueRevenue of the person’s current company for a given period.
currentJobInfo.current_company_total_fundingCurrent Company Total FundingTotal external investment raised by the person’s current company.
personalInfo.postal_codePostal CodeZIP or postal code for the contact’s address.
salarySalaryInferred or estimated salary range for the contact.
interestsInterestsTopics or activities the person is likely interested in based on profile and behavior signals.
experiences.sizeExperience Company SizeEmployee count at companies from past work experience.
experiences.companyFoundedCompany FoundedYear a past employer company was founded.
experiences.companyIndustryCompany IndustryIndustry sector of a past employer.
experiences.experienceRegionExperience RegionGeographic regions where the person has worked.
experiences.experienceStreetAddressExperience Company Street AddressStreet-level address of a past employer’s office.
experiences.experiencePostalCodeExperience Company Postal CodePostal code of a past employer’s office location.
experiences.experienceLatitudeExperience Company LatitudeLatitude coordinate of a past employer’s location.
experiences.experienceLongitudeExperience Company LongitudeLongitude coordinate of a past employer’s location.
experiences.experineceCompanyLinkedinExperience Company LinkedInLinkedIn URL of a company from past work experience.
experiences.experineceCompanyFacebookExperience Company FacebookFacebook page URL of a past employer.
experiences.experineceCompanyTwitterExperience Company TwitterX (Twitter) URL of a past employer.
experiences.experineceCompayWebsiteExperience Company WebsiteOfficial website URL of a past employer.
experiences.experineceCompanyTickerExperience Company TickerStock ticker symbol of a past employer, if publicly traded.
experiences.experineceCompanyTypeExperience Company TypeOwnership or structure type of a past employer company.
education.locationEducation Institution LocationGeographic location of an educational institution attended.
education.countryEducation Institution CountryCountry where the educational institution is located.
education.institutionLinkedinEducation Institution LinkedInLinkedIn page URL of an educational institution.
education.facebook_urlEducation Institution FacebookFacebook page URL of an educational institution.
education.twitter_urlEducation Institution TwitterX (Twitter) account URL of an educational institution.
education.websiteEducation WebsiteOfficial website URL of an educational institution.
education.domainEducation Institution DomainInternet domain of an educational institution.
certifications.titleCertifications TitleName of a professional certification earned.
certifications.startDateCertifications Start DateDate when a certification program began.
certifications.endDateCertifications End DateDate when a certification was completed.
certifications.nameCertifications NameOfficial title of a certification earned or in progress.
POST /people-search/search

Authentication: Authorization: Bearer <api-key>

Request Body

{
  "fuzzy_max_edits": 2,
  "limit": 10,
  "path": ["fullName", "personalInfo.linkedin_url"],
  "query": "Jane Smith"
}
FieldTypeRequiredDescription
querystringSearch query string (e.g. name, email, job title, or keyword).
limitintegerMaximum number of results to return.
patharray<string>One or more searchable field name values from the table above (e.g. fullName, position, personalInfo.linkedin_url).
fuzzy_max_editsintegerMaximum edit distance for fuzzy matching (e.g. 2).

Successful Response (200 OK)

{
  "results": [
    {
      "_id": "string",
      "firstName": "string",
      "lastName": "string",
      "fullName": "string",
      "position": ["string"],
      "investorType": [],
      "personalInfo": {
        "phone": "string"
      },
      "recommended_email": [],
      "emails": [
        {
          "email": "string",
          "smtp_valid": "string",
          "last_validation_check": "string",
          "_id": "string"
        }
      ],
      "recommended_personal_email": [],
      "current_personal_email": [],
      "recommended_professional_email": [
        {
          "email": "string",
          "smtp_valid": "string",
          "last_validation_check": "string",
          "_id": "string"
        }
      ],
      "current_work_email": [],
      "experiences": [],
      "education": []
    }
  ],
  "count": 0
}
FieldTypeDescription
resultsarray<object>Matching people documents returned from Atlas Search.
countintegerNumber of results returned.
results[]._idstringMongoDB document identifier for the contact record.
results[].firstNamestringContact’s first name.
results[].lastNamestringContact’s last name.
results[].fullNamestringContact’s full name.
results[].positionarray<string>Current job title(s) of the contact.
results[].investorTypearrayInvestor type classifications for the contact.
results[].personalInfoobjectPersonal details (e.g. phone). Additional nested fields may appear based on your path.
results[].recommended_emailarrayRecommended email addresses for the contact.
results[].emailsarray<object>Email records with email, smtp_valid, last_validation_check, and _id.
results[].recommended_personal_emailarrayRecommended personal email addresses.
results[].current_personal_emailarrayCurrent personal email addresses.
results[].recommended_professional_emailarray<object>Recommended professional email records (same shape as emails items).
results[].current_work_emailarrayCurrent work email addresses.
results[].experiencesarray<object>Past work experience records.
results[].educationarray<object>Education records.

Validation Error (422)

{
  "status_code": 422,
  "message": "Request validation failed",
  "errors": [
    {
      "field": "body.query",
      "message": "Field required",
      "type": "missing"
    }
  ],
  "data": null
}

Example

curl -X POST "https://chordian-core.chordian.ai/people-search/search" \
  -H "Authorization: Bearer <api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "fuzzy_max_edits": 2,
    "limit": 10,
    "path": ["fullName", "personalInfo.linkedin_url"],
    "query": "Jane Smith"
  }'