> For the complete documentation index, see [llms.txt](https://startbutton.gitbook.io/startbutton-product-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://startbutton.gitbook.io/startbutton-product-api/startbutton-api-doc/export-transactions.md).

# Export Transactions

Download a paginated list of transactions filtered by type, status, date range, and currency. This endpoint is ideal for generating reports or displaying transaction histories without logging into your dashboard.

{% hint style="info" %}
Post a request to the URL below, where the base URL is determined by the environment you are in.
{% endhint %}

<details>

<summary>BaseUrl</summary>

Sandbox/PROD : <https://api.startbutton.tech&#x20>;

</details>

{% tabs %}
{% tab title="Endpoint" %}
GET - `{{baseurl}}/transaction`
{% endtab %}
{% endtabs %}

<table><thead><tr><th width="167">Authorization</th><th>Set value to `Bearer null`</th></tr></thead><tbody><tr><td>Content-type</td><td>Set value to <code>application/json</code></td></tr></tbody></table>

When a customer clicks the payment action button on your website, ‘initialize a transaction’ by making a POST request to our API. Pass the email, amount, and other parameters to the initialize transaction endpoint. The table below lists the parameters that you can pass when initializing a transaction.

| **Parameter** | **Type**  | **Required** | **Description**                                                                                                                                                                                                                                                                                                               |
| ------------- | --------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `transType`   | `string`  | No           | <p>The type of transaction (e.g., <code>conversion</code>,<br><code>settlement</code>,<br><code>collection</code>,<br><code>transfer</code>).</p>                                                                                                                                                                             |
| `status`      | `string`  | No           | <p>The current status (e.g., <code>ongoing</code>,<br><code>pending</code>,<br><code>processing</code>,<br><code>verified</code>,<br><code>successful</code>,<br><code>failed</code>,<br><code>declined</code>,<br><code>initiated</code>,<br><code>reversed</code>,<br><code>expired</code>,<br><code>abandoned</code>).</p> |
| `startDate`   | `string`  | No           | Filter by start date (Format: `YYYY-MM-DD`).                                                                                                                                                                                                                                                                                  |
| `endDate`     | `string`  | No           | Filter by end date (Format: `YYYY-MM-DD`).                                                                                                                                                                                                                                                                                    |
| `currency`    | `string`  | No           | <p>The 3-letter ISO currency code (e.g., <code>NGN,</code><br><code>USD, GHS, RWF, KES, TZS, UGX, XOF, XAF, ZAR, XAF, ZMW, GBP, USDT, USDC</code></p><p>).</p>                                                                                                                                                                |
| `skip`        | `integer` | No           | The number of records to bypass                                                                                                                                                                                                                                                                                               |
| `limit`       | `integer` | No           | The max number of records to return                                                                                                                                                                                                                                                                                           |

#### Sample request & sample response

**Sample request:**

{% tabs %}
{% tab title="Sample parameters" %}

```
curl --location 'https://api.startbutton.tech/transaction?transType=transfer&status=successful&startDate=2026-05-01&endDate=2026-05-12&skip=1&limit=100&currency=NGN' \
--header 'Authorization: Bearer null'
```

{% endtab %}
{% endtabs %}

#### Sample response:

{% hint style="info" %}
The structure below is a standard representation. Actual fields may vary based on your account's specific transaction metadata.
{% endhint %}

```
{
    "success": true,
    "message": "transactions",
    "data": {
        "transactions": [
            {
                "rollingReserve": {
                    "isInReserve": true,
                    "amount": 5,
                    "reserveReleaseDate": "2026-11-07T21:48:04.724Z"
                },
                "merchantInfo": {
                    "name": "Test Company"
                },
                "_id": "6a024e942a67ecdd4de533b2",
                "transType": "collection",
                "status": "successful",
                "toAmount": 5000,
                "toCurrency": "NGN",
                "transactionReference": "000016260511224751001986031005",
                "customerEmail": "dynamiteezeh@gmail.com",
                "isRecurrent": false,
                "postProcess": null,
                "meta": {
                    "accountName": "EMMANUEL ISAAC EJIKEME",
                    "accountNumber": "2046665463",
                    "bankName": "FIRST BANK OF NIGERIA",
                    "narration": "FROM FBN/ EMMANUEL ISAAC EJIKEME-FIPMBEMMANUEL ISAAC EJISTART BUTTON LIMITED CHECKOUT NONESTART BUTTON LIMIT/000016260511224751001986031005",
                    "sessionId": "000016260511224751001986031005",
                    "paymentCollectionType": "UNDERPAYMENT",
                    "paymentChannel": "VA",
                    "existingTransaction": {
                        "reference": "0f854ce3303b",
                        "expectedAmount": 200
                    },
                    "customerActivity": {
                        "start_time": 1778535940468,
                        "time_spent": -2,
                        "attempts": 1,
                        "errors": 1,
                        "success": false,
                        "mobile": false,
                        "input": [],
                        "history": [
                            {
                                "type": "action",
                                "message": "Copied Virtual Account",
                                "time": null
                            },
                            {
                                "type": "action",
                                "message": "Attempted to complete transaction with Bank Transfer",
                                "time": null
                            },
                            {
                                "type": "error",
                                "message": "Error: Amount not up to specified amount!",
                                "time": null
                            }
                        ]
                    }
                },
                "customNotifyEmails": [],
                "isManual": false,
                "childTransactionIds": [],
                "source": null,
                "hasRollingReserve": true,
                "disputeReferences": [],
                "createdAt": "2026-05-11T21:48:04.668Z",
                "updatedAt": "2026-05-11T21:48:04.756Z",
                "feeAmount": 60,
                "paidAt": "2026-05-11T21:48:04.724Z",
                "toBalanceAfterAvailable": 2401166,
                "toBalanceAfterLedger": 2370802,
                "taxAmount": 0,
                "disputes": [],
                "id": "6a024e942a67ecdd4de533b2",
                "fromBalanceAfterLedger": 0,
                "fromBalanceAfterAvailable": 0
            }
        ],
        "total": 4777
    }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://startbutton.gitbook.io/startbutton-product-api/startbutton-api-doc/export-transactions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
