POST /verify
Verify the license status of a healthcare provider across multiple government data sources in a single API call.Endpoint
Request headers
Request body
Request parameters
Note on
npi and dob: Both are optional but strongly recommended whenever available. Without them, identity resolution relies on name and state alone, which can produce false positives for common names — including false matches against the OIG exclusion list. Supplying npi and/or dob disambiguates the provider and clears same-name collisions.
Response
Success response — 200 OK
Response fields
Status values
Identity resolution
Before verifying license status, VeriflowAPI resolves provider identity by matching the last name exactly, then the first name. First-name matching accepts:- Nicknames where one form is a prefix of the other (e.g. “Bob” vs “Robert”)
- Middle initials included or omitted
- Hyphenated last names
- Minor typos in submitted names
not_found rather than a false match — a wrong-person confirmation is worse than a miss.
Every successful match reports a match_confidence:
Because name-only matching is inherently ambiguous for common names, supply an
npi whenever available for high-confidence, exact-identity verification. When ambiguity cannot be resolved, we return not_found.
OIG exclusion matching
The OIG LEIE (List of Excluded Individuals/Entities) is matched by name and then narrowed by the identifiers you supply. Because roughly 90% of LEIE records carry no NPI, name is the primary key — so a common name can collide with an excluded stranger. VeriflowAPI usesnpi and dob to resolve those collisions:
- A matching
npiconfirms the exclusion — the strongest signal, an exact identity match. - A different
npiordobon a same-name record rules it out as a different person, sooig_excludedreturnsfalse. - A name-only match — no identifier supplied, or none on the LEIE record — is reported conservatively as
oig_excluded: true. We would rather surface a possible match for your review than silently clear a real exclusion.
dob (and npi where you have it) on every check. Most LEIE records carry a date of birth, so a dob clears a same-name stranger even when the record has no NPI.
Sandbox & testing
Test keys (vf_test_) run against the same data and coverage as production — an ordinary provider returns exactly what a live key would, including unsupported_state for states we don’t yet cover. This makes your sandbox integration faithful to production.
To exercise every branch of your integration deterministically, use reserved test last names (case-insensitive) on a vf_test_ key. They work in any state and force a specific outcome, similar to test card numbers:
To simulate
unsupported_state, query any state we don’t cover (e.g. OH) with an ordinary name. These triggers apply only to test keys — on a live key they are treated as ordinary names.
Caching policy
To maximize uptime and minimize response time, VeriflowAPI caches responses according to the following TTL policy:
When a response is served from cache,
cached will be true and source_live will be false. The cache_expires_at field tells you exactly when fresh data will be fetched.
This caching policy means VeriflowAPI maintains 99.9% uptime even when government source sites experience downtime.