You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/reference/api/scim-api/_index.md
+182Lines changed: 182 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,7 @@ Resources defined in the [SCIM core schema specification][scim-core-schema].
27
27
IAM implements the following SCIM endpoints:
28
28
29
29
-`/scim/Users`, providing access to user account resources;
30
+
-`/scim/Users/Bulk`, providing access to bulk user operations in a single request;
30
31
-`/scim/Groups`, providing access to group resources;
31
32
-`/scim/Me`, providing access to the user account resource for the currently
32
33
authenticated user.
@@ -843,6 +844,187 @@ Example: Client attempt to retrieve the previously deleted User:
843
844
]
844
845
}
845
846
847
+
## POST `/scim/Users/Bulk`
848
+
849
+
Requires `scim:write` scope.
850
+
851
+
This endpoint allows consumers to execute multiple operations through one request, reducing network and processing overhead. Users may be created or updated in bulk using the `POST` and `PATCH` HTTP methods.
852
+
853
+
The body of this request MUST contain a list of operations where each operation includes a supported HTTP method (`POST` or `PATCH` only). The body of each operation MUST also contain a `path` attribute with the resource’s relative path to the SCIM service provider’s root and a `data` attribute with the resources required for a single `POST` or `PATCH` operation. `POST` operations MUST include a `bulkId` attribute to uniquely identify the new resource for cross-referencing within the same request.
854
+
855
+
If the request is successful, a 200 OK response code will be returned containing the result of all processed operations. Each operation response contains a `status` attribute that details the HTTP response status code of the requested operation. If the `status` of the operation response is not within the 200-series, it will also contain a response body. If the requested operation is successful, its response will include a `location` attribute with the resource’s endpoint. If the requested operation is unsuccessful, the response body will contain the details of the error.
856
+
857
+
Example with two bulk operations: the first uses the `POST` method to create a user and the second uses the `PATCH` method to update user credentials.
All operations are executed even if there are partial failures. In the example request, the `POST` operation is expected to fail as the user already exists. The returned response is:
The bulkId attribute, which is REQUIRED for all `POST` operations, MUST be unique within the request. It should not contain personally identifiable information as it may appear in logs or error messages. Resources created by a `POST` operation can be referenced in subsequent operations using the `bulkId`, with the prefix `bulkId:`, to update users that are being created in the same bulk request.
951
+
952
+
An example of a request where a user is created and later updated using the bulkId in the operation path `/Users/bulkid:qwerty`.
If the client specifies the optional failOnErrors attribute, the request will terminate once the number of failures exceeds this value and an error code response will be returned. If the number of operations in the request exceeds the maximum, an HTTP 413 PAYLOAD TOO LARGE response code will be returned, including the maximum number of allowed operations.
1015
+
1016
+
HTTP/1.1 413 PAYLOAD TOO LARGE
1017
+
Content-Type: application/json
1018
+
```json
1019
+
{
1020
+
"status": "413",
1021
+
"detail": "Maximum number of operations exceeded (500)",
1022
+
"schemas": [
1023
+
"urn:ietf:params:scim:api:messages:2.0:Error"
1024
+
]
1025
+
}
1026
+
```
1027
+
846
1028
## GET `/scim/Groups/{id}`
847
1029
848
1030
Retrieves information about the group identified by `id` and returns results in
0 commit comments