TransferRequirement
The fields a transfer needs.
Operations
Every route this entity exposes. Each route links to its own reference on this page.
| Method | Route | SDK operation | Returns |
|---|---|---|---|
POST |
/transfer-requirements |
create |
Returns a list of transfer requirement objects describing the dynamic form fields |
Examples
One example per SDK, generated from the API model. The argument names are the parameters and fields of this entity, and the values are placeholders. The examples are not compiled or executed.
Golang
Construct client as shown in the Golang setup, then call the operations:
created, err := client.TransferRequirement(nil).Create(map[string]any{"quoteUuid": "example", "targetAccount": 1}, nil)
if err != nil {
panic(err)
}
fmt.Println(created)
Lua
Construct client as shown in the Lua setup, then call the operations:
local created, err = client:TransferRequirement():create({ quoteUuid = "example", targetAccount = 1 })
PHP
Construct client as shown in the PHP setup, then call the operations:
$created = $client->TransferRequirement()->create(["quoteUuid" => "example", "targetAccount" => 1]);
Python
Construct client as shown in the Python setup, then call the operations:
created = client.TransferRequirement().create({ "quoteUuid": "example", "targetAccount": 1 })
Ruby
Construct client as shown in the Ruby setup, then call the operations:
created = client.TransferRequirement.create({ "quoteUuid" => "example", "targetAccount" => 1 })
TypeScript
Construct client as shown in the TypeScript setup, then call the operations:
const created = await client.TransferRequirement().create({ quoteUuid: "example", targetAccount: 1 })
Fields
| Field | Type | Required | Description |
|---|---|---|---|
customerTransactionId |
string |
No | Unique identifier for the transfer request |
details |
object |
No | Details |
originatorLegalEntityType |
string |
No | Type of sender. |
quoteUuid |
string |
Yes | V2 quote ID |
targetAccount |
integer |
Yes | Recipient account ID |
create
POST /transfer-requirements
Operation ID: transferRequirementsValidate.
Authentication: bearer token (UserToken) or bearer token (PersonalToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
customerTransactionId |
string (uuid) |
No | Unique identifier for the transfer request |
details |
object |
No | |
details.reference |
string |
No | |
details.sourceOfFunds |
string |
No | |
details.sourceOfFundsOther |
string |
No | |
details.transferNature |
string |
No | |
details.transferPurpose |
string |
No | |
details.transferPurposeInvoiceNumber |
string |
No | |
details.transferPurposeSubTransferPurpose |
string |
No | |
originatorLegalEntityType |
enum: PRIVATE, BUSINESS |
No | Type of sender. Required from March 2026 for Correspondent Send integrations |
quoteUuid |
string (uuid) |
Yes | V2 quote ID |
targetAccount |
integer (int64) |
Yes | Recipient account ID |
Example request body:
{
"details": {
"reference": "Invoice 2026-001",
"sourceOfFunds": "verification.source.of.funds.salary",
"transferPurpose": "verification.transfers.purpose.pay.bills"
},
"originatorLegalEntityType": "PRIVATE",
"quoteUuid": "8fa9be20-ba43-4b15-abbb-9424e1481050",
"targetAccount": 8692237
}
Responses
200: Returns a list of transfer requirement objects describing the dynamic form fields
application/json
| Property | Type | Required | Description |
|---|---|---|---|
[].fields |
array of object |
No | |
[].fields[].group |
array of object |
No | |
[].fields[].group[].displayFormat |
string,null |
No | Display format pattern |
[].fields[].group[].example |
string,null |
No | Example value |
[].fields[].group[].key |
string |
No | Name of the field to include in the JSON |
[].fields[].group[].maxLength |
integer,null (int32) |
No | Maximum valid length of field value |
[].fields[].group[].minLength |
integer,null (int32) |
No | Minimum valid length of field value |
[].fields[].group[].name |
string |
No | Field description |
[].fields[].group[].refreshRequirementsOnChange |
boolean |
No | Whether to call POST transfer-requirements again once the field value is set to discover required lower level fields |
[].fields[].group[].required |
boolean |
No | Indicates if the field is mandatory |
[].fields[].group[].type |
string |
No | Display type of field (for example text, select) |
[].fields[].group[].validationAsync |
string,null |
No | Deprecated. This validation will instead be performed when submitting the request |
[].fields[].group[].validationRegexp |
string,null |
No | Regexp validation pattern |
[].fields[].group[].valuesAllowed |
array,null |
No | List of allowed values |
[].fields[].name |
string |
No | Field description |
[].type |
string |
No | Resource type |
Example response:
[
{
"fields": [
{
"group": [
{
"displayFormat": null,
"example": null,
"key": "reference",
"maxLength": 10,
"minLength": null,
"name": "Transfer reference",
"refreshRequirementsOnChange": false,
"required": false,
"type": "text",
"validationAsync": null,
"validationRegexp": "[a-zA-Z0-9- ]*",
"valuesAllowed": null
}
],
"name": "Transfer reference"
},
{
"group": [
{
"displayFormat": null,
"example": null,
"key": "transferPurpose",
"maxLength": null,
"minLength": null,
"name": "Transfer purpose",
"refreshRequirementsOnChange": true,
"required": true,
"type": "select",
"validationAsync": null,
"validationRegexp": null,
"valuesAllowed": [
{
"key": "verification.transfers.purpose.purchase.property",
"name": "Buying property abroad"
},
{
"key": "verification.transfers.purpose.pay.bills",
"name": "Rent or other property expenses"
},
{
"key": "verification.transfers.purpose.mortgage",
"name": "Mortgage payment"
},
{
"key": "verification.transfers.purpose.pay.tuition",
"name": "Tuition fees or studying expenses"
},
{
"key": "verification.transfers.purpose.send.to.family",
"name": "Sending money home to family"
},
{
"key": "verification.transfers.purpose.living.expenses",
"name": "General monthly living expenses"
},
{
"key": "verification.transfers.purpose.other",
"name": "Other"
}
]
},
{
"displayFormat": null,
"example": null,
"key": "transferPurposeSubTransferPurpose",
"maxLength": null,
"minLength": null,
"name": "Please select a specific reason for your transfer",
"refreshRequirementsOnChange": true,
"required": true,
"type": "select",
"validationAsync": null,
"validationRegexp": null,
"valuesAllowed": [
{
"key": "INTERPRETATION_SERVICE",
"name": "Interpretation service"
},
{
"key": "TRANSLATION_SERVICE",
"name": "Translation service"
},
{
"key": "HUMAN_RESOURCE_SERVICE",
"name": "Human resource service"
},
{
"key": "SOFTWARE_DEVELOPMENT_SERVICE",
"name": "Software development service"
}
]
}
],
"name": "Transfer purpose"
},
{
"group": [
{
"displayFormat": null,
"example": null,
"key": "sourceOfFunds",
"maxLength": null,
"minLength": null,
"name": "Source of funds",
"refreshRequirementsOnChange": true,
"required": true,
"type": "select",
"validationAsync": null,
"validationRegexp": null,
"valuesAllowed": [
{
"key": "verification.source.of.funds.salary",
"name": "Salary"
},
{
"key": "verification.source.of.funds.investment",
"name": "Investments (stocks, properties, etc.)"
},
{
"key": "verification.source.of.funds.inheritance",
"name": "Inheritance"
},
{
"key": "verification.source.of.funds.loan",
"name": "Loan"
},
{
"key": "verification.source.of.funds.other",
"name": "Other"
}
]
}
],
"name": "Source of funds"
}
],
"type": "transfer"
}
]
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.