Operator guideEN

Players / API Requests

Inspection page for player-related API event logs, with payload search, system and time filters, row-level JSON export, and a three-mode request/response viewer.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this page shows

Players / API Requests is a technical inspection surface for stored API event log rows. Operators use it to inspect raw request and response traffic connected to player-related systems.

The page combines:

  • top-level monitoring controls (Auto-refresh, Refresh)
  • quick filters for free-text payload search, User ID, and System
  • an expandable advanced-filter area
  • a request log table with per-row actions
  • a details dialog with Pretty, Raw, and Info tabs for one selected event

When to use it

Use this page when you need to:

  • inspect a failed or suspicious integration call
  • search request or response payload text for one user or one transaction trace
  • compare how the same log row looks in formatted JSON, raw payload form, and metadata form
  • export one log row as JSON for debugging or escalation

Visible controls

The page currently renders these top-level controls:

  • Auto-refresh: re-fetches the current result set every 10 seconds
  • Refresh: immediate manual refetch
  • Search in requests and responses: free-text search against stored request and response payload content
  • User ID: narrows the table to one user identifier
  • System: narrows the table to one source system (Carouseller, SoftGamings, ST8, or All)
  • Filters: advanced filter area toggle with a badge showing active local controls
  • Clear: resets all local filter controls back to defaults

The advanced filter section renders:

  • Time Period
  • From
  • To
  • Status Code
  • HTTP Method
  • URL Path

Time Period defaults to Today. Selecting a preset auto-fills From and To in the browser. Selecting All time clears those date inputs.

How to read the table

The visible table columns are:

  • System: integration or subsystem label rendered as a chip with a system icon
  • User ID: user identifier stored on the log row
  • Method: FE-derived method extracted from the request payload when possible
  • URL: FE-derived url or path extracted from the request payload when possible
  • Status: FE-derived status code extracted from the response payload when possible
  • Response: truncated response preview, shown either as a compact formatted block or a raw CodeEditor block depending on Raw Format
  • Date: createdAt timestamp
  • Actions: row menu for View Details, Copy as JSON, and Export

The header status bar also exposes:

  • Raw Format: toggles the list column renderer for Response
  • request count chip for the current backend result count
  • browser-rendered local timestamp beside the clock icon

Details dialog

Each row can be opened with View Details. The dialog contains three views:

  • Pretty: formatted request and response sections with quick metadata cards
  • Raw: full raw request and response payloads in code viewers
  • Info: metadata summary including system, user, created date/time, detected content types, and payload byte size

The dialog footer repeats two export-style actions:

  • Copy as JSON
  • Export

Known caveats

  • The backend query currently accepts only search, userId, system, timeRange, dateFrom, dateTo, limit, and pageNo.
  • Controls for Status Code, HTTP Method, and URL Path are rendered locally, but the current request does not send them to the backend query. They should be treated as presentational / future-ready controls, not effective backend filters.
  • Method, URL, and Status are not returned as first-class columns in this page response. The browser derives them by parsing the stored request or response payload.
  • Copy as JSON and Export work on the selected log row only. They do not export the whole filtered result set.
  • Export downloads a JSON file for the selected row. The current response does not include a selected-row id, so the browser normally falls back to a timestamp-based filename.
  • The Last updated timestamp is generated in the browser render, not returned by the backend as a guaranteed data-as-of timestamp.
  • The default Today time period is counted as an active filter, and Clear resets the page back to that default rather than to All time.
  • The rows-per-page selector shows high options up to 10000, but the backend pagination helper currently caps valid page size at 1000; values above that fall back to the backend default page size.
  • The page does not render a dedicated fetch-error panel from the current hook error value. If a reload fails, operators should retry with a smaller row limit or simpler filters before assuming there are no matching logs.
  • Stored API event rows are cleaned up by a backend scheduled cleanup after roughly two weeks, so this page should not be treated as a long-term audit archive.
  • The page is inspection-only. It does not replay requests or mutate player data.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Calculations9 topicsOpen details

API request query contract

The main search, user, system, time, date, and pagination controls are server-backed and reload the table from stored API event rows.

Inputs
Search in requests and responses, User ID, System, Time Period, From, To, Page, Rows per page
Transform
Sends `limit`, `pageNo`, `search`, `userId`, `system`, `timeRange`, `dateFrom`, and `dateTo` to the backend read flow.
Caveats
`limit` and `pageNo` are required by the backend service., `system=all` is treated as no system narrowing., Search matches stored request or response payload content; it is not a structured parser search.

Time preset and date-bound behavior

Presets and date inputs affect which `createdAt` range is returned by the backend.

Inputs
Time Period, From, To, createdAt
Transform
The browser fills date inputs for relative presets; the backend applies explicit date bounds when present, otherwise it applies the selected relative range.
Caveats
The default preset is `Today`, which fills both date inputs with today's date., Date-only `From` values are expanded by the backend to start of day., Date-only `To` values are expanded by the backend to end of day., `All time` clears date inputs and removes relative time narrowing.

Local-only filter controls

These controls are visible but should not be relied on to narrow the server-backed result set yet.

Inputs
Status Code, HTTP Method, URL Path
Transform
The controls update browser state and the active filter badge, but the current request hook does not serialize them to the backend request.
Caveats
They can make the filter badge look active without changing the returned rows., Status, method, and URL values shown in the table are derived display values, not backend filter fields in the current flow.

Derived Method, URL, and Status

These columns are best-effort readability helpers for payload inspection.

Inputs
request payload, response payload
Transform
The browser parses request and response payloads to derive Method, URL, and Status for display.
Caveats
Method can come from HTTP method text, a parsed `method` property, or a parsed `type` property., URL can come from a parsed `url` or `path` property, or URL-like text., Status can come from a parsed `statusCode` or `status` property, or matching status text., Values can be blank when the stored payload does not contain parseable data.

Active filter badge

The badge is a UI hint about changed controls, not proof that every counted control affects the backend query.

Inputs
Search in requests and responses, System, User ID, Time Period, From, To, Status Code, HTTP Method, URL Path
Transform
Counts non-empty values and values that are not `all` for the visible filter badge.
Caveats
The default `Today` time period is not `all`, so it counts as active., `From` and `To` are auto-filled by the default `Today` preset, so the badge can remain active after Clear., Status Code, HTTP Method, and URL Path can increase the badge count without changing backend results., Manual date changes may not immediately refresh the badge count until another filter dependency changes.

Request count and pagination

The request-count chip is the current backend count for effective server-side filters, while the table shows only the current page slice.

Inputs
backend count, pageNo, limit
Transform
Displays the backend `findAndCountAll` count and requests one page slice using the selected page and row limit.
Caveats
Rows-per-page can be set as high as 10000 in the current UI., The backend pagination helper currently caps valid page size at 1000 and falls back to 15 when a larger limit is supplied., Large accepted row limits can make the browser slower because each row includes request and response payloads.

Last updated display

The clock is a visual refresh-time hint for the page, not an authoritative backend data-as-of timestamp.

Inputs
browser render time
Transform
Renders the current browser-local time with `new Date().toLocaleTimeString()`.
Caveats
The value can change on render and is not returned by the backend., Use the row Date column for the API event creation time.

Selected-row JSON export

Copy and Export are row-level troubleshooting actions; they do not export the full filtered dataset.

Inputs
selected log row
Transform
Serializes the selected row in the browser and either writes it to clipboard or downloads it as `api-log-<id-or-timestamp>.json`.
Caveats
The current backend attributes do not include row id, so timestamp-based filenames are normally used., Browser clipboard or download restrictions can prevent a reliable copy/export.

API event retention window

The page is for recent technical inspection, not historical audit retention.

Inputs
created_at, scheduled cleanup
Transform
Scheduled cleanup deletes API event rows with created timestamp older than two weeks.
Caveats
Cleanup runs through the backend scheduler, so exact disappearance time depends on when the scheduled task runs.
Columns8 topicsOpen details

System

Integration or subsystem handling the request.

Data Type
string

User ID

User identifier attached to the API event row.

Data Type
string

Method

HTTP method extracted in the FE from the stored request payload.

Data Type
string

URL

URL or path extracted in the FE from the stored request payload.

Data Type
string

Status

HTTP status code extracted in the FE from the stored response payload and rendered as a status chip.

Data Type
number

Response

Truncated response payload preview. In `Raw Format` mode the table renders the full payload in a disabled code editor.

Data Type
object

Date

Timestamp when the API event row was written.

Data Type
datetime

Actions

Opens the row-level menu for detail inspection and JSON export.

Data Type
action-group
Filters9 topicsOpen details

Search in requests and responses

Free-text search through request and response payload content.

Type
text

User ID

Narrows the result set to one user identifier.

Type
text

System

Restricts the table to one upstream or integration system when the value is not `All`.

Type
select
Options
All, Carouseller, SoftGamings, ST8

Time Period

Sends a relative time bucket to the backend and also auto-populates `From` and `To` in the browser.

Type
preset-range
Default
Today
Options
Today, Last 24 hours, Last 3 days, Last week, Last month, All time

From

Lower date bound for manual time filtering.

Type
date

To

Upper date bound for manual time filtering.

Type
date

Status Code

FE-visible status bucket selector. In the current implementation it does not affect the backend query.

Type
select
Options
All Status, Success (2xx), Redirect (3xx), Client Error (4xx), Server Error (5xx)

HTTP Method

FE-visible method selector. In the current implementation it does not affect the backend query.

Type
select
Options
All Methods, GET, POST, PUT, DELETE, PATCH

URL Path

FE-visible URL path filter. In the current implementation it does not affect the backend query.

Type
text
More help

Related pages

Dashboard / Player Statistics

Rank top winners, losers, and depositors for a selected period and row limit.

Players / Activity Log

Standalone player activity history page with filters, export, map view, row details, and comment-group context.

Players / Banking

Banking tab inside the player workspace with transaction filters, a paginated banking grid, analytics cards, CSV export, and automatic-withdrawal availability.

Players / Bonus Detail

Read-only detail page for one issued bonus, showing user, bonus, transaction, issuer, game, and lifecycle metadata.

Players / Bonuses

Cross-player issued-bonus inventory with server-side filters, preview popover, CSV export, and navigation into one issued-bonus detail page.

Players / Challenges

Player workspace tab showing challenge wins joined from challenge_wins to challenge definitions, with reward type and reward detail normalization.