Skip to main content

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

  1. Overview
  2. Authentication
  3. Base URLs
  4. Bank Account Verification
  5. Error Handling
  6. Best Practices
  7. Quick Reference
  8. 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 success is true, you’ll receive bankAccountDetails.accountVerificationResult (a structured object).
  • If success is false, you’ll receive a safe error message 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 accountVerificationResult can 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 CodeMeaningTypical Cause
200OKVerification completed (check success)
400Bad RequestMissing/invalid body fields, or the individual is missing identity fields required to verify
401UnauthorizedMissing/expired/invalid access token
404Not FoundIndividual UUID not found (or not accessible to your partner)
500Internal Server ErrorVerification provider error or unexpected server error

Best Practices

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

EndpointMethodAuthenticationDescription
/api/v1/services/individual/{individualUUID}/bank-account-verificationPOSTBearer (OAuth2)Verify an individual bank account

Support

For questions about Additional Services:


Last Updated: 14 April 2026