PrimaryCheck
For healthcare staffing agencies

Credentialing packets verified at the source, re-verified on a schedule

Travel nurse, allied and locum agencies place the same clinician into several facilities a year, and every facility asks for current primary-source verification. One healthcare_screen claim, a certification claim and a monitor give you the packet, the proof file and the re-verification, without a coordinator re-typing board lookups.
The packet

What a staffing credentialing packet covers

Cadence

Re-verification on a Joint Commission-style schedule

Accredited facilities expect staffing firms to verify a clinician's license at the primary source at placement and again at every expiration or renewal, and to know between those points whether anything changed. Three API objects map onto that cadence.
MomentWhat runsWhat you file
At placementhealthcare_screen + certification claims for the assignment stateReport PDF with the board record, exclusion results, field checks and evidence hashes
Between placementsA monitor per license (weekly) or per person (daily, includes exclusions)Change events with the before/after diff; the snapshot stands in for a re-run
At renewalThe monitor flags the new expiration; a fresh license claim produces a dated packetNew report PDF for the facility file
On a flagWebhook monitor.changed carries the diff; adverse-action and dispute tooling are built inThe notice trail, if the agency acts on it
How it works

How an agency runs it

  1. 1

    Collect consent once

    Send the hosted consent link when the clinician joins your pool; it covers every placement under the certified purpose.

  2. 2

    Run the packet per assignment

    Profession, assignment state and license number; NPI and certification IDs if you have them. Name-only lookups are reported as ambiguous when two people match.

  3. 3

    Attach the proof

    Download the report PDF and attach it to the facility submission. Every field check and source hash is inside.

  4. 4

    Monitor until the next assignment

    Start a person monitor; stop it when the clinician leaves your pool. Billing stops at period end.

Professions staffing agencies place

Counts are states where the board is live today.
ProfessionBoard typeLive today
RN, LPN, APRN, CRNANursing20 states
MD, DO, PA (locum)Medicine30 states
PT, PTA, OT, OTA, SLPTherapy38 states
RRT, CRTRespiratory31 states
Pharmacist, pharmacy techPharmacy24 states
CNA, HHA, CMANurse aide registries19 states
EMT, paramedicEMS36 states

Only boards we query live are counted; every other row is building and returns unable_to_verify(source_not_built), never a guess. The coverage page is the authoritative list.

API

The credentialing packet call

One request per assignment: the screen, the BLS card and a reference you can match back to your ATS. Start the monitor with a second call to POST /v1/monitors.
POST /v1/verifications
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",
      "email": "amy@example.com"
    },
    "claims": [
      {
        "type": "healthcare_screen",
        "state": "FL",
        "profession": "rn",
        "licenseNumber": "RN9…",
        "npi": "1003000126",
        "claimId": "screen"
      },
      {
        "type": "certification",
        "issuer": "aha_bls",
        "credentialId": "…",
        "claimId": "bls"
      }
    ],
    "purpose": "employment",
    "consent": {
      "consentId": "cons_…"
    },
    "reference": "ASSIGN-4481"
  }'

Staffing credentialing by state

Sandbox today, live after vetting

Sandbox keys return the same source codes as production, so your packet template can be built before vetting completes. Live checks need FCRA customer vetting, usually one business day.