PingOne Platform APIs

Read Activity Resources

Required permission:

GET {{apiPath}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&limit=200

You can get all audit activity resources for a selected environment. The GET {{apiPath}}/v1/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}}/v1/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}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&limit=200' \
--header 'Authorization: Bearer {{accessToken}}'
var options = new RestClientOptions("{{apiPath}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&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}}/v1/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 /v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&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}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&limit=200")
  .method("GET", body)
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&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}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&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}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&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}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&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}}/v1/environments/{{envID}}/activityResources?filter=resourceType%20eq%20%22POPULATION%22&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}}/v1/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
  }
}