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

# Transaction Report

> Retrieve a paginated report of past transactions with optional filters by date and status.

## Overview

The `/transaction/report` endpoint allows you to retrieve a paginated list of past transactions. You can filter the results by date range and status. This endpoint is useful for generating reports, auditing payments, and tracking user activity.

## How It Works

<Steps>
  <Step title="Obtain an Access Token">
    Before calling `/transaction/report`, secure an access token by making a `POST`
    request to `/auth/token` using your `ClientId` and `ClientSecret`.
  </Step>

  <Step title="Specify Filters (Optional)">
    You may include optional query parameters such as `from`, `to`, `status`, and
    `cursor` to narrow the results or page through them.
  </Step>

  <Step title="Call the Endpoint">
    Make a `GET` request to `/transaction/report` with your access token and any
    desired filters. The response will contain a list of transactions, along with
    pagination info.
  </Step>

  <Step title="Process Results">
    Each transaction includes metadata such as sender/recipient names, accounts,
    amounts, dates, payment method, refund/reimbursement status, and recipient address details.
  </Step>
</Steps>

## Retrieving Transactions

The `/transaction/report` endpoint supports filtered and paginated retrieval of transaction data.

### Endpoint

* **URL**: `https://api.synchpay.com/transaction/report`
* **Method**: `GET`
* **Authorization**: `Bearer <AccessToken>`

### Query Parameters

| Parameter   | Type     | Description                                                                                           | Required |
| ----------- | -------- | ----------------------------------------------------------------------------------------------------- | -------- |
| `companyId` | string   | The `companyId`that was previously created.                                                           | Yes      |
| `from`      | datetime | Start date for transactions to include. Example: `2025-01-01T00:00:00Z`                               | No       |
| `to`        | datetime | End date for transactions to include. Example: `2025-01-31T23:59:59Z`                                 | No       |
| `status`    | string   | Filter by transaction status (e.g., `Completed`, `Pending`, `Cancelled`) see available statuses below | No       |
| `cursor`    | string   | Use to paginate through results. If `hasMore` is `true`, pass `nextCursor`.                           | No       |

### Available Statuses

* Created
* Pending
* Processed
* Completed
* Cancelled
* Failed

### Example Request

```http theme={null}
GET /transaction/report?from=2025-01-01T00:00:00Z&to=2025-01-31T23:59:59Z&status=Completed HTTP/1.1
Authorization: Bearer eyJhbGciOi...
```

### Example Response

```json theme={null}
{
  "transactions": [
    {
      "externalTransferId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "Completed",
      "amount": {
        "value": 5000,
        "currencyCode": {
          "value": "USD",
          "displayName": "US Dollar",
          "cultureName": "en-US"
        }
      },
      "date": "2025-04-15T13:07:10.488Z",
      "senderName": "Alice Smith",
      "recipientName": "Bob Johnson",
      "paymentMethod": "A2A",
      "isRefunded": false,
      "isReimbursed": true,
      "appliedForReimbursement": true,
      "recipientAddress": {
        "streetNumberAndName": "123 Main St",
        "apartmentNumber": "4B",
        "city": "New York",
        "zipCode": "10001",
        "state": "NY",
        "country": "USA"
      }
    }
  ],
  "hasMore": true,
  "nextCursor": "eyJwYWdlIjogMn0="
}
```

### Response fields

| Field                     | Type    | Description                                                                        |
| ------------------------- | ------- | ---------------------------------------------------------------------------------- |
| `externalTransferId`      | string  | Unique identifier for the transaction.                                             |
| `status`                  | string  | Current status of the transaction (see available statuses above).                  |
| `amount`                  | object  | The transaction amount, including `value` (in cents) and `currencyCode`.           |
| `date`                    | string  | ISO timestamp of when the transaction occurred.                                    |
| `senderName`              | string  | Name of the payer.                                                                 |
| `recipientName`           | string  | Name of the payment recipient.                                                     |
| `paymentMethod`           | string  | How the payer paid. Possible values: `A2A` (bank account) or `Card` (credit card). |
| `isRefunded`              | boolean | Whether the transaction has been refunded.                                         |
| `isReimbursed`            | boolean | Whether the transaction has been reimbursed.                                       |
| `appliedForReimbursement` | boolean | Whether a reimbursement application was submitted.                                 |
| `recipientAddress`        | object  | The recipient's address details.                                                   |
