Add team member
Add a team member to a participant and grant permissions. Omit email to add a contact without portal login; those contacts can only be granted no_access (omit permissions, send an empty list, or send no_access). Any other permission without an email returns 400. Permissions accept slugs such as view_budget, or the labels/UUIDs from GET /permissions. Limited to one create every 5 seconds per API key; exceeding that returns 429 with a Retry-After header. This endpoint does not send a portal-access email.
Authentication
Path parameters
Request
Omit (or send null) to add a contact without portal login. Cannot be changed after create.
Relationship/role (e.g. Mother, Support Coordinator, Plan Nominee)
Permissions to grant. Accepts slugs (view_budget), labels (View Budget), or permission UUIDs. Defaults to no_access when omitted or empty. Contacts without an email must use no_access only; any other permission is rejected with 400.
Internal note. Shared across participants for emailed team members; per-contact otherwise.
1 = Primary Contact, 2 = Secondary Contact
Response
Stable identifier for this team member on this participant. For emailed members this is user_id; for members without an email this is pm_profile_id.
1 = Primary Contact

