---
title: "Service: /groups/{group}/members/{member} [PATCH]"
source: https://dev.pageseeder.com/api/services/membership_patch.html
description: "PATCH endpoint to edit member details and group membership. Allows updating usernames, emails, passwords, roles, notification preferences, and custom fields. Supports member deregistration and invitation acceptance with comprehensive validation and error handling."
last_updated: 2026-09-08T13:38:35+10:00
document_type: api_endpoint
operation_id: membership-PATCH
resource_id: membership
path_template: /groups/{group}/members/{member}
http_method: PATCH
api_category: membership
implementation_version: 6.2004
api_since: 4.9500
deprecated_since: null
obsolete_since: null
api_support: supported
cache_control: N/A
generated_at: 2026-09-02
tokens: ~1466
---

# /groups/\{group\}/members/\{member\} \[PATCH\]

## Description

Edit the details of a member and its membership for a specific group.

### Member details

Both the firstname and surname are limited to 50 characters.

The member-username must be less than 100 characters, unique and cannot contain a '@'.

The email must be less than 100 characters, unique and be a valid Email address.

### Password details

The member-password must be less than 100 characters.

Passwords must satisfy a given strength check to be accepted:

- Regular members must have at least a **MEDIUM** strength.
- Administrators must use a **STRONG** password.

### Group membership parameters

The notification parameter must be one of `immediate`, `essential`, `daily`, `weekly` or `none`. Users are able to subsequently change this setting through the user interface in their group registration options.

The role parameter must be one of `guest`, `reviewer`, `contributor`, `manager`, `approver`, `moderator-and-approver`, `moderator`.

The listed boolean parameter can be used to override the group’s default setting. It affects whether other group member are able to see the member’s user details. Users are able to subsequently change this setting through the user interface in their group registration options.

Additional information specific to the group can also be attached to the user using the details fields field1 to field15

This service can be used to deregister a member from a group by setting the deregister parameter to `true`.

## Parameters

There are no required parameters for this service, but parameters that are specified modify the member accordingly.

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| current-password | The member’s current password (required by non-administrator if a new password is specified) | maybe | string |  |
| accept | Whether to accept an invitation to the group | no | boolean | `false` |
| deregister | Whether to remove the member from the group | no | boolean | `false` |
| email | The member’s email address | no | email |  |
| field1 | Custom field #1 | no  | string |  |
| field10 | Custom field #10 | no | string  |  |
| field11 | Custom field #11 | no | string  |  |
| field12 | Custom field #12 | no | string  |  |
| field13 | Custom field #13 | no | string  |  |
| field14 | Custom field #14 | no | string  |  |
| field15 | Custom field #15 | no | string  |  |
| field2 | Custom field #2 | no | string |  |
| field3 | Custom field #3 | no | string  |  |
| field4 | Custom field #4 | no | string  |  |
| field5 | Custom field #5 | no | string  |  |
| field6 | Custom field #6 | no | string  |  |
| field7 | Custom field #7 | no | string  |  |
| field8 | Custom field #8 | no | string  |  |
| field9 | Custom field #9 | no | string  |  |
| firstname | The member’s given/other name | no | string |  |
| force-email-change | Set to `true` to change the email address without notification (administrator only) | no | boolean | `false` |
| listed | Whether the member’s email address is listed in the group | no | boolean |  |
| member-password | The member’s password | no | string |  |
| member-username | The member’s username, defaults to the member’s email address | no | string |  |
| notification | The member’s notification option in the group | no | enum |  |
| password-email | Set to `false` to change the password without notification (adminstrator only) | no | boolean | `true` |
| role | The member’s role in the group (administrators only) | no | enum |  |
| surname | The member’s family name | no  | string |  |
| welcome-email | Whether to send a group welcome email to the member | no | boolean | `true` |
| notify-async | Whether emails should be sent asynchronously (for slow email servers) | no | boolean | `false` |

### notification

The notification can be `none`, `immediate` or `daily`.

## Permission

The member on the request or an administrator can invoke this service.

## Response

When successful, the XML returned the full details of the updated membership as a `<membership>` element wrapped in a `<membership-modification>` element.

```xml

<membership-modification>
  <membership id="[membershipid]" 
              email-listed="[true|false]" 
              notification="[none|
                             essential|
                             immediate|
                             daily|
                             weekly]"
              [status="[status]"]
              [role="[role]"]>
    <member id="[member id]"
            firstname="[first name]"
            surname="[surname]"
            username="[username]"
            email="[email]"
            status="[activated|unactivated|set-password]">
      <fullname>[full name]</fullname>
    </member>
    <group id="[group id]" 
           name="[name]" 
           visibility="[visibility]" 
           template="[template]">
      <description>[description]</description>
    </group>
  </membership>
</membership-modification>
```

## Error Handling

| Code | Cause / Description |
| --- | --- |
| 0x1001 | If the username is invalid |
| 0x1002 | If the email address is invalid |
| 0x1004 | If the specified username or email is already in use by another user |
| 0x1006 | If the member is not a member of the group |
| 0x1007 | If the first name or surname is longer than 20 characters |
| 0x1008 | If the user or email is not specified |
| 0x1009 | If the username is too long |
| 0x100A | If the email address is longer then 100 characters |
| 0x100B | If the password is too long |
| 0x1015 | If the password is too weak |
| 0x1017 | If the current password is incorrect |
| 0x1026 | If the member has not been invited to the group |
| 0x6003 | If the password change notification could not be sent |
| 0x6004 | If the member details have not been configured properly |

