validate.schemaGet
POST/processing
Get the payout validation schema that is currently applied to your payouts for one destination corridor.
The schema is returned in tasks[].result.data.schema as a serialized JSON Schema draft-07 document that describes the payload of a pay.toAccount task, so it can be used to discover the mandatory and optional payout fields of a corridor, their allowed values, formats and constraints, to build payout input forms and to pre-validate a payout payload before it is submitted.
The operation covers the account-based and wallet-based payouts (payout to a bank account, payout to an e-wallet and payout to a crypto wallet - all submitted with the pay.toAccount task). Card payouts (pay.toCard) are out of scope. One request returns the schema of exactly one corridor; the operation does not return a list of supported countries or currencies.
Corridor definition
destinationCountry, transferCurrency and accountIdentifierType are always mandatory. paymentRail is mandatory for accountIdentifierType BAN, IBAN and CLABE, and provider is mandatory for accountIdentifierType EWALLET (it selects the Alipay or the WeChat Pay corridor). bankId is not part of this contract: the corridor is resolved from the fields above only, and a bankId value sent in the payload is ignored.
The schema is resolved for your own configuration, so two customers may receive different schemas for the same country and currency if their payout routing differs.
The returned schema
The document uses the field names and the nesting of the pay.toAccount payload (for example from.sender.address.addressLine1, from.sender.address.addressLine2, to.recipient.address.countrySubdivision) and conveys:
- mandatory fields - the
requiredarrays at the root of the document and inside every nested object; - optional fields - every other property present in
properties; - allowed values -
enumarrays; a single-value enum means the value is fixed for the corridor (for example"transferCurrency": { "enum": ["USD"] }); - formats and constraints -
type,minLength,maxLength,minimum,maximum,formatandpattern, plus the non-standardpatternErrorannotation that carries a human-readable explanation of the neighbouringpattern(standard validators ignore it); - conditional relations -
if/thenblocks insideallOf: a sender or a recipient oftypeIndividualrequiresfirstName/lastNamewhiletypeLegalEntityrequiresname,governmentId.typeandgovernmentId.numberrequire each other, and address fields such aszipandcountrySubdivisionare required only for specific countries.
The schema contains client-facing rules only - no payout provider identity, no routing information, no internal-only fields such as from.sourceTransactionInstrument, no UI hints and no default values.
Errors
If the requested country and currency combination (with the requested rail or e-wallet provider) cannot be routed for your configuration, no schema exists for it: the request is accepted and the task result is returned with status Error and the comment Selected country and currency combination is not available.
Request
Responses
- 200
- 400
- 401
- 404
This code is returned if the response is successful (and a specific response is required). A Response object is returned in the response.
This code is returned if there is an issue in the request and an Error object is returned in the response.
That code is returned by system if the Signature or other partner information is incorrect.
This code is returned if the system cannot process the request now. If this code is received, a repeat request is submitted after a few seconds. If the code continues to be returned, this is escalated to the Support team. The system will return a response body with the text Sorry. Can't accept your request now..