# Outgoing Wire Transfer transaction

Notification that a Outgoing Wire Transfer has been processed.

Endpoint: POST /outgoing_wire_transfers/watch
Version: v2

## Header parameters:

  - `call-ref` (string)
    A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255

  - `published-timestamp` (integer, required)
    The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published.

  - `signature-v2` (string, required)
    The signature to verify the authenticity of this request.  This is the base64 hash (HmacSHA256) of the call-ref + payload + published-timestamp using your API key.

  - `signature` (string, required)
    The signature to verify the authenticity of this request.  This is the base64 hash (HmacSHA256) of the published-timestamp using your API key.

## Request fields (application/json):

  - `owner` (object, required)

  - `owner.type` (string, required)

  - `owner.id` (string, required)

  - `transfer` (object, required)

  - `transfer.id` (object, required)

  - `transfer.profileId` (string, required)

  - `transfer.tag` (string)

  - `transfer.source` (object, required)

  - `transfer.source.id` (string, required)

  - `transfer.source.type` (string, required)
    Enum: "managed_cards", "managed_accounts"

  - `transfer.transferAmount` (object)
    The object representing a monetary amount in a particular currency.

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

  - `transfer.transferAmount.amount` (string, required)
    The monetary amount, scaled to the lowest denomination of the currency.

  - `transfer.description` (string)

  - `transfer.type` (string, required)
    The wire transfer rails used, from SEPA, Faster Payments, SWIFT or RIX.
    Enum: "SEPA", "FASTER_PAYMENTS", "SWIFT", "RIX"

  - `transfer.destination` (object, required)

  - `transfer.destination.beneficiaryName` (string, required)
    The name of the beneficiary

  - `transfer.destination.beneficiaryAddress` (string)
    The beneficiary address

  - `transfer.destination.beneficiaryBankName` (string)
    The name of the beneficiary bank

  - `transfer.destination.beneficiaryBankAddress` (string)
    The beneficiary bank address

  - `transfer.destination.beneficiaryBankCountry` (string)
    The beneficiary bank country - using ISO 3166 alpha-2

  - `transfer.destination.beneficiaryAccountType` (string)
    The type of beneficiary account. Required only when FasterPaymentsBankDetailsOrBACSBankDetails are specified
    Enum: "PERSONAL", "BUSINESS"

  - `transfer.destination.beneficiaryNationality` (string)
    Nationality of the user - using ISO 3166 alpha-2.

  - `transfer.destination.beneficiaryDateOfBirth` (string)
    The date of birth in ISO 8601 format (YYYY-MM-DD).

  - `transfer.destination.sepa` (object)
    Bank details used in case the wire transfer is executed over SEPA or RIX

  - `transfer.destination.sepa.iban` (string, required)
    International Bank Account Number, required for wire transfer over SEPA or RIX

  - `transfer.destination.sepa.bankIdentifierCode` (string)
    BIC, for wire transfer over SEPA or RIX

  - `transfer.destination.fasterPayments` (object)
    Bank details used in case the wire transfer is executed over Faster Payments.

  - `transfer.destination.fasterPayments.accountNumber` (string, required)
    Account number, required for wire transfer over Faster Payments.

  - `transfer.destination.fasterPayments.sortCode` (string, required)
    Sort code, required for wire transfer over Faster Payments.

  - `transfer.destination.fasterPayments.secondaryReference` (string)

  - `transfer.destination.swift` (object)

  - `transfer.destination.swift.iban` (string, required)

  - `transfer.destination.swift.swift` (string, required)

  - `transfer.externalAccountId` (object)
    The id of an external account, such as a Linked Account, registered with the Weavr Platform.

  - `transfer.externalAccountId.type` (string, required)
    Enum: "linked_accounts"

  - `transfer.externalAccountId.id` (string, required)

  - `transfer.beneficiaryId` (string)

  - `transfer.state` (string, required)
    The state of the Outgoing wire transfer transaction, as follows:
  - INVALID: The wire transfer has failed initial validation checks.
  - PENDING_CHALLENGE: The wire transfer requires the completion of a transaction confirmation challenge before it can be submitted.
  - SUBMITTED: The wire transfer has been submitted to the sending financial institution for processing.
  - REJECTED: The wire transfer that was submitted was rejected.
  - APPROVED: The wire transfer that was submitted has been approved and is being processed by the sending financial institution.
  - FAILED: There was an issue with the wire transfer, and the transaction has failed.
  - COMPLETED: The requested funds have been sent from the source instrument.
  - RETURNED: The wire transfer has been returned to the sender.
  - SCHEDULED: The wire transfer will be executed at the scheduled time.
  - CANCELLED: The scheduled wire transfer has been cancelled.
  - PENDING_CONFIRMATION: The wire transfer requires a manual confirmation by the user before proceeding.
    Enum: "INVALID", "PENDING_CHALLENGE", "SUBMITTED", "REJECTED", "APPROVED", "FAILED", "COMPLETED", "RETURNED", "SCHEDULED", "CANCELLED", "PENDING_CONFIRMATION"

  - `transfer.challengeExemptionReason` (string)
    The Reason the transaction was exempted from SCA verification
    Enum: "NO_EXEMPTION", "LOW_VALUE", "NOT_ENABLED", "TRUSTED_BENEFICIARY"

  - `transfer.creationTimestamp` (string, required)
    Epoch timestamp using millisecond precision.

  - `transfer.transactionAmount` (object, required)
    The object representing a monetary amount in a particular currency.

  - `transfer.transactionFee` (object)
    Any fee amount taken with the OWT

  - `transfer.conflict` (string)
    Enum: "UNDEFINED", "NO_ERROR", "PROFILE_INACTIVE", "MODEL_CONSTRAINTS_VIOLATED", "DENIED_BY_INTERCEPTOR", "DENIED_BY_INSTRUMENT", "UNSUPPORTED_CURRENCY", "INVALID_AMOUNT", "INSUFFICIENT_FUNDS", "SOURCE_NOT_FOUND", "SOURCE_INSTRUMENT_BLOCKED", "FEE_NOT_CONFIGURED_FOR_CURRENCY", "TYPE_NOT_SUPPORTED_BY_PROFILE", "SOURCE_INSTRUMENT_DESTROYED", "IDENTITY_KYC_LEVEL_STEPUP_REQUIRED", "CURRENCY_MISMATCH", "BENEFICIARY_NOT_FOUND", "BENEFICIARY_TYPE_INVALID", "PROFILE_NOT_FOUND", "SCHEDULED_TIMESTAMP_INVALID", "BENEFICIARY_BANK_DETAILS_INVALID", "PROVIDER_ERROR", "SOURCE_HAS_NO_ACCESS_INSTRUMENT", "EXTERNAL_DESTINATION_ACCOUNT_NOT_FOUND"

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

  - `transfer.cancellationReason` (string)
    The reason the scheduled transaction was cancelled.

  - `transfer.executionTimestamp` (string)
    The epoch timestamp at which the transaction was executed, transitioning to a final state such as COMPLETED, REJECTED, or FAILED.

  - `transfer.validationOutcomes` (array)

  - `transfer.validationOutcomes.category` (string, required)
    Enum: "UK_CONFIRMATION_OF_PAYEE", "SEPA_VERIFICATION_OF_PAYEE"

  - `transfer.validationOutcomes.categoryResult` (any, required) — one of:
    - UKConfirmationOfPayeeResult:
      - `match` (string, required)
        The result of matching performed by the UK Confirmation of Payee responder
        Enum: "EXACT_MATCH", "CLOSE_MATCH", "NO_MATCH", "NOT_POSSIBLE"
      - `reasonCode` (string)
        The reason why the matching failed at the UK Confirmation of Payee responder:

  - ANNM: The CoP responder confirms that the account name provided does not match;
  - 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;
  - 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;
  - 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;
  - 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;
  - 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;
  - AC01: The account does not exist in the CoP responders books, the accountNumber specified is likely incorrect; 
  - IVCR: The CoP responder was unable to locate an account based on the secondaryReference field;
  - ACNS: The account is not supported for CoP by the CoP responder;
  - OPTO: The owner of the account has opted out of CoP service by the CoP responder;
  - CASS: The account has been switched using the Current Account Switch Service;
  - SCNS: The sortCode provided is not supported at endpoint;
        Enum: "ANNM", "MBAM", "BANM", "PANM", "BAMM", "PAMM", "AC01", "IVCR", "ACNS", "OPTO", "CASS", "SCNS"
      - `accountName` (string)
        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
    - SEPAVerificationOfPayeeResult:
      - `match` (string, required)
        The result of the SEPA Verification of Payee check performed by the responding PSP.
        Enum: "MATCH", "NO_MATCH", "CLOSE_MATCH", "NOT_POSSIBLE"
      - `accountName` (string)
        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.

  - `publishedTimestamp` (string, required)
    Epoch timestamp using millisecond precision.

  - `eventType` (string, required)
    Enum: "PENDING_CHALLENGE", "SUBMITTED", "APPROVED", "REJECTED", "FAILED", "COMPLETED", "RETURNED", "INVALID", "SCHEDULED", "CANCELLED", "PENDING_CONFIRMATION"


## Response 204 fields
