# Modifies a user with a set of client-specified changes (partial update). Update one or more attributes of a SCIM resource using a sequence of operations to , , or values. The general form of the SCIM request is based on the JSON Patch approach. Find more at [RFC6902]. > : One difference between SCIM and JSON Patch is that SCIM servers do not support array indexing and do not support [RFC6902] operation types relating to array element manipulation, such as . The body of each request must contain the "schemas" attribute with the URI value of . The body of an HTTP request must contain the attribute whose value is an array of one or more operations. Each operation object must have exactly one member whose value indicates the operation to perform and may be one of the following: - - - . > : The semantics of each operation are defined in Section 3.5.2 of [RFC7644]. The attribute value is a containing an attribute path describing the target of the operation. The attribute is for and and is for operations. Each operation against an attribute must be compatible with the attribute's mutability and schema as defined in Sections 2.2 and 2.3 of [RFC7643]. For example, a client modify an attribute that has mutability or . However, a client may a value to an attribute if the attribute had no previous value. An operation that is not compatible with an attribute's mutability or schema will return the appropriate HTTP response status code and a JSON detail error response as defined in Section 3.12. Each operation represents a single action to be applied to the same SCIM resource specified by the request URI. Operations are applied sequentially in the order they appear in the array. Each operation in the sequence is applied to the target resource; the resulting resource becomes the target of the next operation. Evaluation continues until all operations are successfully applied or until an error condition is encountered. > : For multi-valued attributes, a operation that sets a value's sub-attribute to will cause the server to automatically set "primary" to "false" for any other values in the array. Endpoint: PATCH /scim/v2/Users/{userId} Version: latest Security: BearerAuth ## Path parameters: - `userId` (string, required) The user ID. Example: "2819c223-7f76-453a-919d-413861904646" ## Request fields (application/json): - `schemas` (array, required) Example: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"] - `Operations` (array, required) An array of one or more PATCH operations. Example: [{"op":"replace","path":"name.familyName","value":"Jensen"}] - `Operations.op` (string, required) The operation to perform. Enum: "add", "replace", "remove" - `Operations.path` (string) The JSON Patch [RFC6902] describing the target of the operation. - `Operations.value` (any) The value to be added or replaced. ## Response 200 fields (application/json): - `schemas` (array, required) Example: ["urn:ietf:params:scim:schemas:core:2.0:User"] - `id` (string) A unique identifier for a SCIM resource as defined by the service provider. Example: "2819c223-7f76-453a-919d-413861904646" - `externalId` (string) A String that is an identifier for the resource as defined by the provisioning client. Example: "bjensen" - `userName` (string, required) A service provider's unique identifier for the user, typically used by the user to directly authenticate to the service provider. Example: "bjensen" - `name` (object) The components of the user's name. - `name.formatted` (string) The full formatted name of the User. Example: "Ms. Barbara Jane Jensen, III" - `name.familyName` (string) The family name (surname, last name) of the User. Example: "Jensen" - `name.givenName` (string) The first name of the User. Example: "Barbara" - `name.middleName` (string) The middle name(s) of the User. Example: "Jane" - `name.honorificPrefix` (string) The honorific prefix(es) of the User, or title in most Western languages. Example: "Ms." - `name.honorificSuffix` (string) The honorific suffix(es) of the User, or suffix in most Western languages. Example: "III" - `displayName` (string) The name of the user, suitable for display to end-users. - `nickName` (string) The casual way to address the user in real life, e.g., "Bob" or "Bobby" instead of "Robert". - `profileUrl` (string) A URI that is a uniform resource locator (as defined in Section 1.1.3 of [RFC3986]) and that points to a location representing the user's online profile (e.g., a web page). URIs are canonicalized per Section 6.2 of [RFC3986]. - `title` (string) The user's title, such as "Vice President". - `userType` (string) Used to identify the relationship between the organization and the user. Typical values used might be "Contractor", "Employee", "Intern", "Temp", "External", and "Unknown", but any value may be used. - `preferredLanguage` (string) Indicates the user's preferred written or spoken languages and is generally used for selecting a localized user interface. The value indicates the set of natural languages that are preferred. The format of the value is the same as the HTTP Accept-Language header field (not including "Accept-Language:") and is specified in Section 5.3.5 of [RFC7231]. - `locale` (string) Used to indicate the User's default location for purposes of localizing such items as currency, date time format, or numerical representations.A valid value is a language tag as defined in [RFC5646]. - `timezone` (string) The User's time zone, in IANA Time Zone database format [RFC6557], also known as the "Olson" time zone database format [Olson-TZ] (e.g., "America/Los_Angeles"). - `active` (boolean) A Boolean value indicating the user's administrative status. - `emails` (array) Email addresses for the User. Example: {"value":"bjensen@example.com","type":"work","primary":true} - `emails.value` (string) The value. - `emails.type` (string) Indicates the email type such as "work" or "personal". - `emails.primary` (boolean) Indicates the preferred value for this attribute - `phoneNumbers` (array) Phone numbers for the user. - `ims` (array) Instant messaging address for the user. - `photos` (array) A URI that is a uniform resource locator (as defined in Section 1.1.3 of [RFC3986]) that points to a resource location representing the user's image. - `addresses` (object) A physical mailing address for this user. - `addresses.formatted` (string) The full mailing address, formatted for display or use with a mailing label. This attribute may contain newlines. - `addresses.streetAddress` (string) The full street address component, which may include house number, street name, P.O. box, and multi-line extended street address information. This attribute may contain newlines. - `addresses.locality` (string) The city or locality component. - `addresses.region` (string) The state or region component. - `addresses.postalCode` (string) The zip code or postal code component. - `addresses.country` (string) The country name component.When specified, the value must be in ISO 3166-1 "alpha-2" code format [ISO3166]; e.g., the United States and Sweden are "US" and "SE", respectively. - `groups` (array) A list of groups to which the user belongs, either through direct membership, through nested groups, or dynamically calculated. - `groups.id` (string) - `groups.$ref` (string) the URI of the corresponding "Group" resources to which the user belongs - `entitlements` (string) A list of entitlements for the user that represent a thing the user has. - `roles` (string) A list of roles for the user that collectively represent who the user is, e.g., "Student", "Faculty". No vocabulary or syntax is specified, although it is expected that a role value is a String or label representing a collection of entitlements. This value has no canonical types. - `x509Certificates` (string) A list of certificates associated with the resource (e.g., a User).Each value contains exactly one DER-encoded X.509 certificate (see [Section 4 of [RFC5280]](https://datatracker.ietf.org/doc/html/rfc5280#section-4)), which must be base64 encoded per Section 4 of [RFC4648]. - `resourceType` (string) The name of the resource type of the resource. - `created` (string) The "DateTime" that the resource was added to the service provider. - `lastModified` (string) The most recent DateTime that the details of this resource were updated at the service provider. - `location` (string) The URI of the resource being returned. - `version` (string) The version of the resource being returned.