Event log
Headers
Query parameters
Malformed
from/to values return 400.
Response
Example
Dashboard event log
items/metadata here, data/meta on the API-key endpoint.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Paginated attestation event log
GET /api/v1/analytics/events
| Header | Required | Description |
|---|---|---|
X-API-Key | Yes | Your API key, with the analytics:read scope. Authorization: Bearer <key> works too |
| Parameter | Type | Default | Description |
|---|---|---|---|
page | int | 1 | Page number |
perPage | int | 50 | Page size, 1–200. per_page is accepted as an alias |
from | string | — | ISO 8601 timestamp; include events at or after it |
to | string | — | ISO 8601 timestamp; include events at or before it |
deviceId | string | — | Filter to one device ID |
eventType | string | — | One of challenge_generated, attestation_validated, attestation_failed, suspicious_activity, token_issued. Unknown values return 400 |
from/to values return 400.
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"eventType": "attestation_validated",
"keyId": "abc123keyid",
"deviceId": "abc123",
"ipAddress": "203.0.113.7",
"success": true,
"errorReason": null,
"riskScore": 12,
"createdAt": "2026-03-10T12:00:00Z"
}
],
"meta": {
"page": 1,
"perPage": 50,
"total": 15420,
"totalPages": 309
}
}
| Field | Type | Description |
|---|---|---|
eventType | string | See the eventType filter above |
keyId | string | App Attest key ID |
deviceId | string | null | The device_id passed to the challenge endpoint, when one was given |
ipAddress | string | Client IP recorded at the time, or unknown |
errorReason | string | null | Populated on failures |
riskScore | integer | Risk score at the time of the event |
curl -H "X-API-Key: aat_your_api_key" \
"https://api.grantiva.io/api/v1/analytics/events?eventType=attestation_failed&from=2026-03-01T00:00:00Z&perPage=100"
GET /api/v1/analytics/dashboard/events
| Parameter | Type | Default | Description |
|---|---|---|---|
page | int | 1 | Page number |
per | int | 50 | Page size, max 100 |
success | bool | — | Filter by outcome |
after | string | — | ISO 8601 timestamp; include events at or after it. Malformed values return 400 |
{
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"eventType": "attestation_validated",
"keyId": "abc123keyid",
"deviceId": "abc123",
"ipAddress": "203.0.113.7",
"success": true,
"errorReason": null,
"riskScore": 12,
"createdAt": "2026-03-10T12:00:00Z"
}
],
"metadata": { "page": 1, "per": 50, "total": 15420 }
}
items/metadata here, data/meta on the API-key endpoint.
Was this page helpful?