---
title: "Send Settlement Report"
method: POST
path: "/v3/settlement-reports"
tags: ["Settlement Reports"]
---

# Send Settlement Report

`POST /v3/settlement-reports`

## Request

- Base URL: `https://sandbox-api.transfi.com`
- URL: `https://sandbox-api.transfi.com/v3/settlement-reports`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/transfi/apis/transfi-single-integrated-api/docs/v3/settlement-reports/post.ts> (a function with typed inputs; its response is checked against the schema)

Generates the settlement report for a settlement batch and emails a time-limited download link to the report file.

The report is sent to the email addresses provided in `emails` when given, otherwise to the organization's configured email address. Every provided email must be a member of the authenticated organization and must have access to the TransFi dashboard.

The report is generated as a CSV file by default, or as an XLSX file when `reportFormat` is `xlsx`. It contains the customer details, settlement batch details, settlement account details, a settlement summary, and a per-order breakdown of the batch. The download link in the email is valid for 7 days.

Email delivery failures do not fail the request. The report is still generated, the recipients that could not be emailed are returned in `failedRecipients`, and `s3Url` is still returned when `requestS3Link` is true.

This endpoint is rate limited to 3 requests per 10 minutes. When the limit is exceeded, the API responds with HTTP 429 and a `Retry-After` header indicating when the request can be retried.

## Headers

- `MID` string, required

## Request body

- object
  - `settlementId` string, required: Unique identifier of the settlement batch to report on
  - `emails` string[]: Optional recipient email addresses (maximum 5). Every email must be a member of the authenticated organization with access to the TransFi dashboard. When omitted, the report is sent to the organization's configured email address.
  - `reportFormat` 'csv' | 'xlsx': File format of the generated report. Defaults to `csv`.
  - `requestS3Link` boolean: When true, the response also includes `s3Url`, the same time-limited download link that is sent by email. Defaults to false.

## Response `200`

Settlement report generated and emailed

- object
  - `status` string
  - `data` object
    - `message` string
    - `settlementId` string: The settlement batch the report was generated for
    - `reportFormat` 'csv' | 'xlsx': File format of the generated report
    - `recipients` string[]: Email addresses the report was sent to
    - `failedRecipients` string[]: Email addresses the report could not be sent to. Present only when at least one email failed.
    - `orderCount` integer: Number of orders included in the report
    - `s3Url` string: Time-limited (7 days) download link to the report file. Present only when `requestS3Link` is true.

## Other responses

- `400`: Validation error, settlement batch not found for the organization, or an email that does not belong to a customer of the organization
- `429`: Rate limit exceeded (3 requests per 10 minutes per settlement batch)
- `500`: Internal server error

## Changes

- **2026-11-03** `7b745621a79f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/transfi/apis/transfi-single-integrated-api/changes/v3/settlement-reports/post.md)

---

[API](https://skmtc.dev/transfi/apis/transfi-single-integrated-api.md) - [All operations](https://skmtc.dev/transfi/apis/transfi-single-integrated-api/llms.txt) - [OpenAPI document](https://skmtc.dev/transfi/apis/transfi-single-integrated-api/revisions/7b745621a79f?raw)
