Licensure follows the patient, not the provider
In telehealth the clinician must be licensed where the patient is located at the time of the encounter. That turns credentialing from a one-time check into a per-state, ongoing obligation.
Start free → 100 verificationsThe problem is multiplication, not verification
A single physician on a national panel may hold licences in six states. Verifying them once at onboarding tells you very little: what matters is whether this clinician is currently licensed in that patient's state, today. A panel of 200 clinicians across 10 states is not 200 verifications, it is closer to 1,200 — and each licence lapses on its own schedule.
Because state is a parameter rather than a property of the provider, the same person is checked independently per state:
# Same clinician, two states, two independent licences POST /v1/verify {"first_name":"Jane","last_name":"Provider","state":"PA","npi":"1234567890"} POST /v1/verify {"first_name":"Jane","last_name":"Provider","state":"OH","npi":"1234567890"} # PA may return an active licence while OH returns expired. Both are true.
Out-of-state telehealth registrations
Several states have created licence categories specifically for clinicians treating their residents from elsewhere. Florida is the clearest example: its MQA file carries dedicated out-of-state telehealth registration types alongside conventional licences, and they appear as their own licence type in a result. If your model is cross-state by design, those categories are often the ones that actually authorise the encounter.
New York matters for a different reason. A New York licence does not expire — the triennial registration does — so the meaningful question is whether the clinician is currently registered, which is what we return.
Catch a lapse before the next appointment
A licence valid at onboarding can lapse mid-engagement, and nothing in your system will notice unless something is watching. Monitoring re-checks a provider on a schedule and posts a signed webhook when the status changes, an expiry approaches, a disciplinary flag appears, or an exclusion is added.
license.expiry_approaching
Fires ahead of the expiry date you configure, so a renewal can be chased before it affects scheduling.
license.status_changed
Fires when the board's status moves, including to suspended or revoked.
license.oig_exclusion_added
A federal exclusion appears after onboarding. A hard stop for any federally funded care.
Coverage that matches a behavioural-health panel
Telehealth panels skew towards behavioural health, which is where state coverage
usually thins out. Psychologists, LCSWs, LPC/LMHCs and LMFTs are all four verifiable in
20 states today, physicians in 26, and registered nurses in
9. The role matrix
shows which state covers which licence, and uncovered states return an explicit
unsupported_state rather than a guess — so you know precisely where
human review is still required.
Common questions
Which state should I verify for a telehealth encounter?
Generally the state where the patient is located at the time of the encounter, since that is the jurisdiction whose licence authorises the care. State is a parameter on every request, so the same clinician can be verified independently in each state you operate in.
Do you cover out-of-state telehealth licence types?
Yes, where the state publishes them. Florida's MQA file includes dedicated out-of-state telehealth registration categories for several professions, returned as their own licence type.
How do we find out a licence lapsed after onboarding?
Set up monitoring for that provider. We re-check on a schedule and post a signed webhook on license.status_changed, license.expiry_approaching, license.expired, license.disciplinary_flag_added or license.oig_exclusion_added.
Does the sandbox behave like production?
Yes. Test keys run against the same data and coverage as live keys, so an ordinary provider returns exactly what production would. Reserved test names force specific outcomes when you need to exercise error handling.
Verify your panel, state by state
Start with 100 free verifications. No credit card. Read the docs or the source reference.
Create your account →