UPP Docs
Funding

Get steps before applying to a bank

GET
/customers/{customerId}/virtual-account-banks/{bankId}/readiness

The steps the customer must complete before applying to this bank, in order, with their status. You can apply (POST /customers/{customerId}/virtual-accounts) only when ready is true. Steps can differ by bank; whether some steps are needed is known only after earlier steps are done (a bank_account verification depends on the ID document type in the profile, for example), so steps can appear or disappear.

Authorization

merchantApiKeymerchantTimestampmerchantNoncemerchantSignature
headerX-API-KEY<token>

Merchant API key (starts with upk_, also accepts api-key); signing headers are also required

headerX-Timestamp<token>

Unix timestamp in seconds, within 300 seconds of server time

headerX-Nonce<token>

Unique per request; cannot be reused with the same credential during the timestamp validity window

headerX-Signature<token>

Hex HMAC-SHA256 signature (either letter case) of the method, full path, timestamp, nonce and body digest

Path Parameters

customerId*string

Customer ID (starts with cus_)

bankId*string

Bank ID from GET /virtual-account-banks

Response Body

Steps to complete

application/json
  1. response
bank_id*string
ready*boolean

All steps are done; you can apply

steps*array<>
Example Request
curl -X GET 'https://sandbox.getupp.net/api/v1/customers/string/virtual-account-banks/string/readiness'
Example Response
{  "bank_id": "sgb",  "ready": false,  "steps": [    {      "type": "verification",      "usage": "kyc",      "purpose": null,      "status": "completed"    },    {      "type": "profile",      "usage": null,      "purpose": "virtual_account",      "status": "completed"    },    {      "type": "verification",      "usage": "bank_account",      "purpose": null,      "status": "action_required"    }  ]}