PingOne Platform APIs

Read Active Identity Counts by Date Range

 

GET {{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate

Use the GET {{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts request to return active identity counts over a specified time period. You need to specify a SCIM filtering expression (URL-encoded) that designates a start date. The end date is set automatically to the current date, and cannot be set manually in the request.

Currently, the active identity count does not return product-specific counts (such as, for PingOne SSO, MFA, or Protect), nor does it count active users when DaVinci is used.

For more information about SCIM syntax and operators, paging, ordering, and limiting collections, refer to Conventions.

Query parameters
Parameter Description

filter

Required. The date and time active identity count data collection starts (ISO 8601 format). You must apply the SCIM filter ge (greater than or equal to) to this parameter. Refer to the preceding example. Note: Collection ends on the current date and time.

limit

Indicates the number of counts to be returned per page. This value can be 1-100, inclusive.

order

Indicates the sort order of the returned counts. This can be: startDate (ascending) or -startDate (descending).

Response codes

Code Message

200

Successful operation.

400

The request could not be completed.

401

You do not have access to this resource.

403

You do not have permissions or are not licensed to make this request.

404

The requested resource was not found.

500

Internal server error.

Headers

Authorization      Bearer {{accessToken}}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff '{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19%3A00%3A00Z%22&limit=10&order=-startDate' \
--header 'Authorization: Bearer {{accessToken}}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Get);
request.AddHeader("Authorization", "Bearer {{accessToken}}");
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main

import (
  "fmt"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19%3A00%3A00Z%22&limit=10&order=-startDate"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  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))
}
GET /environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate HTTP/1.1
Host: {{apiPath}}
Authorization: Bearer {{accessToken}}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate")
  .method("GET", body)
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate",
  "method": "GET",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer {{accessToken}}"
  },
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'GET',
  'url': '{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate',
  'headers': {
    'Authorization': 'Bearer {{accessToken}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests

url = "{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate"

payload = {}
headers = {
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'Bearer {{accessToken}}'
));
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 "net/http"

url = URI("{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19:00:00Z%22&limit=10&order=-startDate")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer {{accessToken}}"

response = http.request(request)
puts response.read_body
var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19%3A00%3A00Z%22&limit=10&order=-startDate")!,timeoutInterval: Double.infinity)
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "GET"

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

{
    "_links": {
        "next": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/metrics/activeIdentityCounts?cursor=ewogICJpbml0aWFsU3RhcnREYXRlIiA6ICIyMDI0LTA1LTAxVDAwOjAwOjAwWiIsCiAgInBhZ2VTdGFydERhdGUiIDogIjIwMjUtMDQtMThUMDA6MDA6MDBaIiwKICAic2FtcGxlUGVyaW9kIiA6ICJEQVkiLAogICJpbml0aWFsTGltaXQiIDogMTAsCiAgImxpbWl0IiA6IDEwLAogICJkZXNjZW5kaW5nIiA6IHRydWUKfQ%3D%3D"
        },
        "self": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/metrics/activeIdentityCounts?filter=startDate%20ge%20%222024-05-01T19%3A00%3A00Z%22&limit=10&order=-startDate"
        }
    },
    "_embedded": {
        "activeIdentityCounts": [
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-05-07T00:00:00Z",
                "endDate": "2025-05-07T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-05-06T00:00:00Z",
                "endDate": "2025-05-06T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-05-05T00:00:00Z",
                "endDate": "2025-05-05T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-05-04T00:00:00Z",
                "endDate": "2025-05-04T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-05-03T00:00:00Z",
                "endDate": "2025-05-03T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-05-02T00:00:00Z",
                "endDate": "2025-05-02T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-05-01T00:00:00Z",
                "endDate": "2025-05-01T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-04-30T00:00:00Z",
                "endDate": "2025-04-30T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-04-29T00:00:00Z",
                "endDate": "2025-04-29T23:59:59.999Z"
            },
            {
                "_links": {
                    "environment": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                    }
                },
                "value": 0,
                "startDate": "2025-04-28T00:00:00Z",
                "endDate": "2025-04-28T23:59:59.999Z"
            }
        ]
    },
    "count": 372,
    "size": 10
}