Data Bundles API
Purchase Data Bundle
POST/api/v1/data/purchase
Purchase mobile data bundles for Ghana networks. Supports MTN, Telecel (Vodafone), and AirtelTigo. Data is delivered instantly or within minutes depending on the network.
This endpoint charges your account balance. Ensure sufficient funds before making purchases.
Accepted Phone Formats
Local:0540800994
With code:233540800994
International:+233540800994
Select Language
REQUEST
curl -X POST \
https://api.sendcomms.com/api/v1/data/purchase \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "0540800994",
"network": "mtn",
"capacity_gb": 1,
"reference": "order-123",
"metadata": {
"user_id": "usr_abc123",
"order_id": "ord_xyz789"
}
}'Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| phone_number | string | Required | Recipient's Ghana phone number |
| network | string | Required | mtn, telecel, vodafone, or airteltigo |
| capacity_gb | number | Required | Data amount in GB (1, 2, 5, 10, etc.) |
| reference | string | Optional | Your internal reference ID |
| metadata | object | Optional | Custom key-value data for your records |
Response Codes
201Created400Bad request401Unauthorized402Insufficient balance
Response
Success Response
Returns the transaction details including status and provider references.
{
"success": true,
"data": {
"transaction_id": "data_mjgodtyl_51c55a845f34",
"status": "processing",
"phone_number": "0540800994",
"network": "mtn",
"capacity_gb": 1,
"price": {
"amount": 4.72,
"currency": "GHS"
},
"provider_reference": "TRX-60493ef0-bd7b-4798-8c5c-a75db2da186d",
"order_reference": "MN-AO7732GP",
"processing_method": "manual",
"message": "Order placed successfully. Processing manually (may take a few minutes).",
"reference": "order-123",
"created_at": "2025-12-22T04:48:10.428Z"
}
}Transaction Statuses
| Status | Description |
|---|---|
| pending | Order created, not yet sent to provider |
| processing | Sent to provider, awaiting confirmation |
| sent | Provider confirmed, data being delivered |
| delivered | Data successfully delivered to recipient |
| failed | Purchase failed - check failure_reason |
Note: Some orders are processed manually by the network provider and may take a few minutes. Check the
processing_method field in the response. Use webhooks or poll the status endpoint for updates.