Skip to main content

CvDeepMatchRequest

Full state of a single CV DeepMatch request, as returned by GET /api/v1/cvdeepmatch/{id}.

idstringrequired

The external request id (opaque string, not necessarily a UUID).

position_idstringrequired
statusstringrequired

Possible values: [processing, finished, failed]

created_atdate-timerequired
processing_started_atdate-timenullable
processing_completed_atdate-timenullable
cv_parser_resultobjectnullable

Internal CV-parsing artefact. Stripped from webhook payloads (PII) but returned to the owning client on the poll endpoint when present.

cv2jd_result objectnullable

The matching result, populated when status === "finished". breakdown is keyed by the same dimensions present in the submitted requirements block.

overall_scorefloat

Aggregate match score, 0–1.

Possible values: >= 0 and <= 1

breakdown object

Per-dimension scores. Keys match the dimensions present in the submitted requirements (workExperience, skills, and optionally education).

property name*float
error objectnullable

Present only when status === "failed". Includes the downstream error code and message.

codestring
messagestring
costinteger

The credits this match cost (fixed, 3). A run that ended non-charged (status === "failed" with an errorCode below) was refunded, but cost still reflects the per-match price.

Example: 3
errorCodestring

Present only on a non-charged terminal run (status === "failed"). Machine-readable outcome code:

  • CV_NOT_RECOGNIZED — the upload was not recognised as a usable CV (blank, password-protected, cover letter, template, or otherwise not a resume). The run was refunded. The specific reason rides in message.
  • PROCESSING_FAILED — the matching pipeline failed (downstream error / timeout). The run was refunded. Retry-safe.

Possible values: [CV_NOT_RECOGNIZED, PROCESSING_FAILED]

messagestring

Present only on a non-charged terminal run alongside errorCode — a human-readable explanation of why the run did not produce a match (safe to surface to end users).

configobject

Echo of the config you submitted, with any internal implementation keys (any field beginning with _) stripped.

metadata object

The structured {key:value} run metadata you supplied on submit. {} when none.

property name*string
tagsstring[]

The run tags you supplied on submit (de-duped, trimmed). [] when none.

Example: ["batch-3","eu-region"]
retryableboolean

True when this run can be retried via POST /api/v1/cvdeepmatch/{id}/retry — i.e. it is a failed run with errorCode: PROCESSING_FAILED, under the retry cap (2), within 24h of submit, and not in progress. (The retry endpoint additionally verifies the stored inputs still exist.)

Example: false
retriesRemaininginteger

Manual retries still available for this run (02). Display-only; the authoritative gate is retryable.

Example: 2
CvDeepMatchRequest
{
"id": "string",
"position_id": "string",
"status": "processing",
"created_at": "2024-07-29T15:51:28.071Z",
"processing_started_at": "2024-07-29T15:51:28.071Z",
"processing_completed_at": "2024-07-29T15:51:28.071Z",
"cv_parser_result": {},
"cv2jd_result": {
"overall_score": 0,
"breakdown": {}
},
"error": {
"code": "string",
"message": "string"
},
"cost": 3,
"errorCode": "CV_NOT_RECOGNIZED",
"message": "string",
"config": {},
"metadata": {
"candidate_id": "c_887",
"customer": "acme"
},
"tags": [
"batch-3",
"eu-region"
],
"retryable": false,
"retriesRemaining": 2
}