Developers
Use the Tumio API to create deliveries, track shipments, validate locations, and receive live status updates directly inside your own system.
curl -X POST https://tumio.africa/api/v1/deliveries \
-H "Authorization: Bearer tm_live_••••" \
-d '{
"order_id": "ORD-10294",
"customer_name": "Amina Otieno",
"phone": "+254712345678",
"dropoff": {
"lat": -1.2697,
"lng": 36.8025,
"notes": "Gate 3, reception"
}
}'Core API
A focused REST surface for the entire delivery lifecycle — from quote to proof-of-delivery.
/v1/deliveriesSubmit a delivery and let Tumio handle routing, assignment, and execution.
/v1/deliveries/bulkPush hundreds of deliveries in one request — ideal for batch fulfillment.
/v1/pricing/estimateQuote delivery fees in real time before committing an order.
/v1/deliveries/{id}Poll or stream live status, GPS, and ETA for any delivery.
/v1/deliveries/{id}/retryRe-attempt failed deliveries or schedule a return to origin.
/v1/webhooksSubscribe to lifecycle events and keep your system in sync automatically.
Sample request
One endpoint, one payload. Tumio handles routing, dispatch, and tracking from there.
/v1/deliveriescurl -X POST https://tumio.africa/api/v1/deliveries \
-H "Authorization: Bearer tm_live_••••••••••••" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order_8f3c1a" \
-d '{
"order_id": "ORD-10294",
"customer_name": "Amina Otieno",
"phone": "+254712345678",
"pickup": {
"address": "Tumio Hub, Westlands, Nairobi",
"lat": -1.2676,
"lng": 36.8108
},
"dropoff": {
"address": "Riverside Drive 12, Nairobi",
"lat": -1.2697,
"lng": 36.8025,
"notes": "Gate 3, leave with reception"
},
"package": { "type": "small", "weight_kg": 1.2 }
}'application/json{
"id": "dlv_01HF8N2K3PQRSTUVWXYZ",
"tracking_code": "TM-9F4C2A",
"status": "created",
"estimated_fee": { "amount": 350, "currency": "KES" },
"estimated_pickup_time": "2026-04-18T14:22:00Z",
"tracking_url": "https://tumio.africa/track/TM-9F4C2A"
}Address intelligence
African addresses don't fit a single schema. Tumio accepts whatever your customer can provide — and turns it into something a driver can actually deliver to.
{
"input": "https://maps.app.goo.gl/abc123",
"context_city": "Nairobi"
}
// → response
{
"address_id": "addr_01HF...",
"lat": -1.2697,
"lng": 36.8025,
"formatted": "Riverside Drive 12, Nairobi",
"confidence": 92,
"source": "google_pin"
}Webhooks
Subscribe once. Tumio pushes signed events to your endpoint as the delivery moves through every stage.
delivery.createdA new delivery was registered.
driver.assignedA driver has been matched to the delivery.
delivery.picked_upThe driver has collected the package.
delivery.in_transitThe package is on its way to the dropoff.
delivery.deliveredPackage successfully handed over to the recipient.
delivery.failed_attemptAn attempt failed — retry or return scheduled.
delivery.delivered_to_lockerPackage dropped at a locker or PUDO point.
delivery.ready_for_pickupRecipient can pick up at the locker.
delivery.returnedPackage returned to the merchant.
{
"event": "delivery.delivered",
"id": "evt_01HF9M2N4PQRS",
"created_at": "2026-04-18T15:47:12Z",
"data": {
"delivery_id": "dlv_01HF8N2K3PQRSTUVWXYZ",
"order_id": "ORD-10294",
"status": "delivered",
"delivered_at": "2026-04-18T15:46:58Z",
"proof": { "photo_url": "https://tumio.africa/cdn/pod/..." }
}
}Every payload is signed with HMAC-SHA256. Verify the Tumio-Signature header before processing.
Embedded workflow
Your team never leaves your platform. Tumio runs in the background, your dashboard stays the source of truth.
Customers check out, orders are placed — all on your platform under your brand.
Routing, driver assignment, and dispatch are handled by our infrastructure.
Status, GPS, and proof-of-delivery stream into your existing systems.
Your operators manage everything from the tools they already use.
Sandbox
A full sandbox environment so you can build, break, and iterate without touching production.
Full isolated environment for development. Use test API keys with the rc_test_ prefix.
Create simulated deliveries without affecting production drivers or billing.
Trigger any event manually from the dashboard to test your integration.
Inspect every request, response, and webhook delivery in real time.
# Test mode
TUMIO_API_KEY=tm_test_••••••••••••
TUMIO_BASE_URL=https://tumio.africa/api
# Live mode
# TUMIO_API_KEY=tm_live_••••••••••••Security & reliability
Production guarantees from day one — auth, rate limits, retries, and versioning.
Scoped, rotatable keys with separate live and test environments.
Predictable per-key limits with clear headers and graceful 429 responses.
Send Idempotency-Key headers to safely retry any mutating request.
Automatic exponential backoff on failed webhook deliveries with HMAC signatures.
Stable v1 and v2 endpoints. Breaking changes ship behind new versions only.