Skip to main content
GET /plans returns static plan metadata: identifiers, plan classification, plan design amounts, brand assets, and required disclaimers. Group-specific pricing comes from the group’s quote.

The plan payload

curl https://www.getprescience.com/api/partner/v1/plans \
  -H "Authorization: Bearer $PRESCIENCE_API_KEY"
Response (200)
{
  "plans": [
    {
      "id": "diamond",
      "name": "Prescience Diamond",
      "carrierName": "Prescience",
      "planType": "self_funded_level_funded",
      "deductibleIndividualCents": 150000,
      "deductibleFamilyCents": 300000,
      "oopMaxIndividualCents": 705000,
      "oopMaxFamilyCents": 1410000,
      "hsaEligible": true,
      "employeePremiumCents": 0,
      "assets": {
        "logoUrl": "https://www.getprescience.com/img/prescience-wordmark.svg",
        "markUrl": "https://www.getprescience.com/img/prescience-mark.svg"
      },
      "disclaimers": [
        "Final plan documents govern. Benefit details are confirmed during onboarding."
      ]
    }
  ]
}
The payload is static per API version, so it is safe to cache for a day. Use the assets URLs directly or mirror them in your CDN.

Combining plan and quote data

Use the plan payload for static fields and the group’s quote for employer-specific amounts:
DataSource
Logo and nameplan.assets.markUrl, plan.name
Plan classificationplan.planType, plan.hsaEligible
Monthly amountquote.monthly.totalCents, quote.monthly.pepmCents
Employee premium contributionplan.employeePremiumCents
Prior-cost comparisonquote.comparison.*
Deductible and out-of-pocket maximumsplan.deductibleIndividualCents, plan.deductibleFamilyCents, plan.oopMaxIndividualCents, plan.oopMaxFamilyCents
Disclaimers and quote assumptionsplan.disclaimers, quote.assumptions
Use approved display names such as Prescience Diamond or Prescience-managed health benefits in customer-facing surfaces. Treat planType as backend classification for eligibility, quoting, and regulated workflows, not as marketing copy. carrierName is a display string, not a legal classification. See Compliance.

Wiring selection

When the employer accepts a quote, create an enrollment with the groupId, the quoteId, and the admin’s identity for the signatory.
Quotes expire at expiresAt (configuration-driven; 30 days by default). If a stale quote is selected past expiry, catch the 410 quote_expired from POST /enrollments, create a new quote (POST /quotes is deterministic, so an unchanged census re-prices identically), and retry the enrollment with the new quoteId.