Update a member
PUT /members/{id}
Requires the members:write permission.
Authorization
X-API-Key required
Parameters
| Name | Location | Type | Required |
|---|---|---|---|
id | path | string | Yes |
Request Body
| Field | Type | Required | Limits | Description |
|---|---|---|---|---|
title | Mr, Ms, Mrs, Miss, Sir, Madam, Dr, Rev | No | Optional member title or honorific. | |
name | string | No | min length 1 | Updated member full name. |
firstName | string | No | max length 120 | Updated member first name. |
lastName | string | No | max length 120 | Updated member last name. |
email | string (email) | No | Updated member email address. | |
address | object | No | ||
contactPreferences | object | No | ||
memberId | string | No | Unique member identifier. Must not contain spaces. | |
memberSince | string (date-time) | No | Updated member joined date. | |
type | Member, Visitor | No | Updated member category. | |
status | active, inactive | No | Updated member account status. | |
location | string | No | max length 100 | Member location or branch. |
phone | string | No | max length 50 | Member phone number. |
dateOfBirth | string (date) | No | Member date of birth. | |
gender | male, female, other, prefer_not_to_say | No | Member gender. | |
notes | string | No | max length 5000 | Internal member notes. |
flagged | boolean | No | Whether the member is flagged for staff attention. | |
flagNote | string | No | max length 500 | Optional note shown when the member is flagged. |
customFields | object | No | Updated organisation-defined custom field values keyed by custom field key. Use first-party fields such as phone, dateOfBirth, gender, and notes at the top level. | |
photo | string | No | Base64 image data URL. On update, an empty string removes the photo and existing URLs leave it unchanged | |
membershipTypeId | string | No | Optional membership assignment after saving the member | |
membershipPricingOptionId | string | No | Pricing option id within the selected membership type | |
membershipManualPayment | object | No | ||
deactivateLinkedMembers | boolean | No | When changing status to inactive, also deactivate linked active members | |
statusChangeReason | object | No |
Request Examples
curl -X PUT "https://api.remypass.com/api/v1/public/members/507f1f77bcf86cd799439011" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Mr",
"name": "string",
"firstName": "string",
"lastName": "string",
"email": "user@example.com",
"address": {
"addressLine1": "23 Gastons Road",
"addressLine2": "",
"city": "London",
"region": "Greater London",
"postalCode": "SW1A 1AA",
"country": "United Kingdom"
},
"contactPreferences": {
"email": true,
"post": true,
"phone": true
},
"memberId": "string",
"memberSince": "2026-01-01T12:00:00.000Z",
"type": "Member",
"status": "active",
"location": "Main Street",
"phone": "+447700900123",
"dateOfBirth": "1990-04-20",
"gender": "male",
"notes": "Prefers email contact",
"flagged": true,
"flagNote": "Check eligibility before issuing renewal",
"customFields": {
"membershipLevel": "Gold",
"favoriteLocation": "Main Street",
"newsletterOptIn": true
},
"photo": "string",
"membershipTypeId": "507f1f77bcf86cd799439011",
"membershipPricingOptionId": "string",
"membershipManualPayment": {
"method": "cash",
"amount": 1,
"currency": "507f1f77bcf86cd799439011",
"reference": "string",
"notes": "string"
},
"deactivateLinkedMembers": true,
"statusChangeReason": {
"reason": "string",
"reasonLabel": "string",
"comments": "string"
}
}'Use Case Examples
Update member
curl -X PUT https://api.remypass.com/api/v1/public/members/507f1f77bcf86cd799439011 \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Prof",
"name": "Prof. John Smith",
"phone": "+447700900124",
"dateOfBirth": "1988-09-12",
"gender": "male",
"notes": "Updated contact preference",
"memberId": "MEM001",
"status": "active",
"customFields": {
"department": "Research",
"position": "Senior Researcher"
}
}'
Responses
| Status | Description |
|---|---|
200 | Member updated. |
400 | Bad request. The top-level message explains what is invalid and, where applicable, the errors array contains structured field details. |
401 | Missing or invalid API key. |
403 | The caller is not allowed to access this resource. |
404 | Resource not found. |
429 | Rate limit exceeded. |
500 | Server error. |
200 Response Example
{
"success": true,
"message": "string",
"data": {
"_id": "507f1f77bcf86cd799439011",
"title": "Mr",
"name": "John Doe",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"address": {
"addressLine1": "23 Gastons Road",
"addressLine2": "",
"city": "London",
"region": "Greater London",
"postalCode": "SW1A 1AA",
"country": "United Kingdom"
},
"contactPreferences": {
"email": true,
"post": true,
"phone": true
},
"memberId": "MEM001",
"memberSince": "2024-01-15T00:00:00.000Z",
"type": "Member",
"status": "active",
"location": "Main Street",
"phone": "+447700900123",
"dateOfBirth": "1990-04-20",
"gender": "male",
"notes": "Prefers email contact",
"flagged": true,
"flagNote": "Check eligibility before issuing renewal",
"customFields": {
"membershipLevel": "Gold",
"favoriteLocation": "Main Street",
"newsletterOptIn": true
},
"passes": [
{
"passInstance": {
"_id": "507f1f77bcf86cd799439013",
"serialNumber": null,
"status": null,
"member": null,
"pass": null,
"recipientName": null,
"recipientEmail": null,
"expiryDate": null,
"issuedAt": null,
"walletUrls": {},
"maxUses": null,
"usesRemaining": null,
"redeemedCount": null,
"lastRedeemedAt": null,
"passType": null,
"customFields": {},
"eventTime": null,
"eventName": null,
"seatInfo": {},
"recipientTitle": null,
"voided": null,
"voidedAt": null,
"isNonMemberTicket": null,
"currentStamps": null,
"lifetimeStampsEarned": null,
"lastStampUpdate": null,
"createdAt": null,
"updatedAt": null,
"membershipManaged": null,
"memberMembershipId": null
},
"issuedAt": "2026-01-01T12:00:00.000Z",
"issuedBy": null,
"status": "active",
"expiryDate": "2026-01-01T12:00:00.000Z"
}
],
"createdAt": "2026-01-01T12:00:00.000Z",
"updatedAt": "2026-01-01T12:00:00.000Z",
"walletSummary": {
"total": 1,
"added": 1,
"status": "no_pass"
},
"photo": "string",
"linkedMemberGroupId": "507f1f77bcf86cd799439011"
}
}
Response Fields
| Field | Type | Description | Attributes |
|---|---|---|---|
success | boolean | ||
message | string | ||
data | object | Show child attributes
|