Skip to content

Get redemption redeem analytics (Admin/Business)

Request

Returns aggregated redemption redeem data with flexible grouping and metrics. Business users are auto-filtered to their own redemptions (ownerBusinessId). Admin users see all data.

Security
authJWT
Bodyapplication/jsonrequired

Redemption redeem analytics request with grouping and metrics

filtersobject(RedemptionRedeemAnalyticsFiltersDTO)

Dynamic filters based on RedemptionRedeemDTO fields

Example:
{ "status": "COMPLETED", "redemptionId": "redemption-uuid-123", "userCountryCode": "US" }
groupByArray of strings

Fields to group by for aggregation

Example:
[ "redemptionId", "status", "month" ]
groupByExpressionsArray of objects(GroupByExpressionDTO)

Complex CASE WHEN expressions for advanced grouping

Example:
[ { "expression": "CASE WHEN status = 'COMPLETED' THEN 'success' ELSE 'other' END", "alias": "statusGroup", "label": "Status Group" } ]
metricsstring

Metrics to calculate

Enum:"count""sum""avg""min""max"
Example:
[ "count" ]
sortBystring

Field to order results by (supports metric names and expression aliases)

Example:"count"
sortOrderstring

Order direction

Enum:"ASC""DESC"
Example:"DESC"
limitnumber, [ 1 .. 1000 ]

Maximum number of aggregation groups to return

Example:10
startDatestring, (date-time)

Start date for analytics (ISO format)

Example:"2026-01-01T00:00:00.000Z"
endDatestring, (date-time)

End date for analytics (ISO format)

Example:"2026-12-31T23:59:59.999Z"
curl -i -X POST \
  https://docs.pers.ninja/_mock/swagger/analytics/redemption-redeems \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "groupBy": [
      "redemptionId"
    ],
    "metrics": [
      "count"
    ],
    "sortBy": "count",
    "sortOrder": "DESC",
    "limit": 10
  }'

Responses

Analytics data successfully retrieved

Bodyapplication/json
resultsArray of anyrequired

Analytics results array with dynamic fields based on groupBy

Example:
[ { "redemptionId": "redeem-uuid-1", "count": "150" }, { "status": "COMPLETED", "month": "2026-01-01T00:00:00.000Z", "count": "45" }, { "userId": "user-uuid-1", "userCountryCode": "US", "count": "89" } ]
totalGroupsnumberrequired

Total number of result groups

Example:10
metadataobjectrequired

Query metadata showing applied date range and totals

Example:
{ "dateRange": { "startDate": "2024-01-01T00:00:00.000Z", "endDate": "2024-12-31T23:59:59.999Z" }, "totalCount": 440 }
Response
{ "results": [ { … }, { … }, { … } ], "totalGroups": 10, "metadata": { "dateRange": { … }, "totalCount": 440 } }