---
title: "List Transactions for a Customer"
method: GET
path: "/customers/{customer_id}/transactions"
tags: ["Transactions"]
---

# List Transactions for a Customer

`GET /customers/{customer_id}/transactions`

Returns a list of transactions for a customer. The list is sorted by data source, with transactions from bank statements listed first, followed by transactions from open banking data. Within each of the data sources, the transactions are ordered by creation date, with the most recently created transactions appearing first.
Most query parameters should be passed only once for filtering. However, there are two exceptions:

  - `category`: This parameter can be passed multiple times to filter transactions by category.
  - `data_source`: This parameter can also be passed multiple times to filter transactions by data source.

Please refer to the individual parameter descriptions for more details on usage.

## Path parameters

- `customer_id` string, uuid, required

## Query parameters

- `size` integer, required
- `cursor` string, uuid
- `transaction_ids` string
- `document_ids` string
- `document_pages` string
- `open_banking_data_ids` string
- `search` string
- `sort_by` 'amount' | 'category' | 'date' | 'merchant'
- `sort_direction` 'asc' | 'desc'
- `start_date` string, date
- `end_date` string, date
- `min_amount` integer
- `max_amount` integer
- `data_source` 'BANK_STATEMENT' | 'OPEN_BANKING'
- `category` 'accommodation' | 'rent' | 'hotels' | 'bank_charge' | 'overdraft' | 'nsf' | 'interest_paid' | 'entertainment' | 'gambling' | 'income' | 'revenue' | 'salary' | 'interest_received' | 'retirement' | 'social_security' | 'commission_received' | 'infrastructure' | 'insurance' | 'investments' | 'savings' | 'trading' | 'crypto_trading' | 'loan' | 'mortgage' | 'card_repayment' | 'mca' | 'payday' | 'auto_loan' | 'buy_now_pay_later' | 'personnel' | 'refund' | 'retail' | 'food_and_drink' | 'groceries' | 'self_transfer' | 'sweep_transfer' | 'tax' | 'transport' | 'fuel' | 'utilities' | 'withdrawal'
- `include_unreconciled_documents` boolean

## Response `200`

Returns back a list of Transaction objects.

- ListTransactions
  - `data` Transaction[] — A map with a data property that contains an array of transactions. Each entry in the array is a separate transaction object.
    - `id` string, uuid — Unique identifier for the object.
    - `guid` string, nullable — An identifier for the transaction submitted by the data provider.
    - `date` string, date — Date of the transaction.
    - `description` string — Description of the transaction.
    - `amount` integer — Amount of the transaction (in cents).
    - `currency_code` string, nullable — The ISO 4217 currency code of the transaction.
    - `category` 'ACCOMMODATION' | 'RENT' | 'HOTELS' | 'BANK_CHARGE' | 'OVERDRAFT' | 'NSF' | 'INTEREST_PAID' | 'ENTERTAINMENT' | 'GAMBLING' | 'INCOME' | 'REVENUE' | 'SALARY' | 'INTEREST_RECEIVED' | 'RETIREMENT' | 'SOCIAL_SECURITY' | 'COMMISSION_RECEIVED' | 'INFRASTRUCTURE' | 'INSURANCE' | 'INVESTMENTS' | 'SAVINGS' | 'TRADING' | 'CRYPTO_TRADING' | 'LOAN' | 'MORTGAGE' | 'CARD_REPAYMENT' | 'MCA' | 'PAYDAY' | 'AUTO_LOAN' | 'BUY_NOW_PAY_LATER' | 'PERSONNEL' | 'REFUND' | 'RETAIL' | 'FOOD_AND_DRINK' | 'GROCERIES' | 'SELF_TRANSFER' | 'SWEEP_TRANSFER' | 'TAX' | 'TRANSPORT' | 'FUEL' | 'UTILITIES' | 'WITHDRAWAL' | 'OTHER' | 'PEER_TO_PEER_TRANSFER', nullable — Category of the transaction. This value will be set to null if no category is identified.
    - `method` 'BANK_TRANSFER' | 'CARD_PAYMENT' | 'CASH' | 'CHECK', nullable — Method by which the transaction was made. This value will be set to null if no method is identified.
    - `vendor` string — This has been deprecated. Please use merchant instead.
    - `merchant` string, nullable — The merchant associated with the transaction. This value will be set to null if no merchant is identified.
    - `data_source` 'BANK_STATEMENT' | 'OPEN_BANKING' — The source of the transaction. The transaction can be from either a bank statement or open banking data.
  - `pagination` object
    - `cursor` string, uuid — A cursor for use in pagination. This cursor is to be used in the next request's cursor parameter to request the next set of transactions.
  - `metadata` MetadataTransactionsAccounts — Additional data which provides context about Inscribe's Credit Insights response.
    - `customer_contains_low_trust_score_documents` boolean — This value will be set to True if the customer contains any documents under a trust score threshold of 50. Else, this will be set to False.
    - `included_data_sources` object — Lists all documents and open banking data which were used to create the Inscribe Credit Insights.
      - `documents` object[]
        - `document_id` string, uuid
      - `open_banking` object[]
        - `open_banking_data_id` string, uuid
    - `excluded_data_sources` object — Lists all documents and open banking data which were excluded from the Inscribe Credit Insights. Documents can be excluded if they are duplicate documents, or when the include_unreconciled_documents query parameter is set to False.
      - `documents` object[]
        - `document_id` string, uuid
        - `exclusion_reason` string, string
      - `open_banking` object[]
        - `open_banking_data_id` string, uuid
    - `query_parameters` object — Lists the query parameters which were used in the original endpoint request.

## Other responses

- `400` — You have provided incorrect data.
- `403` — You do not have permission to access this resource.
- `404` — The specified resource was not found.
- `429` — Too many requests. The request has been rate limited. For more information, visit our [documentation on rate limiting](https://docs.inscribe.ai/docs/are-the-endpoints-rate-limited).

---

[API](https://skmtc.dev/inscribe/apis/core-resources.md) · [All operations](https://skmtc.dev/inscribe/apis/core-resources/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/inscribe/core-resources/revisions/6489b36eb60f/schema)
