API

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.