Overview
Investec offers a Programmable Banking API for its private clients + business banking customers – read accounts, balances, transactions, and initiate payments to saved beneficiaries. The Automize Investec connector covers all of those.
- Regions: South Africa-focused (also UK private banking). API endpoint is openapi.investec.com.
- Plans: Programmable Banking is available on Private Banking + Business Banking accounts. Free for Investec customers.
Setting up the connection
Auth type: OAuth 2.0 (Client Credentials).
- In Investec Online Banking → Programmable Banking → Enrolment.
- Generate Client ID + Client Secret + x-api-key.
- In Automize, open Settings → Connectors → Investec → Add connection. Paste credentials. Connector handles OAuth Client Credentials token refresh.
Find your credentials at https://developer.investec.com/programmable-banking/.
Rate limits
Investec enforces conservative limits (~120 req/min). Don't poll balances aggressively – use webhooks (configured separately in Investec UI).
Data model
Banking primitives:
Account ─┬─ Balance
├─ Transactions (filterable by date)
└─ Beneficiaries (pre-approved payment recipients)
Payments – to existing beneficiaries only (no ad-hoc to new accounts via API)Available operations
7 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Get Balance | General | Get account balance |
| Get Beneficiary Categories | General | List beneficiary categories |
| Get Transactions | General | Get account transactions (filterable by date) |
| List Accounts | General | List all bank accounts |
| List Beneficiaries | General | List payment beneficiaries for an account |
| Pay Beneficiary | General | Pay an existing beneficiary |
| Transfer Between Accounts | General | Transfer money between your own Investec accounts |
Operations
Get Balance
Get account balance
| Parameter | Required | Type | Description |
|---|---|---|---|
Account Id account_id | Yes | text |
Tips
- account_id. Returns currentBalance + availableBalance + currency.
Get Beneficiary Categories
List beneficiary categories
| Parameter | Required | Type | Description |
|---|---|---|---|
Account Id account_id | Yes | text |
Tips
- Pre-defined Investec categories used for filtering beneficiaries.
Get Transactions
Get account transactions (filterable by date)
| Parameter | Required | Type | Description |
|---|---|---|---|
Account Id account_id | Yes | text |
Tips
- Filter by fromDate + toDate (YYYY-MM-DD), transactionType.
- Returns runningBalance + posted vs pending status.
List Accounts
List all bank accounts
No input parameters.
Tips
- Returns your Investec accounts (current, savings, credit card).
- Includes accountId (used as input to other ops) + productName + currency.
List Beneficiaries
List payment beneficiaries for an account
| Parameter | Required | Type | Description |
|---|---|---|---|
Account Id account_id | Yes | text |
Tips
- Returns saved beneficiaries (pre-approved recipients you can pay).
- New beneficiaries must be added via Online Banking UI (security).
Pay Beneficiary
Pay an existing beneficiary
| Parameter | Required | Type | Description |
|---|---|---|---|
Account Id account_id | Yes | text | |
Paymentlist paymentList | Yes | text |
Tips
- paymentList[]: array of {beneficiaryId, amount, myReference, theirReference}.
- Multiple payments in one call. Returns per-payment status.
Transfer Between Accounts
Transfer money between your own Investec accounts
| Parameter | Required | Type | Description |
|---|---|---|---|
Account Id account_id | Yes | text | |
Transferlist transferList | Yes | text |
Tips
- Move money between your own Investec accounts. transferList[]: {beneficiaryAccountId, amount, myReference}.
FAQ
- Why can't I pay arbitrary accounts?
- Investec API only allows payments to pre-approved beneficiaries (security). Add them via Online Banking, then pay via API.
- Sandbox?
- Investec provides a sandbox environment + test data. Set environment=sandbox on the connection.
- Webhooks for transactions?
- Yes – configure via Investec UI to POST to your Automize webhook URL on new transactions. Much better than polling Get Transactions.
- Multi-tenant via OAuth?
- Programmable Banking is per-customer (client credentials flow). Each Investec customer = one Automize connection.