1 Quick Start Guide
Create Account
Sign up for an account and access your developer settings.
Generate Keys
Retrieve your Public Key and Secret Key from the developer dashboard.
Make Request
Pass your keys in request headers and test balances and beneficiaries.
Authentication
The Flovide API uses your Public Key and Secret Key to authenticate requests. Include both keys in the request headers. Your public key identifies your account, while your secret key authorizes access.
All API requests must be made over HTTPS. Never expose your secret key in frontend code or public repositories.
Security
Store your secret key only on the server side. Use your public key for identification and your secret key for authorization.
Balances API
Reference/api/v1/balances
List all balances
Returns all balances that belong to the matched account.
Parameters
/api/v1/balances/{id}
Fetch single balance
Returns one balance record for the matched account.
Path Parameter
/api/v1/balances
Create a balance
Creates a new balance for the matched account.
Body Parameters
Beneficiaries API
Reference/api/v1/beneficiaries/account-inquiry
Account Inquiry
Validate recipient details before creating a beneficiary.
Body Parameters
/api/v1/beneficiaries
Create beneficiary
Creates a beneficiary for the matched account.
Body Parameters
/api/v1/beneficiaries
List beneficiaries
Returns all beneficiaries for the matched account.
/api/v1/beneficiaries/{id}
Fetch single beneficiary
Returns one beneficiary record for the matched account.
Path Parameter
/api/v1/beneficiaries/{id}
Delete beneficiary
Deletes a beneficiary by ID for the matched account.
Path Parameter
Transactions API
Reference/api/v1/transactions
List transactions
Returns all transactions for the matched account.
/api/v1/transactions/{id}
Fetch single transaction
Returns one transaction record for the matched account.
Path Parameter
/api/v1/transactions
Initiate transaction
Creates a new transaction for the matched account.
Path Parameter
Collections API
Reference/api/v1/collections/interac
Interac collection (top-up)
Sends an Interac Auto Deposit money request to the payer's email. Your CAD wallet is credited automatically once the payer approves. The collection fee (configured per account) is deducted from the amount before crediting.
Body Parameters
Interac Auto Deposit (CAD)
Setting up Auto Deposit
Auto Deposit is a standing setup, not an API call. Once you register an email address for a CAD wallet, anyone who sends an Interac e-Transfer to that email is credited to your wallet automatically — no request needs to be sent first, and no collections/interac call is required for each payment.
There is no API endpoint for this — Auto Deposit emails are registered from your dashboard, since they're a wallet-level setting rather than a per-transaction request.
Where to set it up
- Go to Wallets in your dashboard and open your CAD wallet.
- Under Account Details, find the Interac Auto Deposit panel and click Manage Auto Deposit Emails.
- Click Add Email and enter the email address you want customers to send e-Transfers to. Auto Deposit emails must end with @flovide.com, for example
payment@flovide.com. - You can register more than one email per wallet — useful if you route different products or channels to different addresses.
Once an email is active, any e-Transfer sent to it is matched to your wallet and credited automatically, and you'll receive a transaction.success webhook just like any other collection — see the Webhooks section for the payload shape.
Rates API
Reference/api/v1/rates
Get exchange rate
Returns exchange rate and transfer fee for a currency pair.
Query Params
Reference Data API
Reference/api/v1/reference-data/currencies
Currencies only
Returns all supported currencies.
/api/v1/reference-data/banks
Banks only
Returns banks, optionally filtered by country_iso and currency.
Query Params
Webhooks
Flovide sends a webhook to your webhook_url whenever a transaction changes status.
Configure your endpoint from the Webhooks settings panel — this also generates your webhook secret_key, used to sign every payload.
Always verify the X-Flovide-Signature header before trusting a webhook payload. Never process a webhook you haven't verified.
Event Types
transaction.success
Sent when a transaction's status resolves to success — a deposit is credited, a payout clears, or a collection completes.
transaction.failed
Sent when a transaction's status resolves to failed — a payout is declined or a collection is rejected.
Payload
Every webhook request is a POST with a JSON body in this shape:
Headers
| Header | Description |
|---|---|
| X-Flovide-Signature | HMAC-SHA256 hex digest of the raw request body, signed with your webhook secret_key. |
| X-Flovide-Event | The event type, matching the event field in the body (e.g. transaction.success). |
Verifying the Signature
Compute an HMAC-SHA256 digest of the raw request body using your secret key, then compare it to the X-Flovide-Signature header using a constant-time comparison.
Retry Policy
If your endpoint doesn't respond with a 2xx status, Flovide retries delivery up to 5 times with increasing backoff:
| Attempt | Delay After Previous Failure |
|---|---|
| 1 | 10 seconds |
| 2 | 30 seconds |
| 3 | 2 minutes |
| 4 | 10 minutes |
| 5 | 30 minutes |
Respond quickly — return a 200 immediately, then process the event asynchronously if it requires heavier work. Your endpoint should be idempotent, since the same event may be delivered more than once.
Error Handling
All errors return a consistent structure: success, message, code, and optional errors/data.
| HTTP Status | Error Code | Meaning |
|---|---|---|
| 400 | BAD_REQUEST | Malformed or invalid request payload. |
| 401 | UNAUTHORIZED | Missing or invalid authentication credentials/API keys. |
| 403 | FORBIDDEN | Authenticated but not allowed to perform this action. |
| 404 | NOT_FOUND | Requested resource was not found. |
| 422 | VALIDATION_ERROR | Validation failed for one or more request fields. |
| 422 | INSUFFICIENT_FUNDS | Wallet balance is not enough to complete the transaction. |
| 500 | SERVER_ERROR | Unexpected internal server error occurred. |
| 500 | TXN_FAILED | Transaction processing failed on the server/provider side. |