---
title: "Create person finder job"
method: POST
path: "/v1/people-finder"
tags: ["People Finder"]
---

# Create person finder job

`POST /v1/people-finder`

## Request

- Base URL: `https://api.abm.dev`
- URL: `https://api.abm.dev/v1/people-finder`
- Auth: API key in header `X-API-Key`

Start a new people-finder job to locate decision-makers at a target company by role. Searches multiple sources and optionally enriches and pushes to CRM.

## Request body

- PersonFinderRequest
  - `companyName` string: Target company name
  - `companyWebsite` string, uri: Target company website URL
  - `companyLinkedin` string, uri: Target company LinkedIn page URL
  - `roles` string[], required: Job roles to search for (e.g. VP Sales, CTO)
  - `options` PersonFinderOptions
    - `maxPerRole` integer: Maximum candidates to return per role
    - `enrich` boolean: Automatically enrich found candidates
    - `createInCrm` boolean: Create found candidates in connected CRM

## Response `202`

Job accepted for processing

- PersonFinderJob
  - `jobId` string, uuid
  - `status` 'queued' | 'processing' | 'completed' | 'failed' | 'cancelled'
  - `companyName` string
  - `roles` string[]
  - `percentComplete` integer
  - `currentStep` string: Human-readable description of the current processing step
  - `createdAt` string, date-time
  - `completedAt` string, date-time
  - `result` object
    - `candidates` PersonFinderCandidate[]
      - `name` string
      - `title` string
      - `matchedRole` string: Which searched role this candidate matched
      - `confidence` number, float: Match confidence score (0-1)
      - `email` string, email
      - `linkedinUrl` string, uri
      - `location` string
      - `sources` string[]: Data sources that found this candidate
      - `hubspotContactId` string: HubSpot contact ID if created in CRM
      - `enrichmentJobId` integer: Enrichment job ID if enrich option was enabled
    - `rolesSearched` integer
    - `durationSeconds` number
  - `error` string: Error message if status is failed
  - `statusUrl` string, uri: URL to poll for status updates
  - `streamUrl` string, uri: URL for SSE progress stream

## Other responses

- `400`: Invalid request parameters
- `401`: Missing or invalid API key

---

[API](https://skmtc.dev/abm/apis/abm-dev-api.md) · [All operations](https://skmtc.dev/abm/apis/abm-dev-api/llms.txt) · [OpenAPI document](https://skmtc.dev/abm/apis/abm-dev-api/revisions/970c68654961?raw)
