Side-by-side comparison of 2-4 plans
GET /v1/health/plans/compare
Fetches full details and rates for 2-4 plans, returning them in _embedded.plans with a comparison_summary identifying the lowest-premium, lowest-deductible, and lowest-MOOP plans. Requires Pro or Enterprise subscription.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Comma-separated plan IDs (2-4)
Example
21989AK0030001-01,21989AK0030002-015-digit ZIP code
Example
99501Applicant age
Example
35Plan year. Defaults to 2026. Available: 2026
5-digit county FIPS code to disambiguate ZIPs spanning multiple rating areas
Responses
Section titled “ Responses ”Plan comparison with HAL _embedded plans and summary
Side-by-side plan comparison with HAL _embedded plans
object
object
A HAL link object (draft-kelly-json-hal-11 §5)
object
Target URI or URI Template
True when href is an RFC 6570 URI Template
Media type hint for the target resource
Human-readable link title
object
Abbreviated plan data returned in search and compare collections
object
HAL links for this plan item
object
A HAL link object (draft-kelly-json-hal-11 §5)
object
Target URI or URI Template
True when href is an RFC 6570 URI Template
Media type hint for the target resource
Human-readable link title
Plan variant ID
Marketing name
Insurance company name
Two-letter state code
Monthly premium for the given age
Premium after estimated APTC (null until subsidy calculation is available)
Cost amount for individual and family tiers
object
Individual cost in dollars
Family cost in dollars
Cost amount for individual and family tiers
object
Individual cost in dollars
Family cost in dollars
External resource URLs (SBC, formulary, etc.)
object
object
Headers
Section titled “Headers ”Unique request identifier for tracing
RFC 8288 Web Linking (pagination and resource discovery)
Weak ETag for conditional request support (If-None-Match)
Validation error
RFC 9457 Problem Details for HTTP APIs (application/problem+json)
object
URI identifying the problem type. about:blank for standard HTTP status semantics.
Short human-readable summary of the problem type
HTTP status code
Human-readable explanation specific to this occurrence
URI reference identifying the specific occurrence (request path)
Validation errors (extension member, present on 400 responses)
object
Dot-delimited path to the invalid field
Validation error message
Minimum subscription tier required (extension member, present on 402 responses)
URL to upgrade subscription (extension member, present on 402/429 responses)
Example
{ "type": "https://api.opelyx.com/problems/not-found", "title": "Not Found", "status": 404, "detail": "Plan 99999XX0000000-00 not found.", "instance": "/v1/health/plans/99999XX0000000-00"}Missing or invalid API key
RFC 9457 Problem Details for HTTP APIs (application/problem+json)
object
URI identifying the problem type. about:blank for standard HTTP status semantics.
Short human-readable summary of the problem type
HTTP status code
Human-readable explanation specific to this occurrence
URI reference identifying the specific occurrence (request path)
Validation errors (extension member, present on 400 responses)
object
Dot-delimited path to the invalid field
Validation error message
Minimum subscription tier required (extension member, present on 402 responses)
URL to upgrade subscription (extension member, present on 402/429 responses)
Example
{ "type": "https://api.opelyx.com/problems/not-found", "title": "Not Found", "status": 404, "detail": "Plan 99999XX0000000-00 not found.", "instance": "/v1/health/plans/99999XX0000000-00"}Headers
Section titled “Headers ”Bearer authentication challenge
Feature requires a higher-tier subscription
RFC 9457 Problem Details for HTTP APIs (application/problem+json)
object
URI identifying the problem type. about:blank for standard HTTP status semantics.
Short human-readable summary of the problem type
HTTP status code
Human-readable explanation specific to this occurrence
URI reference identifying the specific occurrence (request path)
Validation errors (extension member, present on 400 responses)
object
Dot-delimited path to the invalid field
Validation error message
Minimum subscription tier required (extension member, present on 402 responses)
URL to upgrade subscription (extension member, present on 402/429 responses)
Example
{ "type": "https://api.opelyx.com/problems/not-found", "title": "Not Found", "status": 404, "detail": "Plan 99999XX0000000-00 not found.", "instance": "/v1/health/plans/99999XX0000000-00"}Resource not found
RFC 9457 Problem Details for HTTP APIs (application/problem+json)
object
URI identifying the problem type. about:blank for standard HTTP status semantics.
Short human-readable summary of the problem type
HTTP status code
Human-readable explanation specific to this occurrence
URI reference identifying the specific occurrence (request path)
Validation errors (extension member, present on 400 responses)
object
Dot-delimited path to the invalid field
Validation error message
Minimum subscription tier required (extension member, present on 402 responses)
URL to upgrade subscription (extension member, present on 402/429 responses)
Example
{ "type": "https://api.opelyx.com/problems/not-found", "title": "Not Found", "status": 404, "detail": "Plan 99999XX0000000-00 not found.", "instance": "/v1/health/plans/99999XX0000000-00"}Rate limit exceeded
RFC 9457 Problem Details for HTTP APIs (application/problem+json)
object
URI identifying the problem type. about:blank for standard HTTP status semantics.
Short human-readable summary of the problem type
HTTP status code
Human-readable explanation specific to this occurrence
URI reference identifying the specific occurrence (request path)
Validation errors (extension member, present on 400 responses)
object
Dot-delimited path to the invalid field
Validation error message
Minimum subscription tier required (extension member, present on 402 responses)
URL to upgrade subscription (extension member, present on 402/429 responses)
Example
{ "type": "https://api.opelyx.com/problems/not-found", "title": "Not Found", "status": 404, "detail": "Plan 99999XX0000000-00 not found.", "instance": "/v1/health/plans/99999XX0000000-00"}Headers
Section titled “Headers ”Seconds until the rate limit resets
Maximum requests per day for this tier
Remaining requests today
Unix timestamp when the limit resets (midnight UTC)