---
title: "Export transactions"
description: "Exports matching transactions as a downloadable file. Supports CSV and JSON formats. Maximum 50,000 records per export."
protocol: rest
method: GET
endpoint: "/v1/transactions/export"
baseUrl: "https://api.gravv.xyz"
group: "Transactions"
auth:
  label: "Api-Key"
  name: "Api-Key"
  in: header
---

# Export transactions

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

Exports matching transactions as a downloadable file. Supports CSV and
JSON formats. Maximum 50,000 records per export.

## Query Parameters

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

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

<ParamField name="card_id" query="card_id" type="string">
  Filter by card 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>

<ParamField name="export_format" query="export_format" type="string" default="csv">
  File format for the export

  Possible values: `csv`, `json`
</ParamField>

## Responses

| Status | Description |
| --- | --- |
| `200` | Export file content and metadata |
| `400` | Bad request — invalid parameters or downstream error |

### 200 response

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

  <Expandable title="properties">
    <ResponseField name="file_content" type="string">
      Base64-encoded file content (CSV or JSON)
    </ResponseField>

    <ResponseField name="file_name" type="string">
      Suggested filename for the export
    </ResponseField>

    <ResponseField name="content_type" type="string">
      MIME type of the exported file
    </ResponseField>

    <ResponseField name="total_records" type="integer">
      Total number of records included in the export (max 50000)
    </ResponseField>

  </Expandable>
</ResponseField>

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

<ResponseExample>

```json title="Response"
{
  "data": {
    "file_content": "aWQsYW1vdW50LGRpcmVjdGlvbg==",
    "file_name": "transactions_export_2025-12-08.csv",
    "content_type": "text/csv",
    "total_records": 1200
  },
  "error": null
}
```

</ResponseExample>

### 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**
