curl --request GET \
--url https://api.generalvalidation.com/api/v1/organization-applications \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.generalvalidation.com/api/v1/organization-applications"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.generalvalidation.com/api/v1/organization-applications', 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://api.generalvalidation.com/api/v1/organization-applications",
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://api.generalvalidation.com/api/v1/organization-applications"
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://api.generalvalidation.com/api/v1/organization-applications")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.generalvalidation.com/api/v1/organization-applications")
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{
"items": [
{
"clientId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>",
"objectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"role": "reader"
}
],
"limit": 50,
"nextCursor": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}List workload identities that called the API
Lists service principals and managed identities from the Organization’s directory that have presented an API token, with the application role on their latest token. Application roles are granted and removed in Microsoft Entra; an identity that has never called the API is not listed. Oldest first; pass nextCursor as cursor to get the next page.
Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader).
curl --request GET \
--url https://api.generalvalidation.com/api/v1/organization-applications \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.generalvalidation.com/api/v1/organization-applications"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.generalvalidation.com/api/v1/organization-applications', 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://api.generalvalidation.com/api/v1/organization-applications",
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://api.generalvalidation.com/api/v1/organization-applications"
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://api.generalvalidation.com/api/v1/organization-applications")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.generalvalidation.com/api/v1/organization-applications")
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{
"items": [
{
"clientId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstSeenAt": "<string>",
"lastSeenAt": "<string>",
"objectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"role": "reader"
}
],
"limit": 50,
"nextCursor": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"requestId": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"diagnostics": {}
}Authorizations
Microsoft Entra application token issued by the caller's Organization tenant for this multitenant API. Request the .default scope and assign the application the required GV.APIReader, GV.APIContributor, or GV.APIOwner role.
Query Parameters
Number of items to return.
1 <= x <= 100Opaque continuation cursor. Pass the nextCursor from the previous page of the same collection.
2048