Group members
/api/usersandgroups/groups/{groupId}/members/{userId}
Exposes one direct user-to-group membership as independently writable resource.
DELETE /api/usersandgroups/groups/{groupId}/members/{userId}
Removes whole membership edge, independent of currently assigned types.
Parameters
| Name |
Location |
Type |
Required |
Description |
groupId |
path |
string |
yes |
— |
userId |
path |
string |
yes |
member identifier from route |
Response
| Status |
Content Type |
Schema |
Description |
204 |
— |
— |
No content. |
Example Request
# Request
DELETE /api/usersandgroups/groups/<groupId>/members/<userId> HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
# Response
HTTP/1.1 204 No Content
GET /api/usersandgroups/groups/{groupId}/members/{userId}
Exposes one direct user-to-group membership as independently writable resource.
Parameters
| Name |
Location |
Type |
Required |
Description |
groupId |
path |
string |
yes |
— |
userId |
path |
string |
yes |
member identifier from route |
fields |
query |
string |
no |
Comma-separated readable properties to include in the JSON response. |
Response
| Status |
Content Type |
Schema |
Description |
200 |
application/json |
GroupMemberRead |
Successful response. |
Example Request
# Request
GET /api/usersandgroups/groups/<groupId>/members/<userId> HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
# Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"membershipTypes": [
"string"
],
"userId": "3bh4cdhcy19x5yllunjfl9obc"
}
PATCH /api/usersandgroups/groups/{groupId}/members/{userId}
Exposes one direct user-to-group membership as independently writable resource.
Parameters
| Name |
Location |
Type |
Required |
Description |
groupId |
path |
string |
yes |
— |
userId |
path |
string |
yes |
member identifier from route |
Request Body
Response
| Status |
Content Type |
Schema |
Description |
200 |
application/json |
GroupMemberRead |
Successful response. |
Example Request
# Request
PATCH /api/usersandgroups/groups/<groupId>/members/<userId> HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
Content-Type: application/json
{
"membershipTypes": [
"string"
],
"userId": "1ebvtfdsk3kpp9nz8ige8sprs"
}
# Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"membershipTypes": [
"string"
],
"userId": "3bh4cdhcy19x5yllunjfl9obc"
}
PUT /api/usersandgroups/groups/{groupId}/members/{userId}
Exposes one direct user-to-group membership as independently writable resource.
Parameters
| Name |
Location |
Type |
Required |
Description |
groupId |
path |
string |
yes |
— |
userId |
path |
string |
yes |
member identifier from route |
Request Body
Response
| Status |
Content Type |
Schema |
Description |
200 |
application/json |
GroupMemberRead |
Successful response. |
Example Request
# Request
PUT /api/usersandgroups/groups/<groupId>/members/<userId> HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
Content-Type: application/json
{
"membershipTypes": [
"string"
],
"userId": "1ebvtfdsk3kpp9nz8ige8sprs"
}
# Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"membershipTypes": [
"string"
],
"userId": "3bh4cdhcy19x5yllunjfl9obc"
}
Common Error Responses
The status codes 400, 403, 404, 405, 406, 409, 413, 415, and 500 use the same ApiError JSON error format:
{
"status": 404,
"code": "route_not_found",
"message": "The requested API route does not exist.",
"details": []
}
Schemas
Request and response schemas used on this page.
GroupMemberRead
| Property |
Type |
Required |
Description |
membershipTypes |
array<string> |
no |
Membership type keys assigned to member.
|
userId |
string |
no |
Member identifier. Settable only while creating new membership.
|
ApiError
| Property |
Type |
Required |
Description |
status |
integer (int32) |
yes |
— |
code |
string |
yes |
— |
message |
string |
yes |
— |
details |
array<object> |
no |
— |
GroupMemberUpdate
| Property |
Type |
Required |
Description |
membershipTypes |
array<string> |
no |
Replaces assigned membership type keys.
|
userId |
string |
no |
Sets member ID on create; route identity remains immutable on updates.
|