Delivre API (1.0.0)

Download OpenAPI specification:

This documentation describes Delivre's platform API schemas and type usage.

Introduction

The Delivre API provides developers with a simple and reliable way to integrate delivery, routing, and logistics capabilities into their applications.

With this API, you can programmatically:

  1. Create and manage delivery orders
  2. Optimize routes and track deliveries in real time
  3. Access delivery statuses and updates
  4. Integrate logistics workflows into your own systems

Whether you're building an e-commerce platform, internal operations tool, or logistics service, the Delivre API enables you to automate and scale delivery operations efficiently.

Getting Started

To begin using the Delivre API:

  1. Obtain your API credentials from the Delivre dashboard
  2. Authenticate your requests using your AppId and AppSecret
  3. Start making requests to available endpoints

You'll find examples and guides throughout this documentation to help you get up and running quickly.

Deliveries

Schedule a delivery

Creates and schedules a new delivery request.

Authorizations:
basicHttpAuthentication
Request Body schema: application/json
required
deliveryDate
required
string <date-time>
required
object
required
object
required
object
required
object
serviceType
required
integer (ServiceType)
Enum: 1 2 3

Delivery service type

Responses

Request samples

Content type
application/json
{
  • "deliveryDate": "2025-12-13T14:30:00Z",
  • "coordinates": {
    },
  • "dropOffDetails": {
    },
  • "pickupDetails": {
    },
  • "itemDetails": {
    },
  • "serviceType": 1
}

Response samples

Content type
application/json
{
  • "deliveryId": "dly_cmo6ybbup000001nvy2nc3ivv",
  • "message": "delivery scheduled successfully"
}

Get delivery details

Retrieve details of a scheduled delivery by its unique delivery ID.

Authorizations:
basicHttpAuthentication
path Parameters
deliveryId
required
string
Example: dly_cmo6ybbup000001nvy2nc3ivv

Unique identifier of the delivery

Responses

Response samples

Content type
application/json
{
  • "deliveryId": "dly_cmo6ybbup000001nvy2nc3ivv",
  • "pickupDate": "2025-12-16T09:30:00Z",
  • "recipientId": "cst_cmml3p43h000101jw75qhxbxi",
  • "senderId": "cst_cmml3p43h000101jw75qhxbxi",
  • "trackingNumber": "DLV20042026Y2NC3IVV",
  • "polylineRoute": "zfzFwzu_FuAj@wCjAkDpAmBr@...",
  • "pickupDetails": {
    },
  • "dropOffDetails": {
    },
  • "coordinates": {
    },
  • "itemDetails": {
    },
  • "serviceType": "Standard",
  • "status": "Order Placed"
}

List deliveries

Retrieve a paginated list of deliveries with optional status filtering.

Delivery status codes:

1 - ORDER_PLACED
2 - CANCELED
3 - COURIER_ASSIGNED
4 - PICKED_UP
5 - IN_TRANSIT
6 - OUT_FOR_DELIVERY
7 - DELIVERED
8 - FAILED
9 - RETURNED
10 - CLOSED

Authorizations:
basicHttpAuthentication
query Parameters
page
integer >= 1
Example: page=1

Page number

per_page
integer [ 1 .. 100 ]
Example: per_page=20

Number of records per page

status
string
Example: status=1,2,3,4

Comma-separated list of delivery status codes

Responses

Response samples

Content type
application/json
{
  • "deliveries": [
    ]
}

Auto-assign driver

Automatically assigns the nearest available courier to the specified delivery.

Authorizations:
basicHttpAuthentication
path Parameters
deliveryId
required
string
Example: dly_cmo6ybbup000001nvy2nc3ivv

Unique identifier of the delivery

Responses

Response samples

Content type
application/json
{
  • "message": "Driver auto-assigned successfully"
}

Assign driver

Manually assign a driver to a specific delivery.

Authorizations:
basicHttpAuthentication
path Parameters
deliveryId
required
string
Example: dly_cmo6ybbup000001nvy2nc3ivv

Unique identifier of the delivery

Request Body schema: application/json
required
driverId
required
string

Unique identifier of the driver

deliveryId
required
string

Unique identifier of the delivery

Responses

Request samples

Content type
application/json
{
  • "driverId": "usr_cmo6ybbup0000045yu2nc3ivv",
  • "deliveryId": "dly_cmo6ybbup000001nvy2nc3ivv"
}

Response samples

Content type
application/json
{
  • "message": "Driver assigned successfully"
}

Unassign driver

Removes an assigned driver from a delivery.

Authorizations:
basicHttpAuthentication
path Parameters
deliveryId
required
string
Example: dly_cmo6ybbup000001nvy2nc3ivv

Unique identifier of the delivery

Responses

Response samples

Content type
application/json
{
  • "message": "Driver unassigned successfully"
}

Reassign driver

Reassigns a different driver to an existing delivery, replacing the currently assigned driver if any.

Authorizations:
basicHttpAuthentication
path Parameters
deliveryId
required
string
Example: dly_cmo6ybbup000001nvy2nc3ivv

Unique identifier of the delivery

Request Body schema: application/json
required
driverId
required
string

Unique identifier of the new driver

deliveryId
required
string

Unique identifier of the delivery

Responses

Request samples

Content type
application/json
{
  • "driverId": "usr_cmo6ybbup0000045yu2nc3ivv",
  • "deliveryId": "dly_cmo6ybbup000001nvy2nc3ivv"
}

Response samples

Content type
application/json
{
  • "message": "Driver assigned successfully"
}

Estimate delivery cost

Calculates the estimated delivery price based on route, item details, and service type.

Authorizations:
basicHttpAuthentication
Request Body schema: application/json
required
required
object
from
required
string
to
required
string
required
object
serviceType
required
integer

Responses

Request samples

Content type
application/json
{
  • "coordinates": {
    },
  • "from": "nairobi",
  • "to": "nairobi",
  • "itemDetails": {
    },
  • "serviceType": 1
}

Response samples

Content type
application/json
{
  • "base": 0,
  • "distance": 100,
  • "weight": 1.5,
  • "demand_impact": -162.4,
  • "weather_impact": 0,
  • "fragile_addon": 0,
  • "fuel_impact": -2591.2950000000005,
  • "urgent_impact": 0,
  • "subtotal": -2652.1950000000006,
  • "final_price": 70
}

Track delivery by tracking number

Retrieve real-time tracking information for a delivery using its tracking number.

Authorizations:
basicHttpAuthentication
path Parameters
trackingNumber
required
string
Example: DLV090320260HR7L0ZR

Unique tracking number of the delivery

Responses

Response samples

Content type
application/json
{
  • "trackingNumber": "DLV19012026291",
  • "status": "Courier Assigned",
  • "estimatedDelivery": "0001-01-01T00:00:00Z"
}

Get delivery tracking timeline

Retrieves the full lifecycle timeline of a delivery using its tracking number.

Authorizations:
basicHttpAuthentication
path Parameters
trackingNumber
required
string
Example: DLV090320260HR7L0ZR

Unique tracking number of the delivery

Responses

Response samples

Content type
application/json
{
  • "deliveryId": 281,
  • "placedAt": "2026-01-11 11:41:44.12585 +0000 UTC",
  • "courierAssignedAt": "2026-01-11 13:03:23.045404 +0000 UTC",
  • "pickedUpAt": "2026-01-11 13:03:56.512234 +0000 UTC",
  • "inTransitAt": "0001-01-01 00:00:00 +0000 UTC",
  • "outForDeliveryAt": "2026-01-11 15:39:43.527592 +0000 UTC",
  • "failedAt": "0001-01-01 00:00:00 +0000 UTC",
  • "returnedAt": "0001-01-01 00:00:00 +0000 UTC",
  • "deliveredAt": "2026-01-11 15:40:13.499766 +0000 UTC"
}

Get delivery timelines in date range

Retrieves delivery timelines filtered by a start and end date range.

Authorizations:
basicHttpAuthentication
query Parameters
start
required
string <date-time>
Example: start=2026-03-08T00:30:00Z

Start of the date range (ISO 8601)

end
required
string <date-time>
Example: end=2026-03-10T14:30:00Z

End of the date range (ISO 8601)

Responses

Response samples

Content type
application/json
{
  • "deliveryTimelines": [
    ]
}

Timelines

Get delivery timelines in date range

Retrieves delivery timelines filtered by a start and end date range.

Authorizations:
basicHttpAuthentication
query Parameters
start
required
string <date-time>
Example: start=2026-03-08T00:30:00Z

Start of the date range (ISO 8601)

end
required
string <date-time>
Example: end=2026-03-10T14:30:00Z

End of the date range (ISO 8601)

Responses

Response samples

Content type
application/json
{
  • "deliveryTimelines": [
    ]
}

Apps

Create application

Creates a new API application with scoped permissions. The secret is returned only once.

Authorizations:
basicHttpAuthentication
Request Body schema: application/json
required
name
required
string
scopes
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "e-commerce access",
  • "scopes": [
    ]
}

Response samples

Content type
application/json
{
  • "appId": "app_cmo4ii25u0000r4eeo6r239r4",
  • "secret": "04d7f49f5e1942a484a78a3df54d94b7",
  • "name": "app two",
  • "scopes": [
    ]
}

Get application details

Retrieves details of a specific application by its ID.

Authorizations:
basicHttpAuthentication
path Parameters
appId
required
string
Example: app_cmo4ii25u0000r4eeo6r239r4

Unique identifier of the application

Responses

Response samples

Content type
application/json
{
  • "appId": "app_cmo4ii25u0000r4eeo6r239r4",
  • "name": "app two",
  • "scopes": [
    ]
}

List applications

Retrieves a list of all API applications for the authenticated account.

Authorizations:
basicHttpAuthentication

Responses

Response samples

Content type
application/json
{
  • "apps": [
    ]
}