API Endpoint: Medicare Enrollment

The medicare-enrollment endpoint checks whether a provider is enrolled in Medicare or has opted out, by NPI.

POST /api/v1/validate/medicare-enrollment

https://www.tincomply.com/api/v1/validate/medicare-enrollment

Checks a provider's Medicare status by NPI: enrolled privileges (Part B, DME, home health, power mobility, hospice), opt-out status with its effective and end dates, and Care Compare profile details.

Request body

FieldTypeDescription
npirequired string The 10-digit NPI.

Response object: medicareEnrollmentResult

FieldTypeDescription
foundboolTrue when the NPI is enrolled in Medicare.
invalidCheckDigitboolTrue when the NPI fails its check-digit test.
providerNamestringProvider name on the Medicare record.
optedOutboolTrue when the provider has opted out of Medicare.
optOutEffectiveDate, optOutEndDatedatetimeOpt-out period.
optOutSpecialtystringSpecialty on the opt-out affidavit.
partB, dme, homeHealth, pmd, hospiceboolEnrolled Medicare privileges.
careCompareobjectcredential, medicalSchool, graduationYear, primarySpecialty, secondarySpecialties, telehealth, acceptsAssignment and locations.
retrievedOndatetimeWhen we retrieved the record.
messagestringHuman-readable summary of the result.
completedboolFalse when the upstream source was unavailable and the request is queued for retry.

The sample shows an opted-out provider. Claims to federal programs for an opted-out provider's services are not payable, so treat optedOut as a stop for Medicare billing.

Sample request

curl -X POST https://www.tincomply.com/api/v1/validate/medicare-enrollment \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"npi":"1245319599"}'

Sample response

{
  "id": "jo6nPgXaj0OXUKZMyZCkXgDg",
  "request": {
    "npi": "1245319599",
    "requestDate": "2026-10-06T03:03:13Z",
    "requestedServices": "medicare-enrollment"
  },
  "medicareEnrollmentResult": {
    "npi": "1245319599",
    "message": "Opted out of Medicare",
    "found": false,
    "completed": true,
    "invalidCheckDigit": false,
    "providerName": "TEST PROVIDER",
    "optedOut": true,
    "optOutEffectiveDate": "2022-07-01T00:00:00",
    "optOutEndDate": "2028-07-01T00:00:00",
    "optOutSpecialty": "Psychiatry",
    "careCompare": {
      "credential": "MD",
      "medicalSchool": "TEST UNIVERSITY SCHOOL OF MEDICINE",
      "graduationYear": 2004,
      "primarySpecialty": "INTERNAL MEDICINE",
      "telehealth": true,
      "acceptsAssignment": "Y",
      "locations": [
        {
          "facilityName": "TEST MEDICAL GROUP",
          "groupSize": 42,
          "singleLine": "1 TEST WAY, SUITE 200, BALTIMORE, MD 21201-0000",
          "phone": "4105550120"
        }
      ]
    },
    "partB": false,
    "dme": false,
    "homeHealth": false,
    "pmd": false,
    "hospice": false,
    "retrievedOn": "2026-10-06T03:03:13Z"
  }
}

Errors

Requests that cannot be processed return HTTP 400 with an object keyed by field name, each listing what was wrong. Authentication, permission and other status codes are covered in the API overview.

This endpoint requires an API key with the Validate permission.

See how this check works in the portal and what it costs: NPI & Medicare Verification