1. Authenticate
Authorization: Bearer live_xxxxxxxxx
Content-Type: application/jsonUse a project API key on every server-to-server request. Quote requests are free. Shipment creation requires an idempotency key so retries cannot create duplicate courier jobs.
Authorization: Bearer live_xxxxxxxxx
Content-Type: application/jsonPOST /api/v1/quotes
{
"pickup": {"address":"Ikeja, Lagos","countryCode":"NG"},
"delivery": {"address":"Lekki, Lagos","countryCode":"NG"},
"parcel": {"weightKg":2.4,"category":"Electronics"}
}POST /api/v1/shipments
Idempotency-Key: order_12345678
{
"requestRef":"qt_xxx",
"provider":"provider_code",
"serviceCode":"same_day"
}GET /api/v1/tracking/sh_xxxPOST /api/v1/shipments/sh_xxx/cancelCancellation is confirmed with the carrier first. Return/cancellation fees and wallet refunds require provider reconciliation.
Quotes are free. External organizations fund a workspace wallet and bookings debit the quoted courier total plus the configured percentage commission. Internal/FREE organizations can have a 0% SaaS commission.
Add an HTTPS endpoint under Dashboard → Settings. Events are signed with HMAC-SHA256 using the endpoint secret and delivered with x-logistics-signature and x-logistics-event. Failed deliveries retry with exponential backoff.