curl --request GET \
--url https://{region}.api.plerion.com/v1/organization/scim/v2/Users \
--header 'Authorization: Bearer <token>'import requests
url = "https://{region}.api.plerion.com/v1/organization/scim/v2/Users"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{region}.api.plerion.com/v1/organization/scim/v2/Users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{region}.api.plerion.com/v1/organization/scim/v2/Users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{region}.api.plerion.com/v1/organization/scim/v2/Users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{region}.api.plerion.com/v1/organization/scim/v2/Users")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{region}.api.plerion.com/v1/organization/scim/v2/Users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 123,
"startIndex": 123,
"itemsPerPage": 123,
"Resources": [
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:plerion:scim:schemas:extension:2.0:User"
],
"userName": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"externalId": "<string>",
"name": {
"formatted": "<string>",
"givenName": "<string>",
"familyName": "<string>"
},
"displayName": "<string>",
"emails": [
{
"value": "<string>",
"type": "<string>",
"primary": true
}
],
"active": true,
"groups": [
{
"type": "<unknown>",
"format": "<unknown>",
"value": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display": "<string>"
}
],
"urn:plerion:scim:schemas:extension:2.0:User": {
"ssoUser": true
},
"meta": {
"resourceType": "User",
"created": "2023-11-07T05:31:56Z",
"lastModified": "2023-11-07T05:31:56Z",
"version": "<string>",
"location": "<string>"
}
}
]
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "invalidSyntax",
"detail": "A user with this userName already exists."
}{
"message": "Unauthorized"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "invalidSyntax",
"detail": "A user with this userName already exists."
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "invalidSyntax",
"detail": "A user with this userName already exists."
}List or filter users
Returns every user in the organization, whether an identity provider provisioned them, an administrator invited them, or this API created them. Users deleted over SCIM never appear.
curl --request GET \
--url https://{region}.api.plerion.com/v1/organization/scim/v2/Users \
--header 'Authorization: Bearer <token>'import requests
url = "https://{region}.api.plerion.com/v1/organization/scim/v2/Users"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{region}.api.plerion.com/v1/organization/scim/v2/Users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{region}.api.plerion.com/v1/organization/scim/v2/Users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{region}.api.plerion.com/v1/organization/scim/v2/Users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{region}.api.plerion.com/v1/organization/scim/v2/Users")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{region}.api.plerion.com/v1/organization/scim/v2/Users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 123,
"startIndex": 123,
"itemsPerPage": 123,
"Resources": [
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:plerion:scim:schemas:extension:2.0:User"
],
"userName": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"externalId": "<string>",
"name": {
"formatted": "<string>",
"givenName": "<string>",
"familyName": "<string>"
},
"displayName": "<string>",
"emails": [
{
"value": "<string>",
"type": "<string>",
"primary": true
}
],
"active": true,
"groups": [
{
"type": "<unknown>",
"format": "<unknown>",
"value": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display": "<string>"
}
],
"urn:plerion:scim:schemas:extension:2.0:User": {
"ssoUser": true
},
"meta": {
"resourceType": "User",
"created": "2023-11-07T05:31:56Z",
"lastModified": "2023-11-07T05:31:56Z",
"version": "<string>",
"location": "<string>"
}
}
]
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "invalidSyntax",
"detail": "A user with this userName already exists."
}{
"message": "Unauthorized"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "invalidSyntax",
"detail": "A user with this userName already exists."
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "invalidSyntax",
"detail": "A user with this userName already exists."
}Authorizations
Plerion organization API key (plerion_oak_…), created by an organization admin in the Plerion console. Write operations require a key with readWrite access level; GET and .search work with read access level.
Query Parameters
RFC 7644 filter expression. Operators eq ne co sw ew gt ge lt le pr, logical and/or/not, grouping, and complex attribute filters such as emails[type eq "work"]. Attribute names are case-insensitive; userName and email comparisons are case-insensitive.
Attribute path to sort by (for example userName or meta.lastModified).
ascending, descending 1-based index of the first result.
x >= 1Maximum results per page. Values above 1000 are clamped to 1000.
0 <= x <= 1000Comma-separated attribute paths to include in the response.
Comma-separated attribute paths to omit from the response.
Was this page helpful?