Skip to main content
GET
/
api
/
transactions
List Transactions
curl --request GET \
  --url https://api.example.com/api/transactions \
  --header 'Authorization: <authorization>'
{
  "data": [
    {
      "id": "<string>",
      "type": "<string>",
      "amount": 123,
      "currency": "<string>",
      "description": "<string>",
      "date": "<string>",
      "account": {},
      "category": {}
    }
  ],
  "meta": {
    "page": 123,
    "limit": 123,
    "total": 123,
    "totalPages": 123,
    "hasNextPage": true,
    "hasPreviousPage": true
  }
}

Authentication

This endpoint requires authentication using a Bearer token.
Authorization
string
required
Bearer token for authentication

Query Parameters

Pagination

page
number
default:"1"
Page number (minimum: 1)
limit
number
default:"20"
Number of items per page (minimum: 1, maximum: 100)

Filters

Search by description or category name (case-insensitive)
type
enum
Filter by transaction type
accountId
string
Filter by account UUID
categoryId
string
Filter by category UUID
currency
enum
Filter by currency
startDate
string
Filter transactions from this date (ISO 8601 format)
endDate
string
Filter transactions until this date (ISO 8601 format)
month
number
Filter by month (1-12). Requires year parameter.
year
number
Filter by year (minimum: 2000). Can be used with month parameter.
date
string
Filter by specific date (ISO 8601 format)

Response

Returns a paginated response with transaction data and metadata.
data
array
Array of transaction objects
meta
object
Pagination metadata

Example Requests

curl -X GET "https://api.yourfinanceapp.com/api/transactions?page=1&limit=20" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Example Response

{
  "data": [
    {
      "id": "a3c4e8f2-9d7b-4a1c-8e3f-2b5d9a7c1e4f",
      "type": "EXPENSE",
      "amount": 1500.75,
      "currency": "ARS",
      "description": "Compra de comestibles",
      "date": "2026-03-04T14:30:00.000Z",
      "userId": "user-uuid-123",
      "accountId": "uuid-de-la-cuenta",
      "categoryId": "92b77be3-a14a-462c-a291-7eff27cbcf47",
      "account": {
        "id": "uuid-de-la-cuenta",
        "name": "Cuenta Principal",
        "type": "WALLET",
        "balance": 8499.25,
        "currency": "ARS"
      },
      "category": {
        "id": "92b77be3-a14a-462c-a291-7eff27cbcf47",
        "name": "Alimentos",
        "type": "EXPENSE",
        "icon": "🛒"
      },
      "createdAt": "2026-03-04T14:30:15.123Z",
      "updatedAt": "2026-03-04T14:30:15.123Z",
      "deletedAt": null
    },
    {
      "id": "b7d9e1f3-2a4c-5e6d-9f8a-3c7b1e5d2a9f",
      "type": "INCOME",
      "amount": 5000.00,
      "currency": "ARS",
      "description": "Salario mensual",
      "date": "2026-03-01T10:00:00.000Z",
      "userId": "user-uuid-123",
      "accountId": "uuid-de-la-cuenta",
      "categoryId": "category-uuid-salary",
      "account": {
        "id": "uuid-de-la-cuenta",
        "name": "Cuenta Principal",
        "type": "WALLET",
        "balance": 8499.25,
        "currency": "ARS"
      },
      "category": {
        "id": "category-uuid-salary",
        "name": "Salario",
        "type": "INCOME",
        "icon": "💰"
      },
      "createdAt": "2026-03-01T10:00:30.456Z",
      "updatedAt": "2026-03-01T10:00:30.456Z",
      "deletedAt": null
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 47,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPreviousPage": false
  }
}

Notes

  • Transactions are ordered by date in descending order (newest first)
  • Only non-deleted transactions are returned (where deletedAt is null)
  • The search parameter performs case-insensitive matching on both transaction description and category name
  • When using month and year parameters, they override startDate and endDate if both are provided

Build docs developers (and LLMs) love