curl --request GET \
--url https://api.example.com/intelligence/windowimport requests
url = "https://api.example.com/intelligence/window"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/intelligence/window', 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.example.com/intelligence/window",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/intelligence/window"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/intelligence/window")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/intelligence/window")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"orgDid": "did:web:org-a.example",
"did": "<string>",
"from": "2026-07-01T00:00:00.000Z",
"to": "2026-08-01T00:00:00.000Z",
"computedAt": "<string>",
"usage": {
"mandates": {
"requested": 123,
"approved": 123,
"rejected": 123,
"pending": 123,
"approvalRate": 0.902
},
"presentations": {
"total": 123,
"verified": 123,
"conversionRate": 0.944
},
"verifications": {
"total": 123,
"approved": 123,
"denied": 123,
"approvalRate": 0.944
},
"verifiers": {
"distinct": 123,
"firstSeen": 123,
"firstSeenShare": 0.25
},
"burnRate": {
"approvals": 123,
"approvalsPerDay": 4.03,
"executionsRemaining": 123,
"projectedExhaustion": "2026-09-14T10:00:00.000Z",
"byAction": {
"urn:via:action:8dac0698-b005-4572-9801-7be144c545a5": {
"approvals": 36,
"approvalsPerDay": 1.2,
"executionsRemaining": 36,
"projectedExhaustion": "2026-09-14T10:00:00.000Z"
}
}
}
},
"incidents": {
"denials": {
"byRule": {
"amount <= mandate.maxAmount": 5
},
"byLifecycle": {
"credential_inactive": 3
}
},
"revocations": {
"user_initiated": 1,
"exhausted": 2
},
"postRevocationActivity": {
"attempts": 123,
"mandatesInvolved": 123
},
"brokenChains": 123
}
}Agent trust window
Get what one agent did over a period of time.
Answers questions like: how active was the agent, how often was it approved or denied and why, who did it transact with, and did it keep trying after its authority ended.
Use your own organization DID in orgDid to check your agents. Use a partner organization’s DID to check theirs; this requires an active sharing grant from that organization, otherwise the request returns 404.
The window runs from from (included) to to (excluded), in UTC, and can cover at most 366 days.
See Risk metrics for how sharing grants let you consult another organization’s intelligence.
curl --request GET \
--url https://api.example.com/intelligence/windowimport requests
url = "https://api.example.com/intelligence/window"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/intelligence/window', 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.example.com/intelligence/window",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/intelligence/window"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/intelligence/window")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/intelligence/window")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"orgDid": "did:web:org-a.example",
"did": "<string>",
"from": "2026-07-01T00:00:00.000Z",
"to": "2026-08-01T00:00:00.000Z",
"computedAt": "<string>",
"usage": {
"mandates": {
"requested": 123,
"approved": 123,
"rejected": 123,
"pending": 123,
"approvalRate": 0.902
},
"presentations": {
"total": 123,
"verified": 123,
"conversionRate": 0.944
},
"verifications": {
"total": 123,
"approved": 123,
"denied": 123,
"approvalRate": 0.944
},
"verifiers": {
"distinct": 123,
"firstSeen": 123,
"firstSeenShare": 0.25
},
"burnRate": {
"approvals": 123,
"approvalsPerDay": 4.03,
"executionsRemaining": 123,
"projectedExhaustion": "2026-09-14T10:00:00.000Z",
"byAction": {
"urn:via:action:8dac0698-b005-4572-9801-7be144c545a5": {
"approvals": 36,
"approvalsPerDay": 1.2,
"executionsRemaining": 36,
"projectedExhaustion": "2026-09-14T10:00:00.000Z"
}
}
}
},
"incidents": {
"denials": {
"byRule": {
"amount <= mandate.maxAmount": 5
},
"byLifecycle": {
"credential_inactive": 3
}
},
"revocations": {
"user_initiated": 1,
"exhausted": 2
},
"postRevocationActivity": {
"attempts": 123,
"mandatesInvolved": 123
},
"brokenChains": 123
}
}Headers
Pin request, response, and webhook shapes to a specific dated API version (YYYY-MM-DD). Omit to use the version pinned to your API key (set when the key is created; new keys default to the latest version). New integrations should target the latest version.
^\d{4}-\d{2}-\d{2}$"2026-09-01"
Query Parameters
DID of the organization whose data is consulted. Your own organization DID needs no grant; any other requires an active sharing grant from that organization to yours.
"did:web:org-a.example"
DID of the agent to measure.
"did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
Window start, inclusive (ISO 8601).
"2026-07-01T00:00:00Z"
Window end, exclusive (ISO 8601). Must be after from; at most 366 days later.
"2026-08-01T00:00:00Z"
Response
The full window body: the question echoed back, then usage and incidents.
Organization whose data was consulted.
"did:web:org-a.example"
Agent that was measured.
Window start, inclusive.
"2026-07-01T00:00:00.000Z"
Window end, exclusive.
"2026-08-01T00:00:00.000Z"
When this report was computed.
What the agent did.
Show child attributes
Show child attributes
What went wrong.
Show child attributes
Show child attributes