curl --request GET \
--url https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary', 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/groups/{groupId}/benefits-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"groupId": "<string>",
"revision": 123,
"approvedAt": "2023-11-07T05:31:56Z",
"plan": {
"name": "<string>",
"coverageStart": "2023-12-25",
"coverageEnd": "2023-12-25",
"eligibilityRule": "<string>",
"network": "<string>",
"networkCarrier": "<string>",
"providesMinimumEssentialCoverage": true,
"meetsMinimumValue": true
},
"employeeMonthlyContributionCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"dentalVisionMonthlyContributionCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"deductibleCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"outOfPocketMaximumCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"coinsurancePercent": 123,
"services": [
{
"service": "<string>",
"memberCost": "<string>",
"notes": "<string>"
}
],
"disclosures": [
"<string>"
]
}{
"error": "unauthorized",
"message": "Provide a valid partner API key as `Authorization: Bearer psk_...`."
}{
"error": "not_found",
"message": "No group grp_8c2f41d09a3e found."
}{
"error": "conflict",
"message": "Plan terms for this employer are not approved yet. Retry after onboarding finishes plan setup."
}{
"error": "rate_limited",
"message": "Too many requests. Please retry later."
}{
"error": "server_error",
"message": "Internal error. The request was not applied."
}Get the employee benefits summary
The employer’s approved employee plan terms, shaped for offer letters and careers pages: plan name and dates, eligibility, network, employee contributions, deductible, out-of-pocket maximum, coinsurance, the covered-care schedule, and the disclosures to print with them. Employer plan cost is never included. Returns 404 not_found until the group is enrolled and 409 conflict until Prescience approves the plan terms during onboarding.
curl --request GET \
--url https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary', 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/groups/{groupId}/benefits-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.getprescience.com/api/partner/v1/groups/{groupId}/benefits-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"groupId": "<string>",
"revision": 123,
"approvedAt": "2023-11-07T05:31:56Z",
"plan": {
"name": "<string>",
"coverageStart": "2023-12-25",
"coverageEnd": "2023-12-25",
"eligibilityRule": "<string>",
"network": "<string>",
"networkCarrier": "<string>",
"providesMinimumEssentialCoverage": true,
"meetsMinimumValue": true
},
"employeeMonthlyContributionCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"dentalVisionMonthlyContributionCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"deductibleCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"outOfPocketMaximumCents": {
"employeeOnly": 123,
"employeePlusOne": 123,
"family": 123
},
"coinsurancePercent": 123,
"services": [
{
"service": "<string>",
"memberCost": "<string>",
"notes": "<string>"
}
],
"disclosures": [
"<string>"
]
}{
"error": "unauthorized",
"message": "Provide a valid partner API key as `Authorization: Bearer psk_...`."
}{
"error": "not_found",
"message": "No group grp_8c2f41d09a3e found."
}{
"error": "conflict",
"message": "Plan terms for this employer are not approved yet. Retry after onboarding finishes plan setup."
}{
"error": "rate_limited",
"message": "Too many requests. Please retry later."
}{
"error": "server_error",
"message": "Internal error. The request was not applied."
}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.
Path Parameters
Group ID, e.g. grp_8c2f41d09a3e.
^grp_[0-9a-f]{12}$Response
Approved benefits summary.
Approved plan-terms revision. Regenerate offer letters when it changes.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Print these wherever the summary appears.