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

# Transactions

> List and retrieve tour sales with the Fanhaven API.

Transactions are completed and in-progress sales for the tour bound to the API key. Amounts are integers in the smallest currency unit (cents).

Required scope: `transactions:read`.

## List transactions

```
GET /v1/transactions
```

| Query            | Description                                              |
| ---------------- | -------------------------------------------------------- |
| `page`           | Page number. Default `1`.                                |
| `per_page`       | Page size. Default `25`, max `100`.                      |
| `status`         | `pending`, `paid`, `failed`, `refunded`, or `chargeback` |
| `event_id`       | Filter to one tour date                                  |
| `fan_id`         | Filter to one fan                                        |
| `created_after`  | ISO timestamp lower bound                                |
| `created_before` | ISO timestamp upper bound                                |

```bash theme={null}
curl "https://api.fanhaven.com/v1/transactions?status=paid" \
  -H "Authorization: Bearer fh_live_..."
```

## Retrieve a transaction

```
GET /v1/transactions/:id
```

```bash theme={null}
curl "https://api.fanhaven.com/v1/transactions/txn_..." \
  -H "Authorization: Bearer fh_live_..."
```

## Transaction object

```json theme={null}
{
  "id": "txn_...",
  "status": "paid",
  "payment_method": "card",
  "currency": "usd",
  "subtotal": 4500,
  "discount_amount": 0,
  "tax": 360,
  "tip": 500,
  "total": 5360,
  "fan_id": "fan_...",
  "event_id": "evt_...",
  "booth_id": null,
  "is_mobile_order": false,
  "fulfillment_method": "pickup",
  "pickup_status": null,
  "shipping_status": null,
  "items": [
    {
      "id": "ti_...",
      "name": "Tour Tee",
      "size": "M",
      "quantity": 1,
      "amount": 4500,
      "status": "paid"
    }
  ],
  "created_at": "2026-08-26T12:00:00.000Z"
}
```
