Base URLs
Production:{{BaseUri}}
Sandbox: {{BaseUri}}
Authentication
EFT API endpoints use two authentication methods:- OAuth 2.0 Client Credentials — Used for the
/authorizeendpoint. Authenticate with Basic auth (Client ID and Secret) to obtain a Bearer token valid for 599 seconds. - API Key — Most EFT endpoints authenticate via the
x-client-idheader, provided during onboarding.
API Endpoints
Authentication
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/authorize | Obtain access token |
Transactions
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/transactions | Create EFT transaction |
Payment Requests
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/paymentrequests/{requestId} | Get payment request status |
| POST | /api/v1/paymentrequests/{requestId}/cancel | Cancel payment request |
Schedules
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/schedules/{scheduleId}/cancel | Cancel schedule |
Institutions
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/institutions | List supported institutions |
Quick Start
1. Authenticate
2. Create a Transaction
3. Monitor Status
EFT Status Codes
EFT Transaction Status (EftStatus)
| Status | Description |
|---|---|
Received | Transaction request received by Flinks |
Created | Transaction created and queued for processing |
Submitted | Submitted to Payments Canada |
Reconciled | Confirmation received from the payment network |
Settled | Funds have settled |
Cancelled | Transaction was cancelled before submission |
Rejected | Transaction was rejected by the payment network |
Payment Request Status (PaymentStatus)
| Status | Description |
|---|---|
Initiated | Payment request created |
Processing | Payment is being processed |
Accepted | Payment accepted by the network |
Processed | Payment has been processed |
Settled | Funds have settled |
Cancelled | Payment was cancelled |
Field Specifications
Character Limits
| Field | Constraint |
|---|---|
description | Max 15 characters |
crossReferenceNumber | Alphanumeric and hyphens only, max 36 characters |
institutionCode | Exactly 3 digits |
transitNumber | Exactly 5 digits |
accountNumber | 7–12 digits |
Amount Rules
| Rule | Value |
|---|---|
| Minimum | $0.01 |
| Currency | CAD only |
Validation Rules
DEBIT Transactions
payoris required;payeemust not be providedstartDatemust be a future date- OneTime:
startDateis required - Recurring (Weekly, Biweekly, Monthly):
startDateis required, plus eitherendDateortransactionsCount(not both);transactionsCountmax is 300;endDatemust be afterstartDate
CREDIT Transactions
payeeis required;payormust not be provided- Only
OneTimefrequency is supported startDatemust be the current day (same-day only)
Account Info
Provide either:accountId(a GUID referencing a previously stored account), or- The combination of
institutionCode+transitNumber+accountNumber
Contact Info
Provide either:contactId(a GUID referencing a previously stored contact), orfirstName+lastName, orlegalName
Schedule Frequency Reference
| Frequency | Value | Notes |
|---|---|---|
| One-time | OneTime | Single payment on start date |
| Weekly | Weekly | Every 7 days from start date |
| Biweekly | Biweekly | Every 14 days from start date |
| Monthly | Monthly | Same day each month from start date |
EFT Processing Windows
Flinks follows Payments Canada EFT processing schedule:| Window | Cutoff Time | Submission Time | Days |
|---|---|---|---|
| Window 1 | 2:30am EDT | 9:30am EDT | Mon–Fri |
| Window 2 | 1:30pm EDT | 4:30pm EDT | Mon–Fri |
| Window 3 | 6:00pm EDT | 9:00pm EDT | Mon–Fri |
Error Handling
Common Errors
Validation Error (400):x-client-id header is missing or invalid.
Next Steps
- Create Transaction — Full request and response schema
- Get Payment Request — Monitor payment status
- Setup Guide — Complete implementation walkthrough