List every plan name available for a given (payer_key, payer) pair. The returned plan values are the exact strings to pass as fee_schedules[].plan on Create Search. Obtain payer_key and payer from List Payers.
Example request:GET/v1/payers/{payer_key}/plans
URL-encode the payer query parameter when it contains spaces or special characters.
cURL
curl -s --get --data-urlencode "payer=Cigna" \
https://api.keeperhealth.com/v1/payers/cigna/plans \
-H "Authorization: Bearer $KEEPER_API_KEY"Headers
| Header | Required | Value |
|---|---|---|
Authorization | Yes | Bearer kh_live_<your_key> — see Authentication |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
payer_key | string | A payer_key value from List Payers. |
Query Parameters
| Parameter | Required | Description |
|---|---|---|
payer | Yes | The payer string from List Payers. Required because one payer_key may host multiple payer brands, and a plan is only valid against its own payer. |
Response
200 OK
JSON
[
{ "plan": "HMO" },
{ "plan": "OAP" },
{ "plan": "Other" },
{ "plan": "PPO" }
]| Field | Type | Description |
|---|---|---|
plan | string | The exact value to pass as fee_schedules[].plan on Create Search. |
The returned plan values can be dropped straight into a search:
JSON
{
"npis": [1144218512],
"billing_codes": ["99213"],
"fee_schedules": [{ "payer": "Cigna", "plan": "PPO" }]
}Error responses
All error responses use the standard error envelope.
error.type | HTTP | Meaning |
|---|---|---|
validation_error | 400 | The payer query parameter is missing or empty. |
unauthorized | 401 | Missing, malformed, or invalid API key. See Authentication. |
forbidden | 403 | API key revoked or organization inactive. See Authentication. |
not_found | 404 | payer_key does not exist, or the (payer_key, payer) pair yielded no plans. These cases are intentionally indistinguishable. |
internal_error | 500 | Contact support. |
See also
- List Payers — enumerate available
(payer_key, payer)pairs - Create Search — pass the returned
planvalues infee_schedules