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
| Field | Type | Description |
|---|---|---|
npirequired |
string | The 10-digit NPI. |
Response object: medicareEnrollmentResult
| Field | Type | Description |
|---|---|---|
found | bool | True when the NPI is enrolled in Medicare. |
invalidCheckDigit | bool | True when the NPI fails its check-digit test. |
providerName | string | Provider name on the Medicare record. |
optedOut | bool | True when the provider has opted out of Medicare. |
optOutEffectiveDate, optOutEndDate | datetime | Opt-out period. |
optOutSpecialty | string | Specialty on the opt-out affidavit. |
partB, dme, homeHealth, pmd, hospice | bool | Enrolled Medicare privileges. |
careCompare | object | credential, medicalSchool, graduationYear, primarySpecialty, secondarySpecialties, telehealth, acceptsAssignment and locations. |
retrievedOn | datetime | When we retrieved the record. |
message | string | Human-readable summary of the result. |
completed | bool | False 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
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