List and search checks
GET /v4/eligibility-checks: filters, cursor paging and the summary row.
GET /v4/eligibility-checks lists the checks for the clinic in X-Clinic-Id, newest first.
| Query parameter | Default | Notes |
|---|---|---|
q | none | Search by Emirates ID, member id, policy number or check id |
start_date | none | YYYY-MM-DD, UTC, inclusive |
end_date | none | YYYY-MM-DD, UTC, inclusive (the whole day) |
limit | 50 | 1 to 100 rows per page |
cursor | none | The next_cursor from the previous page |
Query parameters not in this table are ignored. (Unknown fields in a request body are 422.)
Response: 200
{
"data": [
{
"id": "3f6c2a9e-...",
"status": "COMPLETE",
"tpa_name": "INS026",
"id_value": "784-1990-1234567-1",
"patient_name": "Patient Name",
"is_eligible": true,
"created_at": "2026-10-17T09:12:03.536000",
"updated_at": "2026-10-17T09:12:41.118000"
}
],
"page_info": { "next_cursor": "eyJjcmVhdGVk...", "has_more": true }
}Paging: while has_more is true, call again with cursor=<next_cursor> and the same filters.
Treat the cursor as an opaque string; don't build or edit it. New checks created while you page
never cause duplicates.
Each row is a summary. Fetch GET /v4/eligibility-checks/{id} for the full result.
tpa_namehere is the code you sent, not a label.id_valueis the check's main ID, in full. TheGETshows the IDs inrequest.identifierswith only their last 4 characters.id_valuecan benull.is_eligibleistruewhen a payer confirmed the patient is eligible andfalsewhen the check finished with a not-eligible answer. It isnullwhen the summary has no definite answer: the check is still running, was cancelled or failed, or the payer could not be checked (for example a portal login problem). Treatnullas unknown, not as not eligible, and fetch the check for the full result.patient_nameis thenameyou sent when you created the check, ornullif you did not send one.- Checks made with test IDs are never listed.
A bad cursor, or start_date after end_date, returns 422 VALIDATION_FAILED.