---
title: "Retrieve a transfer"
method: GET
path: "/v2/transfers/{transferId}"
---

# Retrieve a transfer

`GET /v2/transfers/{transferId}`

## Request

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

Retrieve the latest state of one accessible transfer.

## Path parameters

- `transferId` string, required

## Response `200`

The transfer.

- 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.

## 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 `oneOf[subschema #2: TransferWire]/allOf[subschema #2]/informationRequestId` to the response with the `200` status
  - added the optional property `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 `oneOf[subschema #2: TransferWire]/allOf[subschema #2]/status` response property for the response status `200`
  - added the new `pending_destination` enum value to the `oneOf[subschema #3: TransferInternationalWire]/allOf[subschema #2]/status` response property for the response status `200`
  - added the new `pending_destination` enum value to the `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/:transferId/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)
