Skip to content

Get business transaction ranking (Admin only)

Request

Returns ranked list of businesses with full business details and transaction metrics. Data enrichment via efficient SQL JOINs + UNION (handles legacy transactions). Supports filtering by token type, date range. Requires admin authentication.

Security
authJWT
Bodyapplication/jsonrequired

Business ranking request with filters, sorting, and limit

filtersobject(BusinessRankingFiltersDTO)

Filters for business ranking query

sortBystring

Field to sort results by

Default:"totalTransactions"
Enum:"totalTransactions""tokenReceived""tokenBurnt""businessId""businessName"
Example:"totalTransactions"
sortOrderstring

Sort order (ASC or DESC)

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

Maximum number of results to return

Default:50
Example:50
startDatestring, (date-time)

Start date for filtering transactions (ISO 8601)

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

End date for filtering transactions (ISO 8601)

Example:"2026-02-01T00:00:00Z"
curl -i -X POST \
  https://docs.pers.ninja/_mock/swagger/analytics/businesses/ranking \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "sortBy": "totalTransactions",
    "sortOrder": "DESC",
    "limit": 50
  }'

Responses

Business ranking successfully retrieved

Bodyapplication/json
resultsArray of objects(BusinessRankingResultItemDTO)required

Array of business ranking results

totalBusinessesnumberrequired

Total number of businesses in results

Example:25
metadataobjectrequired

Query metadata

Response
{ "results": [ { … } ], "totalBusinesses": 25, "metadata": {} }