User field settings
/api/usersandgroups/user-fields
Exposes user field settings through the annotation-based WebAPI.
The public representation deliberately contains only scalar metadata and a flat property map. In particular, the manager's internal nature and field implementation are never returned to a client. The map is produced by GenericFieldSetting#toMap and therefore contains generic, user-field-specific, and extension-specific values required for a lossless round trip. Registration of this class is intentionally performed by the owning server plugin.
GET /api/usersandgroups/user-fields
Lists all registered and custom user field settings.
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
fields |
query | string |
no | Comma-separated readable properties to include in the JSON response. |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
200 |
application/json |
array<UserFieldSettingsRead> |
public setting views in the manager's configured order |
Example Request
# Request
GET /api/usersandgroups/user-fields HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
# Response
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"key": "string",
"custom": true,
"properties": {
"property": "string"
}
}
]
POST /api/usersandgroups/user-fields
Creates a new request-local custom user field setting.
Request Body
| Content Type | Schema | Required | Description |
|---|---|---|---|
application/json |
UserFieldSettingsCreate |
yes | — |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
201 |
application/json |
UserFieldSettingsRead |
new request-local setting |
Example Request
# Request
POST /api/usersandgroups/user-fields HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
Content-Type: application/json
{
"key": "string",
"custom": true,
"properties": {
"property": "string"
}
}
# Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"key": "string",
"custom": true,
"properties": {
"property": "string"
}
}
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.
UserFieldSettingsRead
| Property | Type | Required | Description |
|---|---|---|---|
key |
string |
no |
Public field key, also accepted in create and update request bodies. |
custom |
boolean |
no |
Whether this setting describes a custom field. |
properties |
object |
no |
Complete flat setting properties. Values are strings because this is the format required by |
ApiError
| Property | Type | Required | Description |
|---|---|---|---|
status |
integer (int32) |
yes | — |
code |
string |
yes | — |
message |
string |
yes | — |
details |
array<object> |
no | — |
UserFieldSettingsCreate
| Property | Type | Required | Description |
|---|---|---|---|
key |
string |
no |
Public field key, also accepted in create and update request bodies. |
custom |
boolean |
no |
Whether this setting describes a custom field. |
properties |
object |
no |
Complete flat setting properties. Values are strings because this is the format required by |