Disbursements

List of endpoints

Description Endpoint

Getting a List of all Disbursements

GET/payments/v1/disbursements

Getting Details about a Disbursement

GET/payments/v1/disbursements/{disbursementId}

Getting the Reconciliation Files for a Disbursement

GET/payments/v1/disbursements/{disbursementId}/files

Getting a List of all Refunds within a Disbursement

GET/payments/v1/disbursements/{disbursementId}/refunds

Getting a List of all Payouts within a Disbursement

GET/payments/v1/disbursements/{disbursementId}/payouts

Getting a List of all Adjustments within a Disbursement

GET/payments/v1/disbursements/{disbursementId}/adjustments

About Disbursements

A disbursement is a consolidated financial settlement transferred from Flywire to your bank account. These transfers occur on a regular schedule.

Rather than transferring individual transactions separately, a disbursement acts as a single container that bundles together payouts, along with any applicable refunds or balance modifications, into one total settlement amount.

Note if you are using refunds:

Disbursements can also contain refunds if you are using the refund collection method netting.

Requirements for using the Disbursements Resource

You need permission to use the /disbursements endpoints. Please contact the Solutions team if you want to use them.

Disbursement calculation formula

The total disbursement amount represents the final financial settlement delivered to you for a given processing period.

The total amount of the disbursement is calculated as follows:

Total Disbursement Amount = Payouts + Credited Adjustments − Refunds − Debited Adjustments

Formula components

  • Payouts: the total of all payout amounts bundled into the disbursement.

  • Credited adjustments: financial adjustments that increase the overall disbursement amount (where entry_type is credit).

  • Debited adjustments: financial adjustments that reduce the overall disbursement amount (where entry_type is debit).

  • Refunds: refund amounts deducted from the overall disbursement amount.

Formula components and API mapping

While the root /disbursements endpoint provides high-level summary counts, you can retrieve the itemized line items for a specific disbursement using the following endpoints:

Getting a List of all Disbursements

This endpoint returns a paginated list of all delivered disbursements.

The information returned in this list provides an overview of your delivered disbursements. It allows you to view disbursement totals, track fund delivery dates, inspect the composition of each disbursement (including payment, refund, and adjustment counts), and isolate specific disbursement cycles using date-range filters to match Flywire's deposits against your bank ledger.

Due to security scoping, this endpoint only returns records associated with recipients that your API key has access to.

Request

Parameters for the Request Body

No request body needed.

Optional Query Parameters for Filtering

You can filter the list of results by the following parameters:

Optional Query Parameters for Pagination

This endpoint supports pagination. If you are not providing any pagination parameters, the response is returned with default pagination settings.

Pagination parameters are added as query parameters with the request in the format {endpoint_path}?page=2&per_page=10

GET/payments/v1/disbursements

curl https://base-url-placeholder/disbursements
  -X GET
  -H "Content-Type: application/json"
  -H "X-Authentication-Key: {api_key}"

Response

Pagination Parameters

disbursements array

{
  "total_entries": 2,
  "total_pages": 1,
  "page": 1,
  "per_page": 10,
  "disbursements": [
    {
      "disbursement_id": "FWU2026-07-13",
      "recipient_id": "FWU",
      "status": "delivered",
      "delivered_at": "2026-07-13T17:11:39Z",
      "number_of_payments": 82,
      "number_of_refunds": 0,
      "number_of_adjustments": 0,
      "amount": 6000000,
      "currency": "EUR",
      "bank_account_number": "XXX5677"
    },
    {
      "disbursement_id": "FWU2026-06-13",
      "recipient_id": "FWU",
      "status": "delivered",
      "delivered_at": "2026-06-13T17:22:22Z",
      "number_of_payments": 37,
      "number_of_refunds": 0,
      "number_of_adjustments": 0,
      "amount": 1000000,
      "currency": "USD",
      "bank_account_number": "XXX5677"
    }
  ]
}

Getting Details about a Disbursement

This endpoint returns the details of a specific disbursement.

The information returned provides an overview of a delivered disbursement. It allows you to view the disbursement's total amount, track its exact fund delivery date, and inspect its composition (including payment, refund, and adjustment counts) to match a specific Flywire deposit against your bank ledger.

Due to security scoping, this endpoint only returns records associated with recipients that your API key has access to.

Request

Parameters for the Request Body

No request body needed.

How to Resolve the Path Placeholders of the Endpoint

Exchange {disbursementId} in the endpoint with the disbursement ID.

GET/payments/v1/disbursements/{disbursementId}

curl https://base-url-placeholder/disbursements/FWU2026-06-13
  -X GET
  -H "Content-Type: application/json"
  -H "X-Authentication-Key: {api_key}"

Response

{
    "disbursement_id": "FWU2026-06-13",
    "recipient_id": "FWU",
    "status": "delivered",
    "delivered_at": "2026-06-13T17:22:22Z",
    "number_of_payments": 37,
    "number_of_refunds": 0,
    "number_of_adjustments": 0,
    "amount": 1000000,
    "currency": "USD",
    "bank_account_number": "XXX5677"
}

404 Error - resource not found

When does this happen?

The server did not find anything that matches the request URI. Either the URI is incorrect or the resource is not available.

In this case, an invalid disbursementId was provided in the path.

What should you do?

Verify that the URI is correct and the resource exists.

{
  "type": "https://developers.flywire.com",
  "title": "Not Found",
  "status": "404",
  "detail": "Invalid Disbursement ID. The disbursement ID provided does not exist in our records. Please verify the ID and try again."
}

Getting the Reconciliation Files for a Disbursement

Retrieves a list of pre-signed download URLs for the settlement files associated with a specific disbursement.

Due to security scoping, this endpoint only returns records associated with recipients that your API key has access to.

Available files depend on configuration

The types of files and the content within each file depend on the recipient (also called portal) configuration.

Download links are temporary

The download links returned in the response are temporary pre-signed URLs.

They expire automatically after the duration specified in the URL's X-Amz-Expires query parameter.

Do not store these URLs long-term; request fresh links as needed.

Request

Parameters for the Request Body

No request body needed.

How to Resolve the Path Placeholders of the Endpoint

Exchange {disbursementId} in the endpoint with the disbursement ID.

GET/payments/v1/disbursements/{disbursementId}/files

curl https://base-url-placeholder/disbursements/FWU2026-06-13/files
  -X GET
  -H "Content-Type: application/json"
  -H "X-Authentication-Key: {api_key}"

Response

Returns an array of objects, with each object representing a settlement file within this disbursement. Each object contains a direct, pre-signed AWS S3 download link, along with the settlement file's name and type.

Supported file extensions include .csv, .txt, and .dat.

[
    {
        "name": "FWU2026-06-13.txt",
        "url": "https://s3.amazonaws.com/example-bucket/sample_recipient/FWU2026-06-13.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=EXAMPLEKEY%2F20260722%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260722T100400Z&X-Amz-Expires=30000&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMPLE_SIGNATURE_HASH"
    }
]

404 Error - resource not found

When does this happen?

The server did not find anything that matches the request URI. Either the URI is incorrect or the resource is not available.

In this case, an invalid disbursementId was provided in the path.

What should you do?

Verify that the URI is correct and the resource exists.

{
  "type": "https://developers.flywire.com",
  "title": "Not Found",
  "status": "404",
  "detail": "Invalid Disbursement ID. The disbursement ID provided does not exist in our records. Please verify the ID and try again."
}

Getting a List of all Refunds within a Disbursement

This endpoint returns a paginated list of all individual refunds deducted from this specific disbursement.

The information in this array provides an itemized breakdown of the refunds processed within the a disbursement. It allows you to view individual refund amounts and currencies, as well as identify the originating payment IDs connected to each refund for end-to-end tracking and reconciliation.

Due to security scoping, this endpoint only returns records associated with recipients that your API key has access to.

A disbursement only contains refunds if you are using netting as a refund method

Request

Parameters for the Request Body

No request body needed.

How to Resolve the Path Placeholders of the Endpoint

Exchange {disbursementId} in the endpoint with the disbursement ID.

Optional Query Parameters for Pagination

This endpoint supports pagination. If you are not providing any pagination parameters, the response is returned with default pagination settings.

Pagination parameters are added as query parameters with the request in the format {endpoint_path}?page=2&per_page=10

GET/payments/v1/disbursements/{disbursementId}/refunds

curl https://base-url-placeholder/disbursements/FWU2025-12-31/refunds
  -X GET
  -H "Content-Type: application/json"
  -H "X-Authentication-Key: {api_key}"

Response

Pagination Parameters

refunds array

An array of objects containing information about the individual refunds within the disbursement.

payment object

Object containing information about the original payment for which the refund was created.

{
  "total_entries": 2,
  "total_pages": 1,
  "page": 1,
  "per_page": 10,
  "refunds": [
    {
        "refund_id": "RFWU1CB69313",
        "payment": {
            "id": "FWU787203662",
            "external_reference": "67893"
        },
        "amount": 654334,
        "currency": "GBP"
    },
    {
        "refund_id": "RFWU03D114FE",
        "payment": {
            "id": "FWU718097777",
            "external_reference": null
        },
        "amount": 50000,
        "currency": "GBP"
    }
  ]
}

404 Error - resource not found

When does this happen?

The server did not find anything that matches the request URI. Either the URI is incorrect or the resource is not available.

In this case, an invalid disbursementId was provided in the path.

What should you do?

Verify that the URI is correct and the resource exists.

{
  "type": "https://developers.flywire.com",
  "title": "Not Found",
  "status": "404",
  "detail": "Invalid Disbursement ID. The disbursement ID provided does not exist in our records. Please verify the ID and try again."
}

Getting a List of all Payouts within a Disbursement

This endpoint returns a paginated list of all individual payouts bundled inside this specific disbursement.

The information in this array provides a breakdown of how a disbursement's total amount is distributed across multiple payouts. It allows you to view the individual payout amounts and identify the originating payment IDs connected to each payout for end-to-end tracking.

Due to security scoping, the array only displays the payout objects for recipients that your API key has access to.

Request

Parameters for the Request Body

No request body needed.

How to Resolve the Path Placeholders of the Endpoint

Exchange {disbursementId} in the endpoint with the disbursement ID.

Optional Query Parameters for Pagination

This endpoint supports pagination. If you are not providing any pagination parameters, the response is returned with default pagination settings.

Pagination parameters are added as query parameters with the request in the format {endpoint_path}?page=2&per_page=10

GET/payments/v1/disbursements/{disbursementId}/payouts

curl https://base-url-placeholder/disbursements/FWU2025-12-31/payouts
  -X GET
  -H "Content-Type: application/json"
  -H "X-Authentication-Key: {api_key}"

Response

Pagination Parameters

payouts array

Contains an array of objects representing individual payouts.

This array contains granular tracking details for each individual payout, including unique payout references, the unique reference of the payment that the payout is connected to, and payout-specific status values.

{
  "total_entries": 2,
  "total_pages": 1,
  "page": 1,
  "per_page": 10,
  "payouts": [
    {
      "recipient_id": "FWU",
      "reference": "PFWU744586810",
      "status": "notified",
      "payment_id": "FWU744586810",
      "currency": "GBP",
      "amount": 20000
    },
    {
      "recipient_id": "FWU",
      "reference": "PFWU744586922",
      "status": "notified",
      "payment_id": "FWU744586712",
      "currency": "GBP",
      "amount": 37000
    }
  ]
}

404 Error - resource not found

When does this happen?

The server did not find anything that matches the request URI. Either the URI is incorrect or the resource is not available.

In this case, an invalid disbursementId was provided in the path.

What should you do?

Verify that the URI is correct and the resource exists.

{
  "type": "https://developers.flywire.com",
  "title": "Not Found",
  "status": "404",
  "detail": "Invalid Disbursement ID. The disbursement ID provided does not exist in our records. Please verify the ID and try again."
}

Getting a List of all Adjustments within a Disbursement

This endpoint returns a paginated list of all individual adjustments applied to a specific disbursement.

You typically only need to call this endpoint if the parent disbursement indicates that adjustments exist (number_of_adjustments > 0).

The response provides an itemized breakdown of each adjustment's amount, category, entry type (credited or debited), and originating entity reference for end-to-end reconciliation.

Due to security scoping, this endpoint only returns records associated with recipients that your API key has access to.

Request

Parameters for the Request Body

No request body needed.

How to Resolve the Path Placeholders of the Endpoint

Exchange {disbursementId} in the endpoint with the disbursement ID.

Optional Query Parameters for Pagination

This endpoint supports pagination. If you are not providing any pagination parameters, the response is returned with default pagination settings.

Pagination parameters are added as query parameters with the request in the format {endpoint_path}?page=2&per_page=10

GET/payments/v1/disbursements/{disbursementId}/adjustments

curl https://base-url-placeholder/disbursements/FWU2025-12-31/adjustments
  -X GET
  -H "Content-Type: application/json"
  -H "X-Authentication-Key: {api_key}"

Response

Pagination Parameters

adjustments array

Contains an array of objects representing individual adjustments applied to the disbursement.

{
  "total_entries": 1,
  "total_pages": 1,
  "page": 1,
  "per_page": 10,
  "adjustments": [
    {
      "reference": "ADJ260612052533CMGDE",
      "category": "surcharge",
      "amount": 60000,
      "currency": "USD",
      "entry_type": "credit",
      "entity": "payment",
      "entity_reference": "FWU928923284"
    }
  ]
}

404 Error - resource not found

When does this happen?

The server did not find anything that matches the request URI. Either the URI is incorrect or the resource is not available.

In this case, an invalid disbursementId was provided in the path.

What should you do?

Verify that the URI is correct and the resource exists.

{
  "type": "https://developers.flywire.com",
  "title": "Not Found",
  "status": "404",
  "detail": "Invalid Disbursement ID. The disbursement ID provided does not exist in our records. Please verify the ID and try again."
}