# Perform bulk updates. Enables clients to send a potentially large collection of resource operations in a single request. The body of a bulk operation contains a set of HTTP resource operations using one of the HTTP methods supported by the API, i.e., , , , or . Bulk requests are identified using the following schema URI: . Bulk responses are identified using the following URI: . Bulk requests and bulk responses share many attributes. > : If a bulk job is processed successfully, HTTP response code be returned; otherwise, an appropriate HTTP error code must be returned. The service provider must continue performing as many changes as possible and disregard partial failures. The client may override this behavior by specifying a value for the attribute. The attribute defines the number of errors that the service provider should accept before failing the remaining operations returning the response. To be able to reference a newly created resource, the attribute may be specified when creating new resources. The is defined by the client as a surrogate identifier in a operation (see Section 3.7.2). The can then be used by the client to map the service provider id with the of the created resource. Endpoint: POST /scim/v2/Bulk Version: latest Security: BearerAuth ## Request fields (application/json): - `schemas` (array, required) Example: ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"] - `failOnErrors` (boolean) An integer specifying the number of errors that the service provider will accept before the operation is terminated and an error response is returned. Example: 1 - `Operations` (array, required) Defines operations within a bulk job. Each operation corresponds to a single HTTP request against a resource endpoint. Example: [{"method":"POST","path":"/Users","bulkId":"qwerty","data":{"schemas":["urn:ietf:params:scim:api:messages:2.0:User"],"userName":"Alice"}},{"method":"POST","path":"/Groups","bulkId":"ytrewq","data":{"schemas":["urn:ietf:params:scim:schemas:core:2.0:Group"],"displayName":"Tour Guides","members":[{"type":"User","value":"bulkId:qwerty"}]}},{"method":"PUT","path":"/Users/b7c14771-226c-4d05-8860-134711653041","data":{"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"b7c14771-226c-4d05-8860-134711653041","userName":"Bob"}},{"method":"PATCH","path":"/Users/5d8d29d3-342c-4b5f-8683-a3cb6763ffcc","data":{"schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations":[{"op":"remove","path":"nickName"},{"op":"add","path":"userName","value":"Dave"}]}},{"method":"DELETE","path":"/Users/e9025315-6bea-44e1-899c-1e07454e468b"}] - `Operations.method` (string, required) The HTTP method of the current operation. Enum: "POST", "PUT", "PATCH", "DELETE" - `Operations.bulkId` (string) The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. REQUIRED when "method" is "POST". - `Operations.path` (string, required) The resource's relative path to the SCIM service provider's root. If "method" is "POST", the value must specify a resource type endpoint, e.g., /Users or /Groups, whereas all other "method" values must specify the path to a specific resource, e.g., . - `Operations.data` (string) The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH". ## Response 200 fields (application/json): - `schemas` (array, required) Example: ["urn:ietf:params:scim:api:messages:2.0:BulkResponse"] - `failOnErrors` (boolean) An integer specifying the number of errors that the service provider will accept before the operation is terminated and an error response is returned. - `Operations` (array, required) Defines operations within a bulk job. Each operation corresponds to a single HTTP request against a resource endpoint. Example: [{"location":"https://example.com/v2/Users/92b725cd-9465-4e7d-8c16-01f8e146b87a","method":"POST","bulkId":"qwerty","status":"201"},{"location":"https://example.com/v2/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a","method":"POST","bulkId":"ytrewq","status":"201"},{"location":"https://example.com/v2/Users/b7c14771-226c-4d05-8860-134711653041","method":"PUT","status":"200"},{"location":"https://example.com/v2/Users/5d8d29d3-342c-4b5f-8683-a3cb6763ffcc","method":"PATCH","status":"200"},{"location":"https://example.com/v2/Users/e9025315-6bea-44e1-899c-1e07454e468b","method":"DELETE","status":"204"}] - `Operations.method` (string, required) The HTTP method of the current operation. Enum: "POST", "PUT", "PATCH", "DELETE" - `Operations.bulkId` (string) The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. REQUIRED when "method" is "POST". - `Operations.version` (string) The current resource version. Version may be used if the service provider supports entity-tags (ETags) ([Section 2.3 of [RFC7232]](https://datatracker.ietf.org/doc/html/rfc7232#section-2.3)) and "method" is "PUT", "PATCH", or "DELETE". - `Operations.path` (string, required) The resource's relative path to the SCIM service provider's root. If "method" is "POST", the value must specify a resource type endpoint, e.g., /Users or /Groups, whereas all other "method" values must specify the path to a specific resource, e.g., . - `Operations.data` (string) The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH". - `Operations.location` (string) The resource endpoint URL. REQUIRED in a response, except in the event of a POST failure. - `Operations.response` (string) The HTTP response body for the specified request operation. When indicating a response with an HTTP status other than a 200-series response, the response body must be included. For normal completion, the server may elect to omit the response body. - `Operations.status` (string) The HTTP response status code for the requested operation. When indicating an error, the "response" attribute must contain the detail error response as per [Section 3.12](https://datatracker.ietf.org/doc/html/rfc7644#section-3.12).