Browse the docs
API reference
Orders
Accept or reject online orders, choose who delivers, and follow fulfilment.
- GETList orders
- GETGet an order
- GETDelivery options for an order
- POSTAccept an order
- POSTReject an order
- POSTSwitch to store delivery
- POSTRetry booking a courier
List orders
/v1/stores/{store_id}/ordersNewest first. Use updated_since to catch up on anything a missed webhook would have told you.
Parameters
store_idinteger · pathrequiredcursorstring · queryOpaque cursor from a previous page's
next_cursor.limitinteger · queryPage size, 1–100. Default 50.
statusenum · queryACCEPTEDCANCELLEDCOMPLETEDDELIVEREDOUT_FOR_DELIVERYPACKEDPAYMENT_FAILEDPENDINGtypeenum · queryDefault: delivery.
deliveryinstoreupdated_sincestring · queryISO 8601. Orders with any event since then.
Returns · OrderList
Show 4 fields
objectstringdataarray of objectrequiredobjectstringidstringrequiredScanimart order id, e.g. ORDER-1A2B3C4D5E.
external_idstringnullablerequiredYour id for this order, if you sent one when accepting.
store_idintegerrequiredtypeenumrequired*
delivery- delivery *instore- instoredeliveryinstorestatusenumrequired*
PENDING- PENDING *ACCEPTED- ACCEPTED *PACKED- PACKED *OUT_FOR_DELIVERY- OUT_FOR_DELIVERY *DELIVERED- DELIVERED *CANCELLED- CANCELLED *COMPLETED- COMPLETED *PAYMENT_FAILED- PAYMENT_FAILEDPENDINGACCEPTEDPACKEDOUT_FOR_DELIVERYDELIVEREDCANCELLEDCOMPLETEDPAYMENT_FAILEDpaymentobjectrequiredstatusstringrequiredpaidbooleanrequiredmethodstringnullablerequired
total_amountdecimal stringrequireddelivery_feedecimal stringnullablerequiredfulfilment_modeenumnullablerequired*
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERSTORE_STAFFSCANIMART_COURIERaccepted_viaenumnullablerequired*
APP- APP *POS- POSAPPPOSplaced_attimestampnullablerequiredlinesarray of objectrequiredbarcodestringnullablerequirednamestringnullablerequiredquantityintegerrequiredfree_quantityintegernullablerequiredUnits of
quantitygiven free by a buy-X-get-Y offer.unit_pricedecimal stringnullablerequiredPer paid unit, tax-inclusive.
mrpdecimal stringnullablerequiredline_totaldecimal stringrequiredsourceenumnullablerequired*
catalog- catalog *store_item- store_item *misc- misccatalogstore_itemmiscexternal_idstringnullablerequiredYour id for this item, if you sent one.
courierobjectnullablerequiredThe Scanimart courier, for SCANIMART_COURIER orders.
providerstringnullablerequirede.g. porter.
statusenumrequired*
NOT_REQUESTED- NOT_REQUESTED *REQUESTED- REQUESTED *BOOKED- BOOKED *ASSIGNED- ASSIGNED *PICKED_UP- PICKED_UP *DELIVERED- DELIVERED *CANCELLED- CANCELLED *FAILED- FAILEDNOT_REQUESTEDREQUESTEDBOOKEDASSIGNEDPICKED_UPDELIVEREDCANCELLEDFAILEDtracking_urlstringnullablerider_namestringnullablerider_phonestringnullablevehiclestringnullableeta_minutesintegernullable
has_morebooleanrequirednext_cursorstringnullablerequiredPass as
cursorto get the next page.
curl https://sandbox.api.scanimart.com/v1/stores/1042/orders \
-H "Authorization: Bearer $SCANIMART_KEY"{
"object": "list",
"data": [
{
"object": "order",
"id": "ORDER-1A2B3C4D5E",
"external_id": "BILL-20391",
"store_id": 1042,
"type": "delivery",
"status": "PENDING",
"payment": {
"status": "string",
"paid": true,
"method": "string"
},
"total_amount": "249.00",
"delivery_fee": "249.00",
"fulfilment_mode": "STORE_STAFF",
"accepted_via": "APP",
"placed_at": "2026-10-08T10:15:00+05:30",
"lines": [
{
"barcode": "8901725181222",
"name": "Aashirvaad Atta 5kg",
"quantity": 2,
"free_quantity": 2,
"unit_price": "249.00",
"mrp": "249.00",
"line_total": "249.00",
"source": "catalog",
"external_id": "BILL-20391"
}
],
"courier": {
"provider": "porter",
"status": "NOT_REQUESTED",
"tracking_url": "https://track.porter.in/abc123",
"rider_name": "Ravi K",
"rider_phone": "+919800000000",
"vehicle": "2W",
"eta_minutes": 1
}
}
],
"has_more": false,
"next_cursor": null
}Get an order
/v1/stores/{store_id}/orders/{order_id}Parameters
store_idinteger · pathrequiredorder_idstring · pathrequired
Returns · Order
Show 14 fields
objectstringidstringrequiredScanimart order id, e.g. ORDER-1A2B3C4D5E.
external_idstringnullablerequiredYour id for this order, if you sent one when accepting.
store_idintegerrequiredtypeenumrequired*
delivery- delivery *instore- instoredeliveryinstorestatusenumrequired*
PENDING- PENDING *ACCEPTED- ACCEPTED *PACKED- PACKED *OUT_FOR_DELIVERY- OUT_FOR_DELIVERY *DELIVERED- DELIVERED *CANCELLED- CANCELLED *COMPLETED- COMPLETED *PAYMENT_FAILED- PAYMENT_FAILEDPENDINGACCEPTEDPACKEDOUT_FOR_DELIVERYDELIVEREDCANCELLEDCOMPLETEDPAYMENT_FAILEDpaymentobjectrequiredstatusstringrequiredpaidbooleanrequiredmethodstringnullablerequired
total_amountdecimal stringrequireddelivery_feedecimal stringnullablerequiredfulfilment_modeenumnullablerequired*
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERSTORE_STAFFSCANIMART_COURIERaccepted_viaenumnullablerequired*
APP- APP *POS- POSAPPPOSplaced_attimestampnullablerequiredlinesarray of objectrequiredbarcodestringnullablerequirednamestringnullablerequiredquantityintegerrequiredfree_quantityintegernullablerequiredUnits of
quantitygiven free by a buy-X-get-Y offer.unit_pricedecimal stringnullablerequiredPer paid unit, tax-inclusive.
mrpdecimal stringnullablerequiredline_totaldecimal stringrequiredsourceenumnullablerequired*
catalog- catalog *store_item- store_item *misc- misccatalogstore_itemmiscexternal_idstringnullablerequiredYour id for this item, if you sent one.
courierobjectnullablerequiredThe Scanimart courier, for SCANIMART_COURIER orders.
providerstringnullablerequirede.g. porter.
statusenumrequired*
NOT_REQUESTED- NOT_REQUESTED *REQUESTED- REQUESTED *BOOKED- BOOKED *ASSIGNED- ASSIGNED *PICKED_UP- PICKED_UP *DELIVERED- DELIVERED *CANCELLED- CANCELLED *FAILED- FAILEDNOT_REQUESTEDREQUESTEDBOOKEDASSIGNEDPICKED_UPDELIVEREDCANCELLEDFAILEDtracking_urlstringnullablerider_namestringnullablerider_phonestringnullablevehiclestringnullableeta_minutesintegernullable
Errors: 404, in the standard error format.
curl https://sandbox.api.scanimart.com/v1/stores/1042/orders/ORDER-1A2B3C4D5E \
-H "Authorization: Bearer $SCANIMART_KEY"{
"object": "order",
"id": "ORDER-1A2B3C4D5E",
"external_id": "BILL-20391",
"store_id": 1042,
"type": "delivery",
"status": "PENDING",
"payment": {
"status": "string",
"paid": true,
"method": "string"
},
"total_amount": "249.00",
"delivery_fee": "249.00",
"fulfilment_mode": "STORE_STAFF",
"accepted_via": "APP",
"placed_at": "2026-10-08T10:15:00+05:30",
"lines": [
{
"barcode": "8901725181222",
"name": "Aashirvaad Atta 5kg",
"quantity": 2,
"free_quantity": 2,
"unit_price": "249.00",
"mrp": "249.00",
"line_total": "249.00",
"source": "catalog",
"external_id": "BILL-20391"
}
],
"courier": {
"provider": "porter",
"status": "NOT_REQUESTED",
"tracking_url": "https://track.porter.in/abc123",
"rider_name": "Ravi K",
"rider_phone": "+919800000000",
"vehicle": "2W",
"eta_minutes": 1
}
}Delivery options for an order
/v1/stores/{store_id}/orders/{order_id}/delivery-optionsWhat the store may choose when accepting, with the commission each costs the store.
Parameters
store_idinteger · pathrequiredorder_idstring · pathrequired
Returns · DeliveryOptionList
Show 4 fields
objectstringdataarray of objectrequiredmodeenumrequired*
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERSTORE_STAFFSCANIMART_COURIERavailablebooleanrequiredreasonstringnullablerequiredcommission_percentdecimal stringnullablerequiredcommission_amountdecimal stringnullablerequiredeta_minutesintegernullablerequired
has_morebooleanrequirednext_cursorstringnullablerequiredPass as
cursorto get the next page.
curl https://sandbox.api.scanimart.com/v1/stores/1042/orders/ORDER-1A2B3C4D5E/delivery-options \
-H "Authorization: Bearer $SCANIMART_KEY"{
"object": "list",
"data": [
{
"mode": "STORE_STAFF",
"available": true,
"reason": "Out of stock",
"commission_percent": "5.00",
"commission_amount": "249.00",
"eta_minutes": 1
}
],
"has_more": false,
"next_cursor": null
}Accept an order
/v1/stores/{store_id}/orders/{order_id}/acceptAccept a PENDING delivery order and choose who delivers it. The store's retailer app can accept too: whichever acts first wins, and the other gets order_not_in_required_state.
Parameters
store_idinteger · pathrequiredorder_idstring · pathrequiredIdempotency-Keystring · headerAny unique string (a UUID is ideal). Retrying with the same key returns the first result instead of acting twice. Kept for 24 hours.
Request body
fulfilment_modeanyDefaults to STORE_STAFF. *
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERexternal_idstringYour bill or order number; echoed in every later event.
Returns · Order
Show 14 fields
objectstringidstringrequiredScanimart order id, e.g. ORDER-1A2B3C4D5E.
external_idstringnullablerequiredYour id for this order, if you sent one when accepting.
store_idintegerrequiredtypeenumrequired*
delivery- delivery *instore- instoredeliveryinstorestatusenumrequired*
PENDING- PENDING *ACCEPTED- ACCEPTED *PACKED- PACKED *OUT_FOR_DELIVERY- OUT_FOR_DELIVERY *DELIVERED- DELIVERED *CANCELLED- CANCELLED *COMPLETED- COMPLETED *PAYMENT_FAILED- PAYMENT_FAILEDPENDINGACCEPTEDPACKEDOUT_FOR_DELIVERYDELIVEREDCANCELLEDCOMPLETEDPAYMENT_FAILEDpaymentobjectrequiredstatusstringrequiredpaidbooleanrequiredmethodstringnullablerequired
total_amountdecimal stringrequireddelivery_feedecimal stringnullablerequiredfulfilment_modeenumnullablerequired*
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERSTORE_STAFFSCANIMART_COURIERaccepted_viaenumnullablerequired*
APP- APP *POS- POSAPPPOSplaced_attimestampnullablerequiredlinesarray of objectrequiredbarcodestringnullablerequirednamestringnullablerequiredquantityintegerrequiredfree_quantityintegernullablerequiredUnits of
quantitygiven free by a buy-X-get-Y offer.unit_pricedecimal stringnullablerequiredPer paid unit, tax-inclusive.
mrpdecimal stringnullablerequiredline_totaldecimal stringrequiredsourceenumnullablerequired*
catalog- catalog *store_item- store_item *misc- misccatalogstore_itemmiscexternal_idstringnullablerequiredYour id for this item, if you sent one.
courierobjectnullablerequiredThe Scanimart courier, for SCANIMART_COURIER orders.
providerstringnullablerequirede.g. porter.
statusenumrequired*
NOT_REQUESTED- NOT_REQUESTED *REQUESTED- REQUESTED *BOOKED- BOOKED *ASSIGNED- ASSIGNED *PICKED_UP- PICKED_UP *DELIVERED- DELIVERED *CANCELLED- CANCELLED *FAILED- FAILEDNOT_REQUESTEDREQUESTEDBOOKEDASSIGNEDPICKED_UPDELIVEREDCANCELLEDFAILEDtracking_urlstringnullablerider_namestringnullablerider_phonestringnullablevehiclestringnullableeta_minutesintegernullable
Errors: 404, 409, in the standard error format.
curl -X POST https://sandbox.api.scanimart.com/v1/stores/1042/orders/ORDER-1A2B3C4D5E/accept \
-H "Authorization: Bearer $SCANIMART_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"fulfilment_mode": null,
"external_id": "BILL-20391"
}'{
"object": "order",
"id": "ORDER-1A2B3C4D5E",
"external_id": "BILL-20391",
"store_id": 1042,
"type": "delivery",
"status": "PENDING",
"payment": {
"status": "string",
"paid": true,
"method": "string"
},
"total_amount": "249.00",
"delivery_fee": "249.00",
"fulfilment_mode": "STORE_STAFF",
"accepted_via": "APP",
"placed_at": "2026-10-08T10:15:00+05:30",
"lines": [
{
"barcode": "8901725181222",
"name": "Aashirvaad Atta 5kg",
"quantity": 2,
"free_quantity": 2,
"unit_price": "249.00",
"mrp": "249.00",
"line_total": "249.00",
"source": "catalog",
"external_id": "BILL-20391"
}
],
"courier": {
"provider": "porter",
"status": "NOT_REQUESTED",
"tracking_url": "https://track.porter.in/abc123",
"rider_name": "Ravi K",
"rider_phone": "+919800000000",
"vehicle": "2W",
"eta_minutes": 1
}
}Reject an order
/v1/stores/{store_id}/orders/{order_id}/rejectReject a PENDING delivery order. The customer is refunded and the reserved stock released.
Parameters
store_idinteger · pathrequiredorder_idstring · pathrequiredIdempotency-Keystring · headerAny unique string (a UUID is ideal). Retrying with the same key returns the first result instead of acting twice. Kept for 24 hours.
Request body
reasonstring
Returns · Order
Show 14 fields
objectstringidstringrequiredScanimart order id, e.g. ORDER-1A2B3C4D5E.
external_idstringnullablerequiredYour id for this order, if you sent one when accepting.
store_idintegerrequiredtypeenumrequired*
delivery- delivery *instore- instoredeliveryinstorestatusenumrequired*
PENDING- PENDING *ACCEPTED- ACCEPTED *PACKED- PACKED *OUT_FOR_DELIVERY- OUT_FOR_DELIVERY *DELIVERED- DELIVERED *CANCELLED- CANCELLED *COMPLETED- COMPLETED *PAYMENT_FAILED- PAYMENT_FAILEDPENDINGACCEPTEDPACKEDOUT_FOR_DELIVERYDELIVEREDCANCELLEDCOMPLETEDPAYMENT_FAILEDpaymentobjectrequiredstatusstringrequiredpaidbooleanrequiredmethodstringnullablerequired
total_amountdecimal stringrequireddelivery_feedecimal stringnullablerequiredfulfilment_modeenumnullablerequired*
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERSTORE_STAFFSCANIMART_COURIERaccepted_viaenumnullablerequired*
APP- APP *POS- POSAPPPOSplaced_attimestampnullablerequiredlinesarray of objectrequiredbarcodestringnullablerequirednamestringnullablerequiredquantityintegerrequiredfree_quantityintegernullablerequiredUnits of
quantitygiven free by a buy-X-get-Y offer.unit_pricedecimal stringnullablerequiredPer paid unit, tax-inclusive.
mrpdecimal stringnullablerequiredline_totaldecimal stringrequiredsourceenumnullablerequired*
catalog- catalog *store_item- store_item *misc- misccatalogstore_itemmiscexternal_idstringnullablerequiredYour id for this item, if you sent one.
courierobjectnullablerequiredThe Scanimart courier, for SCANIMART_COURIER orders.
providerstringnullablerequirede.g. porter.
statusenumrequired*
NOT_REQUESTED- NOT_REQUESTED *REQUESTED- REQUESTED *BOOKED- BOOKED *ASSIGNED- ASSIGNED *PICKED_UP- PICKED_UP *DELIVERED- DELIVERED *CANCELLED- CANCELLED *FAILED- FAILEDNOT_REQUESTEDREQUESTEDBOOKEDASSIGNEDPICKED_UPDELIVEREDCANCELLEDFAILEDtracking_urlstringnullablerider_namestringnullablerider_phonestringnullablevehiclestringnullableeta_minutesintegernullable
Errors: 404, 409, in the standard error format.
curl -X POST https://sandbox.api.scanimart.com/v1/stores/1042/orders/ORDER-1A2B3C4D5E/reject \
-H "Authorization: Bearer $SCANIMART_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"reason": "Out of stock"
}'{
"object": "order",
"id": "ORDER-1A2B3C4D5E",
"external_id": "BILL-20391",
"store_id": 1042,
"type": "delivery",
"status": "PENDING",
"payment": {
"status": "string",
"paid": true,
"method": "string"
},
"total_amount": "249.00",
"delivery_fee": "249.00",
"fulfilment_mode": "STORE_STAFF",
"accepted_via": "APP",
"placed_at": "2026-10-08T10:15:00+05:30",
"lines": [
{
"barcode": "8901725181222",
"name": "Aashirvaad Atta 5kg",
"quantity": 2,
"free_quantity": 2,
"unit_price": "249.00",
"mrp": "249.00",
"line_total": "249.00",
"source": "catalog",
"external_id": "BILL-20391"
}
],
"courier": {
"provider": "porter",
"status": "NOT_REQUESTED",
"tracking_url": "https://track.porter.in/abc123",
"rider_name": "Ravi K",
"rider_phone": "+919800000000",
"vehicle": "2W",
"eta_minutes": 1
}
}Switch to store delivery
/v1/stores/{store_id}/orders/{order_id}/delivery-methodHand a Scanimart-courier order back to the store's own riders -- e.g. no courier could be booked. Any booked courier is cancelled. Only before the order is out for delivery.
Parameters
store_idinteger · pathrequiredorder_idstring · pathrequiredIdempotency-Keystring · headerAny unique string (a UUID is ideal). Retrying with the same key returns the first result instead of acting twice. Kept for 24 hours.
Request body
fulfilment_modeenumrequired*
STORE_STAFF- STORE_STAFFSTORE_STAFF
Returns · Order
Show 14 fields
objectstringidstringrequiredScanimart order id, e.g. ORDER-1A2B3C4D5E.
external_idstringnullablerequiredYour id for this order, if you sent one when accepting.
store_idintegerrequiredtypeenumrequired*
delivery- delivery *instore- instoredeliveryinstorestatusenumrequired*
PENDING- PENDING *ACCEPTED- ACCEPTED *PACKED- PACKED *OUT_FOR_DELIVERY- OUT_FOR_DELIVERY *DELIVERED- DELIVERED *CANCELLED- CANCELLED *COMPLETED- COMPLETED *PAYMENT_FAILED- PAYMENT_FAILEDPENDINGACCEPTEDPACKEDOUT_FOR_DELIVERYDELIVEREDCANCELLEDCOMPLETEDPAYMENT_FAILEDpaymentobjectrequiredstatusstringrequiredpaidbooleanrequiredmethodstringnullablerequired
total_amountdecimal stringrequireddelivery_feedecimal stringnullablerequiredfulfilment_modeenumnullablerequired*
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERSTORE_STAFFSCANIMART_COURIERaccepted_viaenumnullablerequired*
APP- APP *POS- POSAPPPOSplaced_attimestampnullablerequiredlinesarray of objectrequiredbarcodestringnullablerequirednamestringnullablerequiredquantityintegerrequiredfree_quantityintegernullablerequiredUnits of
quantitygiven free by a buy-X-get-Y offer.unit_pricedecimal stringnullablerequiredPer paid unit, tax-inclusive.
mrpdecimal stringnullablerequiredline_totaldecimal stringrequiredsourceenumnullablerequired*
catalog- catalog *store_item- store_item *misc- misccatalogstore_itemmiscexternal_idstringnullablerequiredYour id for this item, if you sent one.
courierobjectnullablerequiredThe Scanimart courier, for SCANIMART_COURIER orders.
providerstringnullablerequirede.g. porter.
statusenumrequired*
NOT_REQUESTED- NOT_REQUESTED *REQUESTED- REQUESTED *BOOKED- BOOKED *ASSIGNED- ASSIGNED *PICKED_UP- PICKED_UP *DELIVERED- DELIVERED *CANCELLED- CANCELLED *FAILED- FAILEDNOT_REQUESTEDREQUESTEDBOOKEDASSIGNEDPICKED_UPDELIVEREDCANCELLEDFAILEDtracking_urlstringnullablerider_namestringnullablerider_phonestringnullablevehiclestringnullableeta_minutesintegernullable
Errors: 409, in the standard error format.
curl -X POST https://sandbox.api.scanimart.com/v1/stores/1042/orders/ORDER-1A2B3C4D5E/delivery-method \
-H "Authorization: Bearer $SCANIMART_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"fulfilment_mode": "STORE_STAFF"
}'{
"object": "order",
"id": "ORDER-1A2B3C4D5E",
"external_id": "BILL-20391",
"store_id": 1042,
"type": "delivery",
"status": "PENDING",
"payment": {
"status": "string",
"paid": true,
"method": "string"
},
"total_amount": "249.00",
"delivery_fee": "249.00",
"fulfilment_mode": "STORE_STAFF",
"accepted_via": "APP",
"placed_at": "2026-10-08T10:15:00+05:30",
"lines": [
{
"barcode": "8901725181222",
"name": "Aashirvaad Atta 5kg",
"quantity": 2,
"free_quantity": 2,
"unit_price": "249.00",
"mrp": "249.00",
"line_total": "249.00",
"source": "catalog",
"external_id": "BILL-20391"
}
],
"courier": {
"provider": "porter",
"status": "NOT_REQUESTED",
"tracking_url": "https://track.porter.in/abc123",
"rider_name": "Ravi K",
"rider_phone": "+919800000000",
"vehicle": "2W",
"eta_minutes": 1
}
}Retry booking a courier
/v1/stores/{store_id}/orders/{order_id}/courier/retryAfter delivery.failed (no courier available), ask Scanimart to try again.
Parameters
store_idinteger · pathrequiredorder_idstring · pathrequired
Returns · Order
Show 14 fields
objectstringidstringrequiredScanimart order id, e.g. ORDER-1A2B3C4D5E.
external_idstringnullablerequiredYour id for this order, if you sent one when accepting.
store_idintegerrequiredtypeenumrequired*
delivery- delivery *instore- instoredeliveryinstorestatusenumrequired*
PENDING- PENDING *ACCEPTED- ACCEPTED *PACKED- PACKED *OUT_FOR_DELIVERY- OUT_FOR_DELIVERY *DELIVERED- DELIVERED *CANCELLED- CANCELLED *COMPLETED- COMPLETED *PAYMENT_FAILED- PAYMENT_FAILEDPENDINGACCEPTEDPACKEDOUT_FOR_DELIVERYDELIVEREDCANCELLEDCOMPLETEDPAYMENT_FAILEDpaymentobjectrequiredstatusstringrequiredpaidbooleanrequiredmethodstringnullablerequired
total_amountdecimal stringrequireddelivery_feedecimal stringnullablerequiredfulfilment_modeenumnullablerequired*
STORE_STAFF- STORE_STAFF *SCANIMART_COURIER- SCANIMART_COURIERSTORE_STAFFSCANIMART_COURIERaccepted_viaenumnullablerequired*
APP- APP *POS- POSAPPPOSplaced_attimestampnullablerequiredlinesarray of objectrequiredbarcodestringnullablerequirednamestringnullablerequiredquantityintegerrequiredfree_quantityintegernullablerequiredUnits of
quantitygiven free by a buy-X-get-Y offer.unit_pricedecimal stringnullablerequiredPer paid unit, tax-inclusive.
mrpdecimal stringnullablerequiredline_totaldecimal stringrequiredsourceenumnullablerequired*
catalog- catalog *store_item- store_item *misc- misccatalogstore_itemmiscexternal_idstringnullablerequiredYour id for this item, if you sent one.
courierobjectnullablerequiredThe Scanimart courier, for SCANIMART_COURIER orders.
providerstringnullablerequirede.g. porter.
statusenumrequired*
NOT_REQUESTED- NOT_REQUESTED *REQUESTED- REQUESTED *BOOKED- BOOKED *ASSIGNED- ASSIGNED *PICKED_UP- PICKED_UP *DELIVERED- DELIVERED *CANCELLED- CANCELLED *FAILED- FAILEDNOT_REQUESTEDREQUESTEDBOOKEDASSIGNEDPICKED_UPDELIVEREDCANCELLEDFAILEDtracking_urlstringnullablerider_namestringnullablerider_phonestringnullablevehiclestringnullableeta_minutesintegernullable
Errors: 409, in the standard error format.
curl -X POST https://sandbox.api.scanimart.com/v1/stores/1042/orders/ORDER-1A2B3C4D5E/courier/retry \
-H "Authorization: Bearer $SCANIMART_KEY"{
"object": "order",
"id": "ORDER-1A2B3C4D5E",
"external_id": "BILL-20391",
"store_id": 1042,
"type": "delivery",
"status": "PENDING",
"payment": {
"status": "string",
"paid": true,
"method": "string"
},
"total_amount": "249.00",
"delivery_fee": "249.00",
"fulfilment_mode": "STORE_STAFF",
"accepted_via": "APP",
"placed_at": "2026-10-08T10:15:00+05:30",
"lines": [
{
"barcode": "8901725181222",
"name": "Aashirvaad Atta 5kg",
"quantity": 2,
"free_quantity": 2,
"unit_price": "249.00",
"mrp": "249.00",
"line_total": "249.00",
"source": "catalog",
"external_id": "BILL-20391"
}
],
"courier": {
"provider": "porter",
"status": "NOT_REQUESTED",
"tracking_url": "https://track.porter.in/abc123",
"rider_name": "Ravi K",
"rider_phone": "+919800000000",
"vehicle": "2W",
"eta_minutes": 1
}
}