Skip to content

First Request

This guide walks through a complete plan search request and explains every part of the response.

  • An Opelyx API key (get one here)
  • A tool for making HTTP requests (curl, Python, or any HTTP client)
Terminal window
curl -s -H "Authorization: Bearer op_YOUR_API_KEY_HERE" \
"https://api.opelyx.com/v1/health/plans?zip=33139&age=35&metal_level=silver" \
| python3 -m json.tool

The API returns a HAL-formatted JSON response with these key sections:

FieldDescription
_linksNavigation links (self, next page, related resources)
_embedded.plansArray of matched plan objects
totalTotal number of matching plans
page_sizeNumber of plans per page (default: 20)
state_codeResolved state for the ZIP code
rating_area_idCMS rating area for premium calculation

Each plan in _embedded.plans includes:

FieldDescription
plan_idUnique plan identifier (HIOS format)
plan_nameMarketing name of the plan
issuer_nameInsurance company name
metal_levelBronze, Silver, Gold, Platinum, or Catastrophic
premiumMonthly premium for the requested age
deductibleAnnual individual deductible
max_out_of_pocketAnnual individual MOOP
plan_typeHMO, PPO, EPO, or POS
_links.selfDirect link to this plan’s detail endpoint

Every response includes rate limit and caching headers:

HeaderDescription
X-Request-IdUUID for tracing and support requests
RateLimit-LimitYour daily request allowance
RateLimit-RemainingRequests remaining today
RateLimit-ResetUnix timestamp when the limit resets
ETagWeak ETag for conditional requests
LinkRFC 8288 pagination and resource links