The commercial overview of the add-on grants the caller can see: lifecycle totals (active/expired/revoked/pending/suspended, perpetual, expiring in 30/60/90 days), the per-type breakdown, the renewal distribution and a 12-month activation trend. The per-organization and per-tier breakdowns live on their own paginated endpoints. Scope matches /entitlements/grants: the whole fleet for the owner organization / a Super Admin, the caller's own organization and its descendants otherwise. Deleted systems are excluded.
GET
/entitlements/report
curl \
--request GET 'https://api.your-domain.com/api/entitlements/report' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
"code": 200,
"message": "entitlement report retrieved successfully",
"data": {
"totals": {
"total": 120,
"active": 95,
"expired": 12,
"revoked": 6,
"pending": 3,
"suspended": 4,
"perpetual": 40,
"expiring_in_30d": 8,
"expiring_in_60d": 15,
"expiring_in_90d": 22,
"systems": 80,
"organizations": 35,
"distributor_systems": 20,
"reseller_systems": 35,
"customer_systems": 22,
"owner_systems": 3,
"total_renewals": 60
},
"by_entitlement": [
{
"entitlement": "nsec-blacklist",
"display_name": "Advanced Threat Shield",
"active": 60,
"expired": 8,
"revoked": 3,
"pending": 2,
"suspended": 1,
"total": 74
}
],
"renewals": {
"never": 70,
"once": 30,
"twice": 15,
"three_plus": 5
},
"trend": [
{
"month": "2026-07",
"activations": 9
}
]
}
}
Response examples (401)
{
"code": 401,
"message": "invalid token",
"data": {}
}
Response examples (403)
{
"code": 403,
"message": "insufficient permissions",
"data": {}
}
Response examples (500)
{
"code": 500,
"message": "internal server error",
"data": {}
}