Skip to navigation

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

AuthorizationBearer
API key issued for your account. Send as Bearer token in the Authorization header.
X-Plan-Manager-Idstring
Plan manager UUID. Required on all public API requests to scope data access.

Path parameters

participant_idstringRequiredformat: "uuid"
Participant UUID

Request

This endpoint expects an object.
first_namestringRequired>=1 character
last_namestringRequired>=1 character
emailstring or nullOptionalformat: "email"

Omit (or send null) to add a contact without portal login. Cannot be changed after create.

rolestringOptional

Relationship/role (e.g. Mother, Support Coordinator, Plan Nominee)

permissionslist of stringsOptional

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.

phone_numberstringOptional
notestringOptional

Internal note. Shared across participants for emailed team members; per-contact otherwise.

secondary_emailstringOptionalformat: "email"
secondary_phone_numberstringOptional
address_line_1stringOptional
citystringOptional
stateenumOptional
postcodestringOptional
contact_priorityenumOptional

1 = Primary Contact, 2 = Secondary Contact

Allowed values:

Response

Team member created
idstringOptionalformat: "uuid"

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.

user_idstringOptionalformat: "uuid"
pm_profile_idstring or nullOptionalformat: "uuid"
participant_idstringOptionalformat: "uuid"
first_namestringOptional
last_namestringOptional
emailstring or nullOptionalformat: "email"
Null for contacts added without an email
rolestring or nullOptional
phone_numberstring or nullOptional
notestring or nullOptional
secondary_emailstring or nullOptional
secondary_phone_numberstring or nullOptional
address_line_1string or nullOptional
citystring or nullOptional
statestring or nullOptional
postcodestring or nullOptional
contact_priorityinteger or nullOptional

1 = Primary Contact

permissionslist of objectsOptional

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error