External Bank Account Connect
Qwik uses Teller to let a user securely link an external bank account (for transaction aggregation / verification). The link is established inside a hosted Connect page rendered in a WebView; your backend then reads accounts and transactions.
GET โฆ/connect-url mints a hosted Connect URL containing a one-time nonce. (2) Open it in a WebView; the user links their bank and the page POSTs the enrollment to the public endpoint automatically. (3) Read accounts, check status, pull transactions.GET/partner/external-bank-account-connect/connect-url
Query: environment (optional: sandbox | development | production; defaults to server config).
{
"url": "https://dev.qwikcard.co/api/v1/partner/external-bank-account-connect/connect?nonce=...&environment=sandbox"
}
GET/partner/external-bank-account-connect/connect
The hosted HTML Connect page (open in a WebView). Not a JSON endpoint โ it renders Teller Connect and, on success, calls the public enrollment endpoint below. Query: nonce, environment.
POST/partner/external-bank-account-connect/enrollment/public
Called automatically by the hosted page after a successful link. Authenticated by the nonce (no headers).
Body: nonce (required) + Teller's enrollment payload (accessToken, user, enrollment, signatures).
{
"message": "Enrollment saved"
}
POST/partner/external-bank-account-connect/enrollment
Server-to-server alternative to the public endpoint (when you capture the Teller enrollment yourself).
| Field | Type | Required | Notes |
|---|---|---|---|
accessToken | string | โ | Teller access token. |
signatures | string[] | โ | |
nonce | string | โ | If present, validated against the user/partner mapping. |
environment | enum | โ | sandbox | development | production. |
user | object | โ | { id }. |
enrollment | object | โ | { id, institution?: { name, id } }. |
{
"message": "Enrollment saved"
}
GET/partner/external-bank-account-connect/accounts
{ "accounts": [ { "id": "...", "name": "...", "institution": "...", "last_four": "..." } ] }
GET/partner/external-bank-account-connect/status
{ "isTellerConnected": true }
GET/partner/external-bank-account-connect/transactions
| Param | Required | Notes |
|---|---|---|
account_id | โ | Teller account id from โฆ/accounts. |
start_date, end_date | โ | YYYY-MM-DD. |
from_id | โ | Cursor for the next page. |
count | โ | Page size (max 1000). |
{
"transactions": [ ... ],
"next_from_id": "...|null",
"count": 50
}
If the account/enrollment isn't found, returns an empty list with HTTP 200.
DELETE/partner/external-bank-account-connect/enrollments/:enrollmentId
Disconnects an entire enrollment.
{
"message": "Enrollment disconnected"
}
DELETE/partner/external-bank-account-connect/accounts/:accountId
Disconnects a single account.
{
"message": "Account disconnected"
}