curl --request POST \
--url https://www.getprescience.com/api/partner/v1/price-on-plan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"census": [
{
"firstName": "Ada",
"lastName": "Reyes",
"dob": "1991-04-02",
"zip": "94110"
}
],
"plan": {
"carrier": "Example Carrier",
"planName": "Catastrophic HDHP",
"planType": "PPO",
"hsaEligible": true,
"deductibleIndividualCents": 700000,
"oopMaxIndividualCents": 900000,
"pmpmCents": 42000
}
}
'import requests
url = "https://www.getprescience.com/api/partner/v1/price-on-plan"
payload = {
"census": [
{
"firstName": "Ada",
"lastName": "Reyes",
"dob": "1991-04-02",
"zip": "94110"
}
],
"plan": {
"carrier": "Example Carrier",
"planName": "Catastrophic HDHP",
"planType": "PPO",
"hsaEligible": True,
"deductibleIndividualCents": 700000,
"oopMaxIndividualCents": 900000,
"pmpmCents": 42000
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
census: [{firstName: 'Ada', lastName: 'Reyes', dob: '1991-04-02', zip: '94110'}],
plan: {
carrier: 'Example Carrier',
planName: 'Catastrophic HDHP',
planType: 'PPO',
hsaEligible: true,
deductibleIndividualCents: 700000,
oopMaxIndividualCents: 900000,
pmpmCents: 42000
}
})
};
fetch('https://www.getprescience.com/api/partner/v1/price-on-plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.getprescience.com/api/partner/v1/price-on-plan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'census' => [
[
'firstName' => 'Ada',
'lastName' => 'Reyes',
'dob' => '1991-04-02',
'zip' => '94110'
]
],
'plan' => [
'carrier' => 'Example Carrier',
'planName' => 'Catastrophic HDHP',
'planType' => 'PPO',
'hsaEligible' => true,
'deductibleIndividualCents' => 700000,
'oopMaxIndividualCents' => 900000,
'pmpmCents' => 42000
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.getprescience.com/api/partner/v1/price-on-plan"
payload := strings.NewReader("{\n \"census\": [\n {\n \"firstName\": \"Ada\",\n \"lastName\": \"Reyes\",\n \"dob\": \"1991-04-02\",\n \"zip\": \"94110\"\n }\n ],\n \"plan\": {\n \"carrier\": \"Example Carrier\",\n \"planName\": \"Catastrophic HDHP\",\n \"planType\": \"PPO\",\n \"hsaEligible\": true,\n \"deductibleIndividualCents\": 700000,\n \"oopMaxIndividualCents\": 900000,\n \"pmpmCents\": 42000\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.getprescience.com/api/partner/v1/price-on-plan")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"census\": [\n {\n \"firstName\": \"Ada\",\n \"lastName\": \"Reyes\",\n \"dob\": \"1991-04-02\",\n \"zip\": \"94110\"\n }\n ],\n \"plan\": {\n \"carrier\": \"Example Carrier\",\n \"planName\": \"Catastrophic HDHP\",\n \"planType\": \"PPO\",\n \"hsaEligible\": true,\n \"deductibleIndividualCents\": 700000,\n \"oopMaxIndividualCents\": 900000,\n \"pmpmCents\": 42000\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.getprescience.com/api/partner/v1/price-on-plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"census\": [\n {\n \"firstName\": \"Ada\",\n \"lastName\": \"Reyes\",\n \"dob\": \"1991-04-02\",\n \"zip\": \"94110\"\n }\n ],\n \"plan\": {\n \"carrier\": \"Example Carrier\",\n \"planName\": \"Catastrophic HDHP\",\n \"planType\": \"PPO\",\n \"hsaEligible\": true,\n \"deductibleIndividualCents\": 700000,\n \"oopMaxIndividualCents\": 900000,\n \"pmpmCents\": 42000\n }\n}"
response = http.request(request)
puts response.read_body{
"ignoredPlans": [
{
"index": 123,
"reason": "metalTier: metalTier is required (for example Platinum, Gold, Silver, Bronze).",
"carrier": "<string>",
"planName": "<string>"
}
],
"usedPlans": {
"sent": 123,
"used": 123,
"baseCandidates": 123,
"benchmarkCandidates": 123
},
"status": "unavailable",
"reason": "<string>",
"groupId": "<string>",
"quoteId": "<string>",
"pricingMethod": "cost_plus",
"versions": [
{
"id": "diamond",
"name": "Prescience Diamond",
"description": "<string>",
"status": "ready",
"pricing_method": "engine",
"reason": "<string>",
"monthly": {
"totalCents": 123,
"pepmCents": 123,
"pmpmCents": 123
},
"annual": {
"totalCents": 123
},
"pricedAgainst": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"source": "broker",
"label": "<string>"
},
"benchmarkPlan": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"network": "<string>"
},
"underlyingPlan": {
"carrier": "<string>",
"planName": "<string>",
"network": "<string>",
"source": "broker",
"fundingType": "<string>",
"brokerPlan": {
"carrier": "Example Carrier",
"planName": "Gold PPO 1500",
"planType": "PPO",
"hsaEligible": true,
"deductibleIndividualCents": 123,
"deductibleFamilyCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"metalTier": "Gold",
"network": "<string>",
"fundingType": "fully_insured",
"monthlyRatesCents": {
"employeeOnly": 123,
"employeeSpouse": 123,
"employeeChildren": 123,
"family": 123,
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 123,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 50,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"note": "<string>"
},
"benefits": {
"oopMaxIndividualCents": 123,
"oopMaxEmployeePlusOneCents": 123,
"oopMaxFamilyCents": 123,
"memberCoinsurancePct": 123,
"hsaEligible": true,
"network": "<string>",
"features": [
{
"title": "<string>",
"description": "<string>"
}
]
},
"price_components": {
"underlying_premium_monthly_cents": 123,
"prescience_monthly_cents": 123,
"total_monthly_cents": 123,
"underlying_pmpm_cents": 123,
"prescience_pmpm_cents": 123,
"total_pmpm_cents": 123
},
"worst_year": {
"modeled_extra_cents": 123,
"modeled_total_cents": 123,
"benchmark_premium_cents": 123,
"headroom_cents": 123,
"basis": "<string>",
"contractual": null,
"note": "<string>",
"recompute": {
"underlying_annual_premium_cents": 123,
"theoretical_exposure_cents": 123,
"member_oop_allowance_cents": 123
}
},
"base_plan": {
"carrier": "<string>",
"plan_name": "<string>",
"deductible_individual_cents": 123,
"deductible_family_cents": 123,
"label": "HSA-qualified base plan deductible"
},
"member_oop_max": {
"individual_cents": 123,
"family_cents": 123
},
"benchmark_rank": "<string>",
"rate_basis": {
"base_plan": "member_rates",
"benchmark": "member_rates"
},
"monthly_rates_by_household": [
{
"label": "Employee + 1",
"people": 123,
"households": 123,
"monthly_cents": 123
}
],
"new_member_rates_by_household": [
{
"label": "<string>",
"people": 123,
"monthly_cents": 123
}
],
"all_max_year": {
"base_premium_cents": 123,
"prescience_cents": 123,
"modeled_extra_cents": 123,
"employer_total_cents": 123,
"members_pay_cents": 123
},
"median_year": {
"employer_total_cents": 123,
"pool_pays_cents": 123,
"members_pay_cents": 123
},
"time_machine": {
"simulated_plan_years": 123,
"census_members": 123,
"generated_at": "2023-11-07T05:31:56Z"
},
"hsa": {
"eligible": true,
"basis": "<string>"
},
"renewal": {
"method": null,
"note": "<string>"
},
"member_experience": {},
"fit_flags": [
"<string>"
],
"comparison": {
"benchmark": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"annualCents": 123,
"deductibleIndividualCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"hsaEligible": true
},
"annualSavingsCents": 123,
"savingsPct": 123,
"worstYearUnderBenchmarkCents": 123,
"oopMaxIndividualLowerByCents": 123,
"oopMaxFamilyLowerByCents": 123,
"hsaEligibleWhereBenchmarkIsNot": true
},
"broker_row": "<string>",
"summary": "<string>",
"joint": {
"name": "Prescience Diamond",
"option": "<string>",
"basePmpmCents": 123,
"prescienceLayerPmpmCents": 123,
"totalPmpmCents": 123,
"totalPepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"baseDeductibleIndividualCents": 123,
"memberOopMaxIndividualCents": 123,
"memberOopMaxFamilyCents": 123,
"modeledWorstYearCents": 123,
"summary": "<string>"
},
"prescienceOnly": {
"pmpmCents": 123,
"pepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"note": "<string>"
}
}
],
"time_machine": {},
"assumptions": [
"<string>"
]
}{
"ignoredPlans": [
{
"index": 123,
"reason": "metalTier: metalTier is required (for example Platinum, Gold, Silver, Bronze).",
"carrier": "<string>",
"planName": "<string>"
}
],
"usedPlans": {
"sent": 123,
"used": 123,
"baseCandidates": 123,
"benchmarkCandidates": 123
},
"status": "unavailable",
"reason": "<string>",
"groupId": "<string>",
"quoteId": "<string>",
"pricingMethod": "cost_plus",
"versions": [
{
"id": "diamond",
"name": "Prescience Diamond",
"description": "<string>",
"status": "ready",
"pricing_method": "engine",
"reason": "<string>",
"monthly": {
"totalCents": 123,
"pepmCents": 123,
"pmpmCents": 123
},
"annual": {
"totalCents": 123
},
"pricedAgainst": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"source": "broker",
"label": "<string>"
},
"benchmarkPlan": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"network": "<string>"
},
"underlyingPlan": {
"carrier": "<string>",
"planName": "<string>",
"network": "<string>",
"source": "broker",
"fundingType": "<string>",
"brokerPlan": {
"carrier": "Example Carrier",
"planName": "Gold PPO 1500",
"planType": "PPO",
"hsaEligible": true,
"deductibleIndividualCents": 123,
"deductibleFamilyCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"metalTier": "Gold",
"network": "<string>",
"fundingType": "fully_insured",
"monthlyRatesCents": {
"employeeOnly": 123,
"employeeSpouse": 123,
"employeeChildren": 123,
"family": 123,
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 123,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 50,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"note": "<string>"
},
"benefits": {
"oopMaxIndividualCents": 123,
"oopMaxEmployeePlusOneCents": 123,
"oopMaxFamilyCents": 123,
"memberCoinsurancePct": 123,
"hsaEligible": true,
"network": "<string>",
"features": [
{
"title": "<string>",
"description": "<string>"
}
]
},
"price_components": {
"underlying_premium_monthly_cents": 123,
"prescience_monthly_cents": 123,
"total_monthly_cents": 123,
"underlying_pmpm_cents": 123,
"prescience_pmpm_cents": 123,
"total_pmpm_cents": 123
},
"worst_year": {
"modeled_extra_cents": 123,
"modeled_total_cents": 123,
"benchmark_premium_cents": 123,
"headroom_cents": 123,
"basis": "<string>",
"contractual": null,
"note": "<string>",
"recompute": {
"underlying_annual_premium_cents": 123,
"theoretical_exposure_cents": 123,
"member_oop_allowance_cents": 123
}
},
"base_plan": {
"carrier": "<string>",
"plan_name": "<string>",
"deductible_individual_cents": 123,
"deductible_family_cents": 123,
"label": "HSA-qualified base plan deductible"
},
"member_oop_max": {
"individual_cents": 123,
"family_cents": 123
},
"benchmark_rank": "<string>",
"rate_basis": {
"base_plan": "member_rates",
"benchmark": "member_rates"
},
"monthly_rates_by_household": [
{
"label": "Employee + 1",
"people": 123,
"households": 123,
"monthly_cents": 123
}
],
"new_member_rates_by_household": [
{
"label": "<string>",
"people": 123,
"monthly_cents": 123
}
],
"all_max_year": {
"base_premium_cents": 123,
"prescience_cents": 123,
"modeled_extra_cents": 123,
"employer_total_cents": 123,
"members_pay_cents": 123
},
"median_year": {
"employer_total_cents": 123,
"pool_pays_cents": 123,
"members_pay_cents": 123
},
"time_machine": {
"simulated_plan_years": 123,
"census_members": 123,
"generated_at": "2023-11-07T05:31:56Z"
},
"hsa": {
"eligible": true,
"basis": "<string>"
},
"renewal": {
"method": null,
"note": "<string>"
},
"member_experience": {},
"fit_flags": [
"<string>"
],
"comparison": {
"benchmark": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"annualCents": 123,
"deductibleIndividualCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"hsaEligible": true
},
"annualSavingsCents": 123,
"savingsPct": 123,
"worstYearUnderBenchmarkCents": 123,
"oopMaxIndividualLowerByCents": 123,
"oopMaxFamilyLowerByCents": 123,
"hsaEligibleWhereBenchmarkIsNot": true
},
"broker_row": "<string>",
"summary": "<string>",
"joint": {
"name": "Prescience Diamond",
"option": "<string>",
"basePmpmCents": 123,
"prescienceLayerPmpmCents": 123,
"totalPmpmCents": 123,
"totalPepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"baseDeductibleIndividualCents": 123,
"memberOopMaxIndividualCents": 123,
"memberOopMaxFamilyCents": 123,
"modeledWorstYearCents": 123,
"summary": "<string>"
},
"prescienceOnly": {
"pmpmCents": 123,
"pepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"note": "<string>"
}
}
],
"time_machine": {},
"assumptions": [
"<string>"
]
}{
"groupId": "<string>",
"status": "pricing",
"retryAfterSeconds": 123,
"baseFromMarket": true,
"note": "<string>",
"ignoredPlans": [
{
"index": 123,
"reason": "metalTier: metalTier is required (for example Platinum, Gold, Silver, Bronze).",
"carrier": "<string>",
"planName": "<string>"
}
],
"usedPlans": {
"sent": 123,
"used": 123,
"baseCandidates": 123,
"benchmarkCandidates": 123
},
"estimatedReadyAt": "2023-11-07T05:31:56Z",
"waitingOn": "cron",
"waitingOnNote": "<string>",
"sweep": {
"step": "<string>",
"planCount": 123
}
}{
"error": "invalid_request",
"message": "<string>",
"details": [
{
"field": "zip",
"message": "zip must be a 5-digit ZIP code",
"index": 7
}
]
}{
"error": "unauthorized",
"message": "Provide a valid partner API key as `Authorization: Bearer psk_...`."
}{
"error": "live_mode_disabled",
"message": "Live mode is not enabled for this account yet. Complete the go-live checklist to enable live keys."
}{
"error": "invalid_request",
"message": "<string>",
"details": [
{
"field": "zip",
"message": "zip must be a 5-digit ZIP code",
"index": 7
}
]
}{
"error": "invalid_request",
"message": "<string>",
"details": [
{
"field": "zip",
"message": "zip must be a 5-digit ZIP code",
"index": 7
}
]
}Give one plan, get the joint plan and our layer price
Send a census and one plan you priced per covered person per month (pmpmCents); get Prescience Diamond and Prescience Value on top of it: the plan’s price plus the Prescience layer, which is the joint price. Each has basePmpmCents + prescienceLayerPmpmCents = totalPmpmCents, the monthly and annual totals, the member out-of-pocket maximum, the modeled worst year, and prescienceOnly: what Prescience alone costs (the plan’s own premium is paid to its carrier). Anything defaulted (family deductible and out-of-pocket at twice the individual one, ZIP, company) is listed in assumptions. The census is kept as a lead. The request waits for pricing: 201 is the usual answer, 202 if it takes longer. Rate limit: 60 per hour, shared with quote creates.
curl --request POST \
--url https://www.getprescience.com/api/partner/v1/price-on-plan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"census": [
{
"firstName": "Ada",
"lastName": "Reyes",
"dob": "1991-04-02",
"zip": "94110"
}
],
"plan": {
"carrier": "Example Carrier",
"planName": "Catastrophic HDHP",
"planType": "PPO",
"hsaEligible": true,
"deductibleIndividualCents": 700000,
"oopMaxIndividualCents": 900000,
"pmpmCents": 42000
}
}
'import requests
url = "https://www.getprescience.com/api/partner/v1/price-on-plan"
payload = {
"census": [
{
"firstName": "Ada",
"lastName": "Reyes",
"dob": "1991-04-02",
"zip": "94110"
}
],
"plan": {
"carrier": "Example Carrier",
"planName": "Catastrophic HDHP",
"planType": "PPO",
"hsaEligible": True,
"deductibleIndividualCents": 700000,
"oopMaxIndividualCents": 900000,
"pmpmCents": 42000
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
census: [{firstName: 'Ada', lastName: 'Reyes', dob: '1991-04-02', zip: '94110'}],
plan: {
carrier: 'Example Carrier',
planName: 'Catastrophic HDHP',
planType: 'PPO',
hsaEligible: true,
deductibleIndividualCents: 700000,
oopMaxIndividualCents: 900000,
pmpmCents: 42000
}
})
};
fetch('https://www.getprescience.com/api/partner/v1/price-on-plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.getprescience.com/api/partner/v1/price-on-plan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'census' => [
[
'firstName' => 'Ada',
'lastName' => 'Reyes',
'dob' => '1991-04-02',
'zip' => '94110'
]
],
'plan' => [
'carrier' => 'Example Carrier',
'planName' => 'Catastrophic HDHP',
'planType' => 'PPO',
'hsaEligible' => true,
'deductibleIndividualCents' => 700000,
'oopMaxIndividualCents' => 900000,
'pmpmCents' => 42000
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.getprescience.com/api/partner/v1/price-on-plan"
payload := strings.NewReader("{\n \"census\": [\n {\n \"firstName\": \"Ada\",\n \"lastName\": \"Reyes\",\n \"dob\": \"1991-04-02\",\n \"zip\": \"94110\"\n }\n ],\n \"plan\": {\n \"carrier\": \"Example Carrier\",\n \"planName\": \"Catastrophic HDHP\",\n \"planType\": \"PPO\",\n \"hsaEligible\": true,\n \"deductibleIndividualCents\": 700000,\n \"oopMaxIndividualCents\": 900000,\n \"pmpmCents\": 42000\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.getprescience.com/api/partner/v1/price-on-plan")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"census\": [\n {\n \"firstName\": \"Ada\",\n \"lastName\": \"Reyes\",\n \"dob\": \"1991-04-02\",\n \"zip\": \"94110\"\n }\n ],\n \"plan\": {\n \"carrier\": \"Example Carrier\",\n \"planName\": \"Catastrophic HDHP\",\n \"planType\": \"PPO\",\n \"hsaEligible\": true,\n \"deductibleIndividualCents\": 700000,\n \"oopMaxIndividualCents\": 900000,\n \"pmpmCents\": 42000\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.getprescience.com/api/partner/v1/price-on-plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"census\": [\n {\n \"firstName\": \"Ada\",\n \"lastName\": \"Reyes\",\n \"dob\": \"1991-04-02\",\n \"zip\": \"94110\"\n }\n ],\n \"plan\": {\n \"carrier\": \"Example Carrier\",\n \"planName\": \"Catastrophic HDHP\",\n \"planType\": \"PPO\",\n \"hsaEligible\": true,\n \"deductibleIndividualCents\": 700000,\n \"oopMaxIndividualCents\": 900000,\n \"pmpmCents\": 42000\n }\n}"
response = http.request(request)
puts response.read_body{
"ignoredPlans": [
{
"index": 123,
"reason": "metalTier: metalTier is required (for example Platinum, Gold, Silver, Bronze).",
"carrier": "<string>",
"planName": "<string>"
}
],
"usedPlans": {
"sent": 123,
"used": 123,
"baseCandidates": 123,
"benchmarkCandidates": 123
},
"status": "unavailable",
"reason": "<string>",
"groupId": "<string>",
"quoteId": "<string>",
"pricingMethod": "cost_plus",
"versions": [
{
"id": "diamond",
"name": "Prescience Diamond",
"description": "<string>",
"status": "ready",
"pricing_method": "engine",
"reason": "<string>",
"monthly": {
"totalCents": 123,
"pepmCents": 123,
"pmpmCents": 123
},
"annual": {
"totalCents": 123
},
"pricedAgainst": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"source": "broker",
"label": "<string>"
},
"benchmarkPlan": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"network": "<string>"
},
"underlyingPlan": {
"carrier": "<string>",
"planName": "<string>",
"network": "<string>",
"source": "broker",
"fundingType": "<string>",
"brokerPlan": {
"carrier": "Example Carrier",
"planName": "Gold PPO 1500",
"planType": "PPO",
"hsaEligible": true,
"deductibleIndividualCents": 123,
"deductibleFamilyCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"metalTier": "Gold",
"network": "<string>",
"fundingType": "fully_insured",
"monthlyRatesCents": {
"employeeOnly": 123,
"employeeSpouse": 123,
"employeeChildren": 123,
"family": 123,
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 123,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 50,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"note": "<string>"
},
"benefits": {
"oopMaxIndividualCents": 123,
"oopMaxEmployeePlusOneCents": 123,
"oopMaxFamilyCents": 123,
"memberCoinsurancePct": 123,
"hsaEligible": true,
"network": "<string>",
"features": [
{
"title": "<string>",
"description": "<string>"
}
]
},
"price_components": {
"underlying_premium_monthly_cents": 123,
"prescience_monthly_cents": 123,
"total_monthly_cents": 123,
"underlying_pmpm_cents": 123,
"prescience_pmpm_cents": 123,
"total_pmpm_cents": 123
},
"worst_year": {
"modeled_extra_cents": 123,
"modeled_total_cents": 123,
"benchmark_premium_cents": 123,
"headroom_cents": 123,
"basis": "<string>",
"contractual": null,
"note": "<string>",
"recompute": {
"underlying_annual_premium_cents": 123,
"theoretical_exposure_cents": 123,
"member_oop_allowance_cents": 123
}
},
"base_plan": {
"carrier": "<string>",
"plan_name": "<string>",
"deductible_individual_cents": 123,
"deductible_family_cents": 123,
"label": "HSA-qualified base plan deductible"
},
"member_oop_max": {
"individual_cents": 123,
"family_cents": 123
},
"benchmark_rank": "<string>",
"rate_basis": {
"base_plan": "member_rates",
"benchmark": "member_rates"
},
"monthly_rates_by_household": [
{
"label": "Employee + 1",
"people": 123,
"households": 123,
"monthly_cents": 123
}
],
"new_member_rates_by_household": [
{
"label": "<string>",
"people": 123,
"monthly_cents": 123
}
],
"all_max_year": {
"base_premium_cents": 123,
"prescience_cents": 123,
"modeled_extra_cents": 123,
"employer_total_cents": 123,
"members_pay_cents": 123
},
"median_year": {
"employer_total_cents": 123,
"pool_pays_cents": 123,
"members_pay_cents": 123
},
"time_machine": {
"simulated_plan_years": 123,
"census_members": 123,
"generated_at": "2023-11-07T05:31:56Z"
},
"hsa": {
"eligible": true,
"basis": "<string>"
},
"renewal": {
"method": null,
"note": "<string>"
},
"member_experience": {},
"fit_flags": [
"<string>"
],
"comparison": {
"benchmark": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"annualCents": 123,
"deductibleIndividualCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"hsaEligible": true
},
"annualSavingsCents": 123,
"savingsPct": 123,
"worstYearUnderBenchmarkCents": 123,
"oopMaxIndividualLowerByCents": 123,
"oopMaxFamilyLowerByCents": 123,
"hsaEligibleWhereBenchmarkIsNot": true
},
"broker_row": "<string>",
"summary": "<string>",
"joint": {
"name": "Prescience Diamond",
"option": "<string>",
"basePmpmCents": 123,
"prescienceLayerPmpmCents": 123,
"totalPmpmCents": 123,
"totalPepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"baseDeductibleIndividualCents": 123,
"memberOopMaxIndividualCents": 123,
"memberOopMaxFamilyCents": 123,
"modeledWorstYearCents": 123,
"summary": "<string>"
},
"prescienceOnly": {
"pmpmCents": 123,
"pepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"note": "<string>"
}
}
],
"time_machine": {},
"assumptions": [
"<string>"
]
}{
"ignoredPlans": [
{
"index": 123,
"reason": "metalTier: metalTier is required (for example Platinum, Gold, Silver, Bronze).",
"carrier": "<string>",
"planName": "<string>"
}
],
"usedPlans": {
"sent": 123,
"used": 123,
"baseCandidates": 123,
"benchmarkCandidates": 123
},
"status": "unavailable",
"reason": "<string>",
"groupId": "<string>",
"quoteId": "<string>",
"pricingMethod": "cost_plus",
"versions": [
{
"id": "diamond",
"name": "Prescience Diamond",
"description": "<string>",
"status": "ready",
"pricing_method": "engine",
"reason": "<string>",
"monthly": {
"totalCents": 123,
"pepmCents": 123,
"pmpmCents": 123
},
"annual": {
"totalCents": 123
},
"pricedAgainst": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"source": "broker",
"label": "<string>"
},
"benchmarkPlan": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"network": "<string>"
},
"underlyingPlan": {
"carrier": "<string>",
"planName": "<string>",
"network": "<string>",
"source": "broker",
"fundingType": "<string>",
"brokerPlan": {
"carrier": "Example Carrier",
"planName": "Gold PPO 1500",
"planType": "PPO",
"hsaEligible": true,
"deductibleIndividualCents": 123,
"deductibleFamilyCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"metalTier": "Gold",
"network": "<string>",
"fundingType": "fully_insured",
"monthlyRatesCents": {
"employeeOnly": 123,
"employeeSpouse": 123,
"employeeChildren": 123,
"family": 123,
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 123,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"pmpmCents": 123,
"memberRatesCents": [
{
"externalId": "<string>",
"monthlyCents": 123
}
],
"carrierPlanId": "<string>",
"effectiveDate": "2023-12-25",
"ratingZip": "<string>",
"embeddedDeductible": true,
"coinsurancePct": 50,
"copaysCents": {
"primaryCare": 123,
"specialist": 123,
"urgentCare": 123,
"emergencyRoom": 123,
"rxGeneric": 123,
"rxPreferred": 123,
"rxSpecialty": 123
},
"rxDeductibleCents": 123,
"referralRequired": true,
"hsaDeductibleRequired": {},
"sbcUrl": "<string>",
"doctorSearchUrl": "<string>",
"carrierLogoUrl": "<string>"
},
"note": "<string>"
},
"benefits": {
"oopMaxIndividualCents": 123,
"oopMaxEmployeePlusOneCents": 123,
"oopMaxFamilyCents": 123,
"memberCoinsurancePct": 123,
"hsaEligible": true,
"network": "<string>",
"features": [
{
"title": "<string>",
"description": "<string>"
}
]
},
"price_components": {
"underlying_premium_monthly_cents": 123,
"prescience_monthly_cents": 123,
"total_monthly_cents": 123,
"underlying_pmpm_cents": 123,
"prescience_pmpm_cents": 123,
"total_pmpm_cents": 123
},
"worst_year": {
"modeled_extra_cents": 123,
"modeled_total_cents": 123,
"benchmark_premium_cents": 123,
"headroom_cents": 123,
"basis": "<string>",
"contractual": null,
"note": "<string>",
"recompute": {
"underlying_annual_premium_cents": 123,
"theoretical_exposure_cents": 123,
"member_oop_allowance_cents": 123
}
},
"base_plan": {
"carrier": "<string>",
"plan_name": "<string>",
"deductible_individual_cents": 123,
"deductible_family_cents": 123,
"label": "HSA-qualified base plan deductible"
},
"member_oop_max": {
"individual_cents": 123,
"family_cents": 123
},
"benchmark_rank": "<string>",
"rate_basis": {
"base_plan": "member_rates",
"benchmark": "member_rates"
},
"monthly_rates_by_household": [
{
"label": "Employee + 1",
"people": 123,
"households": 123,
"monthly_cents": 123
}
],
"new_member_rates_by_household": [
{
"label": "<string>",
"people": 123,
"monthly_cents": 123
}
],
"all_max_year": {
"base_premium_cents": 123,
"prescience_cents": 123,
"modeled_extra_cents": 123,
"employer_total_cents": 123,
"members_pay_cents": 123
},
"median_year": {
"employer_total_cents": 123,
"pool_pays_cents": 123,
"members_pay_cents": 123
},
"time_machine": {
"simulated_plan_years": 123,
"census_members": 123,
"generated_at": "2023-11-07T05:31:56Z"
},
"hsa": {
"eligible": true,
"basis": "<string>"
},
"renewal": {
"method": null,
"note": "<string>"
},
"member_experience": {},
"fit_flags": [
"<string>"
],
"comparison": {
"benchmark": {
"carrier": "<string>",
"planName": "<string>",
"metalTier": "<string>",
"annualCents": 123,
"deductibleIndividualCents": 123,
"oopMaxIndividualCents": 123,
"oopMaxFamilyCents": 123,
"hsaEligible": true
},
"annualSavingsCents": 123,
"savingsPct": 123,
"worstYearUnderBenchmarkCents": 123,
"oopMaxIndividualLowerByCents": 123,
"oopMaxFamilyLowerByCents": 123,
"hsaEligibleWhereBenchmarkIsNot": true
},
"broker_row": "<string>",
"summary": "<string>",
"joint": {
"name": "Prescience Diamond",
"option": "<string>",
"basePmpmCents": 123,
"prescienceLayerPmpmCents": 123,
"totalPmpmCents": 123,
"totalPepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"baseDeductibleIndividualCents": 123,
"memberOopMaxIndividualCents": 123,
"memberOopMaxFamilyCents": 123,
"modeledWorstYearCents": 123,
"summary": "<string>"
},
"prescienceOnly": {
"pmpmCents": 123,
"pepmCents": 123,
"monthlyCents": 123,
"annualCents": 123,
"note": "<string>"
}
}
],
"time_machine": {},
"assumptions": [
"<string>"
]
}{
"groupId": "<string>",
"status": "pricing",
"retryAfterSeconds": 123,
"baseFromMarket": true,
"note": "<string>",
"ignoredPlans": [
{
"index": 123,
"reason": "metalTier: metalTier is required (for example Platinum, Gold, Silver, Bronze).",
"carrier": "<string>",
"planName": "<string>"
}
],
"usedPlans": {
"sent": 123,
"used": 123,
"baseCandidates": 123,
"benchmarkCandidates": 123
},
"estimatedReadyAt": "2023-11-07T05:31:56Z",
"waitingOn": "cron",
"waitingOnNote": "<string>",
"sweep": {
"step": "<string>",
"planCount": 123
}
}{
"error": "invalid_request",
"message": "<string>",
"details": [
{
"field": "zip",
"message": "zip must be a 5-digit ZIP code",
"index": 7
}
]
}{
"error": "unauthorized",
"message": "Provide a valid partner API key as `Authorization: Bearer psk_...`."
}{
"error": "live_mode_disabled",
"message": "Live mode is not enabled for this account yet. Complete the go-live checklist to enable live keys."
}{
"error": "invalid_request",
"message": "<string>",
"details": [
{
"field": "zip",
"message": "zip must be a 5-digit ZIP code",
"index": 7
}
]
}{
"error": "invalid_request",
"message": "<string>",
"details": [
{
"field": "zip",
"message": "zip must be a 5-digit ZIP code",
"index": 7
}
]
}Authorizations
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
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
Members, as in PUT /groups/{groupId}/census. Time Machine needs it.
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.
- Option 1
- Option 2
Show child attributes
Show child attributes
The one plan to price Prescience on. It must be HSA-eligible and a PPO, EPO or POS plan; an HMO is rejected. Money is integer cents.
Show child attributes
Show child attributes
Optional. Without it the census is kept under a generated company.
Show child attributes
Show child attributes
Optional: every plan you quoted. With a platinum PPO among them, pricingMethod is engine.
500Show child attributes
Show child attributes
Response
The plan can't be built on (an HMO, not HSA-eligible, incomplete): status: unavailable with the reason and ignoredPlans.
Both versions, or status: unavailable with a reason when the plan can't be built on (a 200, not an error).
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.
Show child attributes
Show child attributes
What was sent in marketPlans and what could be built on.
Show child attributes
Show child attributes
unavailable cost_plus, engine diamond and value, in the shape of a quote's plans, with joint and prescienceOnly added. A version that can't be priced has status unavailable and a reason.
Show child attributes
Show child attributes
Everything defaulted or assumed, in words.