What Is This API?
Use the Express Order Creation API to create a new express (on-demand) delivery order
in the Jeebly system. Once created successfully, Jeebly will assign a unique tracking number / order ID
(AWB No) and instantly schedule a rider for pickup within
Dubai.
Booking Hours & Timezone Notice
Booking hours are 8:00 AM to 11:00 PM Gulf Standard Time (GST). Orders cannot be
placed outside of these operational hours. All datetime parameters (planned_start_time, planned_delivery_time) must strictly be formatted in GST
(YYYY-MM-DD HH:MM).
Dubai Geographic Boundary Policy
Express orders are currently supported only within Dubai. Both the pickup city
(pickup_city) and delivery destination city (destination_city) must be set
to "Dubai". To activate Express Delivery for booking shipments in any other emirate
(Abu Dhabi, Sharjah, etc.), please contact the Jeebly Service Excellence team.
Authentication Headers
Every API request must include the two mandatory authentication headers below along with the
Content-Type header. If you don't have your API keys yet, contact Jeebly support or view
our Get Your Keys
portal.
Request Schema & Field Reference
The request body is a flat JSON object containing three primary field groups: Order Details, Pickup Address (Origin), and Delivery Address (Destination).
3.1 Order Details
9 Parameters3.2 Pickup Address (Origin)
9 Parameters3.3 Delivery Address (Destination)
9 ParametersSample Requests
Choose your preferred programming language or HTTP client below to inspect complete, production-ready code snippets with headers and payload matching the official specification:
curl --location 'https://demo.jeebly.com/customer/create_express_shipment' \
--header 'X-API-KEY: YOUR_API_KEY' \
--header 'client_key: YOUR_CLIENT_KEY' \
--header 'Content-Type: application/json' \
--data '{
"order_type": "Food and Beverages",
"pickup_building": "Test Building no. 100",
"pickup_street": "Plot No. 365-405",
"pickup_area": "Al Quoz Industrial",
"pickup_city": "Dubai",
"pickup_contact_phone_country_code": "+971",
"pickup_contact_phone": "123456789",
"destination_area": "Al Khail Road",
"destination_building": "Test Building no. 501",
"destination_street": "Test Street no. 789",
"destination_city": "Dubai",
"recipient_name": "Jane Doe",
"recipient_contact_phone_country_code": "+971",
"recipient_contact_phone": "123456789",
"payment_method": "Prepaid",
"cod_amount": 0,
"no_of_packages": 2,
"tip_amount": 0,
"extra_info": "Handle with care",
"vehicle_type": "Bike",
"planned_start_time": "2026-06-15 14:00",
"planned_delivery_time": "2026-06-15 15:30",
"pick_lat": "25.0415392",
"pick_long": "55.1258263",
"drop_lat": "25.0415533",
"drop_long": "55.1286153"
}'
Success Response (200 OK)
When all parameters meet validation rules and the order is placed within valid booking hours (8:00 AM –
11:00 PM GST), the API returns an HTTP 200 OK status with the generated express
AWB No:
{
"success": "true",
"message": "Created Successfully.",
"AWB No": "E240307040904681"
}
Understanding the AWB Number
The AWB No returned in the response (e.g. E240307040904681) is your
primary Express Order ID. Save and persist this identifier in your system database
— you will require this exact value to check real-time courier coordinates via the Track Express
Shipment API or to cancel the booking via the Cancel Express Shipment API.
Error Responses (400 Bad Request)
The API performs strict validation on every parameter and operating constraint. Below are all 52 error scenarios documented in the official specification. Use the interactive filter pills to quickly isolate specific validation errors:
{
"success": "false",
"message": "Invalid JSON format"
}
{
"success": "false",
"message": "Invalid Customer Key"
}
{
"success": "false",
"message": "Invalid API Token"
}
order_type:
{
"success": "false",
"message": "The order_type field must be one of Food and Beverages, Groceries, Documents and Others."
}
pickup_building:
{
"success": "false",
"message": "The pickup_building field is required."
}
pickup_street:
{
"success": "false",
"message": "The pickup_street field is required."
}
pickup_area:
{
"success": "false",
"message": "The pickup_area field is required."
}
pickup_city:
{
"success": "false",
"message": "The pickup city must be Dubai."
}
pickup_contact_phone_country_code:
{
"success": "false",
"messages": "Please select valid Country Code"
}
pickup_contact_phone:
{
"success": "false",
"message": "The pickup_contact_phone field is required."
}
destination_building:
{
"success": "false",
"message": "The destination_building field is required."
}
destination_street:
{
"success": "false",
"message": "The destination_street field is required."
}
destination_area:
{
"success": "false",
"message": "The destination_area field is required."
}
destination_city:
{
"success": "false",
"message": "The destination_city field is required."
}
recipient_contact_phone_country_code:
{
"success": "false",
"messages": "Please select valid Country Code"
}
recipient_contact_phone:
{
"success": "false",
"message": "The recipient_contact_phone field is required."
}
no_of_packages:
{
"success": "false",
"message": "The no_of_packages field is required."
}
payment_method:
{
"success": "false",
"message": "The payment_method field is required."
}
cod_amount:
{
"success": "false",
"message": "The cod_amount field is required."
}
planned_start_time:
{
"success": "false",
"message": "The planned_start_time field must contain a valid date and time."
}
vehicle_type:
{
"success": "false",
"message": "The Vehicle Type is not allowed. Please contact Jeebly team for more information"
}
pickup_name:
{
"success": "false",
"message": "The pickup_name field cannot exceed 100 characters in length."
}
pickup_building:
{
"success": "false",
"message": "The pickup_building field cannot exceed 200 characters in length."
}
pickup_street:
{
"success": "false",
"message": "The pickup_street field cannot exceed 200 characters in length."
}
pickup_area:
{
"success": "false",
"message": "The pickup_area field cannot exceed 250 characters in length."
}
destination_building:
{
"success": "false",
"message": "The destination_building field cannot exceed 250 characters in length."
}
destination_street:
{
"success": "false",
"message": "The destination_street field cannot exceed 250 characters in length."
}
recipient_name:
{
"success": "false",
"message": "The recipient_name field cannot exceed 250 characters in length."
}
destination_area:
{
"success": "false",
"message": "The destination_area field cannot exceed 250 characters in length."
}
extra_info:
{
"success": "false",
"message": "The extra_info field cannot exceed 250 characters in length."
}
pickup_contact_phone:
{
"success": "false",
"message": "The pickup_contact_phone field cannot exceed 15 characters in length."
}
recipient_contact_phone:
{
"success": "false",
"message": "The recipient_contact_phone field cannot exceed 15 characters in length."
}
no_of_packages:
{
"success": "false",
"message": "The no_of_packages field must contain a number less than 6."
}
tip_amount:
{
"success": "false",
"message": "Tip amount should be less than 100"
}
cod_amount:
{
"success": "false",
"message": "The cod_amount field must contain a number less than 10000."
}
planned_start_time after 11 PM:
{
"success": "false",
"message": "The planned_start_time field must be between 08:00 to 23:00."
}
planned_delivery_time after 11 PM:
{
"success": "false",
"message": "The planned_delivery_time field must be between 08:00 to 23:00."
}
planned_start_time:
{
"success": "false",
"message": "The planned_start_time field must contain a valid date and time."
}
planned_delivery_time:
{
"success": "false",
"message": "The planned_delivery_time field must contain a valid date and time."
}
{
"success": "false",
"message": "planned_delivery_time should be greater than planned_start_time"
}
pickup_name:
{
"success": "false",
"message": "The pickup_name field must be at least 2 characters in length."
}
pickup_building:
{
"success": "false",
"message": "The pickup_building field must be at least 4 characters in length."
}
pickup_street:
{
"success": "false",
"message": "The pickup_street field must be at least 4 characters in length."
}
pickup_area:
{
"success": "false",
"message": "The pickup_area field must be at least 4 characters in length."
}
destination_building:
{
"success": "false",
"message": "The destination_building field must be at least 4 characters in length."
}
destination_street:
{
"success": "false",
"message": "The destination_street field must be at least 4 characters in length."
}
no_of_packages:
{
"success": "false",
"message": "The no_of_packages field must only contain digits and must be greater than zero."
}
{
"success": "false",
"message": "COD Amount should be zero"
}
{
"success": "false",
"message": "The cod_amount field must contain a number greater than 0."
}
{
"success": "false",
"message": "For settlement of COD amount, we will require your bank details"
}
{
"success": "false",
"message": "The country_code field cannot exceed 5 characters in length."
}
{
"success": "false",
"message": "The pickup_contact_phone_country_code field cannot exceed 5 characters in length."
}
Troubleshooting & Resolution Guide
Reference this official diagnostic matrix to quickly identify the root cause of an error response and apply the recommended remedy:
Operational Rules & Best Practices
Strict Operating Window
Express couriers operate exclusively between 8:00 AM and 11:00 PM Gulf Standard Time (GST). Any order submitted with a pickup or delivery timestamp outside this window will be rejected with an HTTP 400 error.
Dubai Only & GPS Coordinates
Both origin and destination must be within Dubai. Passing pick_lat,
pick_long, drop_lat, and drop_long GPS coordinates
significantly improves rider route calculation and prevents on-field delivery delays.
COD Remittance & Bank Info
For Cash On Delivery (COD) shipments, ensure your official corporate bank account is on record with Jeebly. If bank details are missing, order creation is blocked to protect your collection payouts.
Fleet Allocation
Use "Bike" for quick urban envelopes, food, or small parcels (up to 5 pkgs). For
larger items or fragile boxes, set vehicle_type to "Car" to ensure
adequate courier cargo volume.
Express Delivery Lifecycle Workflow
The complete on-demand express integration workflow consists of three primary endpoints designed for high-speed, direct fulfillment:
Create Express Order
Submit pickup and delivery parameters to book the consignment and receive your
AWB No.
Track Express Order
Monitor live courier location, pickup confirmation, and delivery milestones using the order ID.
Cancel Express Order
Cancel an express shipment before the courier arrives at the pickup origin to release the rider.
ON THIS PAGE
Our integration engineering team is ready to review your payload or extend delivery beyond Dubai.