---
title: "List transfers"
method: GET
path: "/v2/transfers"
---

# List transfers

`GET /v2/transfers`

## Request

- Base URL: `https://api.slash.com`
- URL: `https://api.slash.com/v2/transfers`
- Auth: API key in header `X-API-Key`

Return transfers across every supported payment rail, newest first. Use `type` to select one rail.

## Query parameters

- `cursor` string
- `limit` integer
- `sort` 'date'
- `sortDirection` 'asc' | 'desc'
- `type` 'ach' | 'wire' | 'international_wire' | 'realtime' | 'book': Payment rail of a transfer.
- `status` 'pending' | 'pending_destination' | 'pending_approval' | 'in_review' | 'scheduled' | 'canceled' | 'failed' | 'settled' | 'returned': Lifecycle state across every transfer rail.
- `accountId` string
- `fromAccount` string
- `destinationId` string
- `from` string, date-time
- `to` string, date-time

## Response `200`

A page of transfers.

- TransferList
  - `items` Transfer[], required
    - union: A money movement request. One transfer can produce multiple transactions, including source, destination, return, and fee entries.
      - TransferAch: An ACH transfer or a queued ACH awaiting destination details.
        - `id` string, required: Transfer id with the `transfer_intent_` prefix.
        - `accountId` string, required: Account containing the source balance.
        - `fromAccount` string: Source virtual-account id, when the transfer is scoped to one.
        - `amount` Money, required: A signed monetary amount expressed in minor units.
          - `amount` integer, required: Amount in the currency's minor units.
          - `currency` string, required: Uppercase ISO 4217 currency code.
        - `description` string: Human-readable private transfer memo.
        - `statementDescriptor` string: Statement or network descriptor supplied when the transfer was created.
        - `billId` string: Bill this transfer pays, when it was linked to one, with the `bill_` prefix. Set from `billId` at creation or by `POST /v2/bills/{billId}/payments`. Absent when your key can't see that bill.
        - `transactionIds` string[], required: Transaction ids produced by this transfer.
        - `createdAt` string, date-time, required: Time the transfer was created.
        - `submittedAt` string, date-time: Time the transfer was submitted for processing.
        - `settledAt` string, date-time: Time the transfer settled.
        - `failedAt` string, date-time: Time the transfer failed.
        - `canceledAt` string, date-time: Time the transfer was canceled.
        - `recipientId` string: Recipient receiving the transfer.
        - `destinationId` string: Saved destination used for the transfer.
        - `type` 'ach', required
        - `status` 'pending' | 'pending_destination' | 'pending_approval' | 'in_review' | 'scheduled' | 'canceled' | 'failed' | 'settled' | 'returned', required: Lifecycle state of an ACH transfer.
        - `informationRequestId` string: Information request backing a queued ACH transfer.
        - `ach` object, required
          - `speed` 'standard', required
          - `companyEntryDescription` string
          - `companyDiscretionaryData` string
          - `addenda` string
          - `submitsAt` string, date-time
          - `traceNumber` string
          - `returnCode` string
          - `returnReason` string
      - TransferWire: A domestic wire transfer, or a queued wire awaiting destination details.
        - `id` string, required: Transfer id with the `transfer_intent_` prefix.
        - `accountId` string, required: Account containing the source balance.
        - `fromAccount` string: Source virtual-account id, when the transfer is scoped to one.
        - `amount` Money, required: A signed monetary amount expressed in minor units.
          - `amount` integer, required: Amount in the currency's minor units.
          - `currency` string, required: Uppercase ISO 4217 currency code.
        - `description` string: Human-readable private transfer memo.
        - `statementDescriptor` string: Statement or network descriptor supplied when the transfer was created.
        - `billId` string: Bill this transfer pays, when it was linked to one, with the `bill_` prefix. Set from `billId` at creation or by `POST /v2/bills/{billId}/payments`. Absent when your key can't see that bill.
        - `transactionIds` string[], required: Transaction ids produced by this transfer.
        - `createdAt` string, date-time, required: Time the transfer was created.
        - `submittedAt` string, date-time: Time the transfer was submitted for processing.
        - `settledAt` string, date-time: Time the transfer settled.
        - `failedAt` string, date-time: Time the transfer failed.
        - `canceledAt` string, date-time: Time the transfer was canceled.
        - `recipientId` string: Recipient receiving the transfer.
        - `destinationId` string: Saved destination used for the transfer.
        - `type` 'wire', required
        - `status` 'pending' | 'pending_destination' | 'pending_approval' | 'in_review' | 'scheduled' | 'canceled' | 'failed' | 'settled' | 'returned', required: Lifecycle state of a domestic or international wire transfer.
        - `informationRequestId` string: Information request backing a queued wire transfer.
        - `wire` object, required
          - `imad` string
          - `omad` string
          - `returnReason` string
      - TransferInternationalWire: A domestic-currency or foreign-currency international wire.
        - `id` string, required: Transfer id with the `transfer_intent_` prefix.
        - `accountId` string, required: Account containing the source balance.
        - `fromAccount` string: Source virtual-account id, when the transfer is scoped to one.
        - `amount` Money, required: A signed monetary amount expressed in minor units.
          - `amount` integer, required: Amount in the currency's minor units.
          - `currency` string, required: Uppercase ISO 4217 currency code.
        - `description` string: Human-readable private transfer memo.
        - `statementDescriptor` string: Statement or network descriptor supplied when the transfer was created.
        - `billId` string: Bill this transfer pays, when it was linked to one, with the `bill_` prefix. Set from `billId` at creation or by `POST /v2/bills/{billId}/payments`. Absent when your key can't see that bill.
        - `transactionIds` string[], required: Transaction ids produced by this transfer.
        - `createdAt` string, date-time, required: Time the transfer was created.
        - `submittedAt` string, date-time: Time the transfer was submitted for processing.
        - `settledAt` string, date-time: Time the transfer settled.
        - `failedAt` string, date-time: Time the transfer failed.
        - `canceledAt` string, date-time: Time the transfer was canceled.
        - `recipientId` string: Recipient receiving the transfer.
        - `destinationId` string: Saved destination used for the transfer.
        - `type` 'international_wire', required
        - `status` 'pending' | 'pending_destination' | 'pending_approval' | 'in_review' | 'scheduled' | 'canceled' | 'failed' | 'settled' | 'returned', required: Lifecycle state of a domestic or international wire transfer.
        - `internationalWire` object, required
          - `fxQuoteId` string
          - `purposeCode` string
          - `remittanceInfo` string
          - `intermediaryBankBic` string
          - `uetr` string
          - `returnReason` string
      - TransferRealtime: An RTP or FedNow transfer, or a queued realtime transfer awaiting destination details.
        - `id` string, required: Transfer id with the `transfer_intent_` prefix.
        - `accountId` string, required: Account containing the source balance.
        - `fromAccount` string: Source virtual-account id, when the transfer is scoped to one.
        - `amount` Money, required: A signed monetary amount expressed in minor units.
          - `amount` integer, required: Amount in the currency's minor units.
          - `currency` string, required: Uppercase ISO 4217 currency code.
        - `description` string: Human-readable private transfer memo.
        - `statementDescriptor` string: Statement or network descriptor supplied when the transfer was created.
        - `billId` string: Bill this transfer pays, when it was linked to one, with the `bill_` prefix. Set from `billId` at creation or by `POST /v2/bills/{billId}/payments`. Absent when your key can't see that bill.
        - `transactionIds` string[], required: Transaction ids produced by this transfer.
        - `createdAt` string, date-time, required: Time the transfer was created.
        - `submittedAt` string, date-time: Time the transfer was submitted for processing.
        - `settledAt` string, date-time: Time the transfer settled.
        - `failedAt` string, date-time: Time the transfer failed.
        - `canceledAt` string, date-time: Time the transfer was canceled.
        - `recipientId` string: Recipient receiving the transfer.
        - `destinationId` string: Saved destination used for the transfer.
        - `type` 'realtime', required
        - `status` 'pending' | 'pending_destination' | 'pending_approval' | 'in_review' | 'scheduled' | 'canceled' | 'failed' | 'settled', required: Lifecycle state of a realtime (RTP/FedNow) transfer.
        - `informationRequestId` string: Information request backing a queued realtime transfer.
        - `realtime` object, required
          - `remittanceInfo` string
      - TransferBook: A transfer between Slash balances in the same Account.
        - `id` string, required: Transfer id with the `transfer_intent_` prefix.
        - `accountId` string, required: Account containing the source balance.
        - `fromAccount` string: Source virtual-account id, when the transfer is scoped to one.
        - `amount` Money, required: A signed monetary amount expressed in minor units.
          - `amount` integer, required: Amount in the currency's minor units.
          - `currency` string, required: Uppercase ISO 4217 currency code.
        - `description` string: Human-readable private transfer memo.
        - `statementDescriptor` string: Statement or network descriptor supplied when the transfer was created.
        - `billId` string: Bill this transfer pays, when it was linked to one, with the `bill_` prefix. Set from `billId` at creation or by `POST /v2/bills/{billId}/payments`. Absent when your key can't see that bill.
        - `transactionIds` string[], required: Transaction ids produced by this transfer.
        - `createdAt` string, date-time, required: Time the transfer was created.
        - `submittedAt` string, date-time: Time the transfer was submitted for processing.
        - `settledAt` string, date-time: Time the transfer settled.
        - `failedAt` string, date-time: Time the transfer failed.
        - `canceledAt` string, date-time: Time the transfer was canceled.
        - `type` 'book', required
        - `status` 'pending' | 'scheduled' | 'in_review' | 'canceled' | 'failed' | 'settled', required: Lifecycle state of a book transfer between Slash balances.
        - `toAccount` string: Destination virtual-account id.
  - `metadata` PaginationMetadata, required
    - `nextCursor` string: Opaque cursor for the next page. Omitted on the final page.
    - `count` integer, required: Number of items in this page.

## Other responses

- `400`: - `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.
- `401`: - `unauthorized` — API key authentication is missing or invalid.
- `403`: - `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity. - `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime. - `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.
- `404`: - `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.
- `429`: The request exceeded the applicable rate limit. The response body is plain text, not the error object; clients must not depend on its wording.
- `500`: - `internal` — Slash could not complete the request. Quote `referenceId` when contacting Slash support.

## Changes

- **2026-10-21** `bcb64860ba55`: 2 info
  - added the optional property `items/items/oneOf[subschema #2: TransferWire]/allOf[subschema #2]/informationRequestId` to the response with the `200` status
  - added the optional property `items/items/oneOf[subschema #4: TransferRealtime]/allOf[subschema #2]/informationRequestId` to the response with the `200` status
- **2026-10-20** `6e19af06af22`: 3 warning
  - added the new `pending_destination` enum value to the `items/items/oneOf[subschema #2: TransferWire]/allOf[subschema #2]/status` response property for the response status `200`
  - added the new `pending_destination` enum value to the `items/items/oneOf[subschema #3: TransferInternationalWire]/allOf[subschema #2]/status` response property for the response status `200`
  - added the new `pending_destination` enum value to the `items/items/oneOf[subschema #4: TransferRealtime]/allOf[subschema #2]/status` response property for the response status `200`
- **2026-10-16** `8b5d371ffeea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/slashfi/apis/slash-public-api/changes/v2/transfers/get.md)

---

[API](https://skmtc.dev/slashfi/apis/slash-public-api.md) - [All operations](https://skmtc.dev/slashfi/apis/slash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/slashfi/apis/slash-public-api/revisions/eaed2d63c9e2?raw)
