PingOne Platform APIs

Read Activity Resources

   

GET {{apiPath}}/environments/{{envID}}/activityResources?filter=resourceType eq "POPULATION"&limit=200

You can get all audit activity resources for a selected environment. The GET {{apiPath}}/environments/{{envID}}/activityResources request accepts SCIM filtering expressions to fine-tune the response.

By default, this endpoint only returns the most recent 14 days of events. To access data older than 14 days, the Restore Activities operation must be executed first.

The following sample shows the GET {{apiPath}}/environments/{{envID}}/activityResources?filter=resourceType eq "POPULATION"&limit=200 operation to return a list of activity resources for the specified environment. The filtering expression limits the results to resources where the resourceType is equal to "POPULATION". The limit parameter specifies a maximum of 200 items are returned in the response.

Query parameters
Parameter Description

limit (int)

The maximum number of results returned per page.

filter (string)

A SCIM filter. For more information, refer to Audit activities filtering data.

Headers

Authorization      Bearer {{accessToken}}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff '{{apiPath}}/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&limit=200' \
--header 'Authorization: Bearer {{accessToken}}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/activityResources?filter=resourceType eq \"POPULATION\"&limit=200")
{
  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}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&limit=200"
  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}}/activityResources?filter=resourceType eq "POPULATION"&limit=200 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}}/activityResources?filter=resourceType eq \"POPULATION\"&limit=200")
  .method("GET", body)
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/environments/{{envID}}/activityResources?filter=resourceType eq \"POPULATION\"&limit=200",
  "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}}/activityResources?filter=resourceType eq "POPULATION"&limit=200',
  '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}}/activityResources?filter=resourceType eq \"POPULATION\"&limit=200"

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}}/activityResources?filter=resourceType eq "POPULATION"&limit=200');
$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}}/activityResources?filter=resourceType eq \"POPULATION\"&limit=200")

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}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&limit=200")!,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.test-one-pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/activityResources?limit=200&cursor=0x0018000574657374341039f9fc8a64594f3892774b3705b29deff07fffff37f07fffff37&filter=resourceType%20eq%20%22POPULATION%22"
    },
    "environment": {
      "href": "https://api.test-one-pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "self": {
      "href": "https://api.test-one-pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/activityResources?filter=resourceType%20eq%20%22POPULATION%22&limit=200"
    }
  },
  "_embedded": {
    "resources": [
      {
        "id": "cd6100fc-8302-4ba8-8b26-577a690a33f7",
        "environmentId": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6",
        "name": "Jmeter1760100830225",
        "type": "POPULATION",
        "recordedAt": "2025-10-10T12:53:50.909Z",
        "deleted": false
      },
      {
        "id": "0b236809-a40b-4c09-be70-c1328637bcf2",
        "environmentId": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6",
        "name": "Jmeter1760100831496",
        "type": "POPULATION",
        "recordedAt": "2025-10-10T12:53:52.195Z",
        "deleted": false
      }
    ],
    "size": 2
  }
}