Jeebly
Express (On-Demand) API Version 1.0.9 Order Cancellation

Express Order Cancellation API

Cancel a pending express delivery order before courier physical pickup. Instantly releases the assigned rider back to the active fleet pool and updates the consignment status across tracking channels.

Quick Specifications
POST
Environment: Demo & Production
HTTP Method: POST
Content-Type: application/json
Cancellation Cut-off: Before 'Picked Up' Status
Authentication: API Key & Client Key
1

What Is This API?

You can use this API to cancel an Express order. Just submit the required details in the specified request format. Once received, the order is flagged as cancelled in the dispatch engine and the courier rider is immediately unassigned.

Cancellation Window Cut-off Policy

Note: You must cancel BEFORE the shipment reaches 'Picked Up' status. After the rider has arrived at the origin and physically collected the parcel (status changed to Picked Up), the order can no longer be cancelled via API. Any mid-transit cancellation must be handled manually via the Jeebly Service Excellence team.

API Endpoint Details
Property Value
Request URL (Demo)
https://demo.jeebly.com/customer/cancel_express_shipment
Request URL (Production)
https://myjeebly.jeebly.com/customer/cancel_express_shipment
HTTP Method POST
Content-Type application/json
Lifecycle Eligibility Orders with status prior to 'Picked Up'
2

Authentication Headers

Include the two secret credential headers in every cancellation call along with Content-Type: application/json:

Header Name Description Required
X-API-KEY Your secret Jeebly API security key. Yes
client_key Your unique customer account identifier key. Yes
Content-Type Must be set to application/json. Yes
3

Request Body & Parameters

The request body requires a single identifier parameter, order_id. Note that only one express delivery consignment can be cancelled per request:

Field Name Type Description Example Required
order_id String The express order ID (AWB No) you want to cancel. Only one order can be cancelled per request. "E240524103039106" Yes
4

Sample Requests

Choose your environment below to view complete sample requests matching the official specification:

curl --location 'https://demo.jeebly.com/customer/cancel_express_shipment' \
--header 'X-API-KEY: YOUR_API_KEY' \
--header 'client_key: YOUR_CLIENT_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "order_id": "E240524103039106"
}'
5

Success Response (200 OK)

When the cancellation is accepted, the server returns an HTTP 200 OK response indicating the shipment has been cancelled:

HTTP 200 OK — Order Cancelled
{
  "success": "true",
  "message": "Shipment cancelled successfully"
}
Express Consignment State Transition
Initial State
Rider Dispatched / En Route
Courier heading to pickup building
Final State
Shipment Cancelled
Rider released back to pool
Field Name Type Description
success String / Bool Returns "true" when the cancellation request is successfully executed.
message String Confirmation message: "Shipment cancelled successfully".
6

Error Responses (400 Bad Request)

The cancellation endpoint rejects orders that have already progressed past pickup or have previously been cancelled. Filter through the potential 400 responses below:

Case 1 If the shipment status is already cancelled:
{
  "success": "false",
  "message": "Shipment already cancelled"
}
Case 2 If the shipment status is picked up:
{
  "success": "false",
  "message": "Shipment cannot be cancelled."
}
Case 3 If the format is wrong:
{
  "success": "false",
  "message": "Invalid JSON format"
}
Case 4 If the Customer/Client Key is not valid:
{
  "success": "false",
  "message": "Invalid Customer Key"
}
Case 5 If the API Key is not valid:
{
  "success": "false",
  "message": "Invalid API Token"
}
7

Troubleshooting & Resolution Guide

Consult this official resolution guide to handle cancellation rejections and exception flows gracefully:

Error Message What It Means How to Fix It
Shipment already cancelled This order was already cancelled in previous requests No action needed — the order is already cancelled
Shipment cannot be cancelled. The rider has already picked up the package physically Contact Jeebly support to handle this manually
Invalid Customer Key Your client_key header is wrong or missing Double-check your client key in headers
Invalid API Token Your X-API-KEY header is wrong or missing Double-check your API security key in headers
Invalid JSON format The request body has syntax flaws Check for missing quotes or unclosed brackets around order_id
8

Operational Rules & Best Practices

Pre-Pickup Cancellation Window

The express cancellation API is strictly active while the order is in Dispatched or Arrived at Pickup status. Once the rider scans the parcel barcode and triggers Picked Up, automated API cancellation is permanently disabled.

Immediate Rider Re-allocation

Submitting a successful cancellation request immediately updates the dispatch system. The assigned courier rider is notified on their mobile terminal and released back to take other urgent shipments across Dubai.

9

Express Delivery Lifecycle Workflow

The complete on-demand express integration workflow consists of three primary endpoints designed for high-speed, direct fulfillment:

Step 1 POST
Create Express Order

Submit pickup and delivery parameters to book the consignment and receive your AWB No.

Creation Guide
Step 2 POST
Track Express Order

Monitor live courier location, pickup confirmation, and delivery milestones using the order ID.

Tracking Guide
Step 3 (Current) POST
Cancel Express Order

Cancel an express shipment before the courier arrives at the pickup origin to release the rider.

Open Console
ON THIS PAGE

Need Help?

Need to cancel an order already marked as 'Picked Up'? Contact our 24/7 hotline.