# Make a single payout to an account Endpoint: POST /payouts/accounts/single Version: 2 Security: BasicAuth ## Header parameters: - `WP-CorrelationId` (string) Example: "15cd16b2-7b82-41cb-9b11-21be9dacad88" - `WP-CallerId` (string) An ID used for logging purposes. - `WP-Timestamp` (string) - `Content-Type` (string) Example: "application/vnd.worldpay.wts.payout-v2+json" ## Request fields (application/vnd.worldpay.wts.payout-v2+json): - `requester` (object) - `requester.instructingTreasuryId` (string, required) 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. - `requester.entity` (string, required) 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. - `requester.apiRequestReference` (string, required) 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. Special characters are allowed. - `requester.notificationUrl` (string,null) Currently not in use. - `countryCode` (string, required) ISO 3166-1 Alpha-2 country code of the payout destination. - `expandableKeyValuePairs` (object,null) 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. Invalid keys. - `channel` (string,null) Preferable channel for the payment. For the full list of allowed values see the appendix. This field is currently not used. - `quoteId` (string,null) ID of the FX quote 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". - `scheduleDate` (string,null) 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. - `bankDetails` (object) - `bankDetails.iban` (string,null) Beneficiary IBAN. You must either provide an IBAN or Beneficiary Account Number. - `bankDetails.branchCode` (string,null) Beneficiary account branch code. Special characters are allowed. - `bankDetails.bankCode` (string,null) Beneficiary account bank code. Special characters are allowed. - `bankDetails.swiftBic` (string,null) Beneficiary bank account SWIFT/BIC. - `bankDetails.bankName` (string, required) Beneficiary bank name. Special characters are allowed. - `bankDetails.beneficiaryAccountTypeCode` (string,null) Type of account code. See the appendix for full details. Enum: "AC01", "AC02", "AC03", "AC04", "AC05", "AC99" - `bankDetails.beneficiaryAccountNumber` (string,null) Beneficiary bank account number. You must either provide a Beneficiary Account Number or IBAN.  Special characters are allowed. - `bankDetails.address` (object) - `bankDetails.address.city` (string,null) City of the address. Special characters are allowed. - `bankDetails.address.state` (string,null) State of the address. Special characters are allowed. - `bankDetails.address.countryCode` (string,null) ISO 3166-1 Alpha-2 country code of the bank address. - `bankDetails.address.street` (string,null) Street of the address. Special characters are allowed. - `bankDetails.address.additionalAddressLine` (string,null) Additional address line of the address. Special characters are allowed. - `bankDetails.address.postcodeOrZipCode` (string,null) Postcode or ZipCode of the address. Special characters are allowed. - `transactionReference` (string, required) 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. Special characters are allowed. - `sourceCurrency` (string, required) Source [currency code](/products/reference/supported-countries-currencies#currency-codes) for the payout (if different to targetCurrency, Foreign Exchange (FX) is applied). - `sourceAmount` (number,null) 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. - `targetCurrency` (string, required) Target ISO 4217 alpha-3 currency codes for the payout (if different to sourceCurrency, Foreign Exchange (FX) is applied). - `targetAmount` (number,null) 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. - `parties` (array,null) - `parties.partyId` (string,null) Id of the party for the payment request. This field is currently not used. Example: "1E016F5E-9D4A-49E7-B44C-A4C8AAE8290D" - `parties.partyTypeCode` (string, required) Party type code. See further details in the appendix. Enum: "PT01", "PT03" - `parties.personalDetails` (object) - `parties.personalDetails.companyName` (string,null) 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". Special characters are allowed. - `parties.personalDetails.firstName` (string,null) First name of the party. Mandatory where typeCode is "PD02" (Individual). Special characters are allowed. See formatting rules. - `parties.personalDetails.middleName` (string,null) Middle name of the party (applicable when typeCode is "PD02" (Individual)). Special characters are allowed. See formatting rules. - `parties.personalDetails.lastName` (string,null) Last name of the party. Mandatory where typeCode is "PD02" (Individual). Special characters are allowed. See formatting rules. - `parties.personalDetails.dateOfBirth` (string,null) Date of birth or date of incorporation of the party. Must be a Gregorian calendar date with ISO 8601 format YYYY-MM-DD. - `parties.personalDetails.email` (string,null) 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. - `parties.personalDetails.typeCode` (string,null) Entity description code of the party. For the full list of allowed values see the appendix. This field is mandatory if the partyTypeCode supplied is "PT03" (Beneficiary). Enum: "PD01", "PD02", "PD03", "PD04", "PD99" - `parties.personalDetails.titleCode` (string,null) Title code for the individual. Only supply when typeCode is "PD02" (Individual). See the appendix for full details. Enum: "TI01", "TI02", "TI03", "TI04", "TI05", "TI06", "TI99" - `parties.personalDetails.telephony` (array,null) - `parties.personalDetails.telephony.phoneNumber` (string,null) Phone number of the party. Mandatory if you have provided prefix. Special characters are restricted. - `parties.personalDetails.telephony.prefix` (string,null) 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\" - `parties.personalDetails.identity` (array,null) - `parties.personalDetails.identity.issuingInstitution` (string,null) Issuing institution that provided identification type. Special characters are allowed. Can't be provided if the conditional fields in the identity section are missing. - `parties.personalDetails.identity.issuingCountry` (string) ISO 3166-1 Alpha-2 country code of identification type origin. Mandatory if identityTypeCode/identityNumber is populated. - `parties.personalDetails.identity.identityTypeCode` (string,null) Type of identification. Mandatory if identityNumber is populated. See the appendix for full details. Enum: "ID01", "ID02", "ID03", "ID04", "ID05", "ID06", "ID07", "ID09", "ID10", "ID11", "ID12", "ID13", "ID99", "ID15", "ID16" - `parties.personalDetails.identity.startDate` (string,null) 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. - `parties.personalDetails.identity.endDate` (string,null) 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. - `parties.personalDetails.identity.identityNumber` (string, required) Identification number that is presented in the identification type. Mandatory if identityTypeCode is populated. Special characters are allowed. - `parties.customerPartyId` (string,null) 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 appendix. - `narrative` (string,null) Reference that may appear on beneficiary statements. Special characters are allowed. - `purposeOfPaymentCode` (string, required) The code that represents the purpose of the payment. This is mandatory for some payout routes - please check country specific requirements. For the full list of allowed values see the appendix. - `purposeOfPaymentNarrative` (string, required) Description for purpose of payment. Special characters are allowed. - `transactionTypeCode` (string, required) Type of transaction code. This is mandatory for some payout routes - please check country specific requirements. See the appendix for full details. Enum: "TT01", "TT02", "TT03", "TT04", "TT05", "TT08", "TT06", "TT07", "TT09", "TT10", "TT99" ## Response 200 fields (application/json): - `ubr` (string) 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` (string) Unique reference from the request. - `instructingTreasuryId` (string) Unique ID given during the onboarding process. ## Response 202 fields (application/json): - `ubr` (string) 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` (string) Unique reference from the request. - `instructingTreasuryId` (string) Unique ID given during the onboarding process. ## Response 400 fields (application/json): - `httpStatusCode` (integer) The HTTP Status Code of the response. - `customCode` (string) Code that is mapped representing a specific scenario.Custom Codes. - `message` (string) A descriptive message providing more details about the response. - `errors` (object) Dictionary of errors, containing property name and error description. ## Response 401 fields (application/json): - `httpStatusCode` (integer) The HTTP Status Code of the response. - `customCode` (string) Code that is mapped representing a specific scenario.Custom Codes. - `message` (string) A descriptive message providing more details about the response. - `errors` (object) Dictionary of errors, containing property name and error description. ## Response 403 fields (application/json): - `httpStatusCode` (integer) The HTTP Status Code of the response. - `customCode` (string) Code that is mapped representing a specific scenario.Custom Codes. - `message` (string) A descriptive message providing more details about the response. - `errors` (object) Dictionary of errors, containing property name and error description. ## Response 500 fields (application/json): - `httpStatusCode` (integer) The HTTP Status Code of the response. - `customCode` (string) Code that is mapped representing a specific scenario.Custom Codes. - `message` (string) A descriptive message providing more details about the response. - `errors` (object) Dictionary of errors, containing property name and error description.