Reference · Transactions
List transactions
GET
https://api.paygoro.com/v1/transactionsLists transactions across the workspace, newest booking date first. Paginated; filter by account, date range, status, direction or category. For incremental sync, store the newest `updatedAt` you have seen and pass it as `updatedAfter`.
Authorization
Requires a bearer API key with transactions:read. See Authentication.
Query parameters
| Name | Type | Description |
|---|---|---|
companyId | string | Restrict to one legal entity. Omit to include every entity in the workspace. |
accountId | string | Restrict to one account. |
dateFrom | string (date) | Inclusive lower bound on the booking date. |
dateTo | string (date) | Inclusive upper bound on the booking date. |
status | "pending" | "booked" | "rejected" | "released" | "canceled" | |
side | "debit" | "credit" | |
categoryId | string | Restrict to one category. |
updatedAfter | string (date-time) | Only transactions created or changed after this instant. The building block for incremental sync. |
limit | integer | Page size, 1–100. Defaults to 50. |
cursor | string | Opaque pagination cursor from a previous response's `nextCursor`. |
Response
200 · application/json
| Field | Type | Description |
|---|---|---|
data | array of object | |
nextCursor | string | null | Pass as `cursor` to fetch the next page. `null` when this is the last page. |
id | string | Opaque resource id. |
companyId | string | Opaque resource id. |
accountId | string | Opaque resource id. |
amount | string | Unsigned amount in the transaction currency. Use `side` for direction. |
currency | string | ISO 4217 currency code, e.g. EUR.max 3 chars |
side | "debit" | "credit" | null | `credit` = money in, `debit` = money out. |
status | "pending" | "booked" | "rejected" | "released" | "canceled" | |
type | "SepaCredit" | "SepaDirect" | "Card" | "InternalCredit" | "InternalDirectDebit" | "FeeCredit" | "FeeDebit" | "Check" | "Other" | null | |
description | string | null | Bank-provided label or description. |
reference | string | null | Payment reference / remittance information. |
counterpartyName | string | null | |
counterpartyIban | string | null | |
merchantName | string | null | Cleaned merchant name from Paygoro's enrichment, when known. |
bookingDate | string (date) | null | |
valueDate | string (date) | null | |
category | object | null | |
createdAt | string (date-time) | Timestamp in RFC 3339 format (UTC). |
updatedAt | string (date-time) | Changes when the bank updates the row or a category is assigned. Poll with `updatedAfter` to sync incrementally. |
id | string | Opaque resource id. |
name | string | |
slug | string |
Errors
| 400 | BAD_REQUEST | The request was malformed or failed validation. |
| 401 | UNAUTHORIZED | Missing, malformed, expired or revoked API key. |
| 403 | FORBIDDEN | The API key does not have the scope this operation requires. |
| 404 | NOT_FOUND | No resource with this id exists in your workspace, or a `companyId` filter does not match one of your companies. |
| 429 | TOO_MANY_REQUESTS | Rate limit exceeded. Retry after the `Retry-After` header. |
All errors share one envelope — see Errors.