Transfer between fund accounts
This resource allows transferring amounts between two accounts belonging to the same fund, debiting the source account and crediting the target account.
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Write |
Base URL for each host: Environments (Hosts).
Request
Path Params
| Field | Type | Description |
|---|---|---|
fund_class_key | string | Unique identifier key of the fund at QI DTVM |
{
"amount": 15000,
"description": "Transferência para a conta de cobrança",
"origin_key": "3f2b8c1d-4e5a-4b6c-8d7e-9f0a1b2c3d4e",
"origin_type": "manual_transfer",
"source_account_key": "9c1d0c18-01ea-4c32-a878-1c6391f9aa44",
"target_account_key": "6b5335ed-1380-4348-9520-8998ca6e388b",
"transfer_type": "pix"
}
Body Params
| Field | Type | Required | Description |
|---|---|---|---|
amount | integer | required | Amount to be transferred, in cents (e.g., 15000 = R$ 150.00). Must be greater than zero. |
description | string | required | Transfer description. Up to 255 characters. |
origin_key | string | required | Your identifier (UUID) for this transfer. A second transfer with the same origin_key is refused (TSF000022) while the first one is not canceled. |
origin_type | string | required | Send manual_transfer. |
target_account_key | string | required | Key of the account to be credited (target). |
source_account_key | string | optional | Key of the account to be debited (source). When omitted, the fund's main account is used. |
transfer_type | string | optional | pix or wire_transfer (TED), limited to what the source account supports (see account_configuration in Retrieving Account Information). Default: wire_transfer. |
Both accounts must belong to the fund, be open and be different from each other.
Response
{
"internal_transfer_key": "1d4c2b7a-8e9f-4a0b-b1c2-d3e4f5a6b7c8",
"internal_transfer_status": "pending_validation"
}
| Field | Type | Description |
|---|---|---|
internal_transfer_key | string | Identifier of the transfer at QI Tech. |
internal_transfer_status | string | Status of the transfer at creation time: pending_validation. |
How to confirm the transfer
This transfer does not send a webhook and there is no endpoint to query its status. To confirm it was completed, check the account statements in Retrieving Account Transactions: the debit appears in the source account and the credit in the target account, with the description you sent.
In case of error, resend the request: a transfer that was already created is refused with TSF000022, so you do not transfer twice. See Retry and duplicates.
Errors
| Status | Code | When it happens |
|---|---|---|
| 409 | TSF000022 | A transfer with this origin_key already exists. Do not resend. |
| 400 | TSF000008 | amount equal to or less than zero. |
| 400 | TSF000012 | Invalid origin_type. |
| 400 | TSF000030 | Invalid transfer_type. |
| 400 | TSF000035 | The source account does not accept this transfer_type. |
| 400 | TSF000049 | The fund's cash has already been closed for the day. |
| 400 | TSF000020 | One of the accounts does not belong to the fund. |
| 400 | TSF000018 | One of the accounts is not open. |
| 400 | TSF000036 | Source account is the same as the target account. |
| 404 | TSF000005 | The fund_class_key does not exist. |
| 403 | TSF000034 | The fund does not belong to your manager. |
| 400 | QIT000001 | Invalid body (required field missing, wrong type or field not accepted). |
Authentication, permission and host errors: see API Errors.