Base URL
Production / Sandbox:{{BaseUri}}
Authentication
All e-Transfer API requests use OAuth 2.0 Client Credentials flow:- Authenticate with Basic auth using Client ID and Secret
- Receive Bearer token valid for 599 seconds (10 minutes)
- Use Bearer token for all subsequent API calls
- Refresh token before expiration
API Endpoints
Authentication
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/authorize | Obtain access token |
Session Management
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v2/sessions | Initiate e-Transfer session |
| GET | /api/v2/sessions/{sessionId}/details | Get session details |
Quick Start
1. Authenticate
2. Initiate Session
3. Launch User Flow
4. Retrieve Session Details
Session Object
Session Statuses
| Status | Description |
|---|---|
Initiated | Session created, awaiting user action |
Completed | User has successfully completed the flow |
Failed | Session failed (for example, identity or eligibility) |
Cancelled | Session was cancelled |
Expired | Session timed out before completion |
Field Specifications
Character Limits
| Field | Limit | Notes |
|---|---|---|
firstName, lastName, middleName | 100 characters | Required for identity matching |
email | 100 characters | Used for notifications and link delivery |
referenceId | 100 characters | Strongly recommended for tracking |
addressLine1 | 100 characters | Street address |
city | 100 characters | Full city name |
postalCode | 6 characters | No spaces (e.g., M5V0T7) |
province | 2 characters | Provincial code (e.g., ON, QC) |
country | 2 characters | Only “CA” supported |
accountNumber | 7–12 characters | Numbers only |
transitNumber | 5 characters | Numbers only |
institutionCode | 3 characters | Numbers only |
Validation Rules
Amount- Up to 2 decimal places
- Minimum and maximum are client-configurable via session
options.limits
- Only
CADis supported
e-Transferfor Interac e-Transfer sessionsEFTfor EFT sessions
CREDIT— funds flow to the payeeDEBIT— funds flow from the payor
Notification Preferences
Control how the end user is notified of the request:language—ENorFRsendInteracLink— whentrue, Flinks sends the Interac e-Transfer request link directly topayor.email. Whenfalse, you distribute the hosted app URL yourself.
Frontend Integration
iFrame URL Pattern
Event Monitoring
Error Handling
Error responses follow the RFC 7807ProblemDetails format:
| Status | Meaning |
|---|---|
| 201 | Session created |
| 200 | Request succeeded |
| 400 | Invalid request payload |
| 401 | Missing or invalid access token |
| 403 | Access denied |
Next Steps
- Authentication — obtain an access token
- Initiate Session — create an e-Transfer session
- Session Details — retrieve session information
- Setup Guide — complete implementation walkthrough