Hercle
REST
POST/api/v1/user/transactions/report

Request Transaction Report

Request a CSV report of every transaction of one type in a date range of less than 366 days. The call answers 202 Accepted at once; the report is built in the background and the account's email address then receives a link to download it. Use this instead of Get Historical Transactions Paginated (ranges under 31 days, all types) to export a longer period; request each type separately.

The email comes from noreply@hercle.financial ("Your Hercle transaction report is ready"), normally within a few minutes. The link is valid for 24 hours; after that, or if it is altered, it returns 404 and the report has to be requested again. transaction-report.csv has the columns TransactionId, Type (the name, e.g. DEPOSIT), Asset, Amount (signed) and CreatedAt (ISO 8601 UTC), newest first, with every matching transaction (from and to inclusive, no row limit). Repeating the same request (same type, from and to) while that report is still being prepared answers 202 again but sends no second email; once it has been emailed or has failed, the same request builds a new one. If building the report fails after the 202, no email is sent and the API reports nothing: send the request again.

Auth:Bearer <api_key>
Tags:Transactions

Request

cURL
curl -X POST https://publicapi.sandbox.hercle.financial/api/v1/user/transactions/report \
  -H "Authorization: Bearer eyJhb..." \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}'

Headers

NameTypeRequiredDescription
AuthorizationstringYesBearer API_KEY
Example: Bearer your_api_key_here
Content-TypestringYesapplication/json
Example: application/json

Request Body

Schema

FieldTypeDescriptionRequired
fromstringStart of the range (ISO 8601). A value without an offset is read as UTC. Must be before to.Yes
tostringEnd of the range (ISO 8601). A value without an offset is read as UTC. Must be after from, and to minus from must be less than 366 days (365 days 23:59:59 is accepted, exactly 366 days returns 400).Yes
typenumberTransaction type to include, as a numeric value. One report covers one type. 0: Deposit, 1: Withdrawal, 2: Trade Fee, 3: Custody Fee, 4: Trade, 5: Trade Lock, 6: Trade Unlock, 7: Withdrawal Fee, 8: Withdrawal Refund, 9: Withdrawal Fee Refund, 10: Transfer, 11: Transfer Fee, 12: Transfer Refund, 13: Transfer Fee Refund.Yes

Example

{
  "from": "2026-01-01T00:00:00Z",
  "to": "2026-10-31T23:59:59Z",
  "type": 0
}

Response

Success Response Schema

FieldTypeDescription
fromstringStart of the range, converted to UTC (round-trip ISO 8601, e.g. 2026-01-01T00:00:00.0000000Z)
tostringEnd of the range, converted to UTC (round-trip ISO 8601, e.g. 2026-10-31T23:59:59.0000000Z)
typestringTransaction type name: DEPOSIT, WITHDRAWAL, TRADE_FEE, CUSTODY_FEE, TRADE, TRADE_LOCK, TRADE_UNLOCK, WITHDRAWAL_FEE, WITHDRAWAL_REFUND, WITHDRAWAL_FEE_REFUND, TRANSFER, TRANSFER_FEE, TRANSFER_REFUND or TRANSFER_FEE_REFUND

Responses

The report was queued. The body echoes the request: from and to as the server read them, converted to UTC in round-trip ISO 8601 with 7 fractional digits (2026-01-01T00:00:00+02:00 comes back as 2025-12-31T22:00:00.0000000Z), and type as its name. The download link arrives by email once the report is ready.

202 application/json
{
  "from": "2026-01-01T00:00:00.0000000Z",
  "to": "2026-10-31T23:59:59.0000000Z",
  "type": "DEPOSIT"
}

API Tester

Test this endpoint directly against the sandbox environment

Get your API key from Hercle Sandbox

https://publicapi.sandbox.hercle.financial/api/v1/user/transactions/report