Skip to main content
GET
/
eligibility-checks
List eligibility checks
curl --request GET \
  --url https://api.usecobalt.com/v1/eligibility-checks \
  --header 'access_token: <api-key>' \
  --header 'client_id: <api-key>' \
  --header 'client_secret: <api-key>'
{
  "success": true,
  "eligibility_checks": [
    {
      "id": "<string>",
      "emr_id": "<string>",
      "emr_patient_id": "<string>",
      "patient_name": "<string>",
      "patient_dob": "2023-12-25",
      "emr_encounter_id": "<string>",
      "provider_name": "<string>",
      "payer_name": "<string>",
      "subscriber_name": "<string>",
      "subscriber_member_id": "<string>",
      "patient_relationship": "<string>",
      "plan_name": "<string>",
      "status_message": "<string>",
      "service_date": "2023-12-25",
      "response_at": "2023-11-07T05:31:56Z",
      "plan_begin_date": "2023-12-25",
      "plan_end_date": "2023-12-25",
      "benefits_summary": {
        "deductible": {},
        "out_of_pocket": {}
      },
      "benefit_count": 123,
      "synced_at": "2023-11-07T05:31:56Z"
    }
  ],
  "pagination": {
    "page": 123,
    "page_size": 123,
    "total_records": 123,
    "total_pages": 123
  }
}
Each eligibility check is one 270/271 verification: a request sent to a payer and the benefits response that came back. This endpoint returns the check headers, each with a benefits_summary (the headline deductible and out-of-pocket numbers) and a benefit_count. To read the full per-benefit detail for a check, use its id with Get Eligibility Benefits. Filter by service-date range, patient_mrn, or coverage_status. A check whose coverage_status is error is one the payer could not process (for example a missing provider NPI); the reason is in status_message.

Example Request

curl -X GET "https://api.usecobalt.com/v1/eligibility-checks?start_date=2026-06-01&end_date=2026-06-30&coverage_status=active&page=1&page_size=100" \
-H 'Content-Type: application/json' \
-H 'client_id: ci_live_198908HJDKJSH98789OHKJL' \
-H 'client_secret: cs_live_9827hofdsklOYYHJLJh' \
-H 'access_token: 493JKLHIU98789hLKH9HHJH'

Example Response

{
    "success": true,
    "eligibility_checks": [
        {
            "id": "abc123def4567890abcdef1234567890",
            "emr_id": "4588",
            "emr_patient_id": "100482",
            "patient_name": "Sample, Patient",
            "patient_dob": "1990-01-01",
            "emr_encounter_id": "293018",
            "provider_name": "Pat Provider",
            "payer_name": "Sample Health Plan",
            "subscriber_name": "Patient Sample",
            "subscriber_member_id": "W000000000",
            "patient_relationship": "self",
            "plan_name": "Sample PPO Plan",
            "coverage_status": "active",
            "status_message": null,
            "service_date": "2026-06-01",
            "response_at": "2026-06-01T05:01:00.000Z",
            "plan_begin_date": "2026-01-01",
            "plan_end_date": "2026-12-31",
            "benefits_summary": {
                "deductible": {
                    "individual": { "total": 2000, "remaining": 0 },
                    "family": { "total": 4000, "remaining": 1500 }
                },
                "out_of_pocket": {
                    "individual": { "total": 7000, "remaining": 917.76 },
                    "family": { "total": 10000, "remaining": 6217.76 }
                }
            },
            "benefit_count": 61,
            "synced_at": "2026-06-22T15:00:00.000Z"
        }
    ],
    "pagination": {
        "page": 1,
        "page_size": 100,
        "total_records": 1,
        "total_pages": 1
    }
}

Query Parameters

  • start_date / end_date: Filter by service date (YYYY-MM-DD).
  • patient_mrn: Filter to a single patient by medical record number.
  • coverage_status: Filter by active, inactive, error, or unknown.
  • page: Page number (default 1).
  • page_size: Results per page (default 100, max 500).

Response Parameters

  • id: Cobalt’s eligibility check identifier. Use this in the benefits endpoint path.
  • emr_id: The eligibility request identifier as it appears in the EMR.
  • emr_patient_id / patient_name / patient_dob: The patient the check was run for.
  • emr_encounter_id: The encounter/visit the check is tied to.
  • provider_name / payer_name: Rendering provider and the payer that responded.
  • subscriber_name / subscriber_member_id / patient_relationship: Subscriber details; patient_relationship is self or dependent.
  • plan_name: Plan description from the 271.
  • coverage_status: active, inactive, error (payer could not process the request), or unknown.
  • status_message: Payer reject reason when coverage_status is error.
  • service_date / response_at: Date of service and when the payer response was received.
  • plan_begin_date / plan_end_date: The plan’s effective date range (either may be null).
  • benefits_summary: Headline EOB rollup. deductible and out_of_pocket are each split by individual / family into total and remaining amounts.
  • benefit_count: Number of benefit lines parsed from the 271.
  • pagination: page, page_size, total_records, total_pages.

Authorizations

client_id
string
header
required
client_secret
string
header
required
access_token
string
header
required

Query Parameters

start_date
string<date>

Filter to checks with a service date on or after this date (YYYY-MM-DD).

end_date
string<date>

Filter to checks with a service date on or before this date (YYYY-MM-DD).

patient_mrn
string

Filter to a single patient by medical record number.

coverage_status
enum<string>

Filter by coverage status.

Available options:
active,
inactive,
error,
unknown
page
integer
default:1

Page number (default 1).

page_size
integer
default:100

Results per page (default 100, max 500).

Required range: x <= 500

Response

Successful response

success
boolean
eligibility_checks
object[]
pagination
object