Skip to main content

CV DeepMatch overview

CV DeepMatch runs asynchronous CV ↔ job-description matching. You upload a candidate's CV (PDF) plus a job description and a requirements config, and ZenHire returns a structured score breakdown.

Base URL: https://platform.zenhire.ai/api/v1/cvdeepmatch

One unified surface

Every CV DeepMatch operation lives under a single /api/v1/cvdeepmatch/* namespace:

MethodPathWhat it does
POST/api/v1/cvdeepmatch/submitSubmit a CV + JD — returns id.
GET/api/v1/cvdeepmatch/{id}Poll a single match by its id.
GET/api/v1/cvdeepmatch/requestsList your matches, newest first.

Credits and health are Universal endpoints (/api/v1/credits, /api/v1/health), shared with the other modules.

How you get the result

You choose how to receive the match:

  • Poll only — omit webhook_url and poll GET /api/v1/cvdeepmatch/{id} until the run is terminal. No public endpoint required.
  • Poll + webhook — supply a webhook_url and ZenHire also POSTs a signed callback when the match finishes. The poll endpoint still works; the webhook is an additional push channel, not a replacement.

Identifiers, errors, credits

CV DeepMatch follows the shared Universal model:

  • The match id — poll, fetch, and correlate with it.
  • Your externalId correlation tag — your own reference, echoed back.
  • The standard error envelope on every 4xx/5xx ({ error: { code, message, timestamp, requestId, details? } }).
  • One shared credit ledger — 3 credits per match.

Get started