# Retrieve a fund transfer

Operation ID: `getFundTransfer`

Group: Banking › Fund Transfers

[Open in the interactive reference](https://docs.api.lensing.ai/lensing/v1/endpoints/getFundTransfer)

`GET /banking/fund-transfers/{id}`

Read-only: Reads and returns; changes nothing.

Retrieves a fund transfer. Use the fund transfer's id, not its fundTransferNumber.

Each side of the transfer has one line in lines. A line's accountType says which side it is: 'from' or 'to'. On an intercompany transfer, the two sides belong to different legal entities, and toEntityId is the receiving entity.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Api-Version` | header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version `v1`. |
| `id` | path | string | yes | The unique identifier of the fund transfer you want to retrieve. Example: `"5d9be174-80c2-465f-a165-9b7bcd59b8cc"`. |

## Response

`200` Success

Under `data` (getFundTransferOutput):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | yes | The unique identifier for the fund transfer. |
| `fundTransferNumber` | string | no | The fund transfer number, for example 'FT-71122'. Absent while none has been assigned. |
| `name` | string | no | The display name of the fund transfer. |
| `description` | string | no | A free-form description of the transfer. |
| `transferDate` | date | yes | The date the money moved. Format YYYY-MM-DD. |
| `transferAmount` | decimal | no | The amount moved, in the transfer currency. |
| `currency` | string | no | The transfer currency. Format ISO 4217, for example 'USD'. transferAmount is in this currency. |
| `exchangeRate` | decimal | no | The exchange rate applied when the two accounts are held in different currencies. |
| `isVoided` | boolean | no | Whether the transfer has been voided. A voided transfer is kept for audit rather than deleted. |
| `isIntercompany` | boolean | no | Whether the transfer moves money between two legal entities rather than between two accounts of one entity. When true, toEntityId names the receiving entity. |
| `journalEntryNumber` | string | no | The number of the journal entry this transfer posted to, on GET accounting/journal-entries. Absent until the transfer has posted. |
| `origin` | string | no | The system or process the transfer came from. |
| `externalUrl` | string | no | An absolute http or https link to the source document in an external system. |
| `externalPaymentId` | string | no | The identifier of this payment in the external system that initiated the transfer. It is not unique. |
| `fromAccountId` | string | no | The general-ledger account the money left. See id on GET accounting/accounts/:id. |
| `fromAccountName` | string | no | The name of the account the money left. |
| `toAccountId` | string | no | The general-ledger account the money arrived in. See id on GET accounting/accounts/:id. |
| `toAccountName` | string | no | The name of the account the money arrived in. |
| `entityId` | string | no | The legal entity the transfer is posted under. On an intercompany transfer this is the sending entity. See id on GET base/entities. |
| `entityName` | string | no | The name of the legal entity the transfer is posted under. |
| `toEntityId` | string | no | The receiving legal entity on an intercompany transfer. Absent on a same-entity transfer. See id on GET base/entities. |
| `toEntityName` | string | no | The name of the receiving legal entity on an intercompany transfer. |
| `lastModifiedDate` | date-time | yes | The date and time the fund transfer last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
| `lines` | array<object> | no | The two sides of the transfer, one line per side. Read accountType to tell them apart rather than relying on order. |
| `lines[].id` | string | yes | The unique identifier for the line. |
| `lines[].lineNumber` | string | no | The line number. |
| `lines[].accountType` | string | yes | Which side of the transfer this line is. Possible values: 'from', 'to'. |
| `lines[].description` | string | no | A free-form description of the line. |
| `lines[].amount` | decimal | no | The line amount, in the line currency. |
| `lines[].currency` | string | no | The currency of the line. Format ISO 4217, for example 'USD'. It differs from the transfer currency only on a cross-currency transfer. |
| `lines[].bankFee` | decimal | no | The bank fee charged on this side of the transfer, in the line currency. |

```json
{
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "fundTransferNumber": "<fundTransferNumber>",
    "name": "<name>",
    "description": "<description>",
    "transferDate": "2026-01-15",
    "transferAmount": "19.99",
    "currency": "<currency>",
    "exchangeRate": "19.99",
    "isVoided": true,
    "isIntercompany": true,
    "journalEntryNumber": "<journalEntryNumber>",
    "origin": "<origin>",
    "externalUrl": "<externalUrl>",
    "externalPaymentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "fromAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "fromAccountName": "<fromAccountName>",
    "toAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "toAccountName": "<toAccountName>",
    "entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "entityName": "<entityName>",
    "toEntityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "toEntityName": "<toEntityName>",
    "lastModifiedDate": "2026-01-15T09:30:00.000Z",
    "lines": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "lineNumber": "<lineNumber>",
        "accountType": "<accountType>",
        "description": "<description>",
        "amount": "19.99",
        "currency": "<currency>",
        "bankFee": "19.99"
      }
    ]
  },
  "diagnostics": [
    {
      "code": "<code>",
      "message": "<message>",
      "severity": "error",
      "path": [
        "<path>"
      ],
      "details": "<details>"
    }
  ]
}
```

## Errors

| Code | Status |
| --- | --- |
| `NOT_FOUND` | 400 |

## Statuses

- `400` — Invalid request or business failure. Codes: NOT_FOUND
- `401` — The request carries no valid access token.
- `403` — Not authorized
- `404` — Not found
- `429` — Too many requests from this client address. The response has no body and no `Retry-After` header.
- `500` — Internal server error
