Weavr Outgoing Wire Transfers API

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

OpenAPI Specification

weavr-outgoing-wire-transfers-api-openapi.yml Raw ↑
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