Create or update a user based on a set of matching criteria, then create a draft enrollment in a program, in a single call.
The endpoint searches for an existing user using the match_by block. firstname and lastname are required. Any additional criterion provided narrows the search (AND semantics): the more criteria are sent, the more precise the identification. Comparison on firstname and lastname is case-insensitive and accent-insensitive, with leading and trailing whitespace trimmed. Other criteria are compared strictly.
If exactly one user matches all the provided criteria, their data is updated from the user payload.
If no user matches, a new user is created from the user payload.
If more than one user matches, the call is rejected with a 409 and no write is performed.
A draft program enrollment is then created on the program referenced by program_identifier. The endpoint is idempotent on identical replays: if the resolved user is already enrolled on that program, the existing enrollment is returned as-is instead of creating a duplicate.
Designed for SIRH-like integrations that need to push a user into a HeyTeam program in one HTTP call.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||