Skip to main content
POST
cURL
The following endpoint requires provider enrollment through our platform. Refer to the platform help guides or contact Cair Support with any questions.

Mock Requests

To send a mock request without incurring charges, set the mockRequest parameter in the body to true. There are 4 scenarios you may test with. Refer to Mock Eligibility for the scenarios.

Data Richness

The response you receive will vary by payer. We parse the EDI response to the best of our ability, and the presence of an N/A in any field does not necessarily mean that the benefit is not present in the subscriber’s insurance plan.

Service Benefits & Accumulators

/api/eligibility/v4 accepts the exact same request body as v3 (serviceTypeCodes, procedureCodes, procedureCodesType, and runCobCheck are all optional, so v1 request bodies work without modification). In addition to the per-service-type benefit table under response, v4 returns a dynamic serviceBenefits map containing copay and coinsurance for any clinical service category reported by the payer. Each entry includes top-level summary fields as well as inNetwork and outNetwork (individual / family) breakdowns when reported by the payer:
  • officeVisit.copay — e.g. "$15.00"
  • officeVisit.coinsurance — e.g. "20%"
  • officeVisit.inNetwork.individual — { "copay": "$15.00", "coinsurance": "20%" }
  • officeVisit.outNetwork.individual — { "coinsurance": "50%" }
Each benefit cell in response includes:
  • deductible.total, deductible.remaining, and deductible.yearToDate (when reported)
  • stopLoss (total out-of-pocket maximum), stopLossRemaining, and stopLossYearToDate (when reported)
Plan-level effectiveDateRange ({ "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" }) is automatically resolved from plan, benefit, or service-level date segments when present. Non-2xx error responses return { "error": "..." }.

Library of Possible serviceBenefits Keys

Common X12 Service Type Codes are grouped into canonical serviceBenefits keys below. Any additional X12 Service Type Code returned by a payer (across all 191 X12 service type codes) is dynamically converted from its X12 display name into camelCase (e.g. 71 “Audiology Exam” -> audiologyExam, 75 “Prosthetic Device” -> prostheticDevice).

Coordination of Benefits

This route allows an optional runCobCheck flag to automatically call the Coordination of Benefits using the information in the eligibility check request. Using this flag may incur additional costs. Reach out to Cair for pricing.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Patient and coverage information

patientFirstName
string
required

Patient first name

patientLastName
string
required

Patient last name

patientDOB
string
required

Patient Date of Birth, formatted as MM-DD-YYYY

patientMemberId
string
required

Member ID of patient's insurance policy

dateOfCoverage
string
required

Date to request coverage information. Formatted as MM-DD-YYYY

payerId
string
required

Payer ID. Accepts either the Stedi Payer ID (e.g. 'KMQTZ', 'HGJLR') or the Primary Payer ID (e.g. '87726') from the platform or the Fetch Enrollments API

providerId
string
required

Billing Provider ID. Accepts either the CAIR logical provider ID (from /admin/provider/) or the clearinghouse provider ID from the Fetch Enrollments API

mockRequest
boolean

Optional flag to only return mock data

serviceTypeCodes
string[]

Service type codes to request coverage information for

procedureCodes
string[]

CPT or CDT codes to check coverage for

procedureCodesType
enum<string>

Type of procedure codes being provided. Must be either 'CPT' or 'CDT'

Available options:
CPT,
CDT
runCobCheck
boolean

Whether to run a coordination of benefits check

Response

Eligibility check successful

payerName
string

Name of the insurance payer

status
enum<string>

Coverage status

Available options:
Active Coverage,
Inactive
memberId
string

Member ID of the subscriber

groupName
string

Group name from the plan

groupNumber
string

Group number from the plan

insuranceType
string

Type of insurance (e.g. PPO, HMO, Commercial)

planName
string

Name of the plan

effectiveDateRange
object | null

Effective date range of the plan

eligibilityBeginDate
string

Eligibility begin date (YYYY-MM-DD)

dependents
object[]

Dependent details when the policy is mapped from a family member

response
object

Map of service type codes to benefit information

message
string

Overall message about the eligibility check

serviceBenefits
object

Dynamic map of common service categories to copay and coinsurance values (with in-network/out-of-network and individual/family breakdown), present per service only when the payer reports values

cob
object

Coordination of benefits information, only present if runCobCheck was true