Rewards API
Issue reward cards directly from your platform.
Integrate the QIFTS API and issue cards, check balances, and track redemptions without leaving your own system. Full REST API. Webhooks on every event. Live in hours.
// Issue a QIFTS — 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
Everything you need. Nothing you don't.
The API gives you full control over card issuance, balance management, and redemption — without building the card infrastructure yourself.
Issue cards instantly
POST a recipient and value, get a card ID and unique code back in milliseconds. Single issuance or bulk via CSV upload.
Check & top up balances
Query any card's current balance, transaction history, and expiry. Top up value on existing cards without reissuing.
Manage redemptions
Trigger redemptions programmatically. Validate codes, apply partial redemptions, and handle multi-step checkout flows.
Webhooks on every event
Get notified the moment a card is issued, redeemed, topped up, or expired. Trigger your own downstream logic automatically.
Bulk issuance
Upload a CSV and issue thousands of unique, tracked cards in a single API call. Each card independently managed.
Reporting endpoints
Pull issuance and redemption data into your own dashboards. Filter by campaign, market, format, or date range.
Endpoints
Core API reference.
/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
React to every card event in real time.
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
Built for platforms that already handle the trigger.
If your platform already knows when someone deserves a reward — the API lets you issue the card in the same moment, without switching tools.
HR & payroll platforms
Embed card issuance directly into your recognition or payroll flow. When an employee hits a milestone, the card goes out automatically — no manual intervention.
E-commerce & retail platforms
Issue reward cards at checkout, on purchase milestones, or as part of a loyalty scheme — all triggered from your existing order management system.
Banking & fintech apps
Trigger cashback or referral cards directly from your transaction engine. Recipients get the card the moment the qualifying action is confirmed.
Healthcare platforms
Issue cards to healthcare workers or clinical participants from your programme management system. Track redemptions without leaving your dashboard.
Get started
Ready to integrate?
Get API credentials and start issuing cards from your own platform within hours.