Skip to main content
POST
Pass a census, get a quote

Authorizations

Authorization
string
header
required

Partner API key. psk_test_<32 hex> for test mode, psk_live_<32 hex> for live mode. Store them in your secrets manager on issue. Live keys are shown once; the scoped partner portal can show an active sandbox key again.

Headers

Idempotency-Key
string

Any non-empty string; deterministic keys from your own IDs work best. Repeating the same key with the same body on the same endpoint and mode within 24 hours returns the stored successful response (with Idempotent-Replay: true) instead of re-executing. Error responses are not stored.

Body

application/json
company
object
required
census
object[]
required

Members, as in PUT /groups/{groupId}/census.

One employee record. Include dependent elections when your platform has them; submitted dependents drive covered lives and household tiers. When they are unavailable, Prescience uses a disclosed normalized small-group household mix for the preliminary model.

planYearStartDate
string<date>
basePlan
object | null

The carrier plan Diamond sits on, for example a BCBS bronze HDHP or a level-funded catastrophic plan you placed. Prices are then set on it, which usually lowers the price. Without it a base plan is chosen from our market sweep. null clears it.

marketPlans
object[] | null

Every plan you quoted for the census (all metals, any funding, any carrier; metalTier required). They replace our market sweep, so no marketplace is queried and pricing is fast: the request waits for it and returns 201 with the quote, or 202 if it takes longer. A plan missing a required field is dropped and reported in ignoredPlans. null clears the list.

Maximum array length: 500

Response

The quote, with plans.

id
string
required
Example:

"qt_5b9e2c7f10ad"

groupId
string
required
Example:

"grp_8c2f41d09a3e"

mode
enum<string>
required
Available options:
test,
live
status
enum<string>
required

ready for most groups (synchronous). Groups above the in-review employee threshold (default 200) return in_review and are finalized by Prescience underwriting; listen for the quote.finalized webhook.

Available options:
ready,
in_review,
expired
pricingBasis
string
required

Current quotes use market_rates: priced once per census when the group's market comparison finishes, against the most expensive platinum PPO quoted for it (for a broker's group, a platinum PPO). Final pricing is confirmed during underwriting and onboarding.

Allowed value: "market_rates"
plan
object
required
planYearStartDate
string<date>
required
Example:

"2026-09-01"

expiresAt
string<date-time>
required

Expiry is configuration-driven; the default window is 30 days after creation. Enrolling against an expired quote returns 410 quote_expired.

census
object
required
monthly
object
required
annual
object
required
employeeContribution
object
required

What each employee pays depends on the share the employer chooses at setup, so a quote never states it.

comparison
object
required
assumptions
string[]
required
createdAt
string<date-time>
required
ignoredPlans
object[]

Plans we skipped because we can't build on them, never an error: a plan missing a required field is dropped, and a basePlan that is an HMO, not HSA-eligible or incomplete is ignored (the price then comes from marketPlans or the sweep). Each has its index (or basePlan / plan), carrier, plan name and the reason.

usedPlans
object

What was sent in marketPlans and what could be built on.

pricedOn
enum<string>

What the quote was priced from: the census alone, your base plan (basePlan). market_plans means every plan you quoted (marketPlans) stood in for our market sweep.

Available options:
census_only,
base_plan,
market_plans
plans
object[]

The two computed versions of Prescience Diamond for this group, Diamond and Value. Absent on quotes created before plans existed.

reserve
object

Disclosed, never included in the price: the most the employer could owe on top of the quote in a year where every member reaches the underlying plan's out-of-pocket maximum. Absent on quotes created before it.

benefits
object

The group's Diamond design this price is for: what members pay. Use these, not /plans, for the group's deductible and out-of-pocket maximums. Absent on quotes created before it.

benchmarkPlan
object | null

The plan the savings are measured against: the most expensive platinum PPO quoted for this census (for a broker's group, a platinum PPO). Absent on quotes created before it.

pricing
object

Pricing metadata: which configuration layer produced this quote. Additive in v1.1; absent on quotes created before it. All other quote fields are unchanged.