The PATCH /scim/v2/Users/{id}
endpoint is used to add, modify, or remove one or more specific attributes. Unlike PUT
, a complete representation is not specified.
PATCH
requests always include an Operations
attribute, which is an array of the changes to make.
Field | Type | Required? | Description |
---|---|---|---|
schemas | array | yes | The SCIM schema of the session resource. Always has the value urn:ietf:params:scim:api:messages:2.0:PatchOp. |
Operations | array | yes | An array of modification operations to perform on the resource. |
Each modification operation contains the following fields:
Field | Type | Required? | Description |
---|---|---|---|
op | string | yes | Specifies the type of modification. Valid values are add, remove, and replace. |
path | string | The attribute path targeted by the operation. If unspecified, then the root of the resource is targeted. To target a specific member of a multivalued complex attribute when performing a replace, the attribute path may include a filter, such as addresses[type eq “work”]. A sub-attribute may be targeted using a dotted ‘attribute.sub-attribute’ notation, such as addresses[type eq “work”].value. | |
value | any | The attribute value to set when the op value is add or replace. May not be provided when the op value is remove. Any SCIM data type may potentially be used; the validity of the value is dependent on the path. |
The combination of op
, path
, and value
gives the client a tremendous amount of expressive power in forming varied modification requests. Because the path used may potentially select any node of the resource, the client must take care to specify a value of the appropriate type. For example, the path addresses[type eq "work"]
selects the member of a multivalued complex attribute, so the corresponding value must be an object. The path addresses[type eq "work"].value
, meanwhile, selects a specific sub-attribute of the same object, and its corresponding value must be a string.
The SCIM PATCH
request format is described in detail by RFC 7644.
The sample replaces the value of a sub-attribute of a complex attribute.