Additional Services
Overview
Additional Services are optional, value-added API capabilities you can call for an existing individual / application (for example, bank account verification).
These endpoints:
- Require OAuth2 authentication
- Are scoped to the authenticated partner (you can only verify individuals that belong to your partner)
- Typically store the result against the eFICA application for audit and reporting
Additional Services Guide
Table of Contents
- Overview
- Authentication
- Base URLs
- Bank Account Verification
- Error Handling
- Best Practices
- Quick Reference
- Support
Authentication
All Additional Services endpoints require an OAuth2 access token:
Authorization: Bearer <access_token>
See: OAuth2 PKCE Integration Guide
Base URLs
- Sandbox:
https://sandboxapi.efica.co.za - Production:
https://loginapi.efica.co.za
All endpoints below use the api/v1 prefix.
Bank Account Verification
What it does
Runs a bank account verification check for an individual using:
- The individual’s identity details already stored in eFICA (from the individual record), and
- The bank account details you submit in the request body.
The result is stored against the individual’s eFICA application and returned in the response.
When to use it
Common use cases:
- You collected bank details from the customer and need to verify the account exists / matches.
- You want to store the verification outcome for audit/compliance purposes.
Endpoint
POST /api/v1/services/individual/{individualUUID}/bank-account-verification
Path parameter
individualUUID(required): the individual FICA application UUID.
Request body fields
bankName(required): bank identifier (e.g.FNB)accountType(required): account type code (e.g.CURRENTCHEQUEACCOUNT)branchCode(required): branch code (e.g.250655)accountNumber(required): account number
Example request
curl -X POST "https://sandboxapi.efica.co.za/api/v1/services/individual/123e4567-e89b-12d3-a456-426614174000/bank-account-verification" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"bankName": "FNB",
"accountType": "CURRENTCHEQUEACCOUNT",
"branchCode": "250655",
"accountNumber": "62000000000"
}'
Example response (200)
The response includes a top-level success flag.
- If
successistrue, you’ll receivebankAccountDetails.accountVerificationResult(a structured object). - If
successisfalse, you’ll receive a safeerrormessage you can display/log.
{
"success": true,
"bankAccountDetails": {
"accountVerificationResult": {
"accountExists": true,
"accountOpen": true
}
},
"bankName": "FNB",
"bankAccountType": "CURRENTCHEQUEACCOUNT",
"bankBranchCode": "250655",
"bankAccountNumber": "62000000000",
"transactionDescription": "John Doe Bank Account Verification"
}
Note: The exact shape of
accountVerificationResultcan vary depending on the underlying verification response. Treat it as structured data and key off fields your integration needs.
Error Handling
Common status codes
| Status Code | Meaning | Typical Cause |
|---|---|---|
| 200 | OK | Verification completed (check success) |
| 400 | Bad Request | Missing/invalid body fields, or the individual is missing identity fields required to verify |
| 401 | Unauthorized | Missing/expired/invalid access token |
| 404 | Not Found | Individual UUID not found (or not accessible to your partner) |
| 500 | Internal Server Error | Verification provider error or unexpected server error |
Best Practices
1. Verify the individual exists first (recommended)
If you aren’t sure the individual UUID is valid, call:
GET /api/v1/individual/{id}
2. Do not retry aggressively
If you receive a 500, retry with backoff (and log request correlation info on your side).
3. Store your own correlation IDs
Store the individual UUID and the time of verification so you can reconcile results later.
Quick Reference
Endpoint Summary
| Endpoint | Method | Authentication | Description |
|---|---|---|---|
/api/v1/services/individual/{individualUUID}/bank-account-verification | POST | Bearer (OAuth2) | Verify an individual bank account |
Support
For questions about Additional Services:
- Email: melissa@efica.co.za
Last Updated: 14 April 2026