API Reference
/api/eligibility/check/mock
Integration-test endpoint. Same authentication as the live check — but the payer network is never called and the transaction is not billed. Use this in CI, development, automated tests, and voice/CRM integrations.
Not billed. Mock requests are logged in your workspace with a mock tag but do not deduct from your wallet.
JSON body (recommended)
Send a JSON body — same fields as POST /api/eligibility/check plus mockFixture:
| Field | Type | Required | Description |
|---|---|---|---|
| payerName | string | ✓ | Payer name (matched against catalog) |
| memberId | string | ✓ | Insurance member ID |
| patientFirstName | string | ✓ | Patient first name |
| patientLastName | string | ✓ | Patient last name |
| mockFixture | string | ✓ | Fixture slug to return. See table below. |
| patientDateOfBirth | string | — | ISO 8601 date (e.g. 1990-04-15) |
Headers
| Header | Required | Description |
|---|---|---|
| Authorization | ✓ | Bearer YOUR_API_KEY |
| X-Client-Id | ✓ | UUID of the clinic client |
| Content-Type | ✓ | application/json |
| Idempotency-Key | — | UUID for idempotent retries |
curl -X POST https://eligibility.dev/api/eligibility/check/mock \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Client-Id: YOUR_CLIENT_ID" \
-H "Content-Type: application/json" \
-d '{
"payerName": "Aetna",
"memberId": "W123456789",
"patientFirstName": "Jane",
"patientLastName": "Smith",
"mockFixture": "aetna-dependent1"
}'Query-string (voice AI / no-body integrations)
Identical behavior to POST, but all parameters are passed as URL query strings. Designed for tools that can only make GET requests — for example GHL Voice AI webhooks. No Content-Type header needed.
| Parameter | Required | Description |
|---|---|---|
| payerName | ✓ | Payer name (matched against catalog) |
| memberId | ✓ | Insurance member ID |
| patientFirstName | ✓ | Patient first name |
| patientLastName | ✓ | Patient last name |
| mockFixture | ✓ | Fixture slug to return. See table below. |
| patientDateOfBirth | — | ISO 8601 date (e.g. 1990-04-15) |
| idempotencyKey | — | UUID for idempotent retries (alternative to Idempotency-Key header) |
Headers
| Header | Required | Description |
|---|---|---|
| Authorization | ✓ | Bearer YOUR_API_KEY |
| X-Client-Id | ✓ | UUID of the clinic client |
curl "https://eligibility.dev/api/eligibility/check/mock?payerName=Aetna&memberId=W123456789&patientFirstName=Jane&patientLastName=Smith&mockFixture=aetna-dependent1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Client-Id: YOUR_CLIENT_ID"Available fixtures
| mockFixture | Scenario |
|---|---|
| aetna-dependent1 | Active coverage, dependent member (Aetna) |
| cigna-subscriber-only | Active coverage, subscriber only (Cigna) |
| dental | Dental benefit check |
| medical-inactive | Inactive medical coverage |
| mbi-lookup-ssn | MBI / SSN lookup |
| 75-subscriber-not-found | Upstream error: subscriber not found |
| 42-payer-unable-to-respond | Upstream error: payer unable to respond |
| 43-invalid-missing-provider-info | Upstream error: missing provider info |
| 72-invalid-missing-subscriber-id | Upstream error: missing subscriber ID |
| 73-invalid-missing-subscriber-name | Upstream error: missing subscriber name |
| 79-invalid-participant-info | Upstream error: invalid participant info |
Response
Identical shape to POST /api/eligibility/check. The success and benefitSummary fields reflect the fixture, not a live payer call.