Skip to main content
Required scopes: talent_network:write
Rate limit: write tier, 60 requests per minute per key
Idempotency: send an Idempotency-Key header to retry safely
Submits up to 100 candidates in one request. Each item has the same shape as the single-candidate submit body, except resume is { resumeFileId } from a POST /resumes upload made by the same agency (ids are not referenceable across agencies) instead of inline bytes, plus three additional fields: required onMarketConfirmed: true (the caller’s per-candidate attestation that the candidate is actively on the market; not persisted — submitting is the attestation), optional clientReferenceId (echoed back verbatim), and optional recruiterEmail (attributes the candidate to that agency member; omitted means the agency owner). Unknown, non-member, or unapproved recruiter emails reject that item — never a silent owner fallback. Items are validated independently and the response is always 200 with an index-aligned items array (queued, rejected with field-level errors, or deduplicated). Same-person items within one request collapse onto the first occurrence (later ones come back deduplicated, or share the first occurrence’s enqueue_failed rejection when it never reached the queue). Across requests, a candidate comes back deduplicated while an earlier submission of the same (attributed recruiter, email, LinkedIn URL) is still queued or processing — so a retry must resend the same recruiterEmail. Once that submission reaches a terminal outcome, resubmitting starts a fresh attempt immediately, which is what makes a failed item actionable; ingestion upserts idempotently either way. An Idempotency-Key header replays the entire stored response (including batchId) for 24h; replays require a byte-identical body, and after the replay window expires a retry produces a new batchId whose items follow the dedupe rule above. Ingestion is asynchronous: poll GET /talent-network/batches/{batchId} for per-item outcomes. Requires Talent Network management to be enabled for your agency; without it the whole request answers 403.

Body

object[]
required
Constraints: min items 1, max items 100.

Response

string
required
Constraints: format uuid.
object[]
required