# List transactions

`GET https://app.shuttleglobal.com/c/api/instances/{instance_key}/transactions`

This request performs a simple search against `transaction` objects.

Available fields for `criteria` and `order`:
`account`, `action`, `alt_key`, `amount`, `contract`, `created`, `currency`, `gateway`, `gateway_reference`, `id`, `initiated`, `payment_method`, `processed`, `reference`, `source`, `source_transaction`, `status`, `sub_status`, `updated`

## Authentication

- basicAuth: Basic Authentication using secret key
- bearerAuth: OAuth 2.0 Bearer Token Authentication

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `criteria` | query | string | no | Search criteria for filtering transactions. Available fields: `id`, `account`, `action`, `alt_key`, `amount`, `contract`, `created`, `currency`, `gateway`, `gateway_reference`, `gateway_status`, `initiated`, `payment_method`, `processed`, `reference`, `source`, `source_transaction`, `status`, `sub_status`, `updated` Examples: - `status=SUCCESS` - `account=acc_12345_67890` - `action=PAYMENT` - `created<>2024-01-01;2024-12-31` - `gateway_reference=ch_1234567890` |
| `order` | query | string | no | Sort order for results. Supports any field that criteria supports. Defaults to `created:desc` if not specified. Append `:desc` for descending order. Separate multiple order fields with commas. Examples: - `order=processed:desc` - `order=amount:desc` - `order=status,created:desc` |
| `expand` | query | string | no | Fields to expand into full objects. Separate multiple fields with commas. Available fields: - account (account object) - captures (capture objects) - contract (contract object) - created_session (session object) - gateway (gateway object) - parts (transaction part objects) - payment_method (payment method object) - refunds (refund objects) - source_transaction (transaction object) - updated_session (session object) Example: `expand=account,contract,payment_method` |
| `limit` | query | integer | no | Number of records to return: 20 if not set, at most 1000. |
| `offset` | query | integer | no | Number of records to skip before the first one returned. `offset` + `limit` can't exceed 5000; to read further, page by a field such as `created` instead. See [Paging through results](/platforms/reference/paging/). |

## Responses

### 200: Successful response

```json
{
  "transactions": [
    {
      "account": "string",
      "action": "PAYMENT",
      "alt_key": "string",
      "amount": "string",
      "authorisation_code": "string",
      "authorised": "string",
      "balance": "string",
      "browser_ip_address": "string",
      "browser_accept_header": "string",
      "browser_javascript": true,
      "browser_locale": "string",
      "browser_user_agent": "string",
      "browser_size": "string",
      "browser_java_enabled": true,
      "browser_color_depth": "string",
      "browser_timezone": "string",
      "captures": [
        "string"
      ],
      "captured": "string",
      "channel": "string",
      "contract": "string",
      "created": "2026-01-01T12:00:00Z",
      "created_session": "string",
      "currency": "string",
      "description": "string",
      "designation": "string",
      "division": "string",
      "expires": "2026-01-01T12:00:00Z",
      "gateway": "string",
      "gateway_message": "string",
      "gateway_metadata": {},
      "gateway_reference": "string",
      "gateway_status": "string",
      "gateway_view_transaction": "string",
      "id": "string",
      "initiated": "2026-01-01T12:00:00Z",
      "initiative": "string",
      "legal_entity": "string",
      "next_attempt": "string",
      "metadata": {},
      "parts": [
        "string"
      ],
      "payment_method": "string",
      "payment_method_used_token": true,
      "processed": "2026-01-01T12:00:00Z",
      "redirect_url": "string",
      "reason": "string",
      "reference": "string",
      "refunds": [
        "string"
      ],
      "refund": "string",
      "refunded": "string",
      "resolved": "2026-01-01T12:00:00Z",
      "settle_currency": "string",
      "settle_fee_amount": "string",
      "settle_gross_amount": "string",
      "settle_net_amount": "string",
      "source": "ECOMMERCE",
      "source_transaction": "string",
      "status": "SUCCESS",
      "sub_status": "NO_ACTION_REQUIRED",
      "sub_status_reason": "follow_bank_transfer_instructions",
      "target_date": "2026-01-01T12:00:00Z",
      "updated": "2026-01-01T12:00:00Z",
      "updated_session": "string",
      "voided": "string",
      "voids": [
        "string"
      ],
      "v": 0,
      "workflows": [
        "string"
      ],
      "workflow_status": "OK"
    }
  ],
  "meta": {
    "limit": 0,
    "offset": 0,
    "total": 0
  }
}
```

### 400: Bad request - invalid parameters

```json
{
  "code": "string",
  "message": "string"
}
```

### 401: Unauthorized - invalid credentials

```json
{
  "code": "UNAUTHORIZED",
  "message": "Unauthorised"
}
```

## Example request

```sh
curl --request GET \
  --url https://app.shuttleglobal.com/c/api/instances/YOUR_INSTANCE_KEY/transactions \
  --header 'Authorization: Basic <base64 of SECRET_KEY:>'
```

Reference page: https://docs.shuttleglobal.com/platforms/reference/operations/listtransactions/