---
title: "Get transactions"
description: "Retrieve a list of transactions with optional filtering and pagination."
protocol: rest
method: GET
endpoint: "/v1/transactions"
baseUrl: "https://api.gravv.xyz"
group: "Transactions"
auth:
  label: "Api-Key"
  name: "Api-Key"
  in: header
---

# Get transactions

<Endpoint method="GET" path="/v1/transactions" />

Retrieve a list of transactions with optional filtering and pagination.

## Query Parameters

<ParamField name="page" query="page" type="integer" default="1">
  Page number for pagination
</ParamField>

<ParamField name="items_per_page" query="items_per_page" type="integer" default="10">
  Number of transactions per page
</ParamField>

<ParamField name="customer_id" query="customer_id" type="string">
  Filter transactions by customer ID
</ParamField>

<ParamField name="account_id" query="account_id" type="string">
  Filter transactions by account ID
</ParamField>

<ParamField name="card_id" query="card_id" type="string">
  Filter transactions by card ID
</ParamField>

<ParamField name="payment_link_id" query="payment_link_id" type="string">
  Filter transactions by payment link ID
</ParamField>

<ParamField name="tx_hash" query="tx_hash" type="string">
  Filter by blockchain transaction hash
</ParamField>

<ParamField name="channel" query="channel" type="string">
  Filter by transaction channel

  Possible values: `avalanche`, `ethereum`, `solana`, `stellar`, `polygon`, `ach`, `wire`, `swift`, `bank_transfer`, `mobile_money`, `internal`, `swap`, `sepa`, `base`, `sui`, `tron`, `card`, `card_funding`, `card_withdrawal`, `card_payment`, `savings`, `savings_withdrawal`, `savings_interest`
</ParamField>

<ParamField name="direction" query="direction" type="string">
  Filter by transaction direction

  Possible values: `in`, `out`
</ParamField>

<ParamField name="status" query="status" type="string">
  Filter by transaction status

  Possible values: `pending`, `completed`, `failed`, `waiting_approval`
</ParamField>

<ParamField name="transaction_type" query="transaction_type" type="string">
  Filter by transaction type

  Possible values: `internal_transfer`, `crypto_transfer`, `crypto_funding`, `global_remittance`, `card_funding`, `card_withdrawal`, `card_payment`, `account_funding`, `credit`, `debit`, `fee_charge`, `subscription_fee`, `invoice_payment`
</ParamField>

<ParamField name="start_date" query="start_date" type="string">
  Filter transactions created on or after this timestamp
</ParamField>

<ParamField name="end_date" query="end_date" type="string">
  Filter transactions created on or before this timestamp
</ParamField>

## Responses

| Status | Description |
| --- | --- |
| `200` | List of transactions |
| `400` | Bad request — invalid parameters or downstream error |

### 200 response

<ResponseField name="data" type="object">

  <Expandable title="properties">
    <ResponseField name="items" type="object[]">

      <Expandable title="properties">
        <ResponseField name="id" type="string">
          Unique transaction identifier
        </ResponseField>

        <ResponseField name="amount" type="string">
          Transaction amount as a decimal string
        </ResponseField>

        <ResponseField name="balance_before" type="string">
          Account balance before this transaction as a decimal string
        </ResponseField>

        <ResponseField name="balance_after" type="string">
          Account balance after this transaction as a decimal string
        </ResponseField>

        <ResponseField name="channel" type="string">
          Transaction channel

          Possible values: `avalanche`, `ethereum`, `solana`, `stellar`, `polygon`, `ach`, `wire`, `swift`, `bank_transfer`, `mobile_money`, `internal`, `swap`, `sepa`, `base`, `sui`, `tron`, `card`, `card_funding`, `card_withdrawal`, `card_payment`, `savings`, `savings_withdrawal`, `savings_interest`
        </ResponseField>

        <ResponseField name="client_metadata" type="string">
          Caller-supplied opaque JSON string stored verbatim for reference
        </ResponseField>

        <ResponseField name="client_reference" type="string">
          Client reference identifier
        </ResponseField>

        <ResponseField name="customer_id" type="string">
          Customer identifier
        </ResponseField>

        <ResponseField name="date_created" type="string">
          Transaction creation timestamp
        </ResponseField>

        <ResponseField name="description" type="string">
          Transaction description
        </ResponseField>

        <ResponseField name="direction" type="string">
          Transaction direction

          Possible values: `in`, `out`
        </ResponseField>

        <ResponseField name="external_id" type="string">
          External system identifier for this transaction
        </ResponseField>

        <ResponseField name="fee" type="string">
          Transaction fee as a decimal string
        </ResponseField>

        <ResponseField name="metadata" type="object">
          Additional transaction metadata

          <Expandable title="properties">
            <ResponseField name="authorize_time" type="string">
            </ResponseField>

            <ResponseField name="card_id" type="string">
            </ResponseField>

            <ResponseField name="card_type" type="string">
            </ResponseField>

            <ResponseField name="declined_reason" type="string">
            </ResponseField>

            <ResponseField name="iban" type="string">
            </ResponseField>

            <ResponseField name="merchant_category" type="string">
            </ResponseField>

            <ResponseField name="merchant_category_code" type="string">
            </ResponseField>

            <ResponseField name="merchant_city" type="string">
            </ResponseField>

            <ResponseField name="merchant_country" type="string">
            </ResponseField>

            <ResponseField name="merchant_id" type="string">
            </ResponseField>

            <ResponseField name="merchant_name" type="string">
            </ResponseField>

            <ResponseField name="payment_link_id" type="string">
            </ResponseField>

            <ResponseField name="recipient_blockchain_memo" type="string">
            </ResponseField>

            <ResponseField name="recipient_blockchain_network" type="string">
            </ResponseField>

            <ResponseField name="recipient_crypto_asset" type="string">
            </ResponseField>

            <ResponseField name="recipient_institution_id" type="string">
            </ResponseField>

            <ResponseField name="recipient_institution_name" type="string">
            </ResponseField>

            <ResponseField name="recipient_name" type="string">
            </ResponseField>

            <ResponseField name="recipient_number" type="string">
            </ResponseField>

            <ResponseField name="recipient_routing_number" type="string">
            </ResponseField>

            <ResponseField name="recipient_wallet_address" type="string">
            </ResponseField>

            <ResponseField name="sender_account_number" type="string">
            </ResponseField>

            <ResponseField name="sender_bank_name" type="string">
            </ResponseField>

            <ResponseField name="sender_blockchain_network" type="string">
            </ResponseField>

            <ResponseField name="sender_crypto_asset" type="string">
            </ResponseField>

            <ResponseField name="sender_name" type="string">
            </ResponseField>

            <ResponseField name="sender_number" type="string">
            </ResponseField>

            <ResponseField name="sender_routing_number" type="string">
            </ResponseField>

            <ResponseField name="sender_wallet_address" type="string">
            </ResponseField>

            <ResponseField name="session_id" type="string">
            </ResponseField>

            <ResponseField name="transaction_notes" type="string">
            </ResponseField>

            <ResponseField name="local_amount" type="string">
              Local equivalent amount as a decimal string
            </ResponseField>

            <ResponseField name="local_amount_currency" type="string">
              ISO 4217 currency code for local_amount
            </ResponseField>

            <ResponseField name="uetr" type="string">
              Unique end-to-end transaction reference (SWIFT UETR)
            </ResponseField>

            <ResponseField name="user_email" type="string">
            </ResponseField>

            <ResponseField name="user_firstname" type="string">
            </ResponseField>

            <ResponseField name="user_id" type="string">
            </ResponseField>

            <ResponseField name="user_lastname" type="string">
            </ResponseField>

          </Expandable>
        </ResponseField>

        <ResponseField name="receiving_account_id" type="string">
          Receiving account identifier
        </ResponseField>

        <ResponseField name="reference" type="string">
          Transaction reference
        </ResponseField>

        <ResponseField name="sending_account_id" type="string">
          Sending account identifier
        </ResponseField>

        <ResponseField name="sending_account_name" type="string">
          Display name of the sending account
        </ResponseField>

        <ResponseField name="sending_account_number" type="string">
          Account number of the sending account
        </ResponseField>

        <ResponseField name="status" type="string">
          Transaction status

          Possible values: `pending`, `completed`, `failed`, `waiting_approval`
        </ResponseField>

        <ResponseField name="tenant_id" type="string">
          Tenant identifier
        </ResponseField>

        <ResponseField name="transaction_type" type="string">
          Type of transaction

          Possible values: `internal_transfer`, `crypto_transfer`, `crypto_funding`, `global_remittance`, `card_funding`, `card_withdrawal`, `card_payment`, `account_funding`, `credit`, `debit`, `fee_charge`, `subscription_fee`, `invoice_payment`
        </ResponseField>

        <ResponseField name="tx_hash" type="string">
          Blockchain transaction hash
        </ResponseField>

      </Expandable>
    </ResponseField>

    <ResponseField name="page" type="integer">
    </ResponseField>

    <ResponseField name="items_per_page" type="integer">
    </ResponseField>

    <ResponseField name="total_pages" type="integer">
    </ResponseField>

    <ResponseField name="total_items" type="integer">
    </ResponseField>

  </Expandable>
</ResponseField>

<ResponseField name="error" type="string">
</ResponseField>

### 400 response

<ResponseField name="data" type="any">
</ResponseField>

<ResponseField name="error" type="string">
</ResponseField>

<ResponseExample>

```json title="Response"
{
  "data": null,
  "error": "invalid query parameter"
}
```

</ResponseExample>

## Authorization

- **ApiKeyAuth**
