Get a reconciliation report
Built daily after 00:30 UTC for the previous UTC day, per currency. A malformed date is 400; a day whose report is not built yet is 404. The first page is read before the answer starts. A read failing there is the unexpected server error every client route answers. This is a JSON error, never a broken body. The 200 body is streamed page by page (chunked). A failure after the answer started closes the connection before the body's end. The transfer fails and a JSON body does not parse completely, while a CSV body may stop at a row boundary. A client treats any read error, or a body that does not parse completely, as a failed request and retries it. It never keeps a partial report. The day is bounded on each journal entry's created_at, from 00:00 UTC inclusive to the next day's 00:00 UTC exclusive. An operation is counted on the UTC day of its first acknowledgement; a repeat on a later day is not counted again. The totals and transactions stop at the journal cutoff the day was built through. An entry committed after the build appears only after the day's rebuild, with version one higher.
Request
A client sends this request signed with its credential. The example is signed with the test API key test-key-test-key and the test secret docs-example-signing, at the timestamp 1767225600 with the nonce docs-example-nonce-0001; see Authentication and signing.
Headers
- Name
X-Api-Key- Type
- string, required
- Description
The credential id. Sent together with X-Timestamp, X-Nonce and X-Signature.
- Name
X-Signature- Type
- string, required
- Description
Base64 HMAC-SHA256 of the method, the path with its query, X-Timestamp, X-Nonce and the lowercase hex SHA-256 of the raw body, joined by newlines. Compared in constant time; 30 seconds of tolerance; each nonce is used once.
- Name
X-Timestamp- Type
- string, required
- Description
Unix seconds; within 30 seconds of the receiver's clock. Matches
^[0-9]{1,12}$.
- Name
X-Nonce- Type
- string, required
- Description
Single use per credential, kept until the timestamp plus 30 seconds. At least 16 characters. At most 128 characters.
Path parameters
- Name
date- Type
- string (date), required
- Description
The UTC day, YYYY-MM-DD.
Request
curl "https://aggregator.asteriks.casino/v1/reconciliation-reports/2026-10-13" \
-H "X-Api-Key: test-key-test-key" \
-H "X-Timestamp: 1767225600" \
-H "X-Nonce: docs-example-nonce-0001" \
-H "X-Signature: 7OnPvburnS37x9V0yihEhvQsAxcBcvwbrPDHbN5Arhk="
Response
The answer is 200 with application/json or text/csv.
- Name
day- Type
- string (date), required
- Description
The UTC day: the journal entries whose created_at is from 00:00 UTC inclusive to the next day's 00:00 UTC exclusive.
- Name
version- Type
- integer, required
- Description
1 when the day is first built; one more on each rebuild that changes the report (a late day's rebuild). At least 1.
- Name
currencies- Type
- object[], required
- Description
- Name
currencies[].currency- Type
- string, required
- Description
One of
TRY,EUR,USD,USDT,TON,BTC,AED,AFN,ALL,AMD,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BOV,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHE,CHF,CHW,CLF,CLP,CNY,COP,COU,CRC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MXV,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLE,SOS,SRD,SSP,STN,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TTD,TWD,TZS,UAH,UGX,USN,UYI,UYU,UYW,UZS,VED,VES,VND,VUV,WST,XAF,XCD,XCG,XOF,XPF,YER,ZAR,ZMW,ZWG.
- Name
currencies[].bets- Type
- object, required
- Description
- Name
currencies[].bets.count- Type
- integer, required
- Description
At least 0.
- Name
currencies[].bets.total- Type
- integer, required
- Description
Gross: the sum of the counted entries' own amounts in minor units; a reversal is counted in its own tally, never netted into another. At least 0. At most 9007199254740991.
- Name
currencies[].wins- Type
- object, required
- Description
- Name
currencies[].wins.count- Type
- integer, required
- Description
At least 0.
- Name
currencies[].wins.total- Type
- integer, required
- Description
Gross: the sum of the counted entries' own amounts in minor units; a reversal is counted in its own tally, never netted into another. At least 0. At most 9007199254740991.
- Name
currencies[].rollbacks- Type
- object, required
- Description
- Name
currencies[].rollbacks.count- Type
- integer, required
- Description
At least 0.
- Name
currencies[].rollbacks.total- Type
- integer, required
- Description
Gross: the sum of the counted entries' own amounts in minor units; a reversal is counted in its own tally, never netted into another. At least 0. At most 9007199254740991.
- Name
currencies[].compensations- Type
- object, required
- Description
- Name
currencies[].compensations.count- Type
- integer, required
- Description
At least 0.
- Name
currencies[].compensations.total- Type
- integer, required
- Description
Gross: the sum of the counted entries' own amounts in minor units; a reversal is counted in its own tally, never netted into another. At least 0. At most 9007199254740991.
- Name
currencies[].attempts- Type
- integer, required
- Description
At least 0.
- Name
currencies[].refusals- Type
- integer, required
- Description
At least 0.
- Name
currencies[].needs_attention- Type
- integer, required
- Description
At least 0.
- Name
transactions- Type
- object[], required
- Description
- Name
transactions[].transaction_id- Type
- string (uuid) | null, required
- Description
The wallet transaction_id the entry sent; null for an entry that called no wallet (tombstone, parked entry, compensation that sent nothing).
- Name
transactions[].provider_transaction_id- Type
- string | null, required
- Description
Null for the aggregator's own compensations. A compensation reuses the bet's key, so the journal keeps the bet's provider id and the list shows null for it.
- Name
transactions[].operation- Type
- string, required
- Description
One of
bet,win,rollback,round_finished,compensation,tombstone,retry.
- Name
transactions[].amount- Type
- integer, required
- Description
Gross: this entry's own amount in minor units, never netted against a later reversal. A rollback or compensation is an entry of its own that refers to it. At least 0. At most 9007199254740991.
- Name
transactions[].currency- Type
- string, required
- Description
One of
TRY,EUR,USD,USDT,TON,BTC,AED,AFN,ALL,AMD,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BOV,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHE,CHF,CHW,CLF,CLP,CNY,COP,COU,CRC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MXV,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLE,SOS,SRD,SSP,STN,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TTD,TWD,TZS,UAH,UGX,USN,UYI,UYU,UYW,UZS,VED,VES,VND,VUV,WST,XAF,XCD,XCG,XOF,XPF,YER,ZAR,ZMW,ZWG.
- Name
transactions[].outcome- Type
- string, required
- Description
The entry's journaled state. One of
pending,completed,refused,compensating,compensated,retrying,needs_attention.
- Name
transactions[].balance_reported- Type
- integer | null, required
- Description
The balance the client reported, below zero after a rollback of a win; null when it did not answer with one. At least -9007199254740991. At most 9007199254740991.
- Name
transactions[].occurred_at- Type
- string (date-time), required
- Description
- Name
transactions[].refers_to_transaction_id- Type
- string (uuid) | null, required
- Description
The wallet transaction_id of the entry a rollback or compensation reverses; null when that entry called no wallet.
Errors
Each error carries one of these codes in the error object of Errors.
- Name
MALFORMED_REQUEST- Type
- 400
- Description
MALFORMED_REQUEST: a body, query or path value fails its schema.
- Name
UNAUTHORIZED- Type
- 401
- Description
UNAUTHORIZED: a missing or wrong key, signature, timestamp or nonce.
- Name
NOT_FOUND- Type
- 404
- Description
NOT_FOUND: an unknown id, another client's id or an unknown path; one body for every 404.
Response
{
"day": "2026-10-13",
"version": 1,
"currencies": [
{
"currency": "EUR",
"bets": {
"count": 0,
"total": 0
},
"wins": {
"count": 0,
"total": 0
},
"rollbacks": {
"count": 0,
"total": 0
},
"compensations": {
"count": 0,
"total": 0
},
"attempts": 0,
"refusals": 0,
"needs_attention": 0
}
],
"transactions": [
{
"transaction_id": "0199c5a0-0000-7000-8000-000000000004",
"provider_transaction_id": "transaction-7731",
"operation": "bet",
"amount": 2500,
"currency": "EUR",
"outcome": "pending",
"balance_reported": 97500,
"occurred_at": "2026-10-13T12:00:00Z",
"refers_to_transaction_id": null
}
]
}