Preview Cohort Custom Contacts
Server-authoritative classification of a pasted/uploaded contact list.
Thin delegate: the service owns classification, normalization, matching, and
the response shape (preview logic lives in a service, not the route). The
same cap is enforced on CustomListFilters at write time, so a direct API
client can’t bypass it by skipping the preview.
Headers
The tenant you are making this request on behalf of
Your api key
Body
Raw, client-tokenized contact list. The server owns all classification.
Response
Successful Response
Server-authoritative classification of a custom contact list.
custom_list is the normalized value the client persists on the cohort —
not its own parse. matched_count counts patients; unmatched lists
valid contacts that resolved to no patient (distinct concepts for UI copy).
Normalized contact-list filters for custom-list cohorts.
emails/phone_numbers are normalized and deduped at the boundary by
the shared contact_list helpers, so a write re-normalizes idempotently
regardless of how the values arrived (client preview output, stored JSONB).
