Skip to content

Players Report

GET /api/client/reports/players

Retrieve a paginated list of players with comprehensive analytics including activity, financial summary, RTP, and profitability. The response includes per-player details and aggregated totals across all matching records.

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number (default: 1)
filter[per_page]integerNoItems per page (default: 50)
filter[fromDate]stringNoStart date in YYYY-MM-DD format
filter[toDate]stringNoEnd date in YYYY-MM-DD format
filter[provider_id][]integerNoFilter by provider ID(s)
filter[currency_id][]stringNoFilter by currency ISO code(s) (e.g., USD, CRC)
filter[has_transactions]booleanNoOnly include players with transactions (true / false)
filter[search]stringNoSearch by player username

Combining Filters

You can combine multiple filters to narrow down results. For example, to find active players in USD from a specific provider:

?filter[has_transactions]=true&filter[currency_id][]=USD&filter[provider_id][]=5

Request

Headers

HeaderValueRequired
Acceptapplication/jsonYes
X-Client-SecretYour UUID secretYes

Request Example

bash
curl -X GET 'https://api.syssoft1.com/api/client/reports/players?page=1&filter[per_page]=50&filter[has_transactions]=true' \
  -H 'Accept: application/json' \
  -H 'X-Client-Secret: fd5a9710-d7f8-47af-a2c5-d553f9029706'
bash
curl -X GET 'https://api.syssoft1.com/api/client/reports/players?filter[search]=player123' \
  -H 'Accept: application/json' \
  -H 'X-Client-Secret: fd5a9710-d7f8-47af-a2c5-d553f9029706'

Example with Date Range and Currency

bash
curl -X GET 'https://api.syssoft1.com/api/client/reports/players?page=1&filter[fromDate]=2026-03-01&filter[toDate]=2026-04-13&filter[currency_id][]=USD&filter[currency_id][]=CRC' \
  -H 'Accept: application/json' \
  -H 'X-Client-Secret: fd5a9710-d7f8-47af-a2c5-d553f9029706'

Response

Successful Response — 200 OK

json
{
  "data": [
    {
      "id": 789,
      "username": "player123",
      "client": "inte",
      "country": "CR",
      "currency": "USD",
      "status": true,
      "total_transactions": 450,
      "games_played": 12,
      "total_bets": {
        "raw": 5000.00,
        "formatted": "$5,000.00",
        "large_number": "5K"
      },
      "total_wins": {
        "raw": 4200.00,
        "formatted": "$4,200.00",
        "large_number": "4.2K"
      },
      "total_rollbacks": {
        "raw": 100.00,
        "formatted": "$100.00",
        "large_number": "100"
      },
      "total_free_spins": {
        "raw": 50.00,
        "formatted": "$50.00",
        "large_number": "50"
      },
      "profit": {
        "raw": 650.00,
        "formatted": "$650.00",
        "large_number": "650"
      },
      "rtp": "86.00%",
      "last_activity": "2026-04-13 09:15:00",
      "created_at": "2026-01-15 08:00:00"
    }
  ],
  "pagination": {
    "current_page": 1,
    "total": 45,
    "per_page": 50,
    "total_pages": 1
  },
  "totals": {
    "total_players": 45,
    "total_transactions": 12500,
    "total_bets": {
      "raw": 250000.00,
      "formatted": "$250,000.00",
      "large_number": "250K"
    },
    "total_wins": {
      "raw": 225000.00,
      "formatted": "$225,000.00",
      "large_number": "225K"
    },
    "profit": {
      "raw": 25000.00,
      "formatted": "$25,000.00",
      "large_number": "25K"
    },
    "return_to_player": "90.00%"
  }
}

Response Fields

data[] — Player Records

FieldTypeDescription
idintegerUnique player identifier
usernamestringPlayer username
clientstringClient/operator identifier
countrystringISO country code (e.g., CR, US)
currencystringPlayer's currency ISO code
statusbooleanWhether the player account is active
total_transactionsintegerTotal number of transactions
games_playedintegerNumber of distinct games played
total_betsobjectTotal amount wagered with raw, formatted, large_number
total_winsobjectTotal amount won with raw, formatted, large_number
total_rollbacksobjectTotal rollback amount with raw, formatted, large_number
total_free_spinsobjectTotal free spin amount with raw, formatted, large_number
profitobjectNet profit from this player with raw, formatted, large_number
rtpstringReturn to Player percentage
last_activitystringLast activity timestamp (YYYY-MM-DD HH:mm:ss)
created_atstringAccount creation timestamp (YYYY-MM-DD HH:mm:ss)

pagination — Pagination Information

FieldTypeDescription
current_pageintegerCurrent page number
totalintegerTotal number of records
per_pageintegerRecords per page
total_pagesintegerTotal number of pages

totals — Aggregated Totals

The totals object provides aggregated values across all records matching the current filters (not just the current page).

FieldTypeDescription
total_playersintegerTotal number of players matching filters
total_transactionsintegerSum of all player transactions
total_betsobjectAggregated bets with raw, formatted, large_number
total_winsobjectAggregated wins with raw, formatted, large_number
profitobjectAggregated profit with raw, formatted, large_number
return_to_playerstringOverall RTP percentage across all players

Understanding Player Metrics

RTP (Return to Player)

The rtp field represents the percentage of total bets that was returned to the player as wins and rollbacks.

Formula: (total_wins + total_rollbacks) / total_bets * 100

A lower RTP indicates higher profitability for the operator.

Profit

The profit field represents the net revenue generated by the player.

Formula: total_bets - total_wins - total_rollbacks

Status

The status field indicates whether the player's account is currently active (true) or inactive (false). Inactive players may still appear in historical reports.

Try It Out

API PlaygroundGET

Parameters

pageinteger
Page number
filter[per_page]integer
Items per page
filter[fromDate]string
Start date (YYYY-MM-DD)
filter[toDate]string
End date (YYYY-MM-DD)
filter[provider_id][]array
Provider IDs
filter[currency_id][]string
Currency ISO codes
filter[has_transactions]boolean
Only players with transactions
filter[search]string
Search by username

Request URL

https://api.syssoft1.com/api/client/reports/players

Error Responses

CodeDescription
401Invalid or inactive client secret. See Authentication.
422Invalid query parameters. Check parameter types and formats.
429Rate limit exceeded. Wait and retry. See Error Handling.

Client API Documentation