Certifyos Npi Validation API

NPI validation operations

Operations 1

POST /npi/validate Validate NPI #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/certifyos-npivalidation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

certifyos-npivalidation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API for Certify application
  title: Certify API Layer Npi Validation API
  version: 1.0.0
servers:
- url: http://localhost:9000
  description: Local Development Server
- url: https://api-service.staging.certifyos.com
  description: Staging Server
- url: https://api-service.internal.certifyos.com
  description: Internal Server
- url: https://api-service.test.certifyos.com
  description: Test Server
- url: https://api-service.demo.certifyos.com
  description: Demo Server
- url: https://api-service.certifyos.com
  description: Production Server
tags:
- name: NpiValidation
  description: NPI validation operations
paths:
  /npi/validate:
    post:
      summary: Validate NPI
      description: 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.
      operationId: validateNpi
      tags:
      - NpiValidation
      parameters:
      - description: 'Entity type of the NPI: practitioner, facility, or group. Case-insensitive. Defaults to PRACTITIONER when omitted. Returns 400 if an unrecognised value is supplied.'
        example: facility
        name: entityType
        in: query
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      requestBody:
        description: Request object containing the NPI to validate
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NpiValidationRequest'
        required: true
      responses:
        '200':
          description: 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).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationResponse'
        '400':
          description: 'Bad Request - Malformed request body (missing or null npi field) or unrecognised entityType query parameter value (accepted: practitioner, facility, group — case-insensitive)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
        '401':
          description: Unauthorized - Authentication required
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - NPI is valid but not found in the DAL or the NPPES registry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
        '422':
          description: 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)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
        '503':
          description: Service Unavailable - Live NPPES registry fallback is disabled by configuration (NPI_VALIDATION_NPPES_ENABLED is set to false)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
      security:
      - jwt: []
components:
  schemas:
    CoreFacilitydataschemaLicensesInner:
      type: object
      properties:
        type:
          type: string
        expirationDate:
          $ref: '#/components/schemas/Date'
        issueDate:
          $ref: '#/components/schemas/Date'
        licenseNumber:
          type: string
        state:
          type: string
        licenseType:
          type: string
        licenseStatus:
          type: string
        licenseSource:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        licenseNumberVariations:
          type: string
        flaggedDate:
          $ref: '#/components/schemas/Date'
        dataSource:
          type: string
        url:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    CorePractitionerdatabaseschemaNppesInnerTaxonomiesInner:
      type: object
      properties:
        code:
          type: string
        desc:
          type: string
        license:
          type: string
        primary:
          type: boolean
        state:
          type: string
        taxonomyGroup:
          type: string
    FacilityBusinessPurposeIsForMonitoring:
      type: object
      properties:
        value:
          type: boolean
        reason:
          type: string
    CorePractitionerdatabaseschemaMedicareInner:
      type: object
      properties:
        medicareNumber:
          type: string
        medicareState:
          type: string
        issueDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        url:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    Attachment1:
      type: object
      properties:
        createdAt:
          $ref: '#/components/schemas/Date'
        fileType: {}
        fileUrl:
          type: string
        originalFileName:
          type: string
        state: {}
        expirationDate: {}
        source: {}
        createdBy: {}
        credWorkflowRecordOrigin:
          type: string
    NpiValidationRequest:
      description: Request to validate an NPI
      type: object
      required:
      - npi
      properties:
        npi:
          type: string
          description: The NPI to validate
          examples:
          - '1234567890'
    PractitionerRolesMapValue:
      type: object
      properties:
        effectiveDate:
          $ref: '#/components/schemas/Date'
        terminationDate:
          $ref: '#/components/schemas/Date'
    Date:
      type: string
      format: date
    CorePractitionerdatabaseschemaLicensureActionsInner:
      type: object
      properties:
        licenseNumber:
          type: string
        details:
          type: string
        state:
          type: string
        lastActionDate:
          $ref: '#/components/schemas/Date'
        reportDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        actionType:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        createdDate:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        url:
          type: string
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaWorkHistoryGapsInner:
      type: object
      properties:
        explanation:
          type: string
        gapStartDate:
          $ref: '#/components/schemas/Date'
        gapEndDate:
          $ref: '#/components/schemas/Date'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaBoardCertificationsInner:
      type: object
      properties:
        abmsId:
          type: string
        certificateId:
          type: string
        certifyingBoardName:
          type: string
        isPrimary:
          type: boolean
        certificateType:
          type: string
        durationType:
          type: string
        expireDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        issueDate:
          $ref: '#/components/schemas/Date'
        reverificationDate:
          $ref: '#/components/schemas/Date'
        speciality:
          type: string
        subspeciality:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        moc:
          type: string
        status:
          type: string
        occuranceType:
          type: string
        recordType:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        country:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaPhoneNumbersInner:
      type: object
      properties:
        phoneNumber:
          type: string
        faxNumber:
          type: string
        type:
          type: string
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        credWorkflowRecordOrigin:
          type: string
    CoreFacilitydataschemaNppesInnerAddressesInner:
      type: object
      required:
      - address1
      - addressType
      - city
      - countryCode
      - countryName
      - state
      properties:
        address1:
          type: string
        addressPurpose:
          type: string
        addressType:
          type: string
        city:
          type: string
        countryCode:
          type: string
        countryName:
          type: string
        faxNumber:
          type: string
        postalCode:
          type: string
        state:
          type: string
        telephoneNumber:
          type: string
    CorePractitionerdatabaseschemaEducationTrainingInner:
      type: object
      properties:
        startDate:
          $ref: '#/components/schemas/Date'
        endDate:
          $ref: '#/components/schemas/Date'
        type:
          type: string
        degree:
          type: string
        speciality:
          type: string
        subspecialty:
          type: string
        institution:
          type: string
        licensingBoardReference:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        status:
          type: string
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CoreFacilitydataschemaMedicareStarRatingsInner:
      type: object
      properties:
        starRating:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    CorePractitionerdatabaseschemaMalpracticeInsuranceInner:
      type: object
      properties:
        carrierName:
          type: string
        expiryDate:
          $ref: '#/components/schemas/Date'
        effectiveDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        status:
          type: string
        policyNumber:
          type: string
        aggregateCoverageAmount:
          type: string
        occuranceCoverageAmount:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        type:
          type: string
        unlimitedCoverage:
          type: boolean
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    NppesEntry:
      type: object
      description: NPPES entry for a GROUP NPI lookup
      properties:
        npi:
          type: string
          description: NPI number
          examples:
          - '1023950565'
        active:
          type: boolean
          description: Whether the record is active in NPPES
          examples:
          - true
        firstName:
          type: string
          examples:
          - PAMELA
        middleName:
          type: string
          examples:
          - S
        lastName:
          type: string
          examples:
          - COKER
        prefix:
          type: string
          examples:
          - ''
        suffix:
          type: string
          examples:
          - ''
        credential:
          type: string
          examples:
          - ''
        gender:
          type: string
          examples:
          - ''
        enumerationDate:
          type: string
          description: Date NPI was enumerated (YYYY-MM-DD)
          examples:
          - '2026-04-06'
        lastUpdatedAt:
          type: string
          description: Date record was last updated in NPPES (YYYY-MM-DD)
          examples:
          - '2026-04-06'
        certificationDate:
          type: string
          description: Certification date (YYYY-MM-DD)
          examples:
          - '2026-04-06'
        enumerationType:
          type: string
          description: 'NPPES enumeration type: 1=individual, 2=organization'
          examples:
          - '2'
        organizationId:
          type: string
          description: Organization name associated with this GROUP NPI
          examples:
          - ELEVATE ILLINOIS HOME CARE LLC
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
          description: Mailing and practice addresses for this entry
        taxonomies:
          type: array
          items:
            $ref: '#/components/schemas/Taxonomy'
          description: Taxonomy classifications
        identifiers:
          type: array
          items: {}
          description: Other identifiers (e.g. state licence IDs)
        id:
          type: string
          examples:
          - ''
        providerId:
          type: string
          examples:
          - ''
        createdBy:
          type: string
          examples:
          - ''
        createdByName:
          type: string
          examples:
          - ''
        createdAt:
          type: string
          examples:
          - ''
        updatedBy:
          type: string
          examples:
          - ''
        updatedAt:
          type: string
          examples:
          - ''
        status:
          type: string
          examples:
          - ''
        verifiedAt:
          type: string
          examples:
          - ''
        verifiedBy:
          type: string
          examples:
          - ''
        verifiedDate:
          type: string
          examples:
          - ''
        verifiedByName:
          type: string
          examples:
          - ''
        source:
          type: string
          examples:
          - ''
        credWorkflowRecordOrigin:
          type: string
          examples:
          - ''
        otherNames:
          type: array
          items: {}
          description: Alternate names on record
    CorePractitionerdatabaseschemaNpdbReportsInner:
      type: object
      properties:
        ssn:
          type: string
        birthdate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        licensureField:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        processDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        data: {}
        verifiedDate:
          $ref: '#/components/schemas/Date'
        typeOfAction:
          type: string
        createdDate:
          $ref: '#/components/schemas/Date'
        deceased:
          type: string
        paymentAmount:
          type: string
        paymentDate:
          $ref: '#/components/schemas/Date'
        patientAge:
          type: string
        patientGender:
          type: string
        patientType:
          type: string
        medicalConditionDescription:
          type: string
        procedureDescription:
          type: string
        allegationsDescription:
          type: string
        allegationNature:
          type: string
        specificAllegation:
          type: string
        specificAllegationDate:
          $ref: '#/components/schemas/Date'
        outcome:
          type: string
        source:
          type: string
        reportType:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        middleName:
          type: string
        gender:
          type: string
        npi:
          type: string
        homeAddress:
          type: string
        homeCity:
          type: string
        homeState:
          type: string
        homeZip:
          type: string
        dcn:
          type: string
        reportDCN:
          type: string
        notes:
          type: array
          items:
            type: string
        maintainedUnder:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaNpdbReportsInnerMaintainedUnder'
        correctedFields:
          type: array
          items:
            type: string
        previousDCN:
          type: string
        previousTransaction:
          type: string
        databankSubjectId:
          type: string
          minLength: 1
        otherName:
          type: array
          items:
            $ref: '#/components/schemas/CorePractitionerdatabaseschemaNpdbReportsInnerOtherNameInner'
        certification:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaNpdbReportsInnerCertification'
        submitter:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaNpdbReportsInnerSubmitter'
        enrollmentStatus:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaNpdbReportsInnerEnrollmentStatus'
        transactionTypeCode:
          type: string
        transactionType:
          type: string
        recentChangeDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaNpdbReportsInnerEnrollmentStatus:
      type: object
      properties:
        dataBank:
          type: string
        status:
          type: string
        statusCode:
          type: string
        section1128e:
          type: boolean
        section1921:
          type: boolean
        titleIV:
          type: boolean
        startDate:
          $ref: '#/components/schemas/Date'
        endDate:
          $ref: '#/components/schemas/Date'
    MdmErrorDetail:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        failedStep:
          type: string
    CorePractitionerdatabaseschemaCaqhPdqsPractitionerProfessionalIdPractitionerEcfmg:
      type: object
      properties:
        ecfmgNumber:
          type: string
        ecfmgIssueDate:
          $ref: '#/components/schemas/Date'
    DelegationStatusEnum1:
      type: string
      enum:
      - Delegated
      - Direct
    CoreFacilitydataschemaSanctionsInner:
      type: object
      properties:
        dateOfReport:
          $ref: '#/components/schemas/Date'
        sanctionType:
          type: string
        typeOfAction:
          type: string
        data:
          type: string
        flaggedDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    PractitionerMedicaidInner:
      type: object
      properties:
        state:
          type: string
        medicaidNumber:
          type: string
        medicaidState:
          type: string
        cdsNumber:
          type: string
        issueDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        url:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    NpiValidationErrorResponse:
      description: Error response for NPI validation
      type: object
      properties:
        status:
          type: integer
          format: int32
          description: HTTP status code
          examples:
          - 400
        error:
          type: string
          description: Error type
          examples:
          - Bad Request
        message:
          type: string
          description: Detailed error message
          examples:
          - Request body must be a valid JSON object with a non-null 'npi' field.
    CoreFacilitydataschemaPerformanceIndicatorsInner:
      type: object
      properties:
        totalComplaints:
          type: integer
          format: int32
        clinicalComplaints:
          type: integer
          format: int32
        serviceComplaints:
          type: integer
          format: int32
        benefitsComplaints:
          type: integer
          format: int32
        claimComplaints:
          type: integer
          format: int32
        accessIssueComplaints:
          type: integer
          format: int32
        reportDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    CorePractitionerdatabaseschemaNpdbReportsInnerCertificationPhone:
      type: object
      properties:
        number:
          type: string
    Taxonomy:
      type: object
      description: Taxonomy classification for a GROUP NPI entry
      properties:
        code:
          type: string
          description: NUCC taxonomy code
          examples:
          - 253Z00000X
        desc:
          type: string
          description: Human-readable taxonomy description
          examples:
          - ''
        license:
          type: string
          examples:
          - ''
        primary:
          type: boolean
          description: Whether this is the primary taxonomy
          examples:
          - true
        state:
          type: string
          examples:
          - ''
        taxonomyGroup:
          type: string
          examples:
          - ''
    CoreFacilitydataschemaNppesInnerTaxonomiesInner:
      type: object
      required:
      - code
      - desc
      properties:
        code:
          type: string
        desc:
          type: string
        license:
          type: string
        primary:
          type: boolean
        state:
          type: string
        taxonomyGroup:
          type: string
    CorePractitionerdatabaseschemaNpdbReportsInnerCertification:
      type: object
      properties:
        name:
          type: string
        title:
          type: string
        phone:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaNpdbReportsInnerCertificationPhone'
        date:
          $ref: '#/components/schemas/Date'
    CorePractitionerdatabaseschemaDeaInner:
      type: object
      properties:
        expireDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        affiliation:
          type: string
        deaNumber:
          type: string
        number:
          type: string
        cdsLicenseNumber:
          type: string
        state:
          type: string
        providerType:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        type:
          $ref: '#/components/schemas/TypeEnum'
        status:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        url:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdataschema:
      type: object
      properties:
        caqhPdqs:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaCaqhPdqs'
        prefix:
          type: string
        firstName:
          type: string
        caqhPrimaryEmail:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        suffix:
          type: string
        primaryEmail:
          type: string
        npi:
          type: string
        externalId:
          type: string
        enrollmentStartDate:
          $ref: '#/components/schemas/Date'
        reimbursementId:
          type: string
        supervisingPractitionerId:
          type: string
        caqhProviderId:
          type: string
        providerType:
          type: array
          items:
            type: string
        practitionerType:
          type: array
          items:
            type: string
        practitionerSpecializedTraining:
          type: array
          items:
            type: string
        practitionerTypesToCredential:
          type: array
          items:
            type: string
        reviewCompleteDate:
          $ref: '#/components/schemas/Date'
        statesToCredential:
          type: array
          items:
            type: string
        practitionerRoles:
          type: array
          items:
            type: string
        practitionerRolesMap:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PractitionerRolesMapValue'
        lineOfBusiness:
          type: array
          items:
            type: string
        providerId:
          type: string
        dateOfBirth:
          $ref: '#/components/schemas/Date'
        ssn:
          type: string
        gender:
          type: string
        race:
          type: string
        ethnicity:
          type: string
        providerCreatedDate:
          $ref: '#/components/schemas/Date'
        npdbDatabankSubjectId:
          type: string
        npdbDcn:
          type: string
        isDeceased:
          type: boolean
        deceasedDate:
          $ref: '#/components/schemas/Date'
        deceasedExplanation:
          type: string
        lastCredentialedDate:
          $ref: '#/components/schemas/Date'
        lastCredentialingDate:
          $ref: '#/components/schemas/Date'
        nextCredentialingDate:
          $ref: '#/components/schemas/Date'
        initialCredentialingDate:
          $ref: '#/components/schemas/Date'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        emails:
          type: array
          items:
            $ref: '#/components/schemas/CorePractitionerdatabaseschemaEmailsI

# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/certifyos/refs/heads/main/openapi/certifyos-npivalidation-api-openapi.yml