/bank_accounts/dynamic/requirementsList Requirements
List dynamic requirements for creating a bank account — the form-driver endpoint the frontend calls to learn what fields to render.
Works regardless of UseWise (post-plan behavior — was previously a hard 400 when Wise was disabled). The response merges:
- Local-method PayGates (
provider: "local") — country-specific schemas built from theLocalRequirements(country)registry. For TH: bookbank + 2 PromptPay variants. Always returned when the corridor's country has an entry registered. - Wise-proxied PayGates (
provider: "wise") — appended only whenUseWise=trueANDsource/targetare non-empty. Wise errors are silently swallowed; the response degrades to local-only.
When the corridor's country has no local entry AND UseWise=false, the response is { "records": [] } with HTTP 200 (NOT 400). The frontend handles "no payout methods configured" gracefully.
Field keys returned in Group.Key are Wise's exact camelCase (bankCode, accountNumber, etc.) — the frontend submits them straight back into extra_fields on the create call. See BOOKBANK_EXAMPLES.md §2.
For bankCode select fields, each valuesAllowed[] option carries slug alongside key/name — the stable logo asset key (e.g. {"key": "004", "name": "Kasikornbank (KBANK)", "slug": "kbank"}) that frontends map to /assets/banks/{slug}.svg.
Requires: Bearer token, X-Country header.
Request
Example
curl -X GET 'https://api.paycose.com/api/v1/app1/platform/wallet/bank_accounts/dynamic/requirements' \
-H 'X-Session-Token: {{session_token}}' \
-H 'X-Country: {{country}}' \
-H 'X-Test-Mode: {{x_test_mode}}'Headers
| Name | Value | Description |
|---|---|---|
| X-Session-Token | {{session_token}} | |
| X-Country | {{country}} | |
| X-Test-Mode | {{x_test_mode}} | true=wallet_test, false=wallet_live (default). Toggle the x_test_mode collection variable to flip every applicable request. |
Responses
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
Body
{
"object": "error",
"code": "<string>",
"key": "<string>",
"i18n_key": "<string>",
"message": "<string>",
"request_id": "<string>"
}