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 200 body is streamed page by page (chunked): a failure after the answer started closes the connection before the body's end, so 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.

GET/v1/reconciliation-reports/{date}

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

GET
/v1/reconciliation-reports/{date}
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="
200

Response

The answer is 200 with application/json or text/csv.

  • Name
    day
    Type
    string (date), required
    Description
  • 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

    Minor units of the currency. 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

    Minor units of the currency. 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

    Minor units of the currency. 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

    Minor units of the currency. 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

    Minor units of the currency. 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": "0199c5a0-0000-7000-8000-000000000005"
    }
  ]
}

Was this page helpful?