Everything you need to integrate with FTL — endpoints, authentication, webhooks, and best practices.
The FTL API provides programmatic access to all core transaction rails — C2B collections, B2C disbursements, B2B settlements, and Bulk SMS. Every endpoint is RESTful, returns JSON, and is designed for reliability at scale.
All API requests are made to https://api.ftl.fobo.com/v3.
We support server-to-server and webhook integrations for real-time event notifications.
Start with the authentication guide to get your API keys, then explore the core endpoints below.
All API requests require an API key passed via the X-API-Key header. Your
API key identifies your organization and grants access to your ledger.
Never commit API keys to version control. Use environment variables in production. Rotate keys regularly via the dashboard.
Four primary endpoints power the FTL platform. Each corresponds to a transaction rail.
Initiate a C2B collection from a member. Funds are posted to the member's ledger in real-time.
| Parameter | Type | Required | Description |
|---|---|---|---|
member_id |
string | required | Unique member identifier |
amount |
integer | required | Amount in cents (e.g., 1000 = $10.00) |
reference |
string | optional | Client-side reference ID |
Send payouts to members via M-Pesa, Airtel Money, or bank transfer. Supports both batch and real-time.
| Parameter | Type | Required | Description |
|---|---|---|---|
member_id |
string | required | Recipient member identifier |
amount |
integer | required | Amount in cents |
channel |
string | required | mpesa, airtel, or bank |
Transfer funds between institutional accounts. Fully auditable with automatic reconciliation.
| Parameter | Type | Required | Description |
|---|---|---|---|
from_account |
string | required | Source institutional account ID |
to_account |
string | required | Destination institutional account ID |
amount |
integer | required | Amount in cents |
Send branded SMS campaigns to your members. Supports templates and personalization.
| Parameter | Type | Required | Description |
|---|---|---|---|
member_ids |
array | required | Array of member IDs to receive the message |
message |
string | required | Message content (max 160 chars per segment) |
sender_id |
string | optional | Branded sender ID (must be pre-approved) |
FTL can push real-time events to your server via webhooks. Configure endpoints in the dashboard to receive notifications for transaction completions, failures, and SMS delivery statuses.
All error responses follow a consistent format. Always check the status and code fields for
programmatic handling.
invalid_api_key
— 401insufficient_balance
— 402invalid_member
— 404rate_limited
— 429Official client libraries to accelerate your integration.
API rate limits are applied per API key. Default limits are generous — most clients never hit them. If you need higher throughput, contact our team.