Sandbox
List sandbox scenarios
GET/api/v1/sandbox/scenarios
The scripted payer scenarios a test key can trigger. Send a scenario ID as the subscriber member_id of an eligibility check made with a test key to get that scenario. Any other member ID gets the default scenario.
Needs a key with read permission.
Request
This request takes no parameters and no body.
Response
Every scenario, and what any other member ID gets. Status 200.
| Name | Type | Description |
|---|---|---|
| data | array of object | |
| data[].id | string | Send this as the subscriber member_id of a test-mode check to get the scenario. |
| data[].object | string | Always `sandbox_scenario`. |
| data[].use_as | string | Always `member_id`. |
| data[].description | string | |
| data[].outcome | string | What the payer does: answers, rejects or is unavailable.One of: `answered`, `rejected`, `payer_unavailable`. |
| data[].covers | array of string | The products the scenario applies to.Each item is one of: `eligibility`. |
| next_cursor | value | Pass as cursor to get the next page; null when there is no next page. |
| note | string | What any other member ID gets. |
Errors
| HTTP status | Code | What it means |
|---|---|---|
| 401 | UNAUTHORIZED | A valid API key is required. Send it as "Authorization: Bearer <key>". |
| 403 | PERMISSION_DENIED | This API key is not allowed to do that. |
| 422 | INVALID_REQUEST | The request is not valid. |
| 504 | TIMEOUT | The 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). |
| 500 | INTERNAL | Something went wrong on our side. Quote the request ID if you contact us. |
Example
Example request
curl "https://sandbox.myclaimhouse.com/api/v1/sandbox/scenarios" \
-H "Authorization: Bearer $CLAIMHOUSE_KEY"Example response: 200
{
"data": [
{
"id": "CH-ACTIVE-FULL",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "Active coverage, full benefits returned, with 18 procedure rows",
"outcome": "answered",
"covers": [
"eligibility"
]
},
{
"id": "CH-MAX-NEARLY-USED",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "$120 of the annual maximum remaining",
"outcome": "answered",
"covers": [
"eligibility"
]
},
{
"id": "CH-MISSING-TOOTH",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "Missing tooth clause applies to implant codes (D6xxx)",
"outcome": "answered",
"covers": [
"eligibility"
]
},
{
"id": "CH-INACTIVE",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "Coverage ended: inactive, with its dates and little else",
"outcome": "answered",
"covers": [
"eligibility"
]
},
{
"id": "CH-NOT-FOUND",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "AAA 75: subscriber not found",
"outcome": "rejected",
"covers": [
"eligibility"
]
},
{
"id": "CH-DEPENDENT",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "AAA 75: a dependent sent as the subscriber, with two fixes (the plan holder, the member ID format)",
"outcome": "rejected",
"covers": [
"eligibility"
]
},
{
"id": "CH-DOB-MISMATCH",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "AAA 71: date of birth does not match",
"outcome": "rejected",
"covers": [
"eligibility"
]
},
{
"id": "CH-PAYER-DOWN",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "AAA 42: the payer is unavailable, nothing to change",
"outcome": "payer_unavailable",
"covers": [
"eligibility"
]
},
{
"id": "CH-GENERAL-ONLY",
"object": "sandbox_scenario",
"use_as": "member_id",
"description": "Active, a general answer with most detail not returned",
"outcome": "answered",
"covers": [
"eligibility"
]
}
],
"note": "Any other member ID with a test key returns CH-ACTIVE-FULL.",
"next_cursor": null
}