API Reference — Overview
Base URL: https://api.thiqwave.com/api (prod) · https://api.dev.thiqwave.com/api (sandbox). All paths below are /v1/... under $BASE_URL.
Auth matrix
| Surface | Auth | Header |
|---|---|---|
participants, beneficiaries, transactions/*, payments, webhooks, logs, participants/:id/accounts, transactions/quote* | API key (DualAuth — also accepts JWT) | X-API-Key: $THIQWAVE_API_KEY |
pricing/*, partner-wallets, applications/*, auth/me | register | keys | lookup-email | JWT only (Dashboard) | Authorization: Bearer $PARTNER_TOKEN |
GET wallets/validate | UNRESOLVED — documented as public but currently JWT-gated in the running service | see Wallets |
/admin/*, admin routes, provider-callback receivers, internal services | Never published | — |
Headers
| Header | Required | Notes |
|---|---|---|
X-API-Key | server-to-server | your application secret |
Authorization | dashboard | Bearer <keycloak-jwt> |
Idempotency-Key | money-moving POST | required on POST /v1/transactions, POST /v1/payments |
X-Request-ID | optional | echoed as correlation_id |
Content-Type | bodies | application/json |
Conventions
- IDs: UUIDv7 / NanoID external IDs; internal DB IDs never exposed.
- Money: always string; ledger/quote amounts are integer minor units (
*_minor). - Timestamps: ISO 8601 UTC.
- Pagination:
limit(1–100, default 25) +cursor; response{ "data": [...], "next_cursor": "…" | null }. - Errors:
{ "error": { code, message, correlation_id, details } }— see Errors.
Resources
Participants · Beneficiaries · Quotes · Transactions · Payments · Webhooks · Wallets · Pricing · Accounts · Logs