openapi: 3.0.1
info:
  title: Account Payouts
  description: "\r\n  \r\n    __Authentication header__\r\n\r\n      ```\r\n        Authorization: {your_credentials}\r\n      ```\r\n      Replace `{your_credentials}` with your base64-encoded Basic Auth username and password given to you by your Implementation Manager.\r\n      <br /> <br />\r\n      You **must** use the `Authorization` header for any request you send to our Account Payouts API.\r\n      <br /><br />\r\n      __GET requests and Accept header__\r\n      ```\r\n        Accept: application/vnd.worldpay.account-payouts-v2.hal+json\r\n      ```\r\n\r\n    We use the Accept header to identify which version of our API you are using. You must use the Accept header for any ```GET``` request you send to our Account Payouts APIs.\r\n    <br /><br />\r\n __POST requests and Content-Type header__\r\n      ```\r\n        Content-Type: application/vnd.worldpay.account-payouts-v2.hal+json\r\n      ```\r\n\r\n    We use the Content-Type header to identify which version of our API you are using. You must use the Content-Type header for any ```POST``` request you send to our Account Payout API.\r\n    <br /><br />\r\n   __DNS whitelisting__\r\n\r\n    Whitelist the following URLs:\r\n    * `https://try.access.worldpay-bsh.securedataplatform.com/`\r\n    * `https://access.worldpay-bsh.securedataplatform.com/`\r\n\r\n    Please ensure you use DNS whitelisting, not explicit IP whitelisting. When you make a request within Access Worldpay, you should always cache the response returned."
  version: '2'
servers:
  - url: https://try.access.worldpay-bsh.securedataplatform.com
    description: Test (Try)
  - url: https://access.worldpay-bsh.securedataplatform.com
    description: Live
x-metadata:
  category:
    - Payouts
  business:
    - Enterprise
  catalog-list: true
  generated: false
paths:
  /payouts/accounts/single:
    post:
      tags:
        - Single Payout
      summary: Make a single payout to an account
      operationId: PostPayout
      parameters:
        - name: WP-CorrelationId
          in: header
          schema:
            type: string
          example: 15cd16b2-7b82-41cb-9b11-21be9dacad88
        - name: WP-CallerId
          in: header
          description: An ID used for logging purposes.
          schema:
            type: string
        - name: WP-Timestamp
          in: header
          schema:
            type: string
            default: '1743087806'
        - name: Content-Type
          in: header
          schema:
            type: string
            default: application/vnd.worldpay.wts.payout-v2+json
            example: application/vnd.worldpay.wts.payout-v2+json
      requestBody:
        content:
          application/vnd.worldpay.wts.payout-v2+json:
            schema:
              $ref: >-
                #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.IndividualPayout
            example:
              requester:
                instructingTreasuryId: '000055'
                entity: '000055'
                apiRequestReference: mustBeUnique
                notificationUrl: null
              countryCode: GB
              expandableKeyValuePairs:
                remitterSourceOfIncome: salary
                beneficiaryNationality: British
              quoteId: ''
              bankDetails:
                iban: GB29NWBK60161331926819
                branchCode: '300'
                bankCode: '404433'
                swiftBic: BUKBGB22
                bankName: Bank of Sale
                beneficiaryAccountTypeCode: AC01
                beneficiaryAccountNumber: '12345677'
                address:
                  city: Sale
                  state: Cheshire
                  countryCode: GB
                  street: 3 Rock Lane
                  additionalAddressLine: An Area
                  postcodeOrZipCode: M33 7ZA
              transactionReference: '123456'
              sourceCurrency: GBP
              sourceAmount: 0
              targetCurrency: GBP
              targetAmount: 10
              parties:
                - partyTypeCode: PT03
                  personalDetails:
                    companyName: null
                    firstName: John
                    middleName: Johno
                    lastName: Johnson
                    dateOfBirth: '1993-12-31'
                    email: john@domain.com
                    typeCode: PD02
                    titleCode: TI01
                    telephony:
                      - phoneNumber: '01375841159'
                        prefix: '44'
                    identity:
                      - issuingInstitution: IPS
                        issuingCountry: GB
                        identityTypeCode: ID01
                        startDate: '2013-05-22'
                        endDate: '2014-05-21'
                        identityNumber: '123456789'
                  address:
                    city: Some City
                    state: Some State
                    countryCode: GB
                    street: 1 Some Street
                    additionalAddressLine: Some Neighborhood
                    postcodeOrZipCode: S14 T4R
                    addressTypeCode: AD01
                    residentialStatusCode: RS01
                  customerPartyId: customer123
                - partyTypeCode: PT01
                  personalDetails:
                    companyName: testCompanyInc
                    firstName: null
                    middleName: null
                    lastName: null
                    dateOfBirth: '1993-12-31'
                    email: john@domain.com
                    typeCode: PD01
                    titleCode: null
                    telephony:
                      - phoneNumber: '01375841159'
                        prefix: '44'
                    identity:
                      - issuingInstitution: IPS
                        issuingCountry: GB
                        identityTypeCode: ID01
                        startDate: '2013-05-22'
                        endDate: '2014-05-21'
                        identityNumber: '123456789'
                  address:
                    city: Some City
                    state: Some State
                    countryCode: GB
                    street: 1 Some Street
                    additionalAddressLine: Some Neighborhood
                    postcodeOrZipCode: S14 T4R
                    addressTypeCode: AD01
                    residentialStatusCode: RS01
                  customerPartyId: ''
              narrative: 'Ref: 123456'
              purposeOfPaymentCode: WPPAYR
              purposeOfPaymentNarrative: Salary payment
              transactionTypeCode: TT04
      responses:
        '200':
          description: >-
            OK response if a request with the same credentials has already been
            submitted successfully
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.SuccessResponse
              example:
                ubr: PZ000EC4
                apiRequestReference: UniqueCustomerReference
                instructingTreasuryId: '001948'
        '202':
          description: ACCEPTED response if the request body has been correctly validated
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.SuccessResponse
              example:
                ubr: PZ000EC4
                apiRequestReference: UniqueCustomerReference
                instructingTreasuryId: '001948'
        '400':
          description: BAD REQUEST response if the request body is incorrectly validated
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  callerId:
                    - CallerId is mandatory
                  parties:
                    - >-
                      Duplicate parties of the same type(Beneficiary) are not
                      allowed
                httpStatusCode: 400
                customCode: SPAE11F
                message: There was an error in the request
        '401':
          description: UNAUTHORIZED response if JWT is not valid
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'token ':
                    - Token is mandatory
                httpStatusCode: 401
                customCode: SPAU07A
                message: Unauthorized request
        '403':
          description: FORBIDDEN response if Entitlements are not valid
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'domain ':
                    - Authorisation failed for this domain
                httpStatusCode: 403
                customCode: SPAF18
                message: Forbidden. Unauthorised request
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors: {}
                httpStatusCode: 500
                customCode: SPAE11E
                message: Unexpected Issue. Please try again
  /payouts/accounts/batch:
    post:
      tags:
        - Batch Payout
      summary: Make a batch payout to an account
      operationId: PostBatchPayout
      parameters:
        - name: WP-CorrelationId
          in: header
          schema:
            type: string
          example: 15cd16b2-7b82-41cb-9b11-21be9dacad88
        - name: WP-CallerId
          in: header
          description: An ID used for logging purposes.
          schema:
            type: string
        - name: WP-Timestamp
          in: header
          schema:
            type: string
            default: '1743087806'
        - name: Content-Type
          in: header
          schema:
            type: string
            default: application/vnd.worldpay.wts.payout-v2+json
            example: application/vnd.worldpay.wts.payout-v2+json
      requestBody:
        content:
          application/vnd.worldpay.wts.payout-v2+json:
            schema:
              $ref: >-
                #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.PayoutBatchRequest
            example:
              requesterDetails:
                instructingTreasuryId: '000055'
                entity: '000055'
                apiRequestReference: mustBeUnique
                notificationUrl: null
              payouts:
                - countryCode: GB
                  expandableKeyValuePairs:
                    remitterSourceOfIncome: salary
                    beneficiaryNationality: British
                  quoteId: ''
                  bankDetails:
                    iban: GB29NWBK60161331926819
                    branchCode: '300'
                    bankCode: '404433'
                    swiftBic: BUKBGB22
                    bankName: Bank of Sale
                    beneficiaryAccountTypeCode: AC01
                    beneficiaryAccountNumber: '12345677'
                    address:
                      city: Sale
                      state: Cheshire
                      countryCode: GB
                      street: 3 Rock Lane
                      additionalAddressLine: An Area
                      postcodeOrZipCode: M33 7ZA
                  transactionReference: '123456'
                  sourceCurrency: GBP
                  sourceAmount: 0
                  targetCurrency: GBP
                  targetAmount: 10
                  parties:
                    - partyTypeCode: PT03
                      personalDetails:
                        companyName: null
                        firstName: John
                        middleName: Johno
                        lastName: Johnson
                        dateOfBirth: '1993-12-31'
                        email: john@domain.com
                        typeCode: PD02
                        titleCode: TI01
                        telephony:
                          - phoneNumber: '01375841159'
                            prefix: '44'
                        identity:
                          - issuingInstitution: IPS
                            issuingCountry: GB
                            identityTypeCode: ID01
                            startDate: '2013-05-22'
                            endDate: '2014-05-21'
                            identityNumber: '123456789'
                      address:
                        city: Some City
                        state: Some State
                        countryCode: GB
                        street: 1 Some Street
                        additionalAddressLine: Some Neighborhood
                        postcodeOrZipCode: S14 T4R
                        addressTypeCode: AD01
                        residentialStatusCode: RS01
                      customerPartyId: customer123
                    - partyTypeCode: PT01
                      personalDetails:
                        companyName: testCompanyInc
                        firstName: null
                        middleName: null
                        lastName: null
                        dateOfBirth: '1993-12-31'
                        email: john@domain.com
                        typeCode: PD01
                        titleCode: null
                        telephony:
                          - phoneNumber: '01375841159'
                            prefix: '44'
                        identity:
                          - issuingInstitution: IPS
                            issuingCountry: GB
                            identityTypeCode: ID01
                            startDate: '2013-05-22'
                            endDate: '2014-05-21'
                            identityNumber: '123456789'
                      address:
                        city: Some City
                        state: Some State
                        countryCode: GB
                        street: 1 Some Street
                        additionalAddressLine: Some Neighborhood
                        postcodeOrZipCode: S14 T4R
                        addressTypeCode: AD01
                        residentialStatusCode: RS01
                      customerPartyId: ''
                  narrative: 'Ref: 123456'
                  purposeOfPaymentCode: WPPAYR
                  purposeOfPaymentNarrative: Salary payment
                  transactionTypeCode: TT04
                  entity: null
      responses:
        '200':
          description: >-
            OK response if request with the same requesterDetails has already
            been submitted successfully
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.BatchIdentifier
              example:
                instructingTreasuryId: '000055'
                entity: '000055'
                apiRequestReference: mustBeUnique
        '202':
          description: ACCEPTED response if request body has been correctly validated
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.PayoutBatchUniqueIdAndUbr
              example:
                - transactionReference: '202401'
                  ubr: PN000CYV
                - transactionReference: '202402'
                  ubr: PN000CYW
                - transactionReference: '202403'
                  ubr: PN000CYX
                - transactionReference: '202404'
                  ubr: PN000CYY
                - transactionReference: '202405'
                  ubr: PN000CYZ
                - transactionReference: '202406'
                  ubr: PN000CY2
                - transactionReference: '202407'
                  ubr: PN000CY3
                - transactionReference: '202408'
                  ubr: PN000CY4
                - transactionReference: '202409'
                  ubr: PN000CY5
        '400':
          description: BAD REQUEST response if request body is incorrectly validated
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  callerId:
                    - CallerId is mandatory
                  parties:
                    - >-
                      Duplicate parties of the same type(Beneficiary) are not
                      allowed
                httpStatusCode: 400
                customCode: SPAE11F
                message: There was an error in the request
        '401':
          description: UNAUTHORIZED response if JWT isn't valid
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'token ':
                    - Token is mandatory
                httpStatusCode: 401
                customCode: SPAU07A
                message: Unauthorized request
        '403':
          description: FORBIDDEN response if Entitlements are not valid
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'domain ':
                    - Authorisation failed for this domain
                httpStatusCode: 403
                customCode: SPAF18
                message: Forbidden. Unauthorised request
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors: {}
                httpStatusCode: 500
                customCode: SPAE11E
                message: Unexpected Issue. Please try again
  /payouts/events/{ubr}:
    get:
      tags:
        - Get Payouts by Unique Payout Request ID (ubr)
      summary: Retrieve payment details using a ubr
      operationId: GetByUbr
      parameters:
        - name: ubr
          in: path
          required: true
          schema:
            type: string
            description: >-
              Unique payout request ID associated with the original payout. We
              have returned this in the payout response. PN/PZ/PO prefix plus 6
              characters.
            example: PZ000N65
        - name: WP-CorrelationId
          in: header
          schema:
            type: string
          example: 15cd16b2-7b82-41cb-9b11-21be9dacad88
        - name: WP-CallerId
          in: header
          description: An ID used for logging purposes.
          schema:
            type: string
        - name: WP-Timestamp
          in: header
          schema:
            type: string
            default: '1743087806'
        - name: Accept
          in: header
          schema:
            type: string
            default: application/vnd.worldpay.wts.payout-v2+json
            example: application/vnd.worldpay.wts.payout-v2+json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.OriginalItem
              example:
                paymentId: 51a448e5-4430-ee11-b58a-005056b48b8e
                paymentDatetime: '2023-08-01T08:24:44.443'
                payeeName: John Smith
                sourceCurrency: ARS
                sourceAmount: 0
                targetCurrency: ARS
                targetAmount: 1.05
                paymentState: EXECUTED
                bankName: Test Bank
                bankCode: 10 02 04
                iban: GB29NWBK60161331926819
                channel: WIRE,ACH SD,DOM
                routedChannel: ACH SD
                ubr: PO000N65
                narrative: XYZ102025
                transactionReference: XYZ102025
                beneficiaryAccountNumber: '45533882'
                swiftBic: BUKBGB22
                entity: '000055'
                countryCode: AR
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  callerId:
                    - CallerId is mandatory
                  parties:
                    - >-
                      Duplicate parties of the same type(Beneficiary) are not
                      allowed
                httpStatusCode: 400
                customCode: SPAE11F
                message: There was an error in the request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'token ':
                    - Token is mandatory
                httpStatusCode: 401
                customCode: SPAU07A
                message: Unauthorized request
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'domain ':
                    - Authorisation failed for this domain
                httpStatusCode: 403
                customCode: SPAF18
                message: Forbidden. Unauthorised request
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors: {}
                httpStatusCode: 404
                customCode: SPAN19
                message: Payment not found
  /payouts/events:
    get:
      tags:
        - Get Payouts
      summary: Retrieve payment details based on the provided information
      operationId: GetByQuery
      parameters:
        - name: narrative
          in: query
          description: Reference provided by you.
          schema:
            maximum: 50
            minimum: 0
            type: string
            description: Reference provided by you.
        - name: transactionReference
          in: query
          description: Unique reference provided by you.
          schema:
            maximum: 50
            minimum: 0
            type: string
            description: Unique reference provided by you.
        - name: accountNumber
          in: query
          description: Beneficiary bank account number. (IBAN is currently not supported).
          schema:
            maximum: 50
            minimum: 0
            type: string
            description: >-
              Beneficiary bank account number. (IBAN is currently not
              supported).
        - name: payoutInstrumentId
          in: query
          description: An ID generated by us, holding the beneficiary bank details.
          schema:
            type: string
            description: >-
              An ID generated by us, holding the beneficiary bank details.You
              have received this in the response of your "payout instrument
              creation" call using the <a
              href="/products/parties/@20250101/openapi.yaml">Parties API</a>.
        - name: payoutInstrumentReference
          in: query
          description: >-
            A reference of the payoutInstrument created by you. This field holds
            the beneficiary bank details.
          schema:
            type: string
            description: >-
              A reference of the payoutInstrument created by you. This field
              holds the beneficiary bank details.
        - name: pageSize
          in: query
          description: >-
            Positive whole number indicating the number of payouts to return in
            each page.
          required: true
          schema:
            maximum: 499
            minimum: 1
            type: integer
            description: >-
              Positive whole number indicating the number of payouts to return
              in each page.
            format: int32
        - name: entity
          in: query
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process.
          schema:
            maximum: 6
            minimum: 6
            type: string
            description: >-
              6-digit reference given to you by your Implementation Manager
              during the onboarding process.
        - name: countryCode
          in: query
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of the payout destination.
          schema:
            maximum: 2
            minimum: 2
            type: string
            description: >-
              <a
              href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
              3166-1 Alpha-2 country code</a> of the payout destination.
        - name: pageNumber
          in: query
          description: >-
            Positive whole number indicating which page of the statement to
            return.
          required: true
          schema:
            minimum: 1
            type: integer
            description: >-
              Positive whole number indicating which page of the statement to
              return.
            format: int32
        - name: paymentState
          in: query
          schema:
            maximum: 255
            type: string
        - name: startDate
          in: query
          description: "Posting start date for the payout. This is the start of a 'window' of time which must satisfy the constraints described. This should be before the current date and before the end date, as well as being after the minimum date (0001-01-01). The difference between start and end dates should not exceed 30 days. \tMust be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD."
          schema:
            maximum: 10
            minimum: 10
            type: string
            description: "Posting start date for the payout. This is the start of a 'window' of time which must satisfy the constraints described. This should be before the current date and before the end date, as well as being after the minimum date (0001-01-01). The difference between start and end dates should not exceed 30 days. \tMust be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD."
        - name: endDate
          in: query
          description: >-
            Posting end date for the payout. This is the end of a 'window' of
            time which must satisfy the constraints described. This should be
            before the current date, as well as after the start date and the
            minimum date (0001-01-01).
          schema:
            maximum: 10
            minimum: 10
            type: string
            description: >-
              Posting end date for the payout. This is the end of a 'window' of
              time which must satisfy the constraints described. This should be
              before the current date, as well as after the start date and the
              minimum date (0001-01-01).
        - name: payeeName
          in: query
          description: >-
            Complete payee name for the payout. This will be one of the
            following (depending on the beneficiary type): fullName -
            concatenated value from title + firstName + middleName + lastName;
            companyName.
          schema:
            maximum: 140
            minimum: 0
            type: string
            description: >-
              Complete payee name for the payout. This will be one of the
              following (depending on the beneficiary type): fullName -
              concatenated value from title + firstName + middleName + lastName;
              companyName.
        - name: sourceCurrency
          in: query
          description: >-
            Source <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout.
          schema:
            maximum: 3
            minimum: 3
            type: string
            description: >-
              Source <a
              href="/products/reference/supported-countries-currencies#currency-codes">ISO
              4217 alpha-3 currency codes</a> for the payout.
        - name: sourceAmount
          in: query
          description: Source amount. 18 digit precision including 2 decimal places.
          schema:
            maximum: 19
            minimum: 1
            type: number
            description: Source amount. 18 digit precision including 2 decimal places.
            format: double
        - name: targetCurrency
          in: query
          description: >-
            Target <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout.
          schema:
            maximum: 35
            minimum: 1
            type: string
            description: >-
              Target <a
              href="/products/reference/supported-countries-currencies#currency-codes">ISO
              4217 alpha-3 currency codes</a> for the payout.
        - name: targetAmount
          in: query
          description: 18 digit precision including 2 decimal places.
          schema:
            maximum: 35
            minimum: 1
            type: number
            description: 18 digit precision including 2 decimal places.
            format: double
        - name: WP-CorrelationId
          in: header
          schema:
            type: string
          example: 15cd16b2-7b82-41cb-9b11-21be9dacad88
        - name: WP-CallerId
          in: header
          description: An ID used for logging purposes.
          schema:
            type: string
        - name: WP-Timestamp
          in: header
          schema:
            type: string
            default: '1743087806'
        - name: Accept
          in: header
          schema:
            type: string
            default: application/vnd.worldpay.wts.payout-v2+json
            example: application/vnd.worldpay.wts.payout-v2+json
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.GetOriginalItemResponse
              example:
                items:
                  - paymentId: 51a448e5-4430-ee11-b58a-005056b48b8e
                    paymentDatetime: '2023-08-01T08:24:44.443'
                    payeeName: John Smith
                    sourceCurrency: ARS
                    sourceAmount: 0
                    targetCurrency: ARS
                    targetAmount: 1.05
                    paymentState: EXECUTED
                    bankName: Test Bank
                    bankCode: 10 02 04
                    iban: GB29NWBK60161331926819
                    channel: WIRE,ACH SD
                    routedChannel: WIRE
                    ubr: PO000N65
                    narrative: XYZ102025
                    transactionReference: XYZ102025
                    beneficiaryAccountNumber: '45533882'
                    swiftBic: BUKBGB22
                    entity: '000055'
                    countryCode: AR
                  - paymentId: c1b659f6-4c30-ee11-b58a-005056b48b8e
                    paymentDatetime: '2023-08-01T09:22:41.377'
                    payeeName: John Johno Johnson
                    sourceCurrency: GBP
                    sourceAmount: 0
                    targetCurrency: GBP
                    targetAmount: 10
                    paymentState: EXECUTED
                    bankName: Test Bank
                    bankCode: '404433'
                    iban: GB29NWBK60161331926819
                    channel: WIRE,ACH SD,DOM
                    routedChannel: ACH SD
                    ubr: PN00004N
                    narrative: 'Ref: 123456'
                    transactionReference: '123456'
                    beneficiaryAccountNumber: '12345677'
                    swiftBic: BUKBGB22
                    entity: '000055'
                    countryCode: GB
                pagination:
                  pageNumber: 1
                  pageSize: 2
                  pageCount: 5610
                  totalNumberOfRecords: 11220
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  callerId:
                    - CallerId is mandatory
                  parties:
                    - >-
                      Duplicate parties of the same type(Beneficiary) are not
                      allowed
                httpStatusCode: 400
                customCode: SPAE11F
                message: There was an error in the request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'token ':
                    - Token is mandatory
                httpStatusCode: 401
                customCode: SPAU07A
                message: Unauthorized request
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors:
                  'domain ':
                    - Authorisation failed for this domain
                httpStatusCode: 403
                customCode: SPAF18
                message: Forbidden. Unauthorised request
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors: {}
                httpStatusCode: 404
                customCode: SPAN19
                message: Payment not found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse
              example:
                errors: {}
                httpStatusCode: 500
                customCode: SPAE11E
                message: Unexpected Issue. Please try again
components:
  schemas:
    WP.FXT.SinglePayoutApi.Application.Responses.CustomResponse:
      type: object
      properties:
        httpStatusCode:
          type: integer
          description: The HTTP Status Code of the response.
          format: int32
        customCode:
          type: string
          description: >-
            Code that is mapped representing a specific scenario.<a
            href="/products/account-payouts/v2/appendix#schema-validation-responses-for-single-payout-and-batch">Custom
            Codes.</a>
        message:
          type: string
          description: A descriptive message providing more details about the response.
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
            nullable: true
          description: >-
            Dictionary of errors, containing property name and error
            description.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.Shared.Models.RequesterDetails:
      required:
        - apiRequestReference
        - entity
        - instructingTreasuryId
      type: object
      properties:
        instructingTreasuryId:
          maximum: 6
          minimum: 6
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process. `instructingTreasuryId` is the same as the
            `entity` if the payout request is being instructed by the ultimate
            consumer itself. Special characters are restricted.
        entity:
          maximum: 6
          minimum: 6
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process. `entity` is the same as the
            `instructingTreasuryId` if the payout request is being instructed by
            the ultimate consumer itself. The ID supplied is checked to be
            valid. It must also be authorized by the token provided in the
            Authorization header. Special characters are restricted.
        apiRequestReference:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Unique reference for the request supplied by you. This field in
            combination with `instructingTreasuryId` is used by our API for
            idempotency checks. Must be unique. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
        notificationUrl:
          type: string
          description: Currently not in use.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.Shared.Models.Telephony:
      type: object
      properties:
        phoneNumber:
          maximum: 20
          minimum: 1
          type: string
          description: >-
            Phone number of the party. Mandatory if you have provided `prefix`.
            Special characters are restricted.
          nullable: true
        prefix:
          maximum: 3
          minimum: 1
          type: string
          description: >-
            Country dialing country code of the party. Mandatory if you have
            provided `phoneNumber`. Special characters are restricted.
            International country calling code following ITU-T standard. Must be
            1-3 digits e.g. \"44\" or \"420\"
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.BankAddress:
      type: object
      properties:
        city:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            City of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        state:
          maximum: 35
          minimum: 2
          type: string
          description: >-
            State of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        countryCode:
          maximum: 2
          minimum: 2
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of the bank address.
          nullable: true
        street:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Street of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        additionalAddressLine:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Additional address line of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        postcodeOrZipCode:
          maximum: 20
          minimum: 1
          type: string
          description: >-
            Postcode or ZipCode of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.BankDetails:
      required:
        - bankName
      type: object
      properties:
        iban:
          maximum: 34
          minimum: 1
          type: string
          description: >-
            Beneficiary IBAN. You must either provide an IBAN or Beneficiary
            Account Number.
          nullable: true
        branchCode:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Beneficiary account branch code. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        bankCode:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Beneficiary account bank code. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        swiftBic:
          maximum: 11
          minimum: 8
          type: string
          description: Beneficiary bank account SWIFT/BIC.
          nullable: true
        bankName:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Beneficiary bank name. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
        beneficiaryAccountTypeCode:
          enum:
            - AC01
            - AC02
            - AC03
            - AC04
            - AC05
            - AC99
          type: string
          description: >-
            Type of account code. See the <a
            href="/products/account-payouts/v2/appendix">appendix</a> for full
            details.
          nullable: true
        beneficiaryAccountNumber:
          maximum: 35
          minimum: 1
          type: string
          description: "Beneficiary bank account number. You must either provide a Beneficiary Account Number or IBAN.\_ <a href=\"/products/account-payouts/appendix#special-characters\">Special characters</a> are allowed."
          nullable: true
        address:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.BankAddress
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.Identity:
      required:
        - identityNumber
      type: object
      properties:
        issuingInstitution:
          type: string
          description: >-
            Issuing institution that provided identification type. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed. Can't be provided if the conditional
            fields in the identity section are missing.
          nullable: true
        issuingCountry:
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of identification type origin.
            Mandatory if `identityTypeCode`/`identityNumber` is populated.
        identityTypeCode:
          enum:
            - ID01
            - ID02
            - ID03
            - ID04
            - ID05
            - ID06
            - ID07
            - ID09
            - ID10
            - ID11
            - ID12
            - ID13
            - ID99
            - ID15
            - ID16
          type: string
          description: >-
            Type of identification. Mandatory if `identityNumber` is populated.
            See the <a href="/products/account-payouts/v2/appendix">appendix</a>
            for full details.
          nullable: true
        startDate:
          maximum: 10
          minimum: 10
          type: string
          description: >-
            Identification type start date. Must be a Gregorian calendar date
            with ISO 8601 format YYYY-MM-DD. Cannot be provided if conditional
            fields in the identity section are missing.
          nullable: true
        endDate:
          maximum: 10
          minimum: 10
          type: string
          description: >-
            Identification type end date. Must be a Gregorian calendar date with
            ISO 8601 format YYYY-MM-DD. Cannot be provided if conditional fields
            in the identity section are missing.
          nullable: true
        identityNumber:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Identification number that is presented in the identification type.
            Mandatory if `identityTypeCode` is populated. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.IndividualPayout:
      required:
        - countryCode
        - purposeOfPaymentCode
        - purposeOfPaymentNarrative
        - sourceCurrency
        - targetCurrency
        - transactionReference
        - transactionTypeCode
      type: object
      properties:
        requester:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.Shared.Models.RequesterDetails
        countryCode:
          maximum: 2
          minimum: 2
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of the payout destination.
        expandableKeyValuePairs:
          type: object
          description: >-
            JSON object of key-value pairs used to supply additional data. The
            keys and values that you might need to process an account payout to
            a specific destination, are communicated during the onboarding
            process. Duplicate key names are not allowed. <a
            href="/products/account-payouts/appendix#invalid-expandablekeyvaluepairs">Invalid
            keys.</a>
          nullable: true
        channel:
          type: string
          description: >-
            Preferable channel for the payment. For the full list of allowed
            values see the <a
            href="/products/account-payouts/v2/appendix">appendix</a>. This
            field is currently not used.
          nullable: true
        quoteId:
          type: string
          description: >-
            ID of the <a href="/products/fx">FX quote</a> for the request. This
            must be a valid, active quote which is for the same source and
            target currencies as the payout request. It must have valid `intent`
            of "FORWARD FX" or "PAYOUT".
          nullable: true
        scheduleDate:
          maximum: 10
          minimum: 10
          type: string
          description: >-
            Scheduled date of the payout request. Must be a Gregorian calendar
            date with ISO format 8601 YYYY-MM-DD. This field is currently not
            used.
          nullable: true
        bankDetails:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.BankDetails
        transactionReference:
          maximum: 50
          minimum: 6
          type: string
          description: >-
            Reference for the payout request provided by you. We recommend you
            specify a value which is unique across all of your payouts to ensure
            you receive the right data throughout the payout lifecycle. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
        sourceCurrency:
          maximum: 3
          minimum: 3
          type: string
          description: >-
            Source [currency
            code](/products/reference/supported-countries-currencies#currency-codes)
            for the payout (if different to `targetCurrency`, Foreign Exchange
            (FX) is applied).
        sourceAmount:
          maximum: 10
          minimum: 1
          type: number
          description: >-
            Source amount (if `targetAmount` is not stated, this amount is
            used). Must be a positive value up to 2 decimal places. FX rate of
            the payout is applied by us, therefore, only one of the
            `sourceAmount` or `targetAmount` is required in your request.
          format: double
          nullable: true
        targetCurrency:
          maximum: 3
          minimum: 3
          type: string
          description: >-
            Target <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout (if different to
            `sourceCurrency`, Foreign Exchange (FX) is applied).
        targetAmount:
          maximum: 10
          minimum: 1
          type: number
          description: >-
            Target amount (if `sourceAmount` is not specified, this amount is
            used). Must be a positive value up to 2 decimal places. FX rate of
            the payout is applied by us, therefore, only one of the
            `sourceAmount` or `targetAmount` is required in your request.
          format: double
          nullable: true
        parties:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.Party
          nullable: true
        narrative:
          maximum: 50
          minimum: 6
          type: string
          description: >-
            Reference that may appear on beneficiary statements. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        purposeOfPaymentCode:
          type: string
          description: >-
            The code that represents the purpose of the payment. This is
            mandatory for some payout routes - please check <a
            href="/products/account-payouts/v2/coverage">country specific
            requirements</a>. For the full list of allowed values see the <a
            href="/products/account-payouts/appendix#purpose-of-payment-code-values-v2">appendix</a>.
        purposeOfPaymentNarrative:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Description for purpose of payment. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
        transactionTypeCode:
          enum:
            - TT01
            - TT02
            - TT03
            - TT04
            - TT05
            - TT08
            - TT06
            - TT07
            - TT09
            - TT10
            - TT99
          type: string
          description: >-
            Type of transaction code. This is mandatory for some payout routes -
            please check country specific requirements. See the <a
            href="/products/account-payouts/v2/appendix">appendix</a> for full
            details.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.Party:
      required:
        - partyTypeCode
      type: object
      properties:
        partyId:
          maximum: 36
          minimum: 36
          type: string
          description: >-
            Id of the party for the payment request. This field is currently not
            used.
          nullable: true
          example: 1E016F5E-9D4A-49E7-B44C-A4C8AAE8290D
        partyTypeCode:
          enum:
            - PT01
            - PT03
          type: string
          description: >-
            Party type code. See further details in the <a
            href="/products/account-payouts/appendix">appendix</a>.
        personalDetails:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.PersonalDetails
        address:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.PartyAddress
        customerPartyId:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            The ID of the remitter: Domain ID, Account Number, Tax ID, BIC,
            Internal Customer ID or any other numerical or alphanumerical unique
            identifier of the customer where the payment request has originated.
            This field will be available for use as part of the future
            enhancements to the Account Payouts API in 2025. Special characters
            are restricted. For the full list of allowed values see the <a
            href="/products/account-payouts/v2/appendix">appendix</a>.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.PartyAddress:
      type: object
      properties:
        city:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            City of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        state:
          maximum: 35
          minimum: 2
          type: string
          description: >-
            State of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        countryCode:
          maximum: 2
          minimum: 2
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of the bank address.
          nullable: true
        street:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Street of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        additionalAddressLine:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Additional address line of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        postcodeOrZipCode:
          maximum: 20
          minimum: 1
          type: string
          description: >-
            Postcode or ZipCode of the address. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        addressTypeCode:
          enum:
            - AD01
            - AD02
            - AD03
            - AD99
          type: string
          description: >-
            Type of party address code. See the <a
            href="/products/account-payouts/v2/appendix">appendix</a> for full
            details.
          nullable: true
        residentialStatusCode:
          enum:
            - RS01
            - RS02
            - RS99
          type: string
          description: >-
            Type of residency code. See the <a
            href="/products/account-payouts/v2/appendix">appendix</a> for full
            details.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.PersonalDetails:
      type: object
      properties:
        companyName:
          maximum: 140
          minimum: 1
          type: string
          description: >-
            Name of the party if not an individual. Mandatory where `typeCode`
            is "PD01" (Company), "PD03" (Institution) or "PD04" (Government).
            Must not be provided when `typeCode` is "PD02". <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        firstName:
          maximum: 50
          minimum: 1
          type: string
          description: >-
            First name of the party. Mandatory where `typeCode` is "PD02"
            (Individual). <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed. See <a
            href="/products/reference/formatting#name-field-formatting-account-payouts-api">formatting
            rules</a>.
          nullable: true
        middleName:
          maximum: 50
          minimum: 1
          type: string
          description: >-
            Middle name of the party (applicable when `typeCode` is "PD02"
            (Individual)). <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed. See <a
            href="/products/reference/formatting#name-field-formatting-account-payouts-api">formatting
            rules</a>.
          nullable: true
        lastName:
          maximum: 50
          minimum: 1
          type: string
          description: >-
            Last name of the party. Mandatory where `typeCode` is "PD02"
            (Individual). <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed. See <a
            href="/products/reference/formatting#name-field-formatting-account-payouts-api">formatting
            rules</a>.
          nullable: true
        fullName:
          type: string
          nullable: true
          readOnly: true
        dateOfBirth:
          maximum: 10
          minimum: 10
          type: string
          description: >-
            Date of birth or date of incorporation of the party. Must be a
            Gregorian calendar date with ISO 8601 format YYYY-MM-DD.
          nullable: true
        email:
          type: string
          description: >-
            Email address of the party. This field will be available for use as
            part of the future enhancements to the Account Payouts API in 2025.
            Must be a valid email address format.
          nullable: true
        typeCode:
          enum:
            - PD01
            - PD02
            - PD03
            - PD04
            - PD99
          type: string
          description: >-
            Entity description code of the party. For the full list of allowed
            values see the <a
            href="/products/account-payouts/v2/appendix">appendix</a>. This
            field is mandatory if the `partyTypeCode` supplied is "PT03"
            (Beneficiary).
          nullable: true
        titleCode:
          enum:
            - TI01
            - TI02
            - TI03
            - TI04
            - TI05
            - TI06
            - TI99
          type: string
          description: >-
            Title code for the individual. Only supply when `typeCode` is "PD02"
            (Individual). See the <a
            href="/products/account-payouts/v2/appendix">appendix</a> for full
            details.
          nullable: true
        telephony:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.Shared.Models.Telephony
          nullable: true
        identity:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.Identity
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.SuccessResponse:
      type: object
      properties:
        ubr:
          type: string
          description: >-
            Unique payout request ID associated with a payout submitted through
            our Account Payouts API. PN/PZ/PO prefix plus 6 characters, e.g.
            PZ000N65. Five numbers, a letter and finally two/four further
            numbers
        apiRequestReference:
          type: string
          description: Unique reference from the request.
        instructingTreasuryId:
          type: string
          description: Unique ID given during the onboarding process.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.BatchIdentifier:
      required:
        - apiRequestReference
        - instructingTreasuryId
      type: object
      properties:
        instructingTreasuryId:
          maximum: 6
          minimum: 6
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process. `instructingTreasuryId` is the same as the
            `entity` if payouts are being instructed by the ultimate consumer
            itself. Special characters are restricted.
        entity:
          maximum: 6
          minimum: 6
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process. This may be provided at the batch and/or
            payout level. If provided at both then the payout level entity
            overrides. Special characters are restricted. The value supplied is
            checked to be valid. It must also match the entity for which
            authorization has been supplied.
          nullable: true
        apiRequestReference:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Unique reference for the request supplied by you. This field in
            combination with `instructingTreasuryId` is used by our API for
            idempotency checks. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.BatchPayout:
      required:
        - countryCode
        - purposeOfPaymentCode
        - purposeOfPaymentNarrative
        - sourceCurrency
        - targetCurrency
        - transactionReference
        - transactionTypeCode
      type: object
      properties:
        countryCode:
          maximum: 2
          minimum: 2
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of the payout destination.
        expandableKeyValuePairs:
          type: object
          description: >-
            JSON object of key-value pairs used to supply additional data. The
            keys and values that you might need to process an account payout to
            a specific destination, are communicated during the onboarding
            process. Duplicate key names are not allowed. <a
            href="/products/account-payouts/appendix#invalid-expandablekeyvaluepairs">Invalid
            keys.</a>
          nullable: true
        channel:
          type: string
          description: >-
            Preferable channel for the payment. For the full list of allowed
            values see the <a
            href="/products/account-payouts/v2/appendix">appendix</a>. This
            field is currently not used.
          nullable: true
        quoteId:
          type: string
          description: >-
            ID of the <a href="/products/fx">FX quote</a> for the request. This
            must be a valid, active quote which is for the same source and
            target currencies as the payout request. It must have valid `intent`
            of "FORWARD FX" or "PAYOUT".
          nullable: true
        scheduleDate:
          maximum: 10
          minimum: 10
          type: string
          description: >-
            Scheduled date of the payout request. Must be a Gregorian calendar
            date with ISO format 8601 YYYY-MM-DD. This field is currently not
            used.
          nullable: true
        bankDetails:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.BankDetails
        transactionReference:
          maximum: 50
          minimum: 6
          type: string
          description: >-
            Reference for the payout request provided by you. Must be unique for
            all items within a batch request. We recommend you specify a value
            which is unique across all of your payouts to ensure you receive the
            right data throughout the payout lifecycle. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
        sourceCurrency:
          maximum: 3
          minimum: 3
          type: string
          description: >-
            Source [currency
            code](/products/reference/supported-countries-currencies#currency-codes)
            for the payout (if different to `targetCurrency`, Foreign Exchange
            (FX) is applied).
        sourceAmount:
          maximum: 10
          minimum: 1
          type: number
          description: >-
            Source amount (if `targetAmount` is not stated, this amount is
            used). Must be a positive value up to 2 decimal places. FX rate of
            the payout is applied by us, therefore, only one of the
            `sourceAmount` or `targetAmount` is required in your request.
          format: double
          nullable: true
        targetCurrency:
          maximum: 3
          minimum: 3
          type: string
          description: >-
            Target <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout (if different to
            `sourceCurrency`, Foreign Exchange (FX) is applied).
        targetAmount:
          maximum: 10
          minimum: 1
          type: number
          description: >-
            Target amount (if `sourceAmount` is not specified, this amount is
            used). Must be a positive value up to 2 decimal places. FX rate of
            the payout is applied by us, therefore, only one of the
            `sourceAmount` or `targetAmount` is required in your request.
          format: double
          nullable: true
        parties:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.Payout.V2.Models.Party
          nullable: true
        narrative:
          maximum: 50
          minimum: 6
          type: string
          description: >-
            Reference that may appear on beneficiary statements. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        purposeOfPaymentCode:
          type: string
          description: >-
            The code that represents the purpose of the payment. This is
            mandatory for some payout routes - please check <a
            href="/products/account-payouts/v2/coverage">country specific
            requirements</a>. For the full list of allowed values see the <a
            href="/products/account-payouts/appendix#purpose-of-payment-code-values-v2">appendix</a>.
        purposeOfPaymentNarrative:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Description for purpose of payment. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
        transactionTypeCode:
          enum:
            - TT01
            - TT02
            - TT03
            - TT04
            - TT05
            - TT08
            - TT06
            - TT07
            - TT09
            - TT10
            - TT99
          type: string
          description: >-
            Type of transaction code. This is mandatory for some payout routes -
            please check country specific requirements. See the <a
            href="/products/account-payouts/appendix">appendix</a> for full
            details.
        entity:
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process. This may be provided at the batch and/or
            payout level. If provided at both then the payout level entity
            overrides.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.PayoutBatchRequest:
      type: object
      properties:
        requesterDetails:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.RequesterDetails
        payouts:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.BatchPayout
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.PayoutBatchUniqueIdAndUbr:
      type: object
      properties:
        transactionReference:
          type: string
          nullable: true
        ubr:
          type: string
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutBatch.V1.Models.RequesterDetails:
      required:
        - apiRequestReference
        - instructingTreasuryId
      type: object
      properties:
        instructingTreasuryId:
          maximum: 6
          minimum: 6
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process. `instructingTreasuryId` is the same as the
            `entity` if payouts are being instructed by the ultimate consumer
            itself. Special characters are restricted.
        entity:
          maximum: 6
          minimum: 6
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process. This may be provided at the batch and/or
            payout level. If provided at both then the payout level entity
            overrides. Special characters are restricted. The value supplied is
            checked to be valid. It must also match the entity for which
            authorization has been supplied.
          nullable: true
        apiRequestReference:
          maximum: 35
          minimum: 1
          type: string
          description: >-
            Unique reference for the request supplied by you. This field in
            combination with `instructingTreasuryId` is used by our API for
            idempotency checks. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.GetOriginalItemResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.OriginalItem
          nullable: true
        pagination:
          $ref: >-
            #/components/schemas/WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.Pagination
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.OriginalItem:
      required:
        - entity
        - ubr
      type: object
      properties:
        paymentId:
          type: string
          description: Unique identifier associated with the payment. GUID.
          nullable: true
        paymentDatetime:
          type: string
          description: Date and time of the payment submission. DateTime ISO 8601.
          format: date-time
          nullable: true
        payeeName:
          maximum: 140
          type: string
          description: "Complete payee name for the payout. This will be one of (depending on the beneficiary type):\r\nfullName- concatenated value from title + firstName + middleName + lastName\r\ncompanyName."
          nullable: true
        sourceCurrency:
          maximum: 3
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency code</a> for the remitter account.
          nullable: true
        sourceAmount:
          type: number
          description: Source amount. 18 digit precision including 2 decimal places.
          format: double
        targetCurrency:
          maximum: 3
          minimum: 3
          type: string
          description: >-
            Target <a
            href="/products/reference/supported-countries-currencies#currency-codes">ISO
            4217 alpha-3 currency codes</a> for the payout.
          nullable: true
        targetAmount:
          type: number
          description: Target amount.
          format: double
        paymentState:
          type: string
          description: >-
            State of the payment. See <a
            href="/products/account-payouts/v2/appendix#payment-state-values">appendix</a>
            for possible states.
          nullable: true
        bankName:
          type: string
          description: >-
            Name of the payee (beneficiary) bank which the payout is being made
            to.
          nullable: true
        bankCode:
          type: string
          description: Beneficiary bank account bank code.
          nullable: true
        iban:
          type: string
          description: >-
            Beneficiary IBAN. You must either provide the beneficiary's IBAN or
            account number.
          nullable: true
        channel:
          type: string
          description: List of the channels that were sent in the request for this payout
          nullable: true
        routedChannel:
          type: string
          description: The channel that was used to process this payout
        ubr:
          maximum: 10
          minimum: 8
          pattern: AlphaNumericRegex = ^[0-9a-zA-Z]+$
          type: string
          description: >-
            Unique payout request ID associated with a payout submitted through
            our Account Payouts API. PN/PZ/PO prefix plus 6 characters, e.g.
            PZ000N65. Five numbers, a letter and finally two/four further
            numbers.
        narrative:
          maximum: 50
          minimum: 0
          type: string
          description: >-
            Reference provided by the remitter of the payment (unique for a
            remitter). In Account Payouts API - merchantNarrative.
          nullable: true
        transactionReference:
          maximum: 50
          minimum: 0
          type: string
          description: Unique reference provided by you.
          nullable: true
        beneficiaryAccountNumber:
          maximum: 50
          minimum: 0
          type: string
          description: >-
            Beneficiary bank account number. You must either provide
            beneficiary's account number or IBAN. <a
            href="/products/account-payouts/appendix#special-characters">Special
            characters</a> are allowed.
          nullable: true
        swiftBic:
          maximum: 50
          type: string
          description: Beneficiary bank account SWIFT/BIC.
          nullable: true
        entity:
          maximum: 6
          minimum: 6
          type: string
          description: >-
            6-digit reference given to you by your Implementation Manager during
            the onboarding process.
        countryCode:
          maximum: 2
          minimum: 2
          type: string
          description: >-
            <a
            href="/products/reference/supported-countries-currencies#iso-country-codes">ISO
            3166-1 Alpha-2 country code</a> of the payout destination.
          nullable: true
        payoutInstrumentId:
          type: string
          description: >-
            An ID generated by us, holding the beneficiary bank details.You have
            received this in the response of your "payout instrument creation"
            call using the <a
            href="/products/parties/@20250101/openapi.yaml">Parties API</a>.
          nullable: true
        payoutInstrumentReference:
          type: string
          description: >-
            A reference of the payoutInstrument created by you. This field holds
            the beneficiary bank details. When not sending the
            `payoutInstrumentReference` you can use the `payoutInstrumentId`
            instead. When sending both, ensure they relate to the same
            payoutInstrument.
          nullable: true
      additionalProperties: false
    WP.FXT.SinglePayoutApi.Domain.PayoutItemSearch.V2.Models.Pagination:
      required:
        - pageNumber
        - pageSize
      type: object
      properties:
        pageNumber:
          type: integer
          description: >-
            Positive whole number indicating which page of the statement to
            return. Greater than 0.
          format: int32
        pageSize:
          maximum: 499
          minimum: 1
          type: integer
          description: Number of items listed per page.
          format: int32
        pageCount:
          type: integer
          description: Total number of pages.
          format: int32
        totalNumberOfRecords:
          type: integer
          description: Total number of items listed across all pages.
          format: int32
      additionalProperties: false
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
security:
  - BasicAuth: []
