Update a member
PATCH/v1/members/{id}
PATCH/v1/members/me
Changes profile fields. Send only the fields you want to change. Fields you leave out stay as they are.
Permissions: {id}: secret key with members:write. me: member token.
Guide
Members and sign-inPath parameters#
idstring (uuid)Required
Request body#
first_namestringlast_namestringemailstring (email)phonestringE.164. Secret key only.phone_verifiedbooleanSecret key only.birthdaystring (date)Set once from the app; a secret key can correct it.metadataobject
| Field | Secret key | Member token |
|---|---|---|
first_name, last_name | Yes | Yes |
email | Yes | Yes |
phone, phone_verified | Yes | No |
birthday | Yes, any time (to correct it) | Once, while it is null |
metadata | Yes | Yes |
The app can't change the phone because the phone is how a guest's register visits find their member. Verify the new number on your server, then send it with the secret key and phone_verified: true. The same phone rules as create apply: a number another linked member has returns 409 phone_in_use.
metadata keys you send are set; keys you leave out stay. The 20-key limit counts the stored keys after the update.
Response fields#
Returns 200 with Member
idstring (uuid)unPLUG's id for the member. Store it next to your user record.external_idstringNullableYour id for the guest, up to 128 characters.nullfor a guest who has only earned at the register and isn't linked to your login yet.Max Length 128statusstringactive. Themember.deletedwebhook carriesdeleted; after that, calls about the member return410 member_deleted.One ofactive,deletedfirst_namestringNullablelast_namestringNullableemailstring (email)NullableSaved in lowercase.phonestringNullableE.164, for example+15125550142.phone_verifiedbooleantruewhen you confirmed the guest owns the number, for example with an SMS code. Only verified phones link to existing members.birthdaystring (date)NullableYYYY-MM-DD.points_balanceintegerPoints the member has now. Never below zero.lifetime_pointsintegerAll points ever earned, used for tiers. Spending doesn't lower it.tierTierRefidandnameof the current tier.Show attributesTierRef
idstring (uuid)namestring
next_tierobjectNullableid,nameandpoints_needed(lifetime points still to earn).nullat the top tier.Show attributesHide attributes
idstring (uuid)namestringpoints_neededinteger
communication_preferencesobjectShow attributesHide attributes
email_marketingbooleansms_marketingbooleanpush_marketingboolean
metadataobjectYour own string values. Up to 20 keys, 500 characters each. Don't put personal data here.linked_existingbooleanOnly on create: true when an existing member was linked by verified phone.enrolled_atstring (date-time)When the guest joined the program.created_atstring (date-time)updated_atstring (date-time)
Error descriptions#
A field has the wrong format, a member token tried to change phone, or a member token tried to change a birthday that is already set. param names the field.
No member with this id.
Another member with an external_id has this phone.
The member was deleted.
Any endpoint can also return the common errors.