Put our ridersinside your app.
One clean integration moves food, parcels and stock for your business — quotes, dispatch, live tracking and proof of delivery against the fleet that already moves a city.
Base URL
https://mapi.jumlajumla.com/api/v1/fleetHeader pair auth
X-Api-Vendor-Key + X-Api-Vendor-Secret tied to a vendor account — or a Bearer token built from the pair.
120 requests / minute
Per vendor, every endpoint. A 429 means back off, not gone.
Signed webhooks
Lifecycle events push to you — configure and verify with your secret.
const res = await fetch(`${BASE}/quote`, {
method: "POST",
headers: {
"X-Api-Vendor-Key": JJ_KEY,
"X-Api-Vendor-Secret": JJ_SECRET,
"Content-Type": "application/json",
},
body: JSON.stringify({
pickup: { lat: -6.7924, lng: 39.2083 },
dropoff: { lat: -6.7452, lng: 39.2746 },
parcel_type: "parcel",
}),
});
const { data } = await res.json();{
"status": true,
"message": "Quote calculated.",
"data": {
"price": 4500,
"currency": "TZS",
"distance_km": 4.8,
"eta_minutes": 12
}
}Built API-first for scrappy teams.
Quote before you commit
Road-accurate distance, duration and ETA from our routing engine — price with confidence, not guesses.
One dispatch pool
Your jobs ride the same fleet behind Msosi, Huduma and Jumla Shop. Utilisation you couldn't build alone.
Live tracking
Rider position, status transitions and ETAs streamed while the delivery unfolds — no polling hacks.
Proof of delivery
Delivered is delivered: signed webhooks with timestamps, rider identity and delivery evidence.
Every path, spelled out.
Account
/accountVendor account profile and delivery configuration
/account/revenueRevenue reporting tied to your vendor account
Quotes & serviceability
/quoteDistance, duration and ETA before an order is placed
/serviceableWhether pickup and drop-off points are in live zones
/parcel-typesParcel categories available for your vendor account
Deliveries
/deliveriesCreate a delivery job with pickup, drop-off, parcel and contacts
/deliveriesList and filter your deliveries
/deliveries/{id}Full object for one delivery
/deliveries/{id}/trackingLive rider position and status transitions
/deliveries/{id}/etaReal-time ETA while in transit
/deliveries/{id}/cancelCancel at any stage per the lifecycle rules
Zones
/zonesDelivery zones and shop coverage
/zones/checkServiceability check for a specific route
/zones/shopsShops covered by each zone
Routing engine
/routing/routePoint-to-point route geometry
/routing/matrixTravel-time matrix across many points
/routing/tripMulti-stop trip optimisation
/routing/nearestNearest-matching answers from the road graph
Webhooks
/webhooks/configRead your webhook configuration
/webhooks/configSet endpoint URL and webhook secret
/webhooks/testFire a signed test event at your endpoint
Delivery lifecycle
newCreated, awaiting assignment
acceptedDriver claimed the job
readyOrigin ready for pickup
on_a_wayEn route to destination
deliveredComplete, with proof
canceledPossible at any stage
1 · Tell us about your flow
Volumes, parcel types, areas and hours. We map you to the right vendor profile.
2 · Get credentials
A vendor account with its key, secret and revenue-share terms — usually within days.
3 · Ship with the sandbox
Integrate against live zones with test events, then flip to production dispatch.
Questions while you build? The same team running the fleet will answer them — this API is not outsourced.
Talk to the API team