Returns aggregated transaction data with flexible grouping and metrics. Supports complex filtering by date range, business, token, status, and more. Requires admin authentication.
Analytics configuration with filters, grouping, and metrics
Dynamic filters based on TransactionDTO fields - all transaction fields available. Note: tokenType uses native blockchain types (ERC721, ERC20, ERC1155), not friendly names.
{ "status": "SUCCEEDED", "tokenType": "ERC721", "triggerProcessType": "MINT", "tenantId": "tenant-123", "chainId": 1 }
Fields to group by - any TransactionDTO field plus computed time fields. Note: tokenType values are ERC721/ERC20/ERC1155.
[ "tokenType", "month", "status", "chainId" ]
Complex CASE WHEN expressions for advanced grouping scenarios
[ { "expression": "CASE WHEN senderOwnerType = user THEN senderId WHEN recipientOwnerType = user THEN recipientId END", "alias": "userId", "label": "User ID" } ]
Field to order results by (supports expression aliases)
- Mock serverhttps://docs.pers.ninja/_mock/swagger/analytics/transactions
- https://api.pers.ninja/v2https://api.pers.ninja/v2/analytics/transactions
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/analytics/transactions \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filters": {
"status": "SUCCEEDED",
"tokenType": "ERC721"
},
"groupBy": [
"month"
],
"metrics": [
"count"
],
"sortBy": "count",
"sortOrder": "DESC",
"limit": 12
}'Analytics data successfully retrieved
Analytics results array with dynamic fields and expression aliases. Note: tokenType values are ERC721/ERC20/ERC1155, not friendly names.
[ { "userId": "user-123", "count": 45 }, { "userAddress": "0xabc...def", "count": 32 }, { "tokenType": "ERC721", "count": 150, "month": "2024-01-01T00:00:00.000Z" } ]
{ "results": [ { … }, { … }, { … } ], "totalGroups": 3, "metadata": { "dateRange": { … }, "totalCount": 440 } }