Command structure
All commands follow the pattern:
uqpay <domain> <resource> <action> [flags]
Domains
| Domain | Resources |
|---|
banking | Balances, transfers, deposits, payouts, beneficiaries, conversions, virtual accounts |
issuing | Cards, cardholders, transactions, spending controls, reports |
payment | Intents, attempts, refunds, settlements, bank accounts |
connect | Connected accounts, sub-account onboarding, KYC uploads |
simulate | Sandbox testing — deposits, authorizations, reversals |
file | Document uploads and retrieval links |
Quick aliases
Common resources have top-level shortcuts so you can skip the domain name:
| Alias | Equivalent |
|---|
uqpay beneficiary list | uqpay banking beneficiary list |
uqpay card list | uqpay issuing card list |
uqpay payout list | uqpay banking payout list |
Read operations
Use flags to pass query parameters:
uqpay banking beneficiary list --page-num 2 --page-size 20
Write operations
Use -d key=value to pass request body fields. Dot notation creates nested objects:
uqpay banking beneficiary create \
-d entity_type=INDIVIDUAL \
-d first_name=John \
-d bank_details.swift_code=DBSSSGSG
Values default to strings with automatic number conversion per the API spec. You can pass -d amount=100 without worrying about type declarations.
File encoding
Base64 encoding
Prefix the file path with @ to base64-encode a local file:
-d identity.front_file=@./passport.jpg
For Connect document uploads, use @+ to encode as a data URI:
-d "certification[0]=@+./cert.png"