Skip to main content
Scoring submissions are idempotent by default. POST /v1/jobs/{jobId}/applications/{applicationId}/scoring-jobs deduplicates on your tenant + jobId + applicationId. Submitting the same combination returns the existing scoring job.

Re-scoring

To create a new scoring job for an application, pass rescore: { enabled: true }. Re-scoring is idempotent per criteria version. Submitting rescore.enabled: true multiple times without changing criteria returns the same re-score job. To pin a specific criteria version:
{
  "resume": { "type": "url", "url": "https://storage.example.com/resumes/abc123.pdf" },
  "jobDescription": "We are looking for a Senior Backend Engineer with 5+ years experience...",
  "rescore": {
    "enabled": true,
    "criteriaVersionId": "cmlz26ck2000awp61q9qcjcne"
  }
}

What creates a new scoring job

ChangeNew job?
jobId changesYes
applicationId changesYes
rescore.enabled set to trueYes
rescore.criteriaVersionId changes while rescoringYes
resume changesNo
applicationData changesNo

Retry strategy

  1. Retry network failures and 5xx errors with exponential backoff.
  2. For 429, wait for Retry-After before retrying.
If a scoring request fails because the resume URL is inaccessible, generate a new URL and retry. Since the job wasn’t created, the retry is safe.