Validate NPI
POST/npi/validate
Validates the NPI format (Luhn checksum), then checks the CertifyOS DAL (sourceType=nppes) using the declared entity type to route to the correct core resource API. Falls back to the live NPPES public registry if not found. 'entityType' is an optional query parameter (case-insensitive); defaults to practitioner when omitted. Status VALID_FOUND_IN_NPPES_BUT_FAILED_CROSSWALK_CREATION indicates the NPI was found in NPPES but the DAL crosswalk upsert failed.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 422
- 503
NPI is valid and found. Status is VALID_AND_FOUND (found in DAL), VALID_FOUND_IN_NPPES (found in live NPPES registry and crosswalk succeeded), or VALID_FOUND_IN_NPPES_BUT_FAILED_CROSSWALK_CREATION (found in live NPPES registry but DAL crosswalk upsert failed).
Bad Request - Malformed request body (missing or null npi field) or unrecognised entityType query parameter value (accepted: practitioner, facility, group — case-insensitive)
Unauthorized - Authentication required
Forbidden - Insufficient permissions
Not Found - NPI is valid but not found in the DAL or the NPPES registry
Unprocessable Entity - NPI format is invalid (Luhn check failed), or the declared entityType does not match the enumeration type returned by NPPES (e.g. FACILITY declared but NPI is registered as a Type 1 individual provider)
Service Unavailable - Live NPPES registry fallback is disabled by configuration (NPI_VALIDATION_NPPES_ENABLED is set to false)