Skip to main content

Transaction Stats

How many transactions a window holds, split by status and by type, and optionally how many the window before it held. Counts only: no amounts (for those, see Report Summary).

New in v3: v2 has no equivalent.

Authorization:

Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.

Headers:
Authorization: APIKey {SIGNED_JWT}

How to build and sign the JWT: Authentication.

Endpoint

GET

/v3/transactions/stats

Query parameters​

ParameterTypeDescription
fromstring (date-time)Required. Start of the window, inclusive. RFC 3339 with an offset, e.g. 2026-08-11T00:00:00-03:00.
tostring (date-time)Required. End of the window, exclusive. Same format. At most 366 days after from.
transaction_typestringOnly one type: trade, crypto, bank or platform_fee. Absent counts every type.
statusstringOnly one status, matched exactly as stored (e.g. success). Absent counts every status.
comparestringprevious also counts the window of the same length that ends where this one starts. Any other value is ignored.

There is no time zone parameter: from and to are instants, so send them with your zone's offset. "Today in Buenos Aires" is from=2026-08-11T00:00:00-03:00&to=2026-08-12T00:00:00-03:00. A bare date (2026-08-11) is read as midnight UTC. A transaction belongs to the window its creation time falls in.

There is no account_id parameter. A workspace-scoped key (or a dashboard member) counts the whole workspace; an account-scoped key (or a customer) counts its own account only, and naming another account in account_id is refused with 403.

Response Sample​

GET /v3/transactions/stats?from=2026-08-11T00:00:00-03:00&to=2026-08-12T00:00:00-03:00&compare=previous

{
"from": "2026-08-11T03:00:00Z",
"to": "2026-08-12T03:00:00Z",
"count": 156,
"by_status": { "success": 149, "pending": 5, "failed": 2 },
"by_type": { "trade": 92, "crypto": 41, "bank": 23 },
"previous": {
"from": "2026-08-10T03:00:00Z",
"to": "2026-08-11T03:00:00Z",
"count": 142
}
}

Response Schema​

FieldTypeDescription
from / tostring (date-time)The window counted, echoed back in UTC.
countintegerHow many transactions the window holds.
by_statusobjectCount per status, keyed by the status as stored. Not a closed list: a status you have not seen before still shows up. {} when the window is empty.
by_typeobjectCount per type (trade, crypto, bank, platform_fee). {} when the window is empty.
previousobjectPresent only with compare=previous. Absent means no comparison was asked for; an empty previous window answers count: 0.
previous.from / previous.tostring (date-time)The window of the same length ending at from. Same length, not the previous calendar period.
previous.countintegerHow many transactions that window holds.

Errors​

StatusmessageWhen
400failed to parse requestfrom or to is not a timestamp, or transaction_type is not one of the types above.
400window_incompletefrom or to is missing.
400window_invertedto is not after from.
400window_too_wideThe window is longer than 366 days.
401unauthorizedMissing or invalid signature.
403forbiddenAn account-scoped key named another account in account_id.

Support and Resources​

If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.

Stay Updated​

Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:

We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!