Base URL
Authentication
| Endpoint Group | Auth Method |
|---|---|
/api/v1/* | Authorization: Bearer {api_key} |
/api/v1/checkout | api_key in request body |
/dashboard/* | Session cookie (dashboard login) |
/api/v2/digital/* | Session cookie (dashboard login) |
/api/v2/plugins/* | Session cookie (dashboard login) |
/api/v2/reports/* | Session cookie (dashboard login) |
/api/v2/public/* | No auth required |
/webhooks/* | HMAC or token verification |
Response Envelope
All responses follow the same JSON structure:Complete Endpoint Index
Health
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /health | None | API health check |
Authentication (User)
| Method | Path | Auth | Description |
|---|---|---|---|
| POST | /auth/user/login | None | Email/password login |
| POST | /auth/user/signup | None | Create account |
| POST | /auth/user/verify-email | None | Verify email with code |
| POST | /auth/user/resend-verification | None | Resend verification email |
| GET | /auth/google/login | None | Google OAuth redirect |
| GET | /auth/me | Session | Get current user |
| POST | /auth/logout | Session | Invalidate session |
Payments API (v1)
| Method | Path | Auth | Description |
|---|---|---|---|
| POST | /api/v1/collect | API Key | Collect mobile money |
| POST | /api/v1/disburse | API Key | Send mobile money (live only) |
| GET | /api/v1/transactions | API Key | List transactions |
| GET | /api/v1/transactions/:ref | API Key | Get transaction by reference |
| GET | /api/v1/wallet/balance | API Key | Get wallet balances |
| POST | /api/v1/checkout | Body (api_key) | Initiate card payment |
Webhooks
| Method | Path | Auth | Description |
|---|---|---|---|
| POST | /webhooks/relworx | HMAC-SHA256 | Card & mobile provider webhook |
| POST | /webhooks/iotec | Token | Mobile money provider webhook |
| GET | /webhooks/relworx/visa/callback | None | Visa 3DS return URL |
Dashboard API (Session Auth)
| Method | Path | Description |
|---|---|---|
| GET | /dashboard/me | Current user profile |
| GET | /dashboard/wallet | Wallet details + balances |
| POST | /dashboard/wallet/topup | Top up via mobile money |
| POST | /dashboard/wallet/card-topup | Top up via card |
| POST | /dashboard/wallet/withdraw | Withdraw to mobile money |
| GET | /dashboard/stats | Dashboard statistics |
| GET | /dashboard/projects | List projects |
| POST | /dashboard/projects | Create project |
| PUT | /dashboard/projects/:id | Update project |
| DELETE | /dashboard/projects/:id | Delete project |
| GET | /dashboard/projects/:id/api-keys | List API keys |
| POST | /dashboard/projects/:id/api-keys | Create API key |
| DELETE | /dashboard/projects/:id/api-keys/:keyID | Revoke API key |
| POST | /dashboard/projects/:id/api-keys/:keyID/rotate | Rotate API key |
| GET | /dashboard/transactions | List all transactions |
| POST | /dashboard/transactions/:ref/sync | Force-sync transaction status |
| GET | /dashboard/webhook-config | Get webhook configuration |
| GET | /dashboard/wallets/lookup | Look up wallet by email |
| POST | /dashboard/transfers | Create P2P transfer |
| GET | /dashboard/transfers | List transfers |
Digital Products API (v2, Session Auth)
| Method | Path | Description |
|---|---|---|
| GET/POST | /api/v2/digital/products | List / create products |
| GET/PUT/DELETE | /api/v2/digital/products/:id | Get / update / delete product |
| GET/POST | /api/v2/digital/links | List / create payment links |
| GET/PUT/DELETE | /api/v2/digital/links/:id | Get / update / delete link |
| GET | /api/v2/digital/links/:id/revenue | Revenue for a link |
| GET | /api/v2/digital/orders | List orders |
| GET | /api/v2/digital/orders/:id | Get order |
| PUT | /api/v2/digital/orders/:id/status | Update order status |
| PUT | /api/v2/digital/orders/:id/delivery | Update delivery content |
| GET | /api/v2/digital/orders/:id/resource | Get order resource (buyer) |
| GET/PUT | /api/v2/digital/settings | Digital product settings |
| POST | /api/v2/digital/upload | Upload product file |
Public Checkout API (v2, No Auth)
| Method | Path | Description |
|---|---|---|
| GET | /api/v2/public/checkout/:slug | Get checkout page details |
| POST | /api/v2/public/checkout/:slug/pay | Process payment on checkout page |
| GET | /api/v2/public/checkout/:slug/order/:id | Poll order status |
WordPress Plugin API (v2, Session Auth)
| Method | Path | Description |
|---|---|---|
| GET/POST | /api/v2/plugins/connections | List / create connections |
| GET/DELETE | /api/v2/plugins/connections/:id | Get / delete connection |
| PUT | /api/v2/plugins/connections/:id/settings | Update settings |
| POST | /api/v2/plugins/connections/:id/regenerate-token | New site token |
| GET | /api/v2/plugins/transactions | List plugin transactions |
| GET/PUT | /api/v2/plugins/routing | Get / update routing rules |
Reporting API (v2, Session Auth)
| Method | Path | Description |
|---|---|---|
| GET | /api/v2/reports/transactions | Transactions with filters |
| GET | /api/v2/reports/analytics | Analytics & volume breakdown |
| GET | /api/v2/reports/settlements | Settlement records |
| GET/POST | /api/v2/reports/exports | List / create data exports |
| GET | /api/v2/reports/reconciliation | Reconciliation items |
| PUT | /api/v2/reports/reconciliation/:id | Mark item reconciled |
Pagination
Endpoints that return lists accept optional query parameters:| Parameter | Default | Description |
|---|---|---|
limit | 20 | Max items per page (max 100) |
offset | 0 | Number of items to skip |
from | — | ISO 8601 date filter (start) |
to | — | ISO 8601 date filter (end) |
status | — | Filter by transaction status |
type | — | Filter by transaction type |
environment | — | Filter by test or live |