Alladdin

Work in progress

Site en construction

الموقع قيد الإنشاء

Alladdin
GET

List banking account movements

Scope: accounting:banks.read https://api.alladdin.com/api/v2/treasury/accounts/{id}/bank-movements

Returns a cursor-paginated list of raw bank movements for a banking account, with the bank-reported amount, balance after the movement, value date and reconciliation status. Use this endpoint to build reconciliation flows, cash-flow analysis, balance alerts or banking dashboards. Unlike Payment records (available at /api/v2/payments), which link bank movements to invoices and documents, this endpoint exposes the raw entries that come from the bank statement. Results are ordered by value date descending (then by id descending to break ties). Returns an empty list for cash-type accounts (their movements live in the ledger, not the bank statement) — use GET /api/v2/treasury/accounts/{id}/cash-movements instead.

Parameters

Path parameters

id string required

Banking account identifier

Query parameters

cursor string optional

Opaque cursor returned by the previous page

limit integer optional = 50

Maximum number of movements per page. Defaults to 50, maximum 200.

start_date string<date> optional

Inclusive lower bound on the movement value date (ISO 8601 date or date-time)

end_date string<date> optional

Inclusive upper bound on the movement value date (ISO 8601 date or date-time)

status string[] optional

Reconciliation statuses to filter by: 'pending' (not reconciled), 'reconciled' (fully matched), 'partial' (partially matched), 'forced_reconciled' (manually marked).

Request

python
import requests

url = "https://api.alladdin.com/api/v2/treasury/accounts/507f1f77bcf86cd799439011/bank-movements?cursor=value&limit=50&start_date=2026-01-01"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}

response = requests.get(url, headers=headers)
print(response.json())

Responses

Response

json
{
  "items": [
    {
      "id": "507f1f77bcf86cd799439011",
      "banking_account_id": "507f1f77bcf86cd799439012",
      "description": "string",
      "note": "string",
      "amount": "1500.00",
      "currency": "EUR",
      "balance": "12345.67",
      "accounting_amount": "1500.00",
      "accounting_currency": "EUR",
      "booking_date": "2024-01-15T10:30:00Z",
      "value_date": "2024-01-15T10:30:00Z",
      "status": "reconciled",
      "reconciled_amount": "1500.00",
      "origin": "manual",
      "flagged_at": "2024-01-15T10:30:00Z"
    }
  ],
  "cursor": "string",
  "has_more": false
}

Success responses

200 List of banking account bank movements application/json object items[] object[] id string

Unique identifier of the bank movement

banking_account_id string

Identifier of the banking account this movement belongs to

description string

Description of the movement as reported by the bank

note string

Manual annotation added by the user

amount string

Movement amount in the banking account currency. Decimal as string; precision matches the currency (e.g. 2 decimals for EUR/USD, 3 for BHD/KWD).

currency string

ISO 4217 currency code of the banking account

balance string | null

Bank balance after the movement, in the banking account currency. Null if the bank did not report a balance

accounting_amount string | null

Movement amount converted to the company accounting currency. Null when the movement has no accounting money assigned (e.g. unreconciled foreign-currency entries).

accounting_currency string | null

ISO 4217 currency code of the company accounting currency. Null when the movement has no accounting money assigned.

booking_date string<date-time>

Booking date — when the bank recorded the movement. ISO 8601 timestamp

value_date string<date-time>

Value date as ISO 8601 timestamp

status string

Reconciliation status: 'pending' for not yet reconciled, 'reconciled' for fully matched against documents, 'partial' for partially matched, 'forced_reconciled' when manually marked as reconciled.

Enum: pending reconciled partial forced_reconciled reconciled_amount string

Amount of the movement already reconciled against documents/transactions, in the banking account currency

origin string

Source of the movement (e.g. stripe, paypal, manual, alladdin).

flagged_at string<date-time> | null

ISO 8601 timestamp when the user manually flagged the movement. Null when not flagged.

cursor string | null has_more boolean

Error responses

401 Invalid or missing API key application/json 403 Insufficient permissions application/json 404 Banking account not found application/json 429 Rate limit exceeded application/json

← PreviousDelete a banking account →

Next →List banking account cash movements →