---
title: "Validate NPI"
method: POST
path: "/npi/validate"
tags: ["NpiValidation"]
---

# 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.

## Query parameters

- `entityType` string

## Headers

- `tenant-id` string

## Request body

- NpiValidationRequest — Request to validate an NPI
  - `npi` string, required — The NPI to validate

## Response `200`

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).

- NpiValidationResponse — NPI validation response
  - `npi` string — NPI number
  - `isValid` boolean — Whether the NPI is valid
  - `status` string — Validation status: VALID_AND_FOUND, VALID_FOUND_IN_NPPES, or VALID_FOUND_IN_NPPES_BUT_FAILED_CROSSWALK_CREATION
  - `providerDetails` union — Provider details. Shape depends on entityType: PRACTITIONER → CorePractitionerResponse (DAL canonical schema); FACILITY → CoreFacilityResponse (DAL canonical schema). For both, when the record is sourced from the live NPPES registry, the crosswalk is upserted first and the record is then re-fetched from the DAL so the structure is identical to a direct DAL hit. in case the upsert fails, the response is the NPPES-transformed (NppesProviderDetails) data with the failure status; GROUP → always returns NppesProviderDetails; bypasses the DAL and queries NPPES directly; no crosswalk upsert is performed.
    - CorePractitionerResponse
      - `certifyId` string
      - `crosswalkId` string
      - `sourceId` string
      - `sourceUrl` string
      - `sourceType` string
      - `sourceName` string
      - `sourceDescription` string
      - `sourceTenantId` string
      - `sourceTags` string[]
      - `data` CorePractitionerdataschema
        - `caqhPdqs` CorePractitionerdatabaseschemaCaqhPdqs
          - `practitionerProfessionalId` CorePractitionerdatabaseschemaCaqhPdqsPractitionerProfessionalId
            - `practitionerEcfmg` CorePractitionerdatabaseschemaCaqhPdqsPractitionerProfessionalIdPractitionerEcfmg
              - …
          - `practitionerSpecialty` CorePractitionerdatabaseschemaCaqhPdqsPractitionerSpecialty
            - `otherSpecialty` CorePractitionerdatabaseschemaCaqhPdqsPractitionerSpecialtyOtherSpecialty
              - …
          - `attestationDate` string, date
          - `caqhApiResponseId` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
        - `prefix` string
        - `firstName` string
        - `caqhPrimaryEmail` string
        - `middleName` string
        - `lastName` string
        - `suffix` string
        - `primaryEmail` string
        - `npi` string
        - `externalId` string
        - `enrollmentStartDate` string, date
        - `reimbursementId` string
        - `supervisingPractitionerId` string
        - `caqhProviderId` string
        - `providerType` string[]
        - `practitionerType` string[]
        - `practitionerSpecializedTraining` string[]
        - `practitionerTypesToCredential` string[]
        - `reviewCompleteDate` string, date
        - `statesToCredential` string[]
        - `practitionerRoles` string[]
        - `practitionerRolesMap` object
        - `lineOfBusiness` string[]
        - `providerId` string
        - `dateOfBirth` string, date
        - `ssn` string
        - `gender` string
        - `race` string
        - `ethnicity` string
        - `providerCreatedDate` string, date
        - `npdbDatabankSubjectId` string
        - `npdbDcn` string
        - `isDeceased` boolean
        - `deceasedDate` string, date
        - `deceasedExplanation` string
        - `lastCredentialedDate` string, date
        - `lastCredentialingDate` string, date
        - `nextCredentialingDate` string, date
        - `initialCredentialingDate` string, date
        - `dataAcquireDate` string, date
        - `sourceUpdateDate` string, date
        - `emails` CorePractitionerdatabaseschemaEmailsInner[]
          - `email` string
          - `emailType` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `credWorkflowRecordOrigin` string
        - `userDefinedFields` object
        - `delegationStatus` 'Delegated' | 'Direct'
        - `jurisdictionOfInterest` string
        - `businessPurpose` PractitionerBusinessPurpose
          - `isForCredentialing` PractitionerBusinessPurposeIsForCredentialing
            - `value` boolean
            - `reason` string
          - `isForMonitoring` PractitionerBusinessPurposeIsForMonitoring
            - `value` boolean
            - `reason` string
        - `phoneNumbers` CorePractitionerdatabaseschemaPhoneNumbersInner[]
          - `phoneNumber` string
          - `faxNumber` string
          - `type` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `credWorkflowRecordOrigin` string
        - `addresses` PractitionerAddressesInner[]
          - `address1` string
          - `address2` string
          - `city` string
          - `state` string
          - `country` string
          - `zipcode` string
          - `source` string
          - `type` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `credWorkflowRecordOrigin` string
        - `licenses` CorePractitionerdatabaseschemaLicensesInner[]
          - `expiration` string, date
          - `issueDate` string, date
          - `licenseNumber` string
          - `state` string
          - `licenseType` string
          - `practitionerType` string
          - `specialty` string
          - `licenseStatus` string
          - `licenseSource` string
          - `reportDate` string, date
          - `licenseNumberVariations` string
          - `flaggedDate` string, date
          - `dataSource` string
          - `url` string
          - `boardActionFlag` boolean
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `scraperScreenshotUrl` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
          - `diagnosticPrivilege` boolean
        - `medicaid` PractitionerMedicaidInner[]
          - `state` string
          - `medicaidNumber` string
          - `medicaidState` string
          - `cdsNumber` string
          - `issueDate` string, date
          - `expirationDate` string, date
          - `source` string
          - `url` string
          - `reportDate` string, date
          - `flaggedDate` string, date
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `malpracticeInsurances` CorePractitionerdatabaseschemaMalpracticeInsurancesInner[]
          - `carrierName` string
          - `expiryDate` string, date
          - `effectiveDate` string, date
          - `source` string
          - `status` string
          - `policyNumber` string
          - `aggregateCoverageAmount` string
          - `occuranceCoverageAmount` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `type` string
          - `unlimitedCoverage` boolean
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `credWorkflowRecordOrigin` string
        - `malpracticeInsurance` CorePractitionerdatabaseschemaMalpracticeInsuranceInner[]
          - `carrierName` string
          - `expiryDate` string, date
          - `effectiveDate` string, date
          - `flaggedDate` string, date
          - `source` string
          - `status` string
          - `policyNumber` string
          - `aggregateCoverageAmount` string
          - `occuranceCoverageAmount` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `type` string
          - `unlimitedCoverage` boolean
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `supportingDocuments` Attachment1[]
          - `createdAt` string, date
          - `fileType` unknown
          - `fileUrl` string
          - `originalFileName` string
          - `state` unknown
          - `expirationDate` unknown
          - `source` unknown
          - `createdBy` unknown
          - `credWorkflowRecordOrigin` string
        - `boardCertifications` CorePractitionerdatabaseschemaBoardCertificationsInner[]
          - `abmsId` string
          - `certificateId` string
          - `certifyingBoardName` string
          - `isPrimary` boolean
          - `certificateType` string
          - `durationType` string
          - `expireDate` string, date
          - `expirationDate` string, date
          - `issueDate` string, date
          - `reverificationDate` string, date
          - `speciality` string
          - `subspeciality` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `moc` string
          - `status` string
          - `occuranceType` string
          - `recordType` string
          - `reportDate` string, date
          - `flaggedDate` string, date
          - `source` string
          - `city` string
          - `state` string
          - `zipCode` string
          - `country` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `hospitalAffiliations` CorePractitionerdatabaseschemaHospitalAffiliationsInner[]
          - `name` string
          - `specialty` string
          - `state` string
          - `type` string
          - `isPrimary` boolean
          - `source` string
          - `startDate` string, date
          - `endDate` string, date
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `status` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `sanctions` CorePractitionerdatabaseschemaSanctionsInner[]
          - `dateOfReport` string, date
          - `sanctionType` string
          - `typeOfAction` string
          - `verifiedBy` string
          - `data` string
          - `flaggedDate` string, date
          - `sanctionStartDate` string, date
          - `exclusionInitiatedBy` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `url` string
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `sanctionsLineage` object
        - `workHistoryGaps` CorePractitionerdatabaseschemaWorkHistoryGapsInner[]
          - `explanation` string
          - `gapStartDate` string, date
          - `gapEndDate` string, date
          - `verifiedDate` string, date
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `disclosureQuestions` CorePractitionerdatabaseschemaDisclosureQuestionsInner[]
          - `explanation` string
          - `question` string
          - `answer` string
          - `answerFlag` boolean
          - `disclosureDate` string, date
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `nppes` CorePractitionerdatabaseschemaNppesInner[]
          - `npi` string
          - `active` boolean
          - `addresses` CorePractitionerdatabaseschemaNppesInnerAddressesInner[]
            - `address1` string
            - `addressPurpose` string
            - `addressType` string
            - `city` string
            - `countryCode` string
            - `countryName` string
            - `faxNumber` string
            - `postalCode` string
            - `state` string
            - `telephoneNumber` string
          - `certificationDate` string, date
          - `createdBy` string
          - `createdByName` string
          - `credential` string
          - `enumerationDate` string, date
          - `enumerationType` string
          - `firstName` string
          - `gender` string
          - `id` string
          - `identifiers` CoreFacilitydataschemaNppesInnerIdentifiersInner[]
            - `id` string
            - `type` string
            - `state` string
            - `issuer` string
          - `lastName` string
          - `lastUpdatedAt` string, date
          - `middleName` string
          - `organizationId` string
          - `otherNames` string[]
          - `prefix` string
          - `providerId` string
          - `status` string
          - `suffix` string
          - `taxonomies` CorePractitionerdatabaseschemaNppesInnerTaxonomiesInner[]
            - `code` string
            - `desc` string
            - `license` string
            - `primary` boolean
            - `state` string
            - `taxonomyGroup` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `verifiedAt` string, date
          - `verifiedBy` string
          - `credWorkflowRecordOrigin` string
        - `practiceLocations` CorePractitionerdatabaseschemaPracticeLocationsInner[]
          - `address1` string
          - `address2` string
          - `address3` string
          - `address4` string
          - `city` string
          - `county` string
          - `country` string
          - `state` string
          - `zipcode` string
          - `healthcareServiceName` string
          - `faxNumber` string
          - `telephoneNumber` string
          - `tin` string
          - `npi` string
          - `startDate` string, date
          - `phoneCoverage24x7` boolean
          - `totalLocationHours` number
          - `locationHours` CorePractitionerdatabaseschemaPracticeLocationsInnerLocationHoursInner[]
            - `dayOfWeek` 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday'
            - `startHours` string
            - `endHours` string
          - `drawingBlood` boolean
          - `laboratoryServices` boolean
          - `cliaNumber` string
          - `cliaExpirationDate` string, date
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `locationAccessibility` CorePractitionerdatabaseschemaPracticeLocationsInnerLocationAccessibility
            - `adaAccessibilityFlag` boolean
            - `handicappedAccessFlag` boolean
            - `parkingAccessFlag` boolean
            - `restroomAccessFlag` boolean
            - `otherDisabilityServicesFlag` boolean
            - `ttyAccessFlag` boolean
            - `aslAccessFlag` boolean
            - `impairmentServicesFlag` boolean
            - `publicTransportationAccessFlag` boolean
            - `busAccessFlag` boolean
            - `subwayAccessFlag` boolean
            - `trainAccessFlag` boolean
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `languages` CorePractitionerdatabaseschemaLanguagesInner[]
          - `language` string
          - `isPrimary` boolean
          - `credWorkflowRecordOrigin` string
        - `licensureActions` CorePractitionerdatabaseschemaLicensureActionsInner[]
          - `licenseNumber` string
          - `details` string
          - `state` string
          - `lastActionDate` string, date
          - `reportDate` string, date
          - `source` string
          - `actionType` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `createdDate` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `flaggedDate` string, date
          - `sourceUpdateDate` string, date
          - `url` string
          - `credWorkflowRecordOrigin` string
        - `dea` CorePractitionerdatabaseschemaDeaInner[]
          - `expireDate` string, date
          - `expirationDate` string, date
          - `affiliation` string
          - `deaNumber` string
          - `number` string
          - `cdsLicenseNumber` string
          - `state` string
          - `providerType` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `source` string
          - `type` 'DEA' | 'CDS'
          - `status` string
          - `reportDate` string, date
          - `flaggedDate` string, date
          - `url` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `cds` CorePractitionerdatabaseschemaCdsInner[]
          - `expireDate` string, date
          - `expirationDate` string, date
          - `number` string
          - `state` string
          - `providerType` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `source` string
          - `status` string
          - `reportDate` string, date
          - `flaggedDate` string, date
          - `url` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `cmsSpecialties` CorePractitionerdatabaseschemaCmsSpecialtiesInner[]
          - `cmsTypeCode` string
          - `cmsTypeName` string
          - `credWorkflowRecordOrigin` string
        - `npdbReports` CorePractitionerdatabaseschemaNpdbReportsInner[]
          - `ssn` string
          - `birthdate` string, date
          - `flaggedDate` string, date
          - `licensureField` string
          - `reportDate` string, date
          - `processDate` string, date
          - `verifiedBy` string
          - `data` unknown
          - `verifiedDate` string, date
          - `typeOfAction` string
          - `createdDate` string, date
          - `deceased` string
          - `paymentAmount` string
          - `paymentDate` string, date
          - `patientAge` string
          - `patientGender` string
          - `patientType` string
          - `medicalConditionDescription` string
          - `procedureDescription` string
          - `allegationsDescription` string
          - `allegationNature` string
          - `specificAllegation` string
          - `specificAllegationDate` string, date
          - `outcome` string
          - `source` string
          - `reportType` string
          - `firstName` string
          - `lastName` string
          - `middleName` string
          - `gender` string
          - `npi` string
          - `homeAddress` string
          - `homeCity` string
          - `homeState` string
          - `homeZip` string
          - `dcn` string
          - `reportDCN` string
          - `notes` string[]
          - `maintainedUnder` CorePractitionerdatabaseschemaNpdbReportsInnerMaintainedUnder
            - `statute` string[]
          - `correctedFields` string[]
          - `previousDCN` string
          - `previousTransaction` string
          - `databankSubjectId` string
          - `otherName` CorePractitionerdatabaseschemaNpdbReportsInnerOtherNameInner[]
            - `firstName` string, required
            - `lastName` string, required
          - `certification` CorePractitionerdatabaseschemaNpdbReportsInnerCertification
            - `name` string
            - `title` string
            - `phone` CorePractitionerdatabaseschemaNpdbReportsInnerCertificationPhone
              - …
            - `date` string, date
          - `submitter` CorePractitionerdatabaseschemaNpdbReportsInnerSubmitter
            - `entityDBID` string
            - `agentDBID` string
            - `vendorID` string
          - `enrollmentStatus` CorePractitionerdatabaseschemaNpdbReportsInnerEnrollmentStatus
            - `dataBank` string
            - `status` string
            - `statusCode` string
            - `section1128e` boolean
            - `section1921` boolean
            - `titleIV` boolean
            - `startDate` string, date
            - `endDate` string, date
          - `transactionTypeCode` string
          - `transactionType` string
          - `recentChangeDate` string, date
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `educationTraining` CorePractitionerdatabaseschemaEducationTrainingInner[]
          - `startDate` string, date
          - `endDate` string, date
          - `type` string
          - `degree` string
          - `speciality` string
          - `subspecialty` string
          - `institution` string
          - `licensingBoardReference` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `status` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `residency` CorePractitionerdatabaseschemaResidencyInner[]
          - `schoolName` string
          - `credWorkflowRecordOrigin` string
        - `education` CorePractitionerdatabaseschemaEducationInner[]
          - `toDate` string, date
          - `schoolName` string
          - `credWorkflowRecordOrigin` string
        - `cliaCertificates` CorePractitionerdatabaseschemaCliaCertificatesInner[]
          - `certificateNumber` string
          - `expirationDate` string, date
          - `credWorkflowRecordOrigin` string
        - `medicare` CorePractitionerdatabaseschemaMedicareInner[]
          - `medicareNumber` string
          - `medicareState` string
          - `issueDate` string, date
          - `expirationDate` string, date
          - `source` string
          - `url` string
          - `reportDate` string, date
          - `flaggedDate` string, date
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `xRayLicenses` CorePractitionerdatabaseschemaXRayLicensesInner[]
          - `licenseNumber` string
          - `expirationDate` string, date
          - `credWorkflowRecordOrigin` string
        - `specialties` CorePractitionerdatabaseschemaSpecialtiesInner[]
          - `specialty` string
          - `subspecialty` string
          - `primarySpecialty` boolean
          - `source` string
          - `type` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `taxonomyCode` string
          - `classificationSource` 'NUCC' | 'CMS' | 'HSD' | 'NPPES' | 'Custom'
          - `boardName` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
          - `effectiveDate` string, date
          - `terminationDate` string, date
          - `tenantPractitionerSpecialtyId` string
        - `appVerifications` CorePractitionerdatabaseschemaAppVerificationsInner[]
          - `verificationType` string
          - `explanation` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `professionalIds` CorePractitionerdatabaseschemaProfessionalIdsInner[]
          - `type` string
          - `number` string
          - `state` string
          - `issueDate` string, date
          - `expirationDate` string, date
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `siteVisits` CorePractitionerdatabaseschemaSiteVisitsInner[]
          - `date` string, date
          - `grade` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `dataAcquireDate` string, date
          - `sourceUpdateDate` string, date
          - `credWorkflowRecordOrigin` string
        - `performanceIndicators` CorePractitionerdatabaseschemaPerformanceIndicatorsInner[]
          - `totalComplaints` integer
          - `clinicalComplaints` integer
          - `serviceComplaints` integer
          - `benefitsComplaints` integer
          - `claimComplaints` integer
          - `accessIssueComplaints` integer
          - `reportDate` string, date
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` Attachment1[]
            - `createdAt` string, date
            - `fileType` unknown
            - `fileUrl` string
            - `originalFileName` string
            - `state` unknown
            - `expirationDate` unknown
            - `source` unknown
            - `createdBy` unknown
            - `credWorkflowRecordOrigin` string
          - `verifiedDate` string, date
          - `verifiedBy` string
          - `credWorkflowRecordOrigin` string
      - `rawSourceData` JsonNode
        - `empty` boolean
        - `valueNode` boolean
        - `containerNode` boolean
        - `missingNode` boolean
        - `array` boolean
        - `object` boolean
        - `nodeType` 'ARRAY' | 'BINARY' | 'BOOLEAN' | 'MISSING' | 'NULL' | 'NUMBER' | 'OBJECT' | 'POJO' | 'STRING'
        - `pojo` boolean
        - `number` boolean
        - `integralNumber` boolean
        - `floatingPointNumber` boolean
        - `short` boolean
        - `int` boolean
        - `long` boolean
        - `float` boolean
        - `double` boolean
        - `bigDecimal` boolean
        - `bigInteger` boolean
        - `textual` boolean
        - `boolean` boolean
        - `null` boolean
        - `binary` boolean
      - `survivorId` string
      - `createdAt` string, date
      - `updatedAt` string, date
      - `mdmProcessResult` MdmProcessResponse
        - `requestId` string
        - `entityType` string
        - `entityId` string
        - `status` 'SUCCESS' | 'FAILED'
        - `executionSummary` MdmExecutionSummary
          - `stepsExecuted` string[]
          - `stepsSkipped` string[]
          - `stepsFailed` string[]
          - `totalDurationMs` integer
        - `stepResults` object
        - `error` MdmErrorDetail
          - `code` string
          - `message` string
          - `failedStep` string
    - CoreFacilityResponse
      - `certifyFacilityId` string
      - `crosswalkId` string
      - `sourceId` string
      - `sourceUrl` string
      - `sourceType` string
      - `sourceName` string
      - `sourceDescription` string
      - `data` CoreFacilitydataschema
        - `lastCredentialedDate` string, date
        - `initialCredentialingDate` string, date
        - `nextCredentialingDate` string, date
        - `dba` string
        - `name` string
        - `primaryEmail` string
        - `npi` string
        - `tin` string
        - `externalId` string
        - `facilityType` string
        - `deceasedDate` string, date
        - `lineOfBusiness` string[]
        - `attestationDate` string, date
        - `effectiveDate` string, date
        - `statesToCredential` string[]
        - `userDefinedFields` object
        - `delegationStatus` 'Delegated' | 'Direct'
        - `jurisdictionOfInterest` string
        - `businessPurpose` FacilityBusinessPurpose
          - `isForCredentialing` FacilityBusinessPurposeIsForCredentialing
            - `value` boolean
            - `reason` string
          - `isForMonitoring` FacilityBusinessPurposeIsForMonitoring
            - `value` boolean
            - `reason` string
        - `emails` CoreFacilitydataschemaEmailsInner[]
          - `email` string
          - `emailType` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
        - `phoneNumbers` CoreFacilitydataschemaPhoneNumbersInner[]
          - `phoneNumber` string
          - `type` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
        - `addresses` FacilityAddressesInner[]
          - `address1` string
          - `address2` string
          - `city` string
          - `state` string
          - `country` string
          - `zipcode` string
          - `source` string
          - `type` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `isPrimary` boolean
          - `county` string
          - `zipExtension` string
          - `latitude` number
          - `longitude` number
          - `stateFips` string
          - `countyFips` string
          - `formattedAddress` string
        - `licenses` CoreFacilitydataschemaLicensesInner[]
          - `type` string
          - `expirationDate` string, date
          - `issueDate` string, date
          - `licenseNumber` string
          - `state` string
          - `licenseType` string
          - `licenseStatus` string
          - `licenseSource` string
          - `reportDate` string, date
          - `licenseNumberVariations` string
          - `flaggedDate` string, date
          - `dataSource` string
          - `url` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
        - `npdbReports` CoreFacilitydataschemaNpdbReportsInner[]
          - `reportDate` string, date
          - `processDate` string, date
          - `verifiedBy` string
          - `data` unknown
          - `verifiedDate` string, date
          - `typeOfAction` string
          - `createdDate` string, date
          - `deceased` string
          - `paymentAmount` string
          - `paymentDate` string, date
          - `patientAge` string
          - `patientGender` string
          - `patientType` string
          - `medicalConditionDescription` string
          - `procedureDescription` string
          - `allegationsDescription` string
          - `allegationNature` string
          - `specificAllegation` string
          - `specificAllegationDate` string, date
          - `outcome` string
          - `source` string
          - `reportType` string
          - `firstName` string
          - `lastName` string
          - `middleName` string
          - `gender` string
          - `npi` string
          - `homeAddress` string
          - `homeCity` string
          - `homeState` string
          - `homeZip` string
          - `dcn` string
          - `databankSubjectId` string, date
          - `enrollmentStatus` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
        - `nppes` CoreFacilitydataschemaNppesInner[]
          - `npi` string
          - `active` boolean
          - `addresses` CoreFacilitydataschemaNppesInnerAddressesInner[]
            - `address1` string, required
            - `addressPurpose` string
            - `addressType` string, required
            - `city` string, required
            - `countryCode` string, required
            - `countryName` string, required
            - `faxNumber` string
            - `postalCode` string
            - `state` string, required
            - `telephoneNumber` string
          - `certificationDate` string, date
          - `createdBy` string
          - `createdByName` string
          - `credential` string
          - `enumerationDate` string, date
          - `enumerationType` string
          - `firstName` string
          - `gender` string
          - `id` string
          - `identifiers` CoreFacilitydataschemaNppesInnerIdentifiersInner[]
            - `id` string
            - `type` string
            - `state` string
            - `issuer` string
          - `lastName` string
          - `lastUpdatedAt` string, date
          - `middleName` string
          - `organizationId` string
          - `otherNames` string[]
          - `prefix` string
          - `providerId` string
          - `status` string
          - `suffix` string
          - `taxonomies` CoreFacilitydataschemaNppesInnerTaxonomiesInner[]
            - `code` string, required
            - `desc` string, required
            - `license` string
            - `primary` boolean
            - `state` string
            - `taxonomyGroup` string
        - `certifications` CoreFacilitydataschemaCertificationsInner[]
          - `certificateId` string
          - `certificateType` string
          - `durationType` string
          - `expirationDate` string, date
          - `issueDate` string, date
          - `speciality` string
          - `subspeciality` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `moc` string
          - `status` string
          - `occurrenceType` string
          - `recordType` string
          - `number` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
        - `supportingDocuments` FacilityAttachment[]
          - `createdAt` string, date
          - `fileType` string
          - `fileUrl` string
          - `originalFileName` string
          - `state` string
          - `expirationDate` string, date
          - `source` string
          - `createdBy` string
        - `insurances` CoreFacilitydataschemaInsurancesInner[]
          - `carrierName` string
          - `expirationDate` string, date
          - `effectiveDate` string, date
          - `source` string
          - `status` string
          - `policyNumber` string
          - `aggregateCoverageAmount` string
          - `occurrenceCoverageAmount` string
          - `verifiedBy` string
          - `verifiedDate` string, date
          - `type` string
          - `unlimitedCoverage` boolean
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
        - `sanctions` CoreFacilitydataschemaSanctionsInner[]
          - `dateOfReport` string, date
          - `sanctionType` string
          - `typeOfAction` string
          - `data` string
          - `flaggedDate` string, date
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
        - `specialties` CoreFacilitydataschemaSpecialtiesInner[]
          - `type` string
          - `specialty` string
          - `subspecialty` string
          - `primarySpecialty` boolean
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
        - `accreditations` CoreFacilitydataschemaAccreditationsInner[]
          - `idNumber` string
          - `accreditationBody` string
          - `status` string
          - `effectiveDate` string, date
          - `expirationDate` string, date
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
        - `siteVisits` CoreFacilitydataschemaSiteVisitsInner[]
          - `grade` string
          - `date` string, date
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
        - `medicareStarRatings` CoreFacilitydataschemaMedicareStarRatingsInner[]
          - `starRating` string
          - `reportDate` string, date
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
        - `appVerifications` CoreFacilitydataschemaAppVerificationsInner[]
          - `verificationType` string
          - `explanation` string
          - `source` string
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
        - `performanceIndicators` CoreFacilitydataschemaPerformanceIndicatorsInner[]
          - `totalComplaints` integer
          - `clinicalComplaints` integer
          - `serviceComplaints` integer
          - `benefitsComplaints` integer
          - `claimComplaints` integer
          - `accessIssueComplaints` integer
          - `reportDate` string, date
          - `createdAt` string, date
          - `createdBy` string
          - `updatedAt` string, date
          - `updatedBy` string
          - `attachments` FacilityAttachment[]
            - `createdAt` string, date
            - `fileType` string
            - `fileUrl` string
            - `originalFileName` string
            - `state` string
            - `expirationDate` string, date
            - `source` string
            - `createdBy` string
          - `verifiedDate` string, date
          - `verifiedBy` string
      - `rawSourceData` JsonNode
        - `empty` boolean
        - `valueNode` boolean
        - `containerNode` boolean
        - `missingNode` boolean
        - `array` boolean
        - `object` boolean
        - `nodeType` 'ARRAY' | 'BINARY' | 'BOOLEAN' | 'MISSING' | 'NULL' | 'NUMBER' | 'OBJECT' | 'POJO' | 'STRING'
        - `pojo` boolean
        - `number` boolean
        - `integralNumber` boolean
        - `floatingPointNumber` boolean
        - `short` boolean
        - `int` boolean
        - `long` boolean
        - `float` boolean
        - `double` boolean
        - `bigDecimal` boolean
        - `bigInteger` boolean
        - `textual` boolean
        - `boolean` boolean
        - `null` boolean
        - `binary` boolean
      - `survivorId` string
      - `createdAt` string, date
      - `updatedAt` string, date
      - `mdmProcessResult` MdmProcessResponse
        - `requestId` string
        - `entityType` string
        - `entityId` string
        - `status` 'SUCCESS' | 'FAILED'
        - `executionSummary` MdmExecutionSummary
          - `stepsExecuted` string[]
          - `stepsSkipped` string[]
          - `stepsFailed` string[]
          - `totalDurationMs` integer
        - `stepResults` object
        - `error` MdmErrorDetail
          - `code` string
          - `message` string
          - `failedStep` string
    - NppesMappedProviderDetails — providerDetails shape for entityType=GROUP or when the upsert fails for practitioner or facility. GROUP bypasses the DAL and always queries the live NPPES registry; no crosswalk upsert is performed. The nppes[] array carries the NPPES-mapped entries with both practitioner-level fields (firstName, lastName, organizationId) and nested addresses/taxonomies.
      - `npi` string — NPI number
      - `nppes` NppesEntry[] — NPPES registry entries mapped for this GROUP NPI
        - `npi` string — NPI number
        - `active` boolean — Whether the record is active in NPPES
        - `firstName` string
        - `middleName` string
        - `lastName` string
        - `prefix` string
        - `suffix` string
        - `credential` string
        - `gender` string
        - `enumerationDate` string — Date NPI was enumerated (YYYY-MM-DD)
        - `lastUpdatedAt` string — Date record was last updated in NPPES (YYYY-MM-DD)
        - `certificationDate` string — Certification date (YYYY-MM-DD)
        - `enumerationType` string — NPPES enumeration type: 1=individual, 2=organization
        - `organizationId` string — Organization name associated with this GROUP NPI
        - `addresses` Address[] — Mailing and practice addresses for this entry
          - `address1` string
          - `address2` string
          - `city` string
          - `state` string
          - `postalCode` string
          - `addressPurpose` string
          - `countryCode` string
          - `countryName` string
          - `phone` string
          - `faxNumber` string
          - `addressType` string — mailing or practice
          - `telephoneNumber` string
        - `taxonomies` Taxonomy[] — Taxonomy classifications
          - `code` string — NUCC taxonomy code
          - `desc` string — Human-readable taxonomy description
          - `license` string
          - `primary` boolean — Whether this is the primary taxonomy
          - `state` string
          - `taxonomyGroup` string
        - `identifiers` unknown[] — Other identifiers (e.g. state licence IDs)
          - unknown
        - `id` string
        - `providerId` string
        - `createdBy` string
        - `createdByName` string
        - `createdAt` string
        - `updatedBy` string
        - `updatedAt` string
        - `status` string
        - `verifiedAt` string
        - `verifiedBy` string
        - `verifiedDate` string
        - `verifiedByName` string
        - `source` string
        - `credWorkflowRecordOrigin` string
        - `otherNames` unknown[] — Alternate names on record
          - unknown
      - `emails` unknown[] — Email addresses on record
        - unknown
      - `phoneNumbers` unknown[] — Phone numbers on record
        - unknown
      - `addresses` unknown[] — Addresses on record (top-level; detailed addresses are inside nppes[])
        - unknown
      - `licenses` unknown[] — Licenses on record
        - unknown
      - `npdbReports` unknown[] — NPDB reports
        - unknown
      - `certifications` unknown[] — Certifications
        - unknown
      - `supportingDocuments` unknown[] — Supporting documents
        - unknown
      - `insurances` unknown[] — Insurance records
        - unknown
      - `sanctions` unknown[] — Sanction records
        - unknown
      - `specialties` unknown[] — Specialties
        - unknown
      - `accreditations` unknown[] — Accreditations
        - unknown
      - `siteVisits` unknown[] — Site visits
        - unknown
      - `medicareStarRatings` unknown[] — Medicare star ratings
        - unknown
      - `appVerifications` unknown[] — Application verifications
        - unknown
      - `performanceIndicators` unknown[] — Performance indicators
        - unknown
      - `lineOfBusiness` unknown[] — Lines of business
        - unknown
      - `statesToCredential` unknown[] — States to credential in
        - unknown

## Other responses

- `400` — Bad Request - Malformed request body (missing or null npi field) or unrecognised entityType query parameter value (accepted: practitioner, facility, group — case-insensitive)
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Not Found - NPI is valid but not found in the DAL or the NPPES registry
- `422` — 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)
- `503` — Service Unavailable - Live NPPES registry fallback is disabled by configuration (NPI_VALIDATION_NPPES_ENABLED is set to false)

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/3d27e9019c7b/schema)
