Weavr Outgoing Wire Transfers API
The Outgoing Wire Transfer transaction is used to transfer funds from managed accounts to an external bank account.
The Outgoing Wire Transfer transaction is used to transfer funds from managed accounts to an external bank account.
openapi: 3.1.0
info:
version: v3
title: Weavr Multi Product BackOffice Access Token Outgoing Wire Transfers API
x-logo:
url: https://storage.googleapis.com/weavr-cdn/weavr_logo-new.png
backgroundColor: '#FFFFFF'
altText: Weavr
description: 'Weavr Multi Back Office API allows you, as an innovator, to perform various back office operations concerning
identities and their instruments, without requiring the users to be logged in.
A token is to be obtained through the `access_token` method, and this will allow relevant operations
to be performed on behalf of this same identity.
'
contact:
name: Weavr
url: https://weavr.io
servers:
- description: Weavr Sandbox Environment
url: https://sandbox.weavr.io/multi/backoffice
tags:
- name: Outgoing Wire Transfers
description: 'The Outgoing Wire Transfer transaction is used to transfer funds from managed accounts to an external bank account.
'
paths:
/outgoing_wire_transfers:
post:
tags:
- Outgoing Wire Transfers
summary: Create an outgoing wire transfer
operationId: outgoingWireTransferCreate
x-permissions:
- i:owt:create
description: "Transfers funds from managed accounts to an external bank account.\n\nThe Outgoing Wire Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees).\n\nNote 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. \n"
parameters:
- $ref: '#/components/parameters/idempotency-ref'
requestBody:
$ref: '#/components/requestBodies/OutgoingWireTransferCreateRequest'
responses:
'200':
$ref: '#/components/responses/OutgoingWireTransferResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/OutgoingWireTransferCreateConflict'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
default:
$ref: '#/components/responses/Error'
security:
- auth_token: []
api-key: []
get:
tags:
- Outgoing Wire Transfers
description: Retrieves all the outgoing wire transfer transactions performed by the logged-in identity.
summary: Get all outgoing wire transfer transactions
operationId: outgoingWireTransfersGet
x-permissions:
- i:owt:list
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/profileId'
- name: instrument
in: query
required: false
deprecated: true
description: Deprecated. Use `sourceInstrument.id` and `sourceInstrument.type` instead. Filter by the source instrument id (which must be a managed account).
schema:
type: object
properties:
type:
$ref: '#/components/schemas/SourceInstrumentType'
id:
$ref: '#/components/schemas/Id'
- $ref: '#/components/parameters/sourceInstrument_id'
- $ref: '#/components/parameters/sourceInstrument_type'
- $ref: '#/components/parameters/owtState'
- name: createdFrom
in: query
required: false
description: 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.
schema:
type: integer
format: int64
- name: createdTo
in: query
required: false
description: 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.
schema:
type: integer
format: int64
- name: executedFrom
in: query
required: false
description: 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.
schema:
type: integer
format: int64
- name: executedTo
in: query
required: false
description: 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.
schema:
type: integer
format: int64
- name: tag
in: query
required: false
description: Filter by the outgoing wire transfer tag. The exact tag must be provided, as wildcards are not supported. Leave out to fetch all entries.
schema:
type: string
responses:
'200':
$ref: '#/components/responses/OutgoingWireTransfersGetPageResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/InstrumentForbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
security:
- auth_token: []
api-key: []
/outgoing_wire_transfers/{id}:
get:
tags:
- Outgoing Wire Transfers
description: Retrieves the outgoing wire transfer identified by the `id` path parameter.
summary: Get an outgoing wire transfer transaction
operationId: outgoingWireTransferGet
x-permissions:
- i:owt:get
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
responses:
'200':
$ref: '#/components/responses/OutgoingWireTransferResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/InstrumentForbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
security:
- auth_token: []
api-key: []
patch:
tags:
- Outgoing Wire Transfers
description: Update the beneficiary name of an OWT in PENDING_CONFIRMATION state. Clears and re-runs CoP/VoP validation with the new name.
summary: Update the beneficiary name of an outgoing wire transfer
operationId: outgoingWireTransferUpdateBeneficiaryName
x-permissions:
- i:owt:confirm
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OutgoingWireTransferUpdateBeneficiaryNameRequest'
responses:
'200':
$ref: '#/components/responses/OutgoingWireTransferResponse'
'409':
$ref: '#/components/responses/OutgoingWireTransferUpdateBeneficiaryNameConflict'
security:
- auth_token: []
api-key: []
/outgoing_wire_transfers/{id}/payment_confirmation:
get:
tags:
- Outgoing Wire Transfers
description: Returns a payment-confirmation PDF for the completed outgoing wire transfer identified by the `id` path parameter. If the transfer was subsequently returned, the document also includes the return details.
summary: Get an outgoing wire transfer payment confirmation
operationId: outgoingWireTransferPaymentConfirmation
x-permissions:
- i:owt:get
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
responses:
'200':
description: Success
content:
application/pdf:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/InstrumentForbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/OutgoingWireTransferPaymentConfirmationConflict'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
security:
- auth_token: []
api-key: []
/outgoing_wire_transfers/{id}/cancel:
post:
tags:
- Outgoing Wire Transfers
description: Cancel the outgoing wire transfer identified by the `id` path parameter.
summary: Cancel an outgoing wire transfer transaction
operationId: outgoingWireTransferSingleCancel
x-permissions:
- i:owt:cancel
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
requestBody:
$ref: '#/components/requestBodies/TransactionSingleCancelRequest'
responses:
'200':
$ref: '#/components/responses/OutgoingWireTransferResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/InstrumentForbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/OutgoingWireTransferCancelConflict'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
security:
- auth_token: []
api-key: []
/outgoing_wire_transfers/{id}/confirm:
post:
tags:
- Outgoing Wire Transfers
description: Confirm the outgoing wire transfer identified by the `id` path parameter.
summary: Confirm an outgoing wire transfer transaction
operationId: outgoingWireTransferConfirm
x-permissions:
- i:owt:confirm
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
responses:
'200':
$ref: '#/components/responses/OutgoingWireTransferResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/InstrumentForbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/OutgoingWireTransferConfirmConflict'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
security:
- auth_token: []
api-key: []
/outgoing_wire_transfers/{id}/challenges/otp/{channel}:
post:
deprecated: true
tags:
- Outgoing Wire Transfers
description: 'Deprecated in favour of [Challenges endpoints](#tag/Confirmation-Challenges/operation/multipleSCAChallenge)
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\"._
'
summary: Issue a one-time password that can be used to verify an outgoing wire transfer
operationId: outgoingWireTransferSCAChallenge
x-permissions:
- i:owt:create_challenge
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
- $ref: '#/components/parameters/channel'
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'409':
$ref: '#/components/responses/OutgoingWireTransferSCAChallengeConflict'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
default:
$ref: '#/components/responses/Error'
security:
- auth_token: []
api-key: []
/outgoing_wire_transfers/{id}/challenges/otp/{channel}/verify:
post:
deprecated: true
tags:
- Outgoing Wire Transfers
description: 'Deprecated in favour of [Challenges endpoints](#tag/Confirmation-Challenges/operation/multipleSCAVerify)
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\"._
'
summary: Verify an outgoing wire transfer using a one-time password
operationId: outgoingWireTransferSCAVerify
x-permissions:
- i:owt:verify_challenge
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
- $ref: '#/components/parameters/channel'
requestBody:
$ref: '#/components/requestBodies/SCAVerifyRequest'
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/OutgoingWireTransferSCAVerifyConflict'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
default:
$ref: '#/components/responses/Error'
security:
- auth_token: []
api-key: []
/outgoing_wire_transfers/{id}/challenges/push/{channel}:
post:
deprecated: true
tags:
- Outgoing Wire Transfers
description: 'Deprecated in favour of [Challenges endpoints](#tag/Confirmation-Challenges/operation/multipleSCAChallengePush)
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`.
'
summary: Issue a push notification that can be used to verify an outgoing wire transfer
operationId: outgoingWireTransferSCAChallengePush
x-permissions:
- i:owt:create_push_challenge
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Outgoing Wire Transfer transaction.
schema:
type: string
pattern: ^[0-9]+$
- $ref: '#/components/parameters/scaPushChannel'
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'405':
$ref: '#/components/responses/MethodNotAllowed'
'409':
$ref: '#/components/responses/OutgoingWireTransferSCAChallengePushConflict'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
default:
$ref: '#/components/responses/Error'
security:
- auth_token: []
api-key: []
components:
schemas:
OutgoingWireTransferRejectedInfo:
description: "Additional info when the outgoing wire transfer has been rejected, as follows:\n - SYSTEM: The wire transfer was rejected by the system.\n - USER: The wire transfer was rejected by the user.\n"
type: string
enum:
- SYSTEM
- USER
FasterPaymentsBankDetailsOrBACSBankDetails:
required:
- accountNumber
- sortCode
type: object
description: Bank details used in case the wire transfer is executed over Faster Payments.
properties:
accountNumber:
type: string
pattern: ^[0-9]{8}$
description: Account number, required for wire transfer over Faster Payments.
sortCode:
type: string
pattern: ^[0-9]{6}$
description: Sort code, required for wire transfer over Faster Payments.
secondaryReference:
type: string
ExternalAccountId:
type: object
description: The id of an external account, such as a Linked Account, registered with the Weavr Platform.
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ExternalAccountType'
id:
type: string
pattern: ^[0-9]+$
UKConfirmationOfPayeeResult:
type: object
required:
- match
properties:
match:
type: string
description: The result of matching performed by the UK Confirmation of Payee responder
enum:
- EXACT_MATCH
- CLOSE_MATCH
- NO_MATCH
- NOT_POSSIBLE
reasonCode:
type: string
description: "The reason why the matching failed at the UK Confirmation of Payee responder:\n\n - ANNM: The CoP responder confirms that the account `name` provided does not match;\n - MBAM: The CoP responder indicates that the account `name` provided closely matches the actual account in its records, the actual account name is returned in the `accountName` field;\n - BANM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that the actual account matching the `name` provided is actually BUSINESS;\n - PANM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that the actual account matching the `name` provided is actually PERSONAL;\n - BAMM: The account `type` that the user specified is 'PERSONAL', but the CoP responder indicates that an account closely matching the `name` provided is BUSINESS;\n - PAMM: The account `type` that the user specified is 'BUSINESS', but the CoP responder indicates that an account closely matching the `name` provided is PERSONAL;\n - AC01: The account does not exist in the CoP responders books, the `accountNumber` specified is likely incorrect; \n - IVCR: The CoP responder was unable to locate an account based on the `secondaryReference` field;\n - ACNS: The account is not supported for CoP by the CoP responder;\n - OPTO: The owner of the account has opted out of CoP service by the CoP responder;\n - CASS: The account has been switched using the Current Account Switch Service;\n - SCNS: The `sortCode` provided is not supported at endpoint;\n"
enum:
- ANNM
- MBAM
- BANM
- PANM
- BAMM
- PAMM
- AC01
- IVCR
- ACNS
- OPTO
- CASS
- SCNS
accountName:
type: string
description: 'CoP: Returned when the `match` is a `CLOSE_MATCH` and the `reasonCode` is MBAM, BAMM or PAMM
VoP: Returned when the `match` is a `CLOSE_MATCH`
'
DateOfBirth:
type: string
format: date
description: The date of birth in ISO 8601 format (YYYY-MM-DD).
SEPAVerificationOfPayeeResult:
type: object
required:
- match
properties:
match:
type: string
description: The result of the SEPA Verification of Payee check performed by the responding PSP.
enum:
- MATCH
- NO_MATCH
- CLOSE_MATCH
- NOT_POSSIBLE
accountName:
type: string
description: 'The name of the account holder as registered with the responding PSP.
Returned when the match result is CLOSE_MATCH to help the payer verify the payee.
'
OutgoingWireTransferUpdateBeneficiaryNameConflict:
type: object
properties:
errorCode:
$ref: '#/components/schemas/OutgoingWireTransferUpdateBeneficiaryNameConflictSchemaErrorCode'
FasterPaymentsBeneficiary:
required:
- name
- type
- accountNumber
- sortCode
type: object
description: Beneficiary details for Faster Payments wire transfers.
properties:
name:
type: string
minLength: 1
maxLength: 140
pattern: ^[a-zA-Z0-9\/\-?:().,'+\s#=!"%&*<>;\{@\r\n]*$
description: 'The beneficiary''s full name. >= 1 character and <= 140 characters.
Note: the '' symbol is the unicode value U+2019 (right single quotation mark)
and not the unicode value U+0027 (apostrophe).
'
type:
type: string
description: The type of beneficiary account. Required for Faster Payments.
enum:
- PERSONAL
- BUSINESS
accountNumber:
type: string
pattern: ^[0-9]{8}$
description: Account number, required for wire transfer over Faster Payments.
sortCode:
type: string
pattern: ^[0-9]{6}$
description: Sort code, required for wire transfer over Faster Payments.
secondaryReference:
type: string
description: Optional secondary reference for accounts without unique sort codes.
address:
maxLength: 150
minLength: 1
type: string
description: The beneficiary's address.
bankName:
type: string
description: The beneficiary's bank name.
bankAddress:
maxLength: 150
minLength: 1
type: string
description: The beneficiary's bank address.
bankCountry:
type: string
description: The beneficiary's bank country in ISO 3166 alpha-2 format.
maxLength: 2
minLength: 2
pattern: ^[A-Z]{2}$
nationality:
$ref: '#/components/schemas/Nationality'
dateOfBirth:
$ref: '#/components/schemas/DateOfBirth'
OutgoingWireTransferType:
type: string
description: The wire transfer rails used, from SEPA, Faster Payments, SWIFT or RIX.
enum:
- SEPA
- FASTER_PAYMENTS
- SWIFT
- RIX
SourceInstrumentType:
type: string
enum:
- managed_accounts
Tag:
type: string
description: The tag field is a custom field that can be used to search and filter.
maxLength: 50
pattern: ^[a-zA-Z0-9_-]+$
CurrencyAmount:
required:
- currency
- amount
type: object
properties:
currency:
$ref: '#/components/schemas/Currency'
amount:
type: integer
format: int64
description: 'The monetary amount, scaled to the lowest denomination of the currency.
Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.
'
description: The object representing a monetary amount in a particular currency.
OutgoingWireTransferUpdateBeneficiaryNameConflictSchemaErrorCode:
type: string
enum:
- INVALID_STATE
- CONFLICT_BENEFICIARYID_NAME
- CONFLICT_EXTERNALACCOUNTID_NAME
- MODEL_CONSTRAINTS_VIOLATED
- NO_NAME_TO_ACCEPT
BeneficiaryId:
required:
- beneficiaryId
type: object
properties:
beneficiaryId:
$ref: '#/components/schemas/Id'
ChallengeExemptionReason:
type: string
enum:
- LOW_VALUE
- TRUSTED_BENEFICIARY
description: The Reason the transaction was exempted from SCA verification
RIXBeneficiary:
required:
- name
- iban
type: object
description: Beneficiary details for RIX wire transfers.
properties:
name:
type: string
minLength: 1
maxLength: 150
description: 'The beneficiary''s full name. >= 1 character and <= 150 characters.
An extended character set is accepted to cater for all European languages.
If RIX does not support a particular character, it is automatically
converted to an acceptable alternative.
'
iban:
type: string
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$
description: International Bank Account Number, required for wire transfer over RIX.
bankIdentifierCode:
type: string
minLength: 8
maxLength: 11
pattern: ^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA-Z0-9]{0,3}$
description: BIC (Bank Identifier Code) for wire transfer over RIX.
address:
maxLength: 150
minLength: 1
type: string
description: 'The beneficiary''s address. An extended character set is accepted to cater
for all European languages. If RIX does not support a particular character,
it is automatically converted to an acceptable alternative.
'
bankName:
type: string
description: The beneficiary's bank name.
bankAddress:
maxLength: 150
minLength: 1
type: string
description: The beneficiary's bank address.
bankCountry:
type: string
description: The beneficiary's bank country in ISO 3166 alpha-2 format.
maxLength: 2
minLength: 2
pattern: ^[A-Z]{2}$
nationality:
$ref: '#/components/schemas/Nationality'
dateOfBirth:
$ref: '#/components/schemas/DateOfBirth'
Currency:
type: string
description: 'The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.'
maxLength: 3
minLength: 3
pattern: ^[A-Z]*$
OutgoingWireTransferUpdateBeneficiaryNameRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 150
description: 'The new beneficiary name. Mutually exclusive with acceptVerifiedName. For FasterPayments/BACS: max 140 chars matching pattern ^[a-zA-Z0-9\/\-?:().,''+\s#=!"%&*<>;\{@\r\n]*$. For IBAN: max 150 chars.'
acceptVerifiedName:
type: boolean
description: Set to true to accept the account name returned with a CLOSE_MATCH or EXACT_MATCH VoP/CoP result. Mutually exclusive with name.
ExecutionTimestamp:
pattern: ^[0-9]+$
type: string
description: The epoch timestamp at which the transaction was executed, transitioning to a final state such as COMPLETED, REJECTED, or FAILED.
OutgoingWireTransferPaymentConfirmationConflictErrorCode:
type: string
enum:
- TRANSFER_NOT_COMPLETED
OutgoingWireTransferBeneficiary:
deprecated: true
required:
- name
- bankAccountDetails
type: object
description: 'Details of the beneficiary of the outgoing wire transfer.
**Deprecated**: Use `SEPABeneficiary` for SEPA/IBAN transfers or `FasterPaymentsBeneficiary` for Faster Payments transfers instead.
'
properties:
name:
type: string
description: 'The beneficiary''s full name. The allowed length and pattern is dependent on the bank account details type:
`IBANDetails`: >= `1` character and <= `150` 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.
`FasterPaymentsBankDetailsOrBACSBankDetails`: >= `1` character and <= `140` characters with a pattern of `^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;\{@\r\n]*$`
(please note that the `’` symbol is the unicode value U+2019 (right single quotation mark) and not the unicode value U+0027 (apostrophe))
'
type:
type: string
description: The type of beneficiary account. Required only when `FasterPaymentsBankDetailsOrBACSBankDetails` are specified
enum:
- PERSONAL
- BUSINESS
address:
maxLength: 150
minLength: 1
type: string
description: 'The beneficiary’s address. For `SEPA`, 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.
'
bankName:
type: string
description: The beneficiary's bank name.
bankAddress:
maxLength: 150
minLength: 1
type: string
description: The beneficiary's bank address.
bankCountry:
type: string
description: The beneficiary's bank country in ISO 3166 alpha-2 format.
maxLength: 2
minLength: 2
pattern: ^[A-Z]{2}$
bankAccountDetails:
description: Details of the beneficiary bank account, depending on the type of transfer chosen.
oneOf:
- $ref: '#/components/schemas/IBANDetails'
- $ref: '#/components/schemas/FasterPaymentsBankDetailsOrBACSBankDetails'
nationality:
$ref: '#/components/schemas/Nationality'
dateOfBirth:
$ref: '#/components/schemas/DateOfBirth'
OutgoingWireTransferValidationOutcome:
type: object
required:
- category
- categoryResult
properties:
category:
type: string
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/weavr/refs/heads/main/openapi/weavr-outgoing-wire-transfers-api-openapi.yml