Total rewards points awailable

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):

FieldTypeRequiredDescription
agentsIdarray of integerNoFilter results to specific agent IDs
isoIdintegerNoFilter results to a specific ISO ID
profileIdsarray of integerNoFilter results to specific customer profile IDs

Variant: rewardsreportrequest (recommended for rewards summary)

FieldTypeRequiredDescription
agentsIdarray of integerNoFilter by agent IDs
isoIdintegerNoFilter by ISO ID
profileIdsarray of integerNoFilter by profile IDs
reportDatestring (date-time)NoSnapshot date for the report; omit for all-time totals

Variant: widgetrequest (date range)

FieldTypeRequiredDescription
agentsIdarray of integerNoFilter by agent IDs
isoIdintegerNoFilter by ISO ID
profileIdsarray of integerNoFilter by profile IDs
fromDatestring (date-time)YesStart of the date range (ISO 8601)
toDatestring (date-time)YesEnd of the date range (ISO 8601)

Variant: widgetreportrequest (multiple report dates)

FieldTypeRequiredDescription
agentsIdarray of integerNoFilter by agent IDs
isoIdintegerNoFilter by ISO ID
profileIdsarray of integerNoFilter by profile IDs
reportDatesarray of string (date-time)YesArray of specific report dates to query

Variant: reportrequest (single report date with status filter)

FieldTypeRequiredDescription
agentsIdarray of integerNoFilter by agent IDs
isoIdintegerNoFilter by ISO ID
profileIdsarray of integerNoFilter by profile IDs
reportDatestring (date-time)YesThe report snapshot date
havePointsbooleanNoWhen true, filters to customers that have at least one rewards point
profileTypeinteger (enum)NoCustomer type filter: 1, 2, 3, 4, or 5
applicationStatusstring (enum)NoFilter by application status: New, Submitted, PendingUW, ApprovedUW, Closed, Cancelled, Pending_Review, Denied, Approved, Pending, InReview, AutoApprovedUW

Variant: balancesrequest (date range with pagination)

FieldTypeRequiredDescription
agentsIdarray of integerNoFilter by agent IDs
isoIdintegerNoFilter by ISO ID
profileIdsarray of integerNoFilter by profile IDs
fromDatestring (date-time)YesStart of the date range (ISO 8601)
toDatestring (date-time)YesEnd of the date range (ISO 8601)
skipintegerNoNumber of records to skip for pagination; default 0
limitintegerNoMaximum 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

FieldTypeDescription
bankingCountintegerTotal rewards points accumulated by banking customers; nullable
merchantCountintegerTotal rewards points accumulated by merchant customers; nullable
{
  "bankingCount": 1482500,
  "merchantCount": 374200
}

Error Codes

CodeWhen it happens
400Missing required fields or validation error (e.g., fromDate provided without toDate)
401Token missing, expired, or invalid
403Insufficient permissions to access widget reporting data
404Resource not found
500Internal server error

Common Mistakes

  • Sending a widgetrequest body with fromDate but omitting toDate — both are required for that variant.
  • Sending a widgetreportrequest body with an empty reportDates array — at least one date-time value must be provided.
  • Using a reportDate timestamp 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 merchantCount when no merchant-type customers have earned rewards yet — the field is nullable and may return null.

Related Endpoints

  • POST /api/Widget/totalAccounts — Retrieve the total number of accounts across all customers
  • POST /api/Widget/totalTransactions — Retrieve the total number of transactions across all customers
  • POST /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"
  }'
Body Params
agentsId
array of int32s | null
agentsId
int32 | null
profileIds
array of int32s | null
profileIds
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json