API

BankAccountDetail

Bank account details: create several, or create a payment return.

Operations

Every route this entity exposes. Each route links to its own reference on this page.

Method Route SDK operation Returns
POST /profiles/{profileId}/account-details/payments/{paymentId}/returns create Payment return created
POST /profiles/{profileId}/bank-details create Bank account details created

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.BankAccountDetail(nil).Create(map[string]any{"profile_id": 1, "targetAccountId": 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:BankAccountDetail():create({ profile_id = 1, targetAccountId = 1 })

PHP

Construct client as shown in the PHP setup, then call the operations:

$created = $client->BankAccountDetail()->create(["profile_id" => 1, "targetAccountId" => 1]);

Python

Construct client as shown in the Python setup, then call the operations:

created = client.BankAccountDetail().create({ "profile_id": 1, "targetAccountId": 1 })

Ruby

Construct client as shown in the Ruby setup, then call the operations:

created = client.BankAccountDetail.create({ "profile_id" => 1, "targetAccountId" => 1 })

TypeScript

Construct client as shown in the TypeScript setup, then call the operations:

const created = await client.BankAccountDetail().create({ profile_id: 1, targetAccountId: 1 })

Fields

Field Type Required Description
active boolean No Status of the account detail.
currency string No Account detail currency (ISO 4217 Alphabetic Code).
id string No Account detail ID.
internationalDetails one,object,null No International bank account details.
localDetails object No Local bank account details.
reason string No Reason for the return.
targetAccountId integer Yes ID of the currency balance to create account details on.

create

POST /profiles/{profileId}/account-details/payments/{paymentId}/returns

Operation ID: bankAccountDetailsReturnsCreate.

Authentication: bearer token (UserToken).

Parameters

Parameter In Type Required Description
profileId path integer (int64) Yes The ID of the profile that received the payment.
paymentId path integer (int64) Yes The ID of the payment to return.
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
reason enum: INCORRECT_ACCOUNT_NUMBER, CLOSED_ACCOUNT, BLOCKED_ACCOUNT, CANCELLATION_REQUEST, REGULATORY, CUSTOMER_REQUEST No Reason for the return. Required when returning SWIFT payments.

Responses

201: Payment return created

application/json

Property Type Required Description
id string (uuid) No ID of the return created.
400: Invalid request

application/json

Property Type Required Description
errors array of object No
errors[].arguments array of any No Additional context values related to the error.
errors[].code string No Error code.
errors[].message string No Error message.
404: Payment not found

application/json

Property Type Required Description
errors array of object No
errors[].arguments array of any No Additional context values related to the error.
errors[].code string No Error code.
errors[].message string No Error message.
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header

application/json

The response is object.

POST /profiles/{profileId}/bank-details

Operation ID: bankAccountDetailsBankDetailsCreate.

Authentication: bearer token (UserToken).

Parameters

Parameter In Type Required Description
profileId path integer (int64) Yes The ID of the profile to create bank account details for.
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
targetAccountId integer (int64) Yes ID of the currency balance to create account details on.

Responses

200: Bank account details created

application/json

Property Type Required Description
active boolean No Status of the account detail.
currency string No Account detail currency (ISO 4217 Alphabetic Code).
id string No Account detail ID.
internationalDetails object,null No International bank account details. Only returned if SWIFT payments are supported for that currency.
internationalDetails.bankAddress string No Address of the bank.
internationalDetails.bankName string No Name of the bank.
internationalDetails.iban string No IBAN.
internationalDetails.swiftCode string No Bank SWIFT code.
internationalDetails.type string No Type of account detail.
localDetails object No Local bank account details.
localDetails.accountNumber string No Bank account number.
localDetails.bankAddress string No Address of the bank.
localDetails.bankName string No Name of the bank.
localDetails.sortCode string No Sort code of the bank.
localDetails.type string No Type of account detail.
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header

application/json

The response is object.