> ## Documentation Index
> Fetch the complete documentation index at: https://docs.recital.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Finalize Transfer

> Confirm and complete a transfer using the OTP sent during the initiation phase.

### Query Parameters

<ParamField body="otp" type="string">
  The OTP sent to the user's registered email or phone to authorize the transfer.
</ParamField>

<ParamField body="transferReference" type="string">
  The unique transfer reference returned from the initiation call.
</ParamField>

<RequestExample>
  ```bash Example Request theme={null}
  curl --location --request POST 'https://api.recital.finance/api/v1/transfer/finalize?otp=080802&transferReference=BAL-YA9S0J0UQKDVF4EXV2CK4RO5F2' \
  --header 'Authorization: Bearer apiKey' \
  --header 'Content-Type: application/json'
  ```
</RequestExample>

***

### Response

<ResponseField name="message" type="string">
  A descriptive message about the transfer finalization status.
</ResponseField>

<ResponseField name="success" type="boolean">
  Indicates whether the transfer was successfully confirmed.
</ResponseField>

***

<ResponseExample>
  ```json Response theme={null}
  {
    "message": "OTP confirmation failed: Transfer is not currently awaiting OTP",
    "success": false
  }
  ```
</ResponseExample>

### Notes

* This endpoint must only be called after a successful transfer initiation with `shouldFinalize = true`.
* If `success` is `false`, refer to the `message` field for the failure reason
