{
  "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.com/`\r\n    * `https://access.worldpay.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.com",
      "description": "Test (Try)"
    },
    {
      "url": "https://access.worldpay.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 wire",
                  "routedChannel": "ach sd",
                  "ubr": "PO000N65",
                  "bankReference": null,
                  "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 31 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 31 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",
                      "bankReference": "PQRHK49",
                      "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 wire",
                      "routedChannel": "ach sd",
                      "ubr": "PN00004N",
                      "bankReference": "PQRHK50",
                      "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": {
        "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",
          "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/v2/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/v2/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/v2/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",
          "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/v2/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/v2/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"
          },
          "bankReference": {
            "type": "string",
            "description": "A bank-generated reference that enables customers to track their payout within the payment network. This feature is only available for specific routes. For details on availability, please contact your Relationship Manager.",
            "nullable": true
          },
          "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": []
    }
  ]
}