Total Rewards Points Available
This endpoint retrieves the total number of rewards points accumulated across all customers in the Netevia platform. It returns a comprehensive summary of reward points, enabling administrators and partners to monitor loyalty program performance at a glance. The response provides counts broken down by banking and merchant customer segments.
Endpoint
POST /api/Widget/totalPoints
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when you need a high-level view of total rewards points across the entire customer base — for example, in an administrative dashboard widget, loyalty program reporting, or to audit aggregate rewards activity. It supports multiple request shapes, allowing you to scope results by date range, specific report dates, agent IDs, ISO IDs, or profile IDs.
Request Body
The request body accepts one of several request model variants. All variants share the common base fields (agentsId, isoId, profileIds) and extend them with additional filtering options.
Base fields (shared across all variants):
| Field | Type | Required | Description |
|---|---|---|---|
| agentsId | array of integer | No | Filter results to specific agent IDs |
| isoId | integer | No | Filter results to a specific ISO ID |
| profileIds | array of integer | No | Filter results to specific customer profile IDs |
Variant: rewardsreportrequest (recommended for rewards summary)
| Field | Type | Required | Description |
|---|---|---|---|
| agentsId | array of integer | No | Filter by agent IDs |
| isoId | integer | No | Filter by ISO ID |
| profileIds | array of integer | No | Filter by profile IDs |
| reportDate | string (date-time) | No | Snapshot date for the report; omit for all-time totals |
Variant: widgetrequest (date range)
| Field | Type | Required | Description |
|---|---|---|---|
| agentsId | array of integer | No | Filter by agent IDs |
| isoId | integer | No | Filter by ISO ID |
| profileIds | array of integer | No | Filter by profile IDs |
| fromDate | string (date-time) | Yes | Start of the date range (ISO 8601) |
| toDate | string (date-time) | Yes | End of the date range (ISO 8601) |
Variant: widgetreportrequest (multiple report dates)
| Field | Type | Required | Description |
|---|---|---|---|
| agentsId | array of integer | No | Filter by agent IDs |
| isoId | integer | No | Filter by ISO ID |
| profileIds | array of integer | No | Filter by profile IDs |
| reportDates | array of string (date-time) | Yes | Array of specific report dates to query |
Variant: reportrequest (single report date with status filter)
| Field | Type | Required | Description |
|---|---|---|---|
| agentsId | array of integer | No | Filter by agent IDs |
| isoId | integer | No | Filter by ISO ID |
| profileIds | array of integer | No | Filter by profile IDs |
| reportDate | string (date-time) | Yes | The report snapshot date |
| havePoints | boolean | No | When true, filters to customers that have at least one rewards point |
| profileType | integer (enum) | No | Customer type filter: 1, 2, 3, 4, or 5 |
| applicationStatus | string (enum) | No | Filter by application status: New, Submitted, PendingUW, ApprovedUW, Closed, Cancelled, Pending_Review, Denied, Approved, Pending, InReview, AutoApprovedUW |
Variant: balancesrequest (date range with pagination)
| Field | Type | Required | Description |
|---|---|---|---|
| agentsId | array of integer | No | Filter by agent IDs |
| isoId | integer | No | Filter by ISO ID |
| profileIds | array of integer | No | Filter by profile IDs |
| fromDate | string (date-time) | Yes | Start of the date range (ISO 8601) |
| toDate | string (date-time) | Yes | End of the date range (ISO 8601) |
| skip | integer | No | Number of records to skip for pagination; default 0 |
| limit | integer | No | Maximum number of records to return; default 100 |
Minimal request (no filter — returns all-time total):
{}Example using rewardsreportrequest with a snapshot date:
{
"reportDate": "2026-06-01T00:00:00Z"
}Example using widgetrequest (date range):
{
"fromDate": "2026-01-01T00:00:00Z",
"toDate": "2026-06-01T00:00:00Z",
"agentsId": [101, 102],
"isoId": 55
}Response
200 OK
| Field | Type | Description |
|---|---|---|
| bankingCount | integer | Total rewards points accumulated by banking customers; nullable |
| merchantCount | integer | Total rewards points accumulated by merchant customers; nullable |
{
"bankingCount": 1482500,
"merchantCount": 374200
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields or validation error (e.g., fromDate provided without toDate) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to access widget reporting data |
| 404 | Resource not found |
| 500 | Internal server error |
Common Mistakes
- Sending a
widgetrequestbody withfromDatebut omittingtoDate— both are required for that variant. - Sending a
widgetreportrequestbody with an emptyreportDatesarray — at least one date-time value must be provided. - Using a
reportDatetimestamp with a non-UTC timezone offset and not accounting for the server's UTC normalization, which can cause off-by-one-day discrepancies. - Expecting a non-null
merchantCountwhen no merchant-type customers have earned rewards yet — the field is nullable and may returnnull.
Related Endpoints
POST /api/Widget/totalAccounts— Retrieve the total number of accounts across all customersPOST /api/Widget/totalTransactions— Retrieve the total number of transactions across all customersPOST /api/Widget/balances— Retrieve aggregate balance data across customer accounts
Example
curl -X POST https://api.banking.netevia.dev/api/Widget/totalPoints \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fromDate": "2026-01-01T00:00:00Z",
"toDate": "2026-06-01T00:00:00Z"
}'