curl --request PUT \
--url https://www.getprescience.com/api/partner/v1/groups/{groupId}/census \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"members": [
{
"external_id": "emp_0001",
"first_name": "Jordan",
"last_name": "Reyes",
"email": "jordan@acme.com",
"dob": "1992-03-14",
"zip": "94110",
"employment_type": "full_time",
"hire_date": "2024-03-01"
},
{
"external_id": "emp_0008",
"first_name": "Grace",
"last_name": "Okafor",
"email": "grace@acme.com",
"dob": "1990-07-03",
"zip": "94110",
"employment_type": "full_time",
"hire_date": "2023-07-15",
"dependents": [
{
"relationship": "spouse",
"dob": "1989-08-12",
"name": "Femi Okafor"
}
]
},
{
"external_id": "emp_0010",
"first_name": "Lena",
"last_name": "Fischer",
"email": "lena@acme.com",
"dob": "1993-01-15",
"zip": "94110",
"employment_type": "full_time",
"hire_date": "2024-09-30",
"dependents": [
{
"relationship": "child",
"dob": "2019-10-02",
"name": "Mia Fischer"
}
]
}
]
}
'{
"group_id": "grp_8c2f41d09a3e",
"received": 12,
"accepted": 12,
"member_count": 12,
"errors": [],
"warnings": []
}Replace the census
Full census replace. Rows are upserted by email when present, else by external_id. To quote, each member needs zip plus one of dob | age. Valid rows are stored even when other rows fail; check errors for per-row rejections. A successful write starts the group’s market comparison. The response contains census acceptance results only; create an embed session separately when the employer opens the offer. Rate limit: 20 census writes per minute. Field names are snake_case for broker keys. HR platform partners use camelCase (company_name is companyName).
curl --request PUT \
--url https://www.getprescience.com/api/partner/v1/groups/{groupId}/census \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"members": [
{
"external_id": "emp_0001",
"first_name": "Jordan",
"last_name": "Reyes",
"email": "jordan@acme.com",
"dob": "1992-03-14",
"zip": "94110",
"employment_type": "full_time",
"hire_date": "2024-03-01"
},
{
"external_id": "emp_0008",
"first_name": "Grace",
"last_name": "Okafor",
"email": "grace@acme.com",
"dob": "1990-07-03",
"zip": "94110",
"employment_type": "full_time",
"hire_date": "2023-07-15",
"dependents": [
{
"relationship": "spouse",
"dob": "1989-08-12",
"name": "Femi Okafor"
}
]
},
{
"external_id": "emp_0010",
"first_name": "Lena",
"last_name": "Fischer",
"email": "lena@acme.com",
"dob": "1993-01-15",
"zip": "94110",
"employment_type": "full_time",
"hire_date": "2024-09-30",
"dependents": [
{
"relationship": "child",
"dob": "2019-10-02",
"name": "Mia Fischer"
}
]
}
]
}
'{
"group_id": "grp_8c2f41d09a3e",
"received": 12,
"accepted": 12,
"member_count": 12,
"errors": [],
"warnings": []
}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.
Path Parameters
Group ID, e.g. grp_8c2f41d09a3e.
^grp_[0-9a-f]{12}$Body
- Option 1
- Option 2
The full active census. Upsert key is email when present, else external_id. Max 10,000 members, 6 dependents each.
10000One 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
Response
Census processed. accepted rows are stored; errors lists rejected rows by index.
- Option 1
- Option 2
"grp_8c2f41d09a3e"
Rows in the request.
12
Rows stored.
12
Members on file after the replace.
12
Per-row rejections. The row at index was not stored; everything else was.
Show child attributes
Show child attributes
Non-blocking issues, e.g. members missing email (required before enrollment, not for quoting).