Wallet API
The Wallet API enables you to manage your LumiID account balance, fund your wallet, and track all your transactions programmatically. This helps you integrate LumiID verification services seamlessly into your applications while maintaining full financial control.
Base URL
1. Check Wallet Balance
GET /balance
Retrieve the current available balance in your LumiID wallet.
Headers:
Authorization: Bearer <your_api_key>
Response (200):
{
"status": "success",
"balance": 15000.50,
"currency": "NGN",
"last_updated": "2025-11-01T10:45:00Z"
}
Error (401):
{
"status": "error",
"message": "Invalid or expired API key."
}
2. Fund Wallet
POST /fund
Fund your LumiID wallet through Paystack or other supported payment channels. The API returns a payment link or transaction details to complete the funding process.
Headers:
Authorization: Bearer <your_api_key>
Content-Type: application/json
Request Body:
{
"amount": 5000,
"channel": "paystack",
"callback_url": "https://yourapp.com/payment/callback"
}
Response (200):
{
"status": "success",
"payment_reference": "TXN_98273782",
"authorization_url": "https://checkout.paystack.com/txn_98273782",
"amount": 5000,
"currency": "NGN"
}
Error (400):
{
"status": "error",
"message": "Invalid amount or unsupported payment channel."
}
3. Transaction History
GET /transactions
Retrieve a list of your wallet transactions — both successful and pending — with pagination support.
Headers:
Authorization: Bearer <your_api_key>
Optional Query Parameters:
?page=1
?limit=10
?status=success
Response (200):
{
"status": "success",
"data": [
{
"id": "TXN_98273782",
"amount": 5000,
"type": "credit",
"status": "success",
"channel": "paystack",
"date": "2025-10-30T12:32:00Z"
},
{
"id": "TXN_67384729",
"amount": 2500,
"type": "debit",
"status": "success",
"channel": "nin_verification",
"date": "2025-10-31T09:10:00Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 2
}
}
Example Integration
Python Example
import requests
url = "https://lumiid.com/api/wallet/balance"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
JavaScript Example
fetch("https://lumiid.com/api/wallet/fund", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
amount: 5000,
channel: "paystack",
callback_url: "https://yourapp.com/payment/callback"
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
Note
- Your wallet must have a positive balance to perform API verifications.
- All transactions are logged in your dashboard for transparency and audit.
- Refunds for failed verifications are processed automatically within 10 minutes.