- Update a functional area
Updates the fields supplied and returns the group in the same shape as reading it. Only the fields sent are touched, so an empty body is a valid request that changes nothing.
rules is the exception, and it is worth reading before updating a group that updates its membership automatically. Omitting rules clears the conditions rather than leaving them alone, so on a group with auto_update_mode switched on an update that does not resend them is rejected and nothing changes. Send the conditions back on every update to such a group, or switch auto_update_mode to 0 in the same request.
Changing the conditions does not revisit anyone already in the group in the same breath - membership is reconciled as the conditions are next applied.
The name volunteers see in the portal. Required, and shown in place of name to anyone without administrator access, so it is worth setting even when the two match.
A short reference for the group, unique within the account. Letters, numbers, dashes and underscores only - spaces and punctuation are rejected. Stored and returned in upper case whatever case it is sent in.
The ID of the group type to file this group under. Optional; omit or send null to leave the group untyped.
Whether membership is maintained automatically from rules, and in which direction: 0 off, 1 add and remove, 2 add only, 3 remove only. When this is anything other than 0, rules must be present and well formed or the request is rejected.
The membership conditions used when auto_update_mode is on, as a list of condition objects built from the account's own user fields. Each condition names a field, a comparison and a value. Build these in the admin console and send back what it produces rather than composing them by hand - the set of addressable fields is specific to the account. This field is cleared whenever it is omitted, so resend it on every update to a group that has automatic updating switched on; omitting it there clears the conditions and the request is rejected.
- Mock serverhttps://developer.rosterfy.com/_mock/api-docs/openapi/api/v2/headcount/functionalarea/{id}
- Your Rosterfy accounthttps://example.rosterfy.com/api/v2/headcount/functionalarea/{id}
curl -i -X PUT \
'https://developer.rosterfy.com/_mock/api-docs/openapi/api/v2/headcount/functionalarea/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Rosterfy-Platform: admin' \
-d '{
"name": "Guest Services",
"frontend_name": "Guest Services",
"code": "GUESTSERVICES",
"headcount_functional_area_type_id": 1,
"target": 50,
"auto_update_mode": 0,
"rules": [],
"training_ids": [
1
]
}'{ "object": { "id": 1, "account_id": 20101, "headcount_functional_area_type_id": 1, "name": "Guest Services", "frontend_name": "Guest Services", "code": "GUESTSERVICES", "target": 50, "auto_update_mode": 0, "rules": [], "training_ids": [ … ], "is_system": 0, "deleted_at": null, "created_at": "2026-06-09T05:36:16.000000Z", "updated_at": "2026-06-09T05:36:16.000000Z", "updated_by": 1234, "uuid": "270eebe1-bc48-4ecf-a065-2c5ff65b33b0" }, "nice": { "rrn": "rrn:local:20101:functional_area:1" }, "relations": {}, "permissions": { "read": true, "update": true, "delete": true } }