Read All SCIM Users (search)
POST {{scimPath}}/environments/{{envID}}/v2/Users/.search
The POST {{scimPath}}/environments/{{envID}}/v2/Users/.search operation returns information about every SCIM user in the specified environment that matches the SCIM filter defined in the body, up to the optionally-defined number of users requested in the body. To filter the results when retrieving users, this request is preferred over Read All SCIM Users with query paramters. The response is limited to a maximum of 200 results.
Request Model
Refer to SCIM user search data model for full property descriptions.
| Property | Type | Required? |
|---|---|---|
|
String |
Optional |
|
Integer |
Optional |
While all body properties are optional, a body is required, even if empty, as in {}.
Example Request
-
cURL
-
C#
-
Go
-
HTTP
-
Java
-
jQuery
-
NodeJS
-
Python
-
PHP
-
Ruby
-
Swift
curl --location --globoff '{{scimPath}}/environments/{{envID}}/v2/Users/.search' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data-raw '{
"filter": "emails ew \"@example.com\"",
"count": 10
}'
var options = new RestClientOptions("{{scimPath}}/environments/{{envID}}/v2/Users/.search")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Post);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@" ""filter"": ""emails ew \""@example.com\""""," + "\n" +
@" ""count"": 10" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{{scimPath}}/environments/{{envID}}/v2/Users/.search"
method := "POST"
payload := strings.NewReader(`{
"filter": "emails ew \"@example.com\"",
"count": 10
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer {{accessToken}}")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
POST /environments/{{envID}}/v2/Users/.search HTTP/1.1
Host: {{scimPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}
{
"filter": "emails ew \"@example.com\"",
"count": 10
}
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"filter\": \"emails ew \\\"@example.com\\\"\",\n \"count\": 10\n}");
Request request = new Request.Builder()
.url("{{scimPath}}/environments/{{envID}}/v2/Users/.search")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{accessToken}}")
.build();
Response response = client.newCall(request).execute();
var settings = {
"url": "{{scimPath}}/environments/{{envID}}/v2/Users/.search",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {{accessToken}}"
},
"data": JSON.stringify({
"filter": "emails ew \"@example.com\"",
"count": 10
}),
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require('request');
var options = {
'method': 'POST',
'url': '{{scimPath}}/environments/{{envID}}/v2/Users/.search',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
},
body: JSON.stringify({
"filter": "emails ew \"@example.com\"",
"count": 10
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{{scimPath}}/environments/{{envID}}/v2/Users/.search"
payload = json.dumps({
"filter": "emails ew \"@example.com\"",
"count": 10
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{scimPath}}/environments/{{envID}}/v2/Users/.search');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n "filter": "emails ew \\"@example.com\\"",\n "count": 10\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"
url = URI("{{scimPath}}/environments/{{envID}}/v2/Users/.search")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
"filter": "emails ew \"@example.com\"",
"count": 10
})
response = http.request(request)
puts response.read_body
let parameters = "{\n \"filter\": \"emails ew \\\"@example.com\\\"\",\n \"count\": 10\n}"
let postData = parameters.data(using: .utf8)
var request = URLRequest(url: URL(string: "{{scimPath}}/environments/{{envID}}/v2/Users/.search")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Example Response
200 OK
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 44,
"itemsPerPage": 10,
"Resources": [
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "328b2d99-59fd-41e7-8469-2172655fbbae",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:15.204Z",
"lastModified": "2023-02-16T13:36:36.098Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/328b2d99-59fd-41e7-8469-2172655fbbae"
},
"userName": "hearthfield_bérengère",
"name": {
"formatted": "Hearthfield Bérengère",
"familyName": "Bérengère",
"givenName": "Hearthfield"
},
"active": true,
"emails": [
{
"value": "hearthfield_berengere@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "115 Randy Park",
"locality": "Cookshire-Eaton",
"country": "CA",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "e5c0dde9-3d7c-4301-9284-e709aa0cf583",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:15.400Z",
"lastModified": "2021-05-12T18:32:15.400Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/e5c0dde9-3d7c-4301-9284-e709aa0cf583"
},
"userName": "wingar_hélèna",
"name": {
"formatted": "Wingar Hélèna",
"familyName": "Hélèna",
"givenName": "Wingar"
},
"active": true,
"emails": [
{
"value": "wingar_helena@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "5 Starling Crossing",
"locality": "Sainte-Anne-des-Plaines",
"country": "CA",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "455a0384-a0a2-4bc7-98a2-11fdac7b0df8",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:16.089Z",
"lastModified": "2021-05-12T18:32:16.089Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/455a0384-a0a2-4bc7-98a2-11fdac7b0df8"
},
"userName": "augar_maïly",
"name": {
"formatted": "Augar Maïly",
"familyName": "Maïly",
"givenName": "Augar"
},
"active": true,
"emails": [
{
"value": "augar_maily@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "4972 Upham Drive",
"locality": "Berthierville",
"country": "CA",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "67e7868e-4609-482b-8333-70f6342ee311",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:15.882Z",
"lastModified": "2021-05-12T18:32:15.882Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/67e7868e-4609-482b-8333-70f6342ee311"
},
"userName": "mochar_estée",
"name": {
"formatted": "Mochar Estée",
"familyName": "Estée",
"givenName": "Mochar"
},
"active": true,
"emails": [
{
"value": "mochar_estee@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "115 Randy Park",
"locality": "Cookshire-Eaton",
"country": "CA",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "0c507e67-4533-4870-b59b-6d0591ab87e0",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:15.591Z",
"lastModified": "2021-05-12T18:32:15.591Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/0c507e67-4533-4870-b59b-6d0591ab87e0"
},
"userName": "cicerone_geneviève",
"name": {
"formatted": "Cicerone Geneviève",
"familyName": "Geneviève",
"givenName": "Cicerone"
},
"active": true,
"emails": [
{
"value": "cicerone_genevieve@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "50 Springview Lane",
"locality": "Beaconsfield",
"country": "CA",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "f2f57453-d8a8-4e4c-9e17-a42c8e2f3129",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:16.281Z",
"lastModified": "2021-05-12T18:32:16.281Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/f2f57453-d8a8-4e4c-9e17-a42c8e2f3129"
},
"userName": "volet_chloé",
"name": {
"formatted": "Volet Chloé",
"familyName": "Chloé",
"givenName": "Volet"
},
"active": true,
"emails": [
{
"value": "volet_chloe@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "48 Randy Way",
"locality": "Summerside",
"country": "CA",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "6e6271f7-fd8e-4dba-ae20-a10b17aecd41",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:16.957Z",
"lastModified": "2021-05-12T18:32:16.957Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/6e6271f7-fd8e-4dba-ae20-a10b17aecd41"
},
"userName": "abbitt_kira",
"name": {
"formatted": "Abbitt Kira",
"familyName": "Kira",
"givenName": "Abbitt"
},
"active": true,
"emails": [
{
"value": "abbitt_kira@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "520 Kennedy Hill",
"locality": "Providence",
"region": "RI",
"country": "US",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "03becde9-ad5b-4e66-b144-dee6cd49d55a",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:16.665Z",
"lastModified": "2021-05-12T18:32:16.665Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/03becde9-ad5b-4e66-b144-dee6cd49d55a"
},
"userName": "aarons_barthel",
"name": {
"formatted": "Aarons Barthel",
"familyName": "Barthel",
"givenName": "Aarons"
},
"active": true,
"emails": [
{
"value": "aarons_barthel@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "93 Laurel Drive",
"locality": "Portland",
"region": "OR",
"country": "US",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "2ceb55e8-a9f0-4762-a510-1c8ca825e288",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:16.475Z",
"lastModified": "2021-05-12T18:32:16.475Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/2ceb55e8-a9f0-4762-a510-1c8ca825e288"
},
"userName": "姜_俊誉",
"name": {
"formatted": "姜 俊誉",
"familyName": "俊誉",
"givenName": "姜"
},
"active": true,
"emails": [
{
"value": "2030@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "1 Fieldstone Parkway",
"locality": "Hudson Bay",
"country": "CA",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
},
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:pingidentity:schemas:extension:2.0:PingOneUser"
],
"id": "c41e5eed-7276-4dc7-8541-ce7995f68ec5",
"meta": {
"resourceType": "User",
"created": "2021-05-12T18:32:17.158Z",
"lastModified": "2021-05-12T18:32:17.158Z",
"location": "https://scim-api.pingone.com/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/v2/Users/c41e5eed-7276-4dc7-8541-ce7995f68ec5"
},
"userName": "adamovicz_normy",
"name": {
"formatted": "Adamovicz Normy",
"familyName": "Normy",
"givenName": "Adamovicz"
},
"active": true,
"emails": [
{
"value": "adamovicz_normy@example.com",
"primary": true
}
],
"addresses": [
{
"streetAddress": "498 Farwell Point",
"locality": "Orange",
"region": "CA",
"country": "US",
"primary": true
}
],
"urn:pingidentity:schemas:extension:2.0:PingOneUser": {
"population": {
"id": "0353b962-cf0b-4149-8d1b-084e33814924"
}
}
}
]
}