Read Authentications Per Application
GET {{apiPath}}/environments/{{envID}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2
You can get the authentications per application counts for a selected environment over a specified time period. The GET {{apiPath}}/environments/{{envID}}/applicationSignons request must specify a filter expression that designates a date for the occurredAt attribute. The samplePeriod, and samplePeriodCount query parameters are expected values in the request URL, but they are not part of the filter expression. The limit request parameter is optional and can be omitted.
|
If the |
When the endDate in the response is determined to overlap the current date, the partial attribute shows that the response represents a shorter duration than requested by the samplePeriod and samplePeriodCount. The request shows the partial attribute in the response.
Filtering data
These SCIM operators can be applied to the following query parameters:
-
ge(greater than or equal to)Supported attributes:
occurredAt
|
These SCIM operators are not supported: |
Query parameters
The following query parameter value ranges are allowed in the request:
| Query parameter | Attributes (or allowed limits) |
|---|---|
|
|
|
[1-1000] |
|
N/A |
|
N/A |
In addition, the product of the properties, samplePeriod * samplePeriodCount * limit must be less than or equal to 100,000. If one query parameter limitation is violated, the service returns an error with HTTP status code 400.
Request Model
| Property | Type | Required? |
|---|---|---|
|
String |
Required |
|
Date |
Required |
|
Date |
Required |
|
Integer |
Required |
Example Request
-
cURL
-
C#
-
Go
-
HTTP
-
Java
-
jQuery
-
NodeJS
-
Python
-
PHP
-
Ruby
-
Swift
curl --location --globoff '{{apiPath}}/environments/{{envID}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2' \
--header 'Authorization: Bearer {{accessToken}}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2")
{
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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2"
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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2 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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2")
.method("GET", body)
.addHeader("Authorization", "Bearer {{accessToken}}")
.build();
Response response = client.newCall(request).execute();
var settings = {
"url": "{{apiPath}}/environments/{{envID}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2",
"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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2',
'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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2"
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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2');
$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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2")
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}}/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2")!,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": {
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applicationSignons?filter=occurredAt%20ge%20%222019-09-01T19%3A00%3A00Z%22&limit=2&samplePeriod=24&samplePeriodCount=2"
},
"next": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applicationSignons?cursor=ewogICJvY2N1cnJlZEF0IiA6ICIyMDE5LTA5LTAxVDE5OjAwOjAwWiIsCiAgInNhbXBsZVBlcmlvZCIgOiAyNCwKICAic2FtcGxlUGVyaW9kQ291bnQiIDogMiwKICAibGltaXQiIDogMiwKICAidG9rZW4iIDogIjAwMWUwMDEwMDAxMjAwMTAzZmEyNzllMjNiOGM0MjdiOWI5MjIxOWVhNTVjOTg5ZmYwN2ZmZmZmZmRmMDdmZmZmZmZkZTQxMWVhOTgzY2Q0NTQyYjg3YjI4YWVmNDkwYWY5NzkwMDA0IiwKICAiY291bnQiIDogMTQKfQ%3D%3D"
}
},
"_embedded": {
"applications": [
{
"id": "3fa279e2-3b8c-427b-9b92-219ea55c989f",
"authentications": [
{
"startDate": "2019-09-01T19:00:00Z",
"endDate": "2019-09-02T18:59:59Z",
"signons": 351
},
{
"startDate": "2019-09-02T19:00:00Z",
"endDate": "2019-09-03T18:59:59Z",
"signons": 476
}
]
},
{
"id": "1095f42a-2a71-4590-a833-69f5112d95ce",
"authentications": [
{
"startDate": "2019-09-01T19:00:00Z",
"endDate": "2019-09-02T18:59:59Z",
"signons": 1256
},
{
"startDate": "2019-09-02T19:00:00Z",
"endDate": "2019-09-03T18:59:59Z",
"signons": 1567
}
]
}
]
},
"count": 14,
"size": 2
}