Hi ✋
Description
When making a SCIM PatchRequest to update complex properties using dot notation (e.g., name.givenName), the response structure is incorrect. The complex property is flattened instead of maintaining the proper nested object structure as defined in the SCIM schema.
Steps to Reproduce
- Send a SCIM PATCH request to update complex properties using dot notation
- Observe the response structure
Expected Behavior
The response should maintain the proper nested object structure for complex properties as defined in the SCIM User schema, with name as a complex attribute containing givenName and familyName.
Actual Behavior
The response flattens the complex property, returning givenName as a top-level attribute instead of nested within the name object. The familyName operation appears to be ignored entirely.
Request Example
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "name.givenName",
"value": "Patched"
},
{
"op": "replace",
"path": "name.familyName",
"value": "User"
}
]
}
Actual Response
{
"id": "c700e971-a1d0-4781-9ff2-948746c9f9e4",
"givenName": "Patched",
"groups": [],
"emails": [],
"meta": {
"resourceType": "User",
"created": "2025-08-14T12:15:51.3840915",
"lastModified": "2025-08-14T12:18:02.5453875Z",
"version": "2",
"location": "http://localhost/scim/e5c0cb5d-28b7-4167-88e6-a275cf94db33/Users/c700e971-a1d0-4781-9ff2-948746c9f9e4"
},
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"]
}
Expected Response
{
"id": "c700e971-a1d0-4781-9ff2-948746c9f9e4",
"name": {
"givenName": "Patched",
"familyName": "User"
},
"groups": [],
"emails": [],
"meta": {
"resourceType": "User",
"created": "2025-08-14T12:15:51.3840915",
"lastModified": "2025-08-14T12:18:02.5453875Z",
"version": "2",
"location": "http://localhost/scim/e5c0cb5d-28b7-4167-88e6-a275cf94db33/Users/c700e971-a1d0-4781-9ff2-948746c9f9e4"
},
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"]
}
Thanks for your time and consideration in looking into this issue!
Hi ✋
Description
When making a SCIM PatchRequest to update complex properties using dot notation (e.g.,
name.givenName), the response structure is incorrect. The complex property is flattened instead of maintaining the proper nested object structure as defined in the SCIM schema.Steps to Reproduce
Expected Behavior
The response should maintain the proper nested object structure for complex properties as defined in the SCIM User schema, with
nameas a complex attribute containinggivenNameandfamilyName.Actual Behavior
The response flattens the complex property, returning
givenNameas a top-level attribute instead of nested within thenameobject. ThefamilyNameoperation appears to be ignored entirely.Request Example
{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "replace", "path": "name.givenName", "value": "Patched" }, { "op": "replace", "path": "name.familyName", "value": "User" } ] }Actual Response
{ "id": "c700e971-a1d0-4781-9ff2-948746c9f9e4", "givenName": "Patched", "groups": [], "emails": [], "meta": { "resourceType": "User", "created": "2025-08-14T12:15:51.3840915", "lastModified": "2025-08-14T12:18:02.5453875Z", "version": "2", "location": "http://localhost/scim/e5c0cb5d-28b7-4167-88e6-a275cf94db33/Users/c700e971-a1d0-4781-9ff2-948746c9f9e4" }, "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"] }Expected Response
{ "id": "c700e971-a1d0-4781-9ff2-948746c9f9e4", "name": { "givenName": "Patched", "familyName": "User" }, "groups": [], "emails": [], "meta": { "resourceType": "User", "created": "2025-08-14T12:15:51.3840915", "lastModified": "2025-08-14T12:18:02.5453875Z", "version": "2", "location": "http://localhost/scim/e5c0cb5d-28b7-4167-88e6-a275cf94db33/Users/c700e971-a1d0-4781-9ff2-948746c9f9e4" }, "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"] }Thanks for your time and consideration in looking into this issue!