Recruiting
Bulk ingest recruiting leads
Batch import multiple recruiting leads in a single request
POST /recruiting/ingest/bulk
Ingests multiple recruiting leads in a single request. Each lead is parsed individually using the vendor's parser. Rows that fail validation are reported in the errors array without blocking the rest of the batch. Resumes are not supported in bulk requests.
Authentication
Vendor API key via Authorization: Bearer <vendor-api-key>.
Request body
{
"leads": [
{ /* vendor-specific lead payload */ },
{ /* vendor-specific lead payload */ }
]
}| Field | Type | Required | Description |
|---|---|---|---|
leads | array | Yes | Non-empty array of vendor-specific lead objects |
Processing
- Each item in
leadsis parsed with the vendor's parser. - Items missing
first_nameafter parsing are added toerrors. - Items with a
vendor_lead_idthat already exists in the database are counted as duplicates and skipped. - All remaining items are inserted in a single batch operation.
Response
{
"created": 8,
"duplicates": 1,
"errors": [
{ "row": 2, "reason": "missing first_name" }
]
}| Field | Type | Description |
|---|---|---|
created | number | Number of leads successfully inserted |
duplicates | number | Number of leads skipped due to duplicate vendor_lead_id |
errors | array | Rows that failed parsing or validation, with row index and reason |
Error responses
| Code | Reason |
|---|---|
UNAUTHORIZED | Missing or invalid API key |
BAD_REQUEST | No parser configured for the vendor |
BAD_REQUEST | leads field is missing or empty |
INTERNAL_ERROR | Database batch insert failed |