Skip to main content
This walkthrough takes a test key from first ping to an enrolled employer: ping → create group → upload census → quote → enroll → read the account. Every request is copy-pasteable. Response examples show the stable shape; market prices and plan identifiers vary by census, location, and pricing date.
You need a test API key (psk_test_...). Ask your Prescience partner engineer to invite you to the Partner API key portal at internal.getprescience.com, then mint a sandbox key there and open Step 2 · Test integration. Sandbox keys remain viewable and copyable in the scoped portal. Email partners@getprescience.com if you need help getting access.
1

Check your key

Export your key and hit /ping. It confirms the key is valid and tells you which mode you’re in.
Response
2

Create a group

A group is one employer. Creating it requires exactly four values: companyName, domain, contact.name, and contact.email. A first-time employer does not need prior coverage or prior PEPM data.
Response (201)
3

Upload the census

PUT /census replaces the full census. To quote, each member only needs a zip and one of dob | age. You almost certainly have both already. Names and emails are required later, at enrollment.This is Acme’s real census: 12 employees, 19 covered lives.
Response (200)
Bad rows never block good ones: they come back in errors with the row index while everything else is stored. Details in the census guide.
4

Create the quote

One POST with an empty body returns the full quote after Prescience has the group’s market-rate snapshot. The plan year start defaults to the first of the month at least 60 days out.Immediately after a census update, this request can return 409 rates_pending while Prescience compares local plans. Retry with backoff, or use the Bolto iframe. In that flow, Bolto makes a separate POST /groups/{groupId}/embed-sessions call when the employer opens the offer; the iframe shows real progress and creates its plan model when pricing completes.
Response (201)
Read it like this: monthly.totalCents is the modeled all-in monthly amount, monthly.pepmCents is the monthly amount per enrolling employee, monthly.pmpmCents is the price per covered life, and comparison measures Prescience against benchmarkPlan, the platinum market benchmark. Field-by-field details are in the quotes guide.
Quotes are preliminary. Final pricing, eligibility, and plan documents are confirmed during underwriting and onboarding. Say so wherever you display them.
5

Enroll the employer

When the employer accepts the quote, create the enrollment. The signatory is the employer admin who made the selection; Prescience provisions them as the company’s admin in the Prescience employer portal and runs onboarding there (the default onboardingMode: "hosted"; see the enrollment guide).
Response (201)
From here, Prescience runs onboarding, KYB, banking, and plan setup with the employer directly in the Prescience employer portal, then activation (sandbox → prod). No code on your side; poll GET /enrollments/{enrollmentId} or listen for webhooks. employerPortal confirms the signatory’s portal account: this is a test-mode key, so the normal portal and member invitations are suppressed. The iframe’s employer verification code is the only sandbox email. The sandbox company is fully functional but flagged test: true and never activated; no money moves.
6

Read the account

Once enrolled, GET /account returns the employer’s approved plan with its per-tier premium split, population, funding, premium totals and claims spend totals, all aggregate and de-identified. GET /members adds each employee’s coverage and payroll deduction.
The benefits tab guide maps every field to a UI element, with the full in-force payload for this group.

Where to next

Read plan metadata

Static plan fields plus group-specific quote pricing.

Set up webhooks

Signed events for enrollment, activation, and finalized quotes.

Sync your census

New hires, terminations, and COBRA: one call each.

Go live

BAA, data handling, and what changes between test and live.