API Docs/List Plans for Payer

List Plans for Payer

GET/v1/payers/{payer_key}/plans

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

HeaderRequiredValue
AuthorizationYesBearer kh_live_<your_key> — see Authentication

Path Parameters

ParameterTypeDescription
payer_keystringA payer_key value from List Payers.

Query Parameters

ParameterRequiredDescription
payerYesThe 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" }
]
FieldTypeDescription
planstringThe 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.typeHTTPMeaning
validation_error400The payer query parameter is missing or empty.
unauthorized401Missing, malformed, or invalid API key. See Authentication.
forbidden403API key revoked or organization inactive. See Authentication.
not_found404payer_key does not exist, or the (payer_key, payer) pair yielded no plans. These cases are intentionally indistinguishable.
internal_error500Contact support.

See also

  • List Payers — enumerate available (payer_key, payer) pairs
  • Create Search — pass the returned plan values in fee_schedules
Keeper Health API v1 · Questions? company@keeperhealth.com