PrimaryCheck

Result reuse

By default every claim is checked live (options.maxAge = PT0S). When a slightly older answer is acceptable, send an ISO-8601 duration and we reuse a source result we produced for the same person and claim within that window instead of contacting the source again.

curl -X POST https://api.primarycheck.com/v1/verifications \
  -H "Authorization: Bearer pc_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "person": {
      "firstName": "Amy",
      "lastName": "Kowalski",
      "dob": "1976-02-14"
    },
    "claims": [
      {
        "type": "license",
        "state": "PA",
        "profession": "rn",
        "number": "RN353077L"
      }
    ],
    "purpose": "employment",
    "consent": {
      "consentId": "cons_8f1…"
    },
    "options": {
      "maxAge": "P1D"
    }
  }'

How a reused result looks

A reused source result carries reusedFrom (the id of the original source result) and keeps the original checkedAt, so the age of the answer is never hidden. Its evidence ids point at the original captures.

{ "source": "PA-PALS", "status": "ok", "verdict": "verified",
  "checkedAt": "2026-11-02T21:14:03Z",          ← when the source was actually asked
  "reusedFrom": "sr_5d2e…",                      ← the source result this one was copied from
  "fieldChecks": [ … ], "record": { … }, "evidence": ["evd_a1…", "evd_b2…"] }

Rules

  • The match is exact: same claim fields and the same person identifiers as sent. A different license number or date of birth is a different claim.
  • Only results that reached a final verdict with evidence are reused. pending, unable_to_verify, timeouts and errors are never reused.
  • Reuse is scoped to your account. Another customer's result never answers your request.
  • The verification records the window it was created with (maxAge on the object), and the audit log stores it with the order.
  • Reused claims bill at the normal rate; the saving is time, not price.

When to use it

SituationSuggested maxAge
Pre-employment screening (a consumer report that must be current)PT0S
Re-running a verification because a claim was added or a field correctedPT6H
Batch imports where the same person appears in several requisitions the same dayP1D
Credentialing refresh on a known populationP7D
Anything that should watch for change rather than re-checkUse a monitor instead

Durations accepted: PT0S, PT6H, P1D, P7D, P30D and any other ISO-8601 duration. The older top-level maxAge field still works; options.maxAge wins when both are sent.