Intermediaries
A platform for you, and the people you serve.
- Retrieve your client's financial information on their behalf.
- Perform actions including foreign exchange quoting and execution.
- Manage compliance workflows.

Get started
- Click on the “Investec Developer” tile.
- Read and acknowledge the terms and conditions and click “Enroll”.
- You are now enrolled for Investec Developer and will be taken to the Investec Developer home page. Here, you can manage and control your API, card, and Investec Developer community access.
- Login to Investec Online and click on “Investec Developer”.
- Select “Business Connections”. You will be able to view your credentials (client ID and secret) and any API keys you have created for the app that you have connected. You can toggle between connected apps.
- Click on “Create new API key”.
- Name your API key by entering a name under “Alias”.
- Select the companies that the key will have access to.
- Select the permissions for which you would like the API keys to have access to, including trading and settlements.
- Select continue to create your API key. The new API key will now be available on the Business Connections page.
Don't have an Investec account? You can test out our Sandbox APIs.
Applicable APIs
Intermediaries API
Get data and perform actions on behalf of your clients including forex quoting and trading.
Intermediaries Forex API
BOP reporting and forex information retrieval on your client’s behalf.
Authorisation API (OAuth)
Generate and refresh access tokens that authorise you to use Investec APIs.
How-to guides
Step-by-step instructions for using intermediary integrations.
Step 1
Get your sandbox details
Get the sandbox base URL and credentials you need to create a token.
Includes client_id, client_secret, x-api-key and auth header format.
View Sandbox CredentialsStep 2
Make your first sandbox call
Follow the Quickstart cURL steps to get a token and call any endpoint.
A clean first success confirms auth, scopes, and endpoint access.
View Quickstart cURLUse cases
See how intermediaries are using Investec APIs to serve their clients.
FAQs
Frequently asked questions about intermediary integrations.
The system eliminates the need for complex margin tiers. Investec returns a clean base rate (Client price), and you add your own margin inclusive of VAT. The final client rate must be confirmed within 10 seconds. Key benefits: - No manual tier selection errors - Simplified pricing structure - Maximum client rate caps prevent excessive markup - VAT-inclusive margin calculation
Example: Client price 1.0845 + 0.0025 margin (incl. VAT) = 1.0870 final client rate
All margins charged to clients must include VAT. The system may display FX margin amounts separately for compliance and transparency. VAT Calculation Example: - 10 cents total margin = 3.5 cents base + 6.5 cents VAT - Always quote inclusive prices to clients - System tracks VAT component separately for reporting
Client confirmations may show margin breakdowns for regulatory compliance.
Current API support is limited to: - Today (T) - subject to cutoff times - Tomorrow (T+1) - Spot (T+2) Forward contracts (1M, 3M, 6M) are coming soon. Use /forex/tenors to check available settlement dates and cutoff times for specific currency pairs.
Same-day trades outside cutoffs (e.g., JPY after 5 PM) auto-adjust to earliest available settlement.
500 errors are commonly seen with ABC Shoes counterparty validation. This is a known issue likely related to request formatting. Troubleshooting steps: - Verify counterparty_id format is correct - Check all request payload formatting - Try manual validation to confirm data accuracy - Log the full error response and contact support
Manual validation often works when API validation fails - this confirms the issue is formatting-related.
Sandbox testing has important limitations: - Trades do not sync with payment systems - You should avoid same-day trades (require manual cleanup) - Some workflows may need real $1 test trades For complete integration testing, small live trades may be necessary to validate the full settlement flow.
Two funding mechanisms are available: Cash-Backed Trades: - Requires sufficient account balance - Trade rejected if funds insufficient - No additional facility fees Credit Facility: - Uses pre-approved credit lines (e.g., ABC Shoes facility) - May incur facility fees - Can auto-default if cash insufficient (configurable)
Configure auto-default to credit facility for smoother trade execution when balances are volatile.
Request IDs must be unique for every rate request (quote). You can reuse the same request_id when booking a trade, but you cannot trade twice with the same request_id. Key rules: - request_id: Unique per rate request (e.g., REQ-2025-001) - trade_id: Optional client-generated ID for tracking - rate_id: System-generated, must be used to book trades - Duplicate trade attempts on same request_id will be rejected
Use request_id to trace transactions throughout the entire quote-to-trade flow.
Only populate ONE side (buy_amount OR sell_amount) in your quote request. The system calculates the other side automatically. Examples: - Buy EUR: Populate buy_amount, system calculates sell_amount (USD) - Sell EUR: Populate sell_amount, system calculates buy_amount (USD) - The same transaction can be represented either way Currency pairs follow market convention and are never inverted.
Never populate both buy_amount and sell_amount in the same request.
If you send tenor as null, the system provides the earliest available settlement: Priority order: 1. Today (if within cutoff times) 2. Tomorrow (if today unavailable) 3. Spot (if tomorrow unavailable due to holidays/calendar) Use /enabled-tenors to get current list of supported tenors. As the platform expands, this will include 1W, 2W, 3W, 4W, etc.
Settlement automatically rolls to next available date based on FX calendar and cutoff times.
All rates must use exactly 4 decimal places and be non-inverted: - client_rate: 4 decimals (e.g., 1.0845) - counterparty_client_rate: 4 decimals (e.g., 1.0870) - Cannot exceed max_client_rate cap - Must be above client_rate (positive brokerage) System may support higher decimal precision in future if requested.
counterparty_client_rate is used to calculate brokerage amount for tax purposes.
