Rewards API
Integrate the RibiRewards Payout API and send rewards, check balances, and track redemptions without leaving your own system. Full REST API. Webhooks on every event. Live in hours.
// Issue a RibiRewards Payout — 3 required fields
{
"recipient_phone": "+234 801 234 5678",
"value": 25000,
"currency": "NGN"
}
// ← 201 Created
{
"card_id": "rca_x7k9m2p",
"code": "RCA-4729-XKMP",
"status": "issued",
"delivery": "sent_whatsapp"
}
What the API does
The API gives you full control over card issuance, balance management, and redemption — without building the card infrastructure yourself.
POST a recipient and value, get a card ID and unique code back in milliseconds. Single issuance or bulk via CSV upload.
Query any card's current balance, transaction history, and expiry. Top up value on existing cards without reissuing.
Trigger redemptions programmatically. Validate codes, apply partial redemptions, and handle multi-step checkout flows.
Get notified the moment a card is issued, redeemed, topped up, or expired. Trigger your own downstream logic automatically.
Upload a CSV and issue thousands of unique, tracked cards in a single API call. Each card independently managed.
Pull issuance and redemption data into your own dashboards. Filter by campaign, market, format, or date range.
Endpoints
/v1/cards/issueRequest body
{
"recipient_phone": "+234 801 234 5678",
"value": 25000,
"currency": "NGN",
"format": "digital",
"access": ["whatsapp", "web", "ussd"],
"brand_id": "acme_corp"
}Response
{
"card_id": "rca_x7k9m2p",
"code": "RCA-4729-XKMP",
"status": "issued",
"delivery": "sent_whatsapp",
"expires_at": "2026-12-31"
}/v1/cards/:card_idResponse
{
"card_id": "rca_x7k9m2p",
"balance": 25000,
"currency": "NGN",
"status": "active",
"redeemed": 0,
"expires_at": "2026-12-31"
}/v1/cards/bulkRequest body
{
"file": "<csv_base64>",
"currency": "NGN",
"format": "digital",
"brand_id": "acme_corp"
}Response
{
"batch_id": "batch_k2p9x",
"total": 500,
"issued": 500,
"failed": 0,
"status": "complete"
}/v1/cards/:card_id/topupRequest body
{
"amount": 5000,
"currency": "NGN",
"reason": "q2_bonus"
}Response
{
"card_id": "rca_x7k9m2p",
"previous_balance": 25000,
"added": 5000,
"new_balance": 30000
}Webhooks
Register a webhook URL and the platform POSTs to it the moment anything happens to a card. No polling. No delays. Instant notifications you can act on immediately.
card.issuedFired when a new card is successfully issued to a recipient
card.redeemedFired when a card or part of its balance is redeemed
card.topped_upFired when value is added to an existing card
card.expiredFired when a card passes its expiry date with unused balance
batch.completeFired when a bulk issuance batch finishes processing
// POST to your webhook URL
{
"event": "card.redeemed",
"card_id": "rca_x7k9m2p",
"amount_redeemed": 10000,
"balance_remaining": 15000,
"currency": "NGN",
"redeemed_at": "2026-05-25T14:32:00Z",
"method": "ussd",
"market": "NG"
}
Who integrates
If your platform already knows when someone deserves a reward — the API lets you deliver the reward in the same moment, without switching tools.
Embed card issuance directly into your recognition or payroll flow. When an employee hits a milestone, the card goes out automatically — no manual intervention.
Issue reward cards at checkout, on purchase milestones, or as part of a loyalty scheme — all triggered from your existing order management system.
Trigger cashback or referral cards directly from your transaction engine. Recipients get the card the moment the qualifying action is confirmed.
Send rewards to healthcare workers or clinical participants from your programme management system. Track redemptions without leaving your dashboard.
Get started
Get API credentials and start delivering rewards from your own platform within hours.