List enrolled members
curl --request GET \
--url https://www.getprescience.com/api/partner/v1/groups/{groupId}/members \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.getprescience.com/api/partner/v1/groups/{groupId}/members"
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}/members', 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}/members",
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}/members"
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}/members")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.getprescience.com/api/partner/v1/groups/{groupId}/members")
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{
"members": [
{
"memberId": "mem_66ab029b5b1e",
"externalId": "emp_0009",
"firstName": "Tom",
"lastName": "Becker",
"email": "tom@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 2,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "enrolled",
"electionStatus": "active",
"tier": "family",
"coveredDependents": [
{
"relationship": "spouse"
},
{
"relationship": "child"
}
],
"effectiveDate": "2026-09-01"
},
"deduction": {
"medical": {
"employeeMonthlyCents": 12240,
"employerMonthlyCents": 171360,
"totalMonthlyCents": 183600
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 5649,
"employerCents": 79089
},
"preTax": true,
"reason": null,
"billing": {
"monthlyRateCents": 183600,
"source": "quote_rate_schedule",
"schedule": "quoted"
},
"billingReason": null,
"rateMismatch": false
}
},
{
"memberId": "mem_022f62a5e151",
"externalId": "emp_0008",
"firstName": "Grace",
"lastName": "Okafor",
"email": "grace@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 1,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "enrolled",
"electionStatus": "active",
"tier": "employee_plus_one",
"coveredDependents": [
{
"relationship": "spouse"
}
],
"effectiveDate": "2026-09-01"
},
"deduction": {
"medical": {
"employeeMonthlyCents": 6120,
"employerMonthlyCents": 116280,
"totalMonthlyCents": 122400
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 2825,
"employerCents": 53668
},
"preTax": true,
"reason": null,
"billing": {
"monthlyRateCents": 122400,
"source": "quote_rate_schedule",
"schedule": "quoted"
},
"billingReason": null,
"rateMismatch": false
}
},
{
"memberId": "mem_26fed7aecd2f",
"externalId": "emp_0001",
"firstName": "Jordan",
"lastName": "Reyes",
"email": "jordan@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 0,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "enrolled",
"electionStatus": "active",
"tier": "employee_only",
"coveredDependents": [],
"effectiveDate": "2026-09-01"
},
"deduction": {
"medical": {
"employeeMonthlyCents": 0,
"employerMonthlyCents": 61200,
"totalMonthlyCents": 61200
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 0,
"employerCents": 28246
},
"preTax": true,
"reason": null,
"billing": {
"monthlyRateCents": 61200,
"source": "quote_rate_schedule",
"schedule": "quoted"
},
"billingReason": null,
"rateMismatch": false
}
},
{
"memberId": "mem_1441a32ff519",
"externalId": "emp_0012",
"firstName": "Priya",
"lastName": "Shah",
"email": "priya@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 0,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "waived",
"electionStatus": "waived",
"tier": null,
"coveredDependents": [],
"effectiveDate": null
},
"deduction": {
"medical": {
"employeeMonthlyCents": 0,
"employerMonthlyCents": 0,
"totalMonthlyCents": 0
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 0,
"employerCents": 0
},
"preTax": true,
"reason": null,
"billing": null,
"billingReason": null,
"rateMismatch": false
}
}
],
"count": 4
}{
"error": "unauthorized",
"message": "Provide a valid partner API key as `Authorization: Bearer psk_...`."
}{
"error": "not_found",
"message": "Group grp_8c2f41d09a3e is not enrolled. Use GET /groups/{groupId}/census before enrollment."
}{
"error": "rate_limited",
"message": "Too many requests. Please retry later."
}{
"error": "server_error",
"message": "Internal error. The request was not applied."
}Account
List enrolled members
The roster with each employee’s coverage (status, tier, covered dependents, effective date) and payroll deduction: the employee’s monthly share, the per-paycheck amount from the employer’s payroll calendar, and whether it is pre-tax. Sync it daily to keep payroll deductions current. Also who is invited, who has created an account, and COBRA status. Returns 404 not_found until the group is enrolled; use GET /groups/{groupId}/census before that. No health data, ever.
GET
/
groups
/
{groupId}
/
members
List enrolled members
curl --request GET \
--url https://www.getprescience.com/api/partner/v1/groups/{groupId}/members \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.getprescience.com/api/partner/v1/groups/{groupId}/members"
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}/members', 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}/members",
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}/members"
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}/members")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.getprescience.com/api/partner/v1/groups/{groupId}/members")
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{
"members": [
{
"memberId": "mem_66ab029b5b1e",
"externalId": "emp_0009",
"firstName": "Tom",
"lastName": "Becker",
"email": "tom@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 2,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "enrolled",
"electionStatus": "active",
"tier": "family",
"coveredDependents": [
{
"relationship": "spouse"
},
{
"relationship": "child"
}
],
"effectiveDate": "2026-09-01"
},
"deduction": {
"medical": {
"employeeMonthlyCents": 12240,
"employerMonthlyCents": 171360,
"totalMonthlyCents": 183600
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 5649,
"employerCents": 79089
},
"preTax": true,
"reason": null,
"billing": {
"monthlyRateCents": 183600,
"source": "quote_rate_schedule",
"schedule": "quoted"
},
"billingReason": null,
"rateMismatch": false
}
},
{
"memberId": "mem_022f62a5e151",
"externalId": "emp_0008",
"firstName": "Grace",
"lastName": "Okafor",
"email": "grace@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 1,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "enrolled",
"electionStatus": "active",
"tier": "employee_plus_one",
"coveredDependents": [
{
"relationship": "spouse"
}
],
"effectiveDate": "2026-09-01"
},
"deduction": {
"medical": {
"employeeMonthlyCents": 6120,
"employerMonthlyCents": 116280,
"totalMonthlyCents": 122400
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 2825,
"employerCents": 53668
},
"preTax": true,
"reason": null,
"billing": {
"monthlyRateCents": 122400,
"source": "quote_rate_schedule",
"schedule": "quoted"
},
"billingReason": null,
"rateMismatch": false
}
},
{
"memberId": "mem_26fed7aecd2f",
"externalId": "emp_0001",
"firstName": "Jordan",
"lastName": "Reyes",
"email": "jordan@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 0,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "enrolled",
"electionStatus": "active",
"tier": "employee_only",
"coveredDependents": [],
"effectiveDate": "2026-09-01"
},
"deduction": {
"medical": {
"employeeMonthlyCents": 0,
"employerMonthlyCents": 61200,
"totalMonthlyCents": 61200
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 0,
"employerCents": 28246
},
"preTax": true,
"reason": null,
"billing": {
"monthlyRateCents": 61200,
"source": "quote_rate_schedule",
"schedule": "quoted"
},
"billingReason": null,
"rateMismatch": false
}
},
{
"memberId": "mem_1441a32ff519",
"externalId": "emp_0012",
"firstName": "Priya",
"lastName": "Shah",
"email": "priya@northstarlabs.com",
"status": "active",
"employmentType": "full_time",
"dependents": 0,
"enrollment": {
"invited": false,
"accountCreated": false
},
"coverage": {
"status": "waived",
"electionStatus": "waived",
"tier": null,
"coveredDependents": [],
"effectiveDate": null
},
"deduction": {
"medical": {
"employeeMonthlyCents": 0,
"employerMonthlyCents": 0,
"totalMonthlyCents": 0
},
"dentalVision": null,
"perPaycheck": {
"frequency": "biweekly",
"paychecksPerYear": 26,
"employeeCents": 0,
"employerCents": 0
},
"preTax": true,
"reason": null,
"billing": null,
"billingReason": null,
"rateMismatch": false
}
}
],
"count": 4
}{
"error": "unauthorized",
"message": "Provide a valid partner API key as `Authorization: Bearer psk_...`."
}{
"error": "not_found",
"message": "Group grp_8c2f41d09a3e is not enrolled. Use GET /groups/{groupId}/census before enrollment."
}{
"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.
Pattern:
^grp_[0-9a-f]{12}$