ForwardOrderRequest
Customer delivery address and contact information.
Order-level details. payment_mode and cod_amount are not required for order_type: d2d.
Pickup address (seller, origin, or warehouse).
- Required unconditionally:
pincode,address_line_1 name/contactare additionally required whenorder_typeismarketplace
Where a failed delivery is returned.
return_type: "seller"— returns to the seller/pickup addressreturn_type: "origin"— returns to your warehouse
For order_type: d2d, return_type is always forced to origin, and its pincode must match pickup_details.pincode.
List of SKUs in the order. At least one required.
order_typeSelects how the order is fulfilled. Defaults to marketplace if omitted. hyperlocal is restricted to onboarded clients only — see the Order Types guide for how required fields shift per type.
CustomerDetails
nameCustomer full name.
contact^[0-9+]+$ · requiredCustomer phone number. 10-14 digits, may include + prefix.
address_line_1Delivery address line 1.
cityDelivery city.
pincode^[1-9][0-9]{5}$ · required6-digit Indian pincode. Must start with 1-9.
address2Delivery address line 2 (optional).
alternate_contactAlternate phone number.
latitudelongitudelocation_accuracyLocation accuracy indicator: L (low), H (high), G (GPS).
location_typeAddress type.
stateDelivery state.
FwdOrderInfo
client_order_idYour unique order ID. Used for idempotency.
product_valueTotal product value in INR. E-way bill required if >= 50,000.
payment_modePayment mode.
cod_amountCash on delivery amount. Must be 0 for prepaid orders.
awb_number^[a-zA-Z0-9]+$Your own AWB number (optional). Alphanumeric only, max 25 chars.
actual_weightActual weight in kg.
volumetric_weightVolumetric weight in kg.
promised_delivery_datePromised delivery date. Format: yyyy-MM-dd hh:mm:ss.
total_amountTotal order amount.
eway_bill12-digit e-way bill number. Required when product value >= ₹50,000.
order_serviceShipping service level.
shopify_order_idShopify order ID (if applicable).
woocommerce_order_idWooCommerce order ID (if applicable).
fulfillment_order_idFulfillment order ID (if applicable).
order_identifierOrder priority identifier.
Optional rider-facing delivery instructions.
PickupAddress
pickup_typePickup location type.
address_line_1Pickup address.
cityPickup city.
pincode^[1-9][0-9]{5}$ · required6-digit Indian pincode.
nameContact name. Required for order_type: marketplace.
contact^[0-9+]+$Contact phone. Required for order_type: marketplace.
latitudelongitudepickup_slotRequested pickup slot key (e.g. slot_1, slot_2) from your account's configured slots. Only honored for order_type: marketplace — ignored for other order types.
pickup_dateRequested pickup date, YYYY-MM-DD. Only honored for order_type: marketplace — ignored for other order types. Combined with pickup_slot to schedule the pickup window; dates in the past are treated as today.
ReturnAddress
return_typeseller— returns a failed delivery to the seller/pickup addressorigin— returns it to your warehouse
Genuinely selectable on Marketplace orders; Warehouse and D2D always treat this as origin regardless of what's sent.
address_line_1Return address.
pincode^[1-9][0-9]{5}$ · required6-digit Indian pincode. For order_type: d2d, must match pickup_details.pincode.
nameContact name. Required when return_type is seller.
contact^[0-9+]+$Contact phone. Required when return_type is seller.
cityemaillatitudelongitudeFwdSkuItem
sku_nameProduct name.
sku_idYour SKU identifier.
priceUnit price in INR.
categoryProduct category.
hsn_codeHSN (Harmonized System of Nomenclature) code for GST.
invoice_noInvoice number.
brandSeller information for GST compliance.
Tax breakdown for the SKU.
Additional SKU metadata.
SellerDetails
seller_nameseller_addressseller_stategstin_numberGSTIN number. Required when product value >= ₹50,000.
TaxDetails
cgst_amountsgst_amountigst_amounttotal_tax_valueFwdAdditionalDetails
requires_extra_caretype_extra_careproduct_idproduct_weightquantityRequired, numeric, for every SKU on a d2d order.
modeD2D transport mode.
slot_typeD2D delivery slot type.
OrderDetails
idInternal order ID.
client_nameclient_order_idawb_numberShadowfax AWB number assigned to this order.
product_valuecod_amountpayment_modeorder_datepromised_delivery_datestatusCurrent order status. See the Order Lifecycle guide for the states that matter for day-to-day integration — this is the full set of values you may see, including less common ones:
| Value | Meaning |
|---|---|
new | Order received, pending processing |
assigned_for_pickup | Rider assigned to collect the item (Warehouse/D2D) |
assigned_for_seller_pickup | Rider assigned to collect the item (Marketplace) |
ofp | Rider en route to collect the item |
picked | Item collected |
qc_failed | Item failed quality check at pickup |
received_from_client_warehouse | Warehouse-model item confirmed picked from your warehouse |
seller_initiated_delay | Seller asked to reschedule pickup |
seller_not_contactable | Seller unreachable for pickup |
pickup_not_attempted | Pickup attempt could not be made |
pickup_on_hold | Pickup paused pending resolution |
recd_at_rev_hub | Item received at the pickup-side hub |
recd_at_fwd_hub | Item received at a delivery-side hub |
recd_at_fwd_dc | Item received at a destination DC |
assigned_for_delivery | Rider assigned for last-mile delivery |
ofd | Rider en route to customer |
delivered | Item delivered |
partially_delivered | Some but not all items delivered (hyperlocal orders) |
cid | Customer asked for another delivery date |
nc | Customer unreachable |
na | Delivery attempt not made |
on_hold | Delivery paused pending resolution |
ewb_on_hold | Paused pending a valid e-way bill |
pincode_updated | Delivery pincode was corrected mid-transit |
reopen_ndr | A failed delivery attempt was reopened for retry |
cancelled_by_customer | Order cancelled |
rts | Return to seller initiated (Marketplace) |
rts_in_process | Return to seller in transit |
rts_d | Return to seller completed |
rts_nd | Return to seller attempt failed |
rto | Return to origin/warehouse initiated (Warehouse/D2D) |
rto_d | Return to origin completed |
rto_nd | Return to origin attempt failed |
lost | Item lost in transit |
pending_inscan | Item expected but not yet scanned in at a facility |
status_displayAddress in API responses.
Address in API responses.
eway_bill_numbersort_codeHub sort code for routing. Present on order creation.
invoice_datePresent on tracking responses.
AddressDisplay
namecontactaddress_line_1address_line_2citystatepincodealternate_contactsms_contactlatitudelongitudeForwardTrackingResponse
messageOrder details. status reflects the latest status, overwritten from the most recent tracking event.
Timeline of tracking events, chronological order.
CancelOrderRequest
request_idAWB number or client_order_id of the order to cancel.
cancel_remarksOptional reason for cancellation.
OrderUpdateRequest
awb_numberAWB number of the order to update.
Customer delivery details to update.
Pickup details to update.
Return address details to update.
Order-level details to update.
Trigger a status change (RTO, RTS, or reopen NDR).
ServiceabilityResult
code6-digit pincode.
servicesAvailable service tiers for this pincode.
ForwardOrderErrorResponse
messageerrorsValidation errors or error message.
RateCalculatorRequest
origin_pincode6-digit pickup pincode.
destination_pincode6-digit delivery pincode.
serviceShipment type. forward is a delivery to the customer. reverse is a pickup from the customer. reverse_qc is a pickup with a quality check.
weightWeight in kg. Optional. If omitted, the rate is priced at 1 kg.
RateCalculatorResponse
messageSuccess when a rate was found. Rate not available for this origin and destination when no rate exists for the pair.
zoneZone for the pincode pair, for example E. null when no rate is available.
shipping_rateShipping rate before GST, in rupees, as a string with two decimal places. null when no rate is available.
gstGST on the shipping rate, in rupees, as a string with two decimal places. Add shipping_rate and gst to get the total. null when no rate is available.