> ## Documentation Index
> Fetch the complete documentation index at: https://docs.machines.cash/llms.txt
> Use this file to discover all available pages before exploring further.

# Transactions

> List transaction history for a user.

## Overview

* <code>GET /transactions</code> returns transaction history for the current user session.
* Required scope: <code>transactions.read</code>.
* Optional filters: <code>type</code> (comma-separated), <code>cardId</code>, <code>limit</code>, <code>cursor</code>.

## API flow (step-by-step)

<Steps>
  <Step title="List transactions">
    <b>Endpoint</b>: <a href="/api/transactions/list" target="_blank" rel="noreferrer"><code>GET /transactions</code></a><br />
    <b>Headers</b>: <code>Authorization: Bearer \<SESSION\_TOKEN></code>

    ```bash theme={null}
    curl -s \
      -H "Authorization: Bearer $SESSION_TOKEN" \
      "https://dev-api.machines.cash/partner/v1/transactions?type=spend,collateral&limit=25"
    ```

    Example response:

    ```json theme={null}
    {
      "ok": true,
      "data": {
        "transactions": [
          {
            "transactionId": "txn_123",
            "type": "spend",
            "status": "posted",
            "amountCents": 1299,
            "currency": "USD",
            "merchantName": "Example Merchant",
            "cardId": "9f970d1a-fd8e-41ac-a6fd-5993417942e3",
            "createdAt": "2026-02-18T18:30:00.000Z"
          }
        ]
      },
      "summary": "transactions",
      "errors": []
    }
    ```
  </Step>
</Steps>

## Query parameters

<ParamField path="type" type="string">
  Comma-separated transaction types: <code>spend</code>, <code>collateral</code>, <code>payment</code>, <code>fee</code>.
</ParamField>

<ParamField path="cardId" type="string">
  Optional card id filter.
</ParamField>

<ParamField path="limit" type="number">
  Optional page size (max 100).
</ParamField>

<ParamField path="cursor" type="string">
  Optional pagination cursor.
</ParamField>

## Response fields

<ResponseField name="transactions[].transactionId" type="string" required>
  Transaction id.
</ResponseField>

<ResponseField name="transactions[].type" type="string" required>
  <code>spend</code> | <code>collateral</code> | <code>payment</code> | <code>fee</code>.
</ResponseField>

<ResponseField name="transactions[].status" type="string" required>
  Transaction status.
</ResponseField>

<ResponseField name="transactions[].amountCents" type="number" required>
  Amount in cents.
</ResponseField>

<ResponseField name="transactions[].currency" type="string" required>
  Currency code.
</ResponseField>

<ResponseField name="transactions[].merchantName" type="string">
  Merchant or descriptor when available.
</ResponseField>

<ResponseField name="transactions[].cardId" type="string">
  Card id for spend transactions.
</ResponseField>

<ResponseField name="transactions[].createdAt" type="string" required>
  ISO 8601 timestamp.
</ResponseField>
