UUpward API
v1
PATCH/api/public/v1/member
Requires x-auth-token

Update member

Update a member; only the fields you send are changed.

How it works

  • Identify the member with x-auth-user (their pagename or your own external_id).
  • Omit a field, or send it empty, to leave it unchanged — empty values are never applied.

Field notes

  • enroller_username sets who enrolled them (their pagename or external_id); an empty value keeps the existing enroller (it is never cleared).
  • Clearing a value: an empty string is ignored, so to remove a saved value name the field in clear_fields. Only member_phone_number and title can be cleared; the email is a sign-in credential and can never be cleared. A field named in clear_fields cannot also be given a value (422). Clearing the phone number also removes it from the member's sign-in account.
  • member_email and member_phone_number are sign-in credentials, so they also update the member's sign-in account.
  • pagename changes the member's primary web address and must be unique in your company.
  • status suspends or restores a member: inactive stops their sign-in and SSO and ends any open session, active restores them. Nothing is deleted, and the plan, page and data stay as they were. A suspended member can still be read and updated here (by pagename, external_id or id), but SSO and the billing endpoints return 404 until they are active again. The company owner's status cannot be changed.

Body fields

status"active" | "inactive"optional

Set to "inactive" to suspend the member (no sign-in, no SSO) or "active" to restore them. Empty is ignored; 422 for the company owner.

member_emailstring (email)optional

Sign-in email address; must be unique in your company.

member_first_namestring (≤80)optional

First name.

member_last_namestring (≤80)optional

Last name.

member_phone_numberstring (E.164)optional

Sign-in phone number in international format.

pagenamestring (≤63)optional

Primary web address (slug) for the member. Letters, numbers and dashes only — no spaces, symbols, or leading/trailing dash; 422 when invalid or already taken.

enroller_usernamestring (≤63)optional

Pagename or external_id of the member who enrolled them (the same value as x-auth-user). Only applied when given; an empty string never clears the enroller.

external_idstring (≤120)optional

Your own reference for this member. Must be unique inside your company; 422 when another member already uses it.

titlestring (≤120)optional

Job title shown on the member page.

clear_fieldsarray of "member_phone_number" | "title"optional

Fields to empty. Send the names of the saved values you want removed, e.g. ["member_phone_number","title"]. The email cannot be cleared. 422 when a name is not clearable or the same field also has a value.

Responses

200OKThe member was updated; updated lists each changed field with its previous and new value.
{
  "success": true,
  "updated": [
    { "field": "pagename", "previous_value": "james", "new_value": "john-doe" }
  ],
  "member": {
    "id": "7c4e2a1b-3d5f-4a0e-8b12-9f6c1d2e3a45",
    "pagename": "john-doe",
    "member_email": "john@example.com",
    "member_phone_number": "+10000000000",
    "title": "COO"
  }
}
400Bad requestThe request body is not valid JSON.
{ "success": false, "error": "Body must be valid JSON" }
404Not foundNo member with that id in your company.
{ "success": false, "error": "No member matches "john-doe" in this company." }
422UnprocessableValidation failed; see the issues array.
{
  "success": false,
  "error": "Validation failed",
  "issues": ["pagename: "john-doe" is already taken."]
}
PATCH/api/public/v1/member

Set to "inactive" to suspend the member (no sign-in, no SSO) or "active" to restore them. Empty is ignored; 422 for the company owner.

Sign-in email address; must be unique in your company.

First name.

Last name.

Sign-in phone number in international format.

Primary web address (slug) for the member. Letters, numbers and dashes only — no spaces, symbols, or leading/trailing dash; 422 when invalid or already taken.

Pagename or external_id of the member who enrolled them (the same value as x-auth-user). Only applied when given; an empty string never clears the enroller.

Your own reference for this member. Must be unique inside your company; 422 when another member already uses it.

Job title shown on the member page.

Fields to empty. Send the names of the saved values you want removed, e.g. ["member_phone_number","title"]. The email cannot be cleared. 422 when a name is not clearable or the same field also has a value.

ResponseNot sent yet