Skip to the page
Chapters

Eligibility

List eligibility checks

GET/api/v1/eligibility

The checks of the key's organization in the key's mode, newest first, as summaries (without the request and the benefits; read one check for those). Filter by office, coverage status, outcome, creation time, the request or Idempotency-Key that made a check, your own tenant_reference, or the check it corrects.

Needs a key with read permission.

Request

Query parameters

Query parameters
NameTypeRequiredDescription
limitintegeroptionalHow many items to return, from 1 to 100. Default 25.At least 1.At most 100.
cursorstringoptionalThe next_cursor of the previous page, to get the page after it. Opaque: pass it back unchanged.
office_idstringoptionalOnly checks made for this office.
statusstringoptionalOnly checks with this coverage status.One of: `active`, `inactive`, `unknown`.
outcomestringoptionalOnly checks that ended this way.One of: `answered`, `rejected`, `payer_unavailable`, `error`.
created_afterstring (date-time)optionalOnly checks created after this instant (ISO 8601 with an offset, such as 2026-10-01T00:00:00Z).
request_idstringoptionalOnly the check made by this API request (the x-request-id of its response, req_...).
idempotency_keystringoptionalOnly the checks made with this Idempotency-Key.
parent_idstringoptionalOnly the checks that correct this one (elg_...).
tenant_referencestringoptionalOnly the checks sent with this tenant_reference (your own reference for the check).At most 255 characters.

Response

A page of check summaries. Status 200.

Response fields
NameTypeDescription
dataarray of object
data[].idstringAn ID that starts with elg_.
data[].objectstringAlways `eligibility_check`.
data[].office_idstringAn ID that starts with off_.
data[].patient_idstring or nullThe patient this is about (pat_...) in the patient directory: the dependent when there is one, else the subscriber. Set by Claim House when a check completes or a claim's patient is written; null while a check is pending, and when the patient has no date of birth or a name with no letters or digits to compare.
data[].payerobject
data[].payer.idstringAn ID that starts with pyr_.
data[].payer.payer_idstringThe payer's own payer ID.
data[].payer.namestring
data[].statestringOne of: `pending`, `completed`.
data[].outcomestring or nullHow the check ended; null while pending.One of: `answered`, `rejected`, `payer_unavailable`, `error`.
data[].statusstring or nullThe coverage status: active, inactive or unknown; null when there is no answer.One of: `active`, `inactive`, `unknown`.
data[].billingobject or nullNull while the check is pending: it has no usage record yet.
data[].billing.chargedboolean
data[].billing.statestringOne of: `billable`, `not_billable`.
data[].billing.reasonstringOne of: `test_mode`, `answered`, `payer_rejected`, `payer_side_rejection`, `payer_unavailable`, `network_error`, `internal_error`, `cache_hit`.
data[].billing.labelstringWhy the check was or was not charged, in a sentence.
data[].cacheobject
data[].cache.statestringOne of: `fresh`, `hit`.
data[].cache.source_idstring or nullAn ID that starts with elg_.
data[].parent_idstring or nullThe rejected check this one corrects.
data[].request_idstring or nullThe API request that made the check (the x-request-id of its response); null for a check made in the dashboard.
data[].idempotency_keyvalueThe Idempotency-Key the check was sent with.
data[].sourceobject or null
data[].source.networkvalue
data[].source.latency_msinteger or nullAt least -9007199254740991.
data[].source.completed_atstring (date-time)
data[].tenant_referencevalueYour own reference, sent with the check.
data[].created_atstring (date-time)
next_cursorvaluePass as cursor to get the next page; null when there is no next page.

Errors

Errors
HTTP statusCodeWhat it means
401UNAUTHORIZEDA valid API key is required. Send it as "Authorization: Bearer <key>".
403PERMISSION_DENIEDThis API key is not allowed to do that.
422INVALID_REQUESTThe request is not valid.
504TIMEOUTThe request took too long to finish. It may still have taken effect: look it up before sending it again with a new Idempotency-Key. What it made is found with GET /api/v1/eligibility?request_id=<this request_id>, and the same filter on /api/v1/claims and /api/v1/attachments (a key with read permission).
500INTERNALSomething went wrong on our side. Quote the request ID if you contact us.

Example

Example request

Shell
curl "https://sandbox.myclaimhouse.com/api/v1/eligibility?status=active&limit=10" \
  -H "Authorization: Bearer $CLAIMHOUSE_KEY"

Example response: 200

JSON
{
  "data": [
    {
      "id": "elg_01JM000000E00800000000000G",
      "object": "eligibility_check",
      "office_id": "off_01JM000000E008000000000003",
      "patient_id": "pat_01JM000000E00800000000004K",
      "payer": {
        "id": "pyr_01JM000000E008000000000004",
        "payer_id": "00000",
        "name": "Example Dental Plan"
      },
      "state": "completed",
      "outcome": "answered",
      "status": "active",
      "billing": {
        "charged": false,
        "state": "not_billable",
        "reason": "test_mode",
        "label": "Not billed: test mode"
      },
      "cache": {
        "state": "fresh",
        "source_id": null
      },
      "parent_id": null,
      "request_id": "req_01JM000000E008000000000010",
      "idempotency_key": "visit-1042-attempt-1",
      "source": {
        "network": "sandbox",
        "latency_ms": 180,
        "completed_at": "2026-03-10T15:30:00.430000+00:00"
      },
      "tenant_reference": "visit-1042",
      "created_at": "2026-03-10T15:30:00.250000+00:00"
    }
  ],
  "next_cursor": null
}