Skip to main content

API changelog

2026-07-16 - Merchant transaction history

Added

  • Added GET /api/v1/transactions documentation for ARS, BDT, BOB, and INR merchants.
  • Documented PayIn/PayOut selection, shop, status, ID, card, UTC date, finalization-date, and amount filters.
  • Documented offset and cursor pagination, including the default of 50 and maximum of 100 records per page.
  • Added the canonical response type values payIn and payOut and five-operation response examples for every currency.
  • Documented the fixed canonical HMAC-SHA256 contract for filtered transaction-history requests.
  • Synchronized the public PayIn and PayOut status catalogs with the values accepted by the transaction-history filter.

Compatibility

  • Requests without transaction_type continue to return payout operations from the merchant's default shop.
  • Offset pagination remains the default; cursor pagination is recommended for stable exports.
  • Transaction-history requests use the canonical signature automatically; no signature-version negotiation is part of the merchant contract.

Deployment dependency

  • Publish this documentation only after the matching hrs-core transaction-history release, including cursor pagination and canonical request signing, has been deployed to the entire backend fleet and smoke-tested. Do not migrate merchant clients while mixed backend versions are serving traffic.

2026-05-19 - Merchant API v1 balance and money precision

Changed

  • amount in POST /api/v1/payouts and POST /api/v1/payins must be sent as a JSON string with a positive decimal value, for example "1000.00" or "10.123456".
  • Merchant operation responses now return monetary amount values as decimal strings normalized by currency scale.
  • GET /api/v1/balance now returns a shop-scoped balance snapshot with available, pending, frozen, credit, total, buckets, pending_breakdown, and as_of.
  • Error responses include stable code and error fields while keeping the top-level message.

Not changed

  • Existing /api/v1/payouts, /api/v1/payins, /api/v1/balance, and status paths remain unchanged.
  • external_id remains the merchant operation identifier in this version.