Outgoing Wire Transfers

The Outgoing Wire Transfer transaction is used to transfer funds from managed accounts to an external bank account.

Create an outgoing wire transfer

Transfers funds from managed accounts to an external bank account.

The Outgoing Wire Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees).

Note that even if the transaction is created successfully, you still need to check its state in order to determine if it is pending completion of an authentication challenge by the user.

Securityauth_token and api_key
Request
header Parameters
idempotency-ref
string

A unique call reference generated by the caller that, taking into consideration the payload as well as the operation itself, helps avoid duplicate operations. Idempotency reference uniqueness is maintained for at least 24 hours.

Request Body schema: application/json
required
profileId
required
string (ProfileId) ^[0-9]+$

The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

tag
string (Tag) <= 50 characters ^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

required
object

The managed account from which funds will be collected.

required
object (CurrencyAmount)

The amount, in same currency as source and destination, that was transferred from the source.

description
string

These details are passed to the beneficiary as the reference . This field is mandatory for wire transfers executed over SEPA. The allowed length is dependent on the payment type:

SEPA <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

Faster Payments <= 18 characters

required
OutgoingWireTransferBeneficiary (object) or BeneficiaryId (object) or ExternalAccountId (object)
scheduledTimestamp
string (ScheduledTimestamp) ^[0-9]+$

The epoch timestamp at which the transaction is scheduled to be executed.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/outgoing_wire_transfers
Request samples
application/json
{
  • "profileId": "string",
  • "tag": "string",
  • "sourceInstrument": {
    },
  • "transferAmount": {
    },
  • "description": "string",
  • "destinationBeneficiary": {
    },
  • "scheduledTimestamp": "string"
}
Response samples
application/json
{
  • "id": "string",
  • "profileId": "string",
  • "tag": "string",
  • "sourceInstrument": {
    },
  • "transferAmount": {
    },
  • "description": "string",
  • "type": "SEPA",
  • "destination": {
    },
  • "state": "INVALID",
  • "rejectedInfo": "SYSTEM",
  • "challengeExemptionReason": "LOW_VALUE",
  • "creationTimestamp": 0,
  • "scheduledTimestamp": "string",
  • "executionTimestamp": "string",
  • "cancellationReason": "string",
  • "validationOutcomes": [
    ]
}

Get all outgoing wire transfer transactions

Retrieves all the outgoing wire transfer transactions performed by the logged-in identity.

Securityauth_token and api_key
Request
query Parameters
offset
integer <int32> >= 0

The offset value for paging, indicating the initial item number to be returned from the data set satisfying the given criteria. Leave out to fetch the first page of results.

limit
integer <int32> [ 1 .. 100 ]

The limit of the results for paging, starting at the offset. Limit is always capped at 100.

profileId
string (ProfileId) ^[0-9]+$

Filter by the managed account/card profile. Leave out to fetch all managed accounts/card.

object

Filter by the source instrument id (which must be a managed account).

sourceInstrument.id
string (Id) ^[0-9]+$

Filter by the source instrument id. Must be specified when source.type is provided.

sourceInstrument.type
string (SourceInstrumentType)

Filter by the source instrument type. Must be specified when source.id is provided.

Value: "managed_accounts"
state
Array of strings (OutgoingWireTransferState) unique

Filter by the outgoing wire transfer state. Leave out to fetch all states.

Items Enum: "INVALID" "PENDING_CHALLENGE" "SUBMITTED" "REJECTED" "APPROVED" "FAILED" "COMPLETED" "RETURNED" "SCHEDULED" "CANCELLED" "PENDING_CONFIRMATION"
createdFrom
integer <int64>

Filter for outgoing wire transfer transactions created after createdFrom timestamp, expressed in Epoch timestamp using millisecond precision. Leave out to fetch all outgoing wire transfer transactions.

createdTo
integer <int64>

Filter for Outgoing Wire Transfer transactions created before createdTo timestamp, expressed in Epoch timestamp using millisecond precision. Leave out to fetch all outgoing wire transfer transactions.

executedFrom
integer <int64>

Filter for outgoing wire transfer transactions executed after executedFrom timestamp, expressed in Epoch timestamp using millisecond precision. Leave out to fetch all outgoing wire transfer transactions.

executedTo
integer <int64>

Filter for Outgoing Wire Transfer transactions executed before executedTo timestamp, expressed in Epoch timestamp using millisecond precision. Leave out to fetch all outgoing wire transfer transactions.

tag
string

Filter by the outgoing wire transfer tag. The exact tag must be provided, as wildcards are not supported. Leave out to fetch all entries.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

get/outgoing_wire_transfers
Request samples
Response samples
application/json
{
  • "transfer": [
    ],
  • "count": 0,
  • "responseCount": 0
}

Create a bulk of outgoing wire transfer transactionsDeprecated

Deprecated in favour of the Operations in Bulk.

Transfers funds from multiple managed accounts to multiple external bank accounts.

The Outgoing Wire Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees).

Note that even if the transaction is created successfully, you still need to check its state in order to determine if it is pending completion of an authentication challenge by the user.

Securityauth_token and api_key
Request
header Parameters
idempotency-ref
string

A unique call reference generated by the caller that, taking into consideration the payload as well as the operation itself, helps avoid duplicate operations. Idempotency reference uniqueness is maintained for at least 24 hours.

Request Body schema: application/json
required
required
Array of objects (OutgoingWireTransferCreateRequest)

The object representing the outgoing wire transfers' details.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/outgoing_wire_transfers/bulk/create
Request samples
application/json
{
  • "outgoingWireTransfers": [
    ]
}
Response samples
application/json
{
  • "response": [
    ]
}

Cancel outgoing wire transfer transactionsDeprecated

Cancels outgoing wire transfers that are scheduled to be executed in the future.

Securityauth_token and api_key
Request
Request Body schema: application/json
required
required
Array of objects (TransactionCancelRequest)

Contains the details of the transactions to be cancelled.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/outgoing_wire_transfers/bulk/cancel
Request samples
application/json
{
  • "cancellations": [
    ]
}
Response samples
application/json
{
  • "cancellations": [
    ]
}

Get an outgoing wire transfer transaction

Retrieves the outgoing wire transfer identified by the id path parameter.

Securityauth_token and api_key
Request
path Parameters
id
required
string^[0-9]+$

The unique identifier of the Outgoing Wire Transfer transaction.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

404

Not found - The requested resource couldn't be found.

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

get/outgoing_wire_transfers/{id}
Request samples
Response samples
application/json
{
  • "id": "string",
  • "profileId": "string",
  • "tag": "string",
  • "sourceInstrument": {
    },
  • "transferAmount": {
    },
  • "description": "string",
  • "type": "SEPA",
  • "destination": {
    },
  • "state": "INVALID",
  • "rejectedInfo": "SYSTEM",
  • "challengeExemptionReason": "LOW_VALUE",
  • "creationTimestamp": 0,
  • "scheduledTimestamp": "string",
  • "executionTimestamp": "string",
  • "cancellationReason": "string",
  • "validationOutcomes": [
    ]
}

Cancel an outgoing wire transfer transaction

Cancel the outgoing wire transfer identified by the id path parameter.

Securityauth_token and api_key
Request
path Parameters
id
required
string^[0-9]+$

The unique identifier of the Outgoing Wire Transfer transaction.

Request Body schema: application/json
optional
cancellationReason
string (TransactionCancellationReason) <= 50 characters ^[ a-zA-Z0-9_-]+$

The reason the scheduled transaction was cancelled.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

404

Not found - The requested resource couldn't be found.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

post/outgoing_wire_transfers/{id}/cancel
Request samples
application/json
{
  • "cancellationReason": "string"
}
Response samples
application/json
{
  • "id": "string",
  • "profileId": "string",
  • "tag": "string",
  • "sourceInstrument": {
    },
  • "transferAmount": {
    },
  • "description": "string",
  • "type": "SEPA",
  • "destination": {
    },
  • "state": "INVALID",
  • "rejectedInfo": "SYSTEM",
  • "challengeExemptionReason": "LOW_VALUE",
  • "creationTimestamp": 0,
  • "scheduledTimestamp": "string",
  • "executionTimestamp": "string",
  • "cancellationReason": "string",
  • "validationOutcomes": [
    ]
}

Confirm an outgoing wire transfer transaction

Confirm the outgoing wire transfer identified by the id path parameter.

Securityauth_token and api_key
Request
path Parameters
id
required
string^[0-9]+$

The unique identifier of the Outgoing Wire Transfer transaction.

Responses
200

Success

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

404

Not found - The requested resource couldn't be found.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

post/outgoing_wire_transfers/{id}/confirm
Request samples
Response samples
application/json
{
  • "id": "string",
  • "profileId": "string",
  • "tag": "string",
  • "sourceInstrument": {
    },
  • "transferAmount": {
    },
  • "description": "string",
  • "type": "SEPA",
  • "destination": {
    },
  • "state": "INVALID",
  • "rejectedInfo": "SYSTEM",
  • "challengeExemptionReason": "LOW_VALUE",
  • "creationTimestamp": 0,
  • "scheduledTimestamp": "string",
  • "executionTimestamp": "string",
  • "cancellationReason": "string",
  • "validationOutcomes": [
    ]
}

Issue a one-time password that can be used to verify an outgoing wire transferDeprecated

Deprecated in favour of Challenges endpoints

Starts the verification process for an outgoing wire transfer in which a one-time password is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/otp/{channel} endpoint.

You should only start this process if the outgoing wire transfer state is PENDING_CHALLENGE.

Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always "123456".

Securityauth_token and api_key
Request
path Parameters
id
required
string^[0-9]+$

The unique identifier of the Outgoing Wire Transfer transaction.

channel
required
string (SCAOtpChannel)

The unique identifier for the channel.

Value: "SMS"
Responses
204

Success - No Content.

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

405

Method Not Allowed - The request was received but has been rejected for the requested resource.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/outgoing_wire_transfers/{id}/challenges/otp/{channel}
Request samples
Response samples
application/json
{
  • "message": "string",
  • "syntaxErrors": {
    }
}

Verify an outgoing wire transfer using a one-time passwordDeprecated

Deprecated in favour of Challenges endpoints

Completes the verification process for an outgoing wire transfer.

If the outcome of the verification is successful, the outgoing wire transfer transaction is executed.

If not verified challenge expires after 5 minutes and the number of incorrect OTP attempts is limited to reduce the risk of fraud.

Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always "123456".

Securityauth_token and api_key
Request
path Parameters
id
required
string^[0-9]+$

The unique identifier of the Outgoing Wire Transfer transaction.

channel
required
string (SCAOtpChannel)

The unique identifier for the channel.

Value: "SMS"
Request Body schema: application/json
required
verificationCode
required
string (Nonce) ^[0-9]{6}$

The code received by the user on the device.

Responses
204

Success - No Content.

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/outgoing_wire_transfers/{id}/challenges/otp/{channel}/verify
Request samples
application/json
{
  • "verificationCode": "string"
}
Response samples
application/json
{
  • "message": "string",
  • "syntaxErrors": {
    }
}

Issue a push notification that can be used to verify an outgoing wire transferDeprecated

Deprecated in favour of Challenges endpoints

Starts the verification process for an outgoing wire transfer in which a push notification is sent to a device belonging to the logged-in user that was previously enrolled through the /authentication_factors/push/{channel} endpoint.

You should only start this process if the outgoing wire transfer state is PENDING_CHALLENGE.

Securityauth_token and api_key
Request
path Parameters
id
required
string^[0-9]+$

The unique identifier of the Outgoing Wire Transfer transaction.

channel
required
string (SCAPushChannel)
  • "AUTHY": The push notification is sent on the user's device using Twilio Authy
  • "BIOMETRIC": The push notification is sent to the user's device
Enum: "AUTHY" "BIOMETRIC"
Responses
204

Success - No Content.

400

Bad Request Error - Your request is invalid.

401

Unauthorized - Your credentials or access token are invalid.

403

Forbidden - Access to the requested resource or action is forbidden.

405

Method Not Allowed - The request was received but has been rejected for the requested resource.

409

Conflict

429

Too many requests.

500

Internal Server Error - There is a problem with the server. Please try again later.

503

Service Unavailable - We're temporarily offline for maintenance. Please try again later.

default

Error

post/outgoing_wire_transfers/{id}/challenges/push/{channel}
Request samples
Response samples
application/json
{
  • "message": "string",
  • "syntaxErrors": {
    }
}