Users
/api/usersandgroups/users/{userId}/fields
Annotation based user resource.
The endpoint intentionally keeps the dynamic field data in the model instead of making the set of properties depend on installed plugins. Every value is still converted and validated by its registered UserFieldDefinition. Authentication credentials and session fields are never returned or accepted for mutation.
The UserAccountType#Administrator type is internal and private. It represents the single reserved Master account and cannot be used to create another account through this API.
For an existing user, both PUT and PATCH use partial-update semantics: only properties supplied by the request are changed, while omitted properties retain their current values. PUT is not a full replacement.
GET /api/usersandgroups/users/{userId}/fields
Returns all safe registered field values available for this account.
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
userId |
path | string |
yes | account identifier from the route |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
200 |
application/json |
object |
field values keyed by their registered field key |
Example Request
# Request
GET /api/usersandgroups/users/<userId>/fields HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
# Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"property": {
}
}
PUT /api/usersandgroups/users/{userId}/fields
Applies a complete map of registered field values to the staged model.
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
userId |
path | string |
yes | account identifier from the route |
Request Body
| Content Type | Schema | Required | Description |
|---|---|---|---|
application/json |
object |
yes | values keyed by registered field key |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
200 |
application/json |
object |
Successful response. |
Example Request
# Request
PUT /api/usersandgroups/users/<userId>/fields HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
Content-Type: application/json
{
"property": {
}
}
# Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"property": {
}
}
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.
Object
Type: object
ApiError
| Property | Type | Required | Description |
|---|---|---|---|
status |
integer (int32) |
yes | — |
code |
string |
yes | — |
message |
string |
yes | — |
details |
array<object> |
no | — |