# Create an outgoing wire transfer in bulk

Submit the details for the creation of a batch of Outgoing Wire Transfers.

The bulkId returned in the response can subsequently be used to launch the execution of the bulk process through Execute Bulk Process. A submitted bulk process can be managed (executed, accessed, paused, resumed and cancelled) by any Authorised User of the same identity of the user that submits the details.

The status of the bulk process after execution of this operation is set to ‘SUBMITTED’. The execution of the bulk process is launched through the Execute bulk process operation.

The submission of data for a bulk process does not expire but it can be cancelled through Cancel Bulk Process.

The system is configured to accept bulk requests to process up to a maximum of 10,000 bulk operations.

Each individual operation in this bulk will be processed via Create an Outgoing Wire Transaction.

Endpoint: POST /bulks/outgoing_wire_transfers
Version: v3
Security: auth_token, api-key

## 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 fields (application/json):

  - `pathParams` (object)

  - `requestBody` (object)

  - `requestBody.profileId` (string, required)
    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.

  - `requestBody.tag` (string)
    The tag field is a custom field that can be used to search and filter.

  - `requestBody.sourceInstrument` (object, required)
    The managed account from which funds will be collected.

  - `requestBody.sourceInstrument.type` (string, required)
    Enum: "managed_accounts"

  - `requestBody.sourceInstrument.id` (string, required)

  - `requestBody.transferAmount` (object, required)
    The amount, in same currency as source and destination, that was transferred from the source.

  - `requestBody.transferAmount.currency` (string, required)
    The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

  - `requestBody.transferAmount.amount` (integer, required)
    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.

  - `requestBody.purpose` (string)
    The purpose of the payment. Mandatory for wire transfers executed over SWIFT.

  - `requestBody.description` (string)
    These details are passed to the beneficiary as the reference . This field is mandatory for wire transfers executed over SEPAand SWIFT. 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.

SWIFT <= 35 characters

Faster Payments <= 18 characters

  - `requestBody.destinationBeneficiary` (any, required) — one of:
    - OutgoingWireTransferBeneficiary:
      - `name` (string, required)
        The beneficiary's full name. The allowed length and pattern is dependent on the bank account details type:

IBANDetails: >= 1 character and = 1 character and ;\{@\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` (string)
        The type of beneficiary account. Required only when FasterPaymentsBankDetailsOrBACSBankDetails are specified
        Enum: "PERSONAL", "BUSINESS"
      - `address` (string)
        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` (string)
        The beneficiary's bank name.
      - `bankAddress` (string)
        The beneficiary's bank address.
      - `bankCountry` (string)
        The beneficiary's bank country in ISO 3166 alpha-2 format.
      - `bankAccountDetails` (any, required) — one of:
        Details of the beneficiary bank account, depending on the type of transfer chosen.
        - IBANDetails:
          - `iban` (string, required)
            International Bank Account Number, required for wire transfer over SEPA or RIX
          - `bankIdentifierCode` (string)
            BIC, for wire transfer over SEPA or RIX
        - FasterPaymentsBankDetailsOrBACSBankDetails:
          - `accountNumber` (string, required)
            Account number, required for wire transfer over Faster Payments.
          - `sortCode` (string, required)
            Sort code, required for wire transfer over Faster Payments.
          - `secondaryReference` (string)
      - `nationality` (string)
        Nationality of the user - using ISO 3166 alpha-2.
      - `dateOfBirth` (string)
        The date of birth in ISO 8601 format (YYYY-MM-DD).
    - SEPABeneficiary:
      - `name` (string, required)
        The beneficiary's full name. >= 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.
      - `iban` (string, required)
        International Bank Account Number, required for wire transfer over SEPA.
      - `bankIdentifierCode` (string)
        BIC (Bank Identifier Code) for wire transfer over SEPA.
      - `address` (string)
        The beneficiary's address. 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.
      - `bankName` (string)
        The beneficiary's bank name.
      - `bankAddress` (string)
        The beneficiary's bank address.
      - `bankCountry` (string)
        The beneficiary's bank country in ISO 3166 alpha-2 format.
      - `nationality` (string)
        Nationality of the user - using ISO 3166 alpha-2.
      - `dateOfBirth` (string)
        The date of birth in ISO 8601 format (YYYY-MM-DD).
    - SWIFTBeneficiary:
      - `name` (string, required)
        The beneficiary's full name.
      - `account` (string, required)
        Can be either an account number or an International Bank Account Number (IBAN).
      - `bankIdentifierCode` (string)
        Required if account is not an IBAN. Bank Identifier Code (BIC).
      - `address` (string, required)
        The beneficiary's address.
      - `bankName` (string)
        The beneficiary's bank name.
      - `bankAddress` (string)
        The beneficiary's bank address.
      - `bankCountry` (string, required)
        The beneficiary's bank country in ISO 3166 alpha-2 format.
      - `nationality` (string)
        Nationality of the user - using ISO 3166 alpha-2.
      - `dateOfBirth` (string)
        The date of birth in ISO 8601 format (YYYY-MM-DD).
    - RIXBeneficiary:
      - `name` (string, required)
        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` (string, required)
        International Bank Account Number, required for wire transfer over RIX.
      - `bankIdentifierCode` (string)
        BIC (Bank Identifier Code) for wire transfer over RIX.
      - `address` (string)
        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` (string)
        The beneficiary's bank name.
      - `bankAddress` (string)
        The beneficiary's bank address.
      - `bankCountry` (string)
        The beneficiary's bank country in ISO 3166 alpha-2 format.
      - `nationality` (string)
        Nationality of the user - using ISO 3166 alpha-2.
      - `dateOfBirth` (string)
        The date of birth in ISO 8601 format (YYYY-MM-DD).
    - FasterPaymentsBeneficiary:
      - `name` (string, required)
        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` (string, required)
        The type of beneficiary account. Required for Faster Payments.
        Enum: same as `type` in "OutgoingWireTransferBeneficiary" (2 values)
      - `accountNumber` (string, required)
        Account number, required for wire transfer over Faster Payments.
      - `sortCode` (string, required)
        Sort code, required for wire transfer over Faster Payments.
      - `secondaryReference` (string)
        Optional secondary reference for accounts without unique sort codes.
      - `address` (string)
        The beneficiary's address.
      - `bankName` (string)
        The beneficiary's bank name.
      - `bankAddress` (string)
        The beneficiary's bank address.
      - `bankCountry` (string)
        The beneficiary's bank country in ISO 3166 alpha-2 format.
      - `nationality` (string)
        Nationality of the user - using ISO 3166 alpha-2.
      - `dateOfBirth` (string)
        The date of birth in ISO 8601 format (YYYY-MM-DD).
    - BeneficiaryId:
      - `beneficiaryId` (string, required)
    - ExternalAccountId:
      - `type` (string, required)
        Enum: "linked_accounts"
      - `id` (string, required)

  - `requestBody.scheduledTimestamp` (string)
    The epoch timestamp at which the transaction is scheduled to be executed.

## Response 201 fields (application/json):

  - `bulkId` (string)

  - `operationCount` (integer)

  - `path` (string)


