List bank transactions

Bank transactions with date, label, amount, categories and matched invoices, newest first.

GET https://cotlet.dev/api/v1/pennylane/transactions

read

Lists bank transactions, newest first. Each item has the label from the bank, the amount in euros, the original currency amount, its categories with weights and the invoices matched to it. A transaction with attachment_required set to true still needs an invoice matched. Pennylane filters transactions by id, bank account, journal and date only. Pages hold 1 to 100 transactions; pass next_cursor back as cursor for the next page.

Parameters

Parameters: list_transactions
NameTypeDescription
date_from date date Only transactions dated on or after this day.
date_to date date Only transactions dated on or before this day.
bank_account_id integer integer Bank account ID from a previous list_transactions result.
limit integer integer 1 to 100. Default: 20.
cursor string string Next page cursor from the previous call.

Request

cURL
curl https://cotlet.dev/api/v1/pennylane/transactions \
  -H "Authorization: Bearer $COTLET_API_KEY"
Python
result = client.call("pennylane", "list_transactions")
Node.js
const result = await cotlet.call('pennylane', 'list_transactions');
CLI
cotlet call pennylane list_transactions

Example response

JSON

{
  "transactions": [
    {
      "transaction_id": 5530021,
      "date": "2026-10-09",
      "label": "PRLV OVH SAS 4417",
      "amount": "-74.40",
      "currency": "EUR",
      "bank_account_id": 18,
      "categories": [],
      "matched_invoices": [],
      "attachment_required": true
    },
    {
      "transaction_id": 5529874,
      "date": "2026-10-10",
      "label": "VIR BRASSERIE DU PORT F-2026-0131",
      "amount": "1368.00",
      "currency": "EUR",
      "bank_account_id": 18,
      "categories": [],
      "matched_invoices": [],
      "attachment_required": true
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.