Update Status

This status endpoint allows the merchant to update the status of the shipment. This is useful in following scenarios:

  1. To set the merchant controlled status such as "shipped", "delivery_confirmed", and "return_confirmed"
  2. To overide incorrect status received from the carrier. For instance, the carrier incorrectly updated the status as "delivered", the merchant can overide the status to "returned" if the shipment was returned to the merchant
  3. To manually update missing status. For instance, if the merchant is aware that the carrier delivered the shipment but failed to update the system, then the merchant can mannually set the status to "delviered" using this endpoint.

Please note, that only the following status updates are allowed via this end point

  1. shipped, if the current status is one of the following
  • booked
  • ready_to_ship
  • failed_collection_attempt
  1. out_for_delivery, if the current status is one of the following
  • shipped
  • in_transit
  • failed_delivery_attempt
  • suspended
  • missing
  1. delivered, if the current status is one of the following
  • cancelled
  • shipped
  • in_transit
  • out_for_delivery
  • awaiting_customer_collection
  • failed_delivery_attempt
  • suspended
  • missing
  • delayed
  • returned
  • delivery_confirmed
  1. delivery_confirmed, if the current status is one of the following
  • delivered
  1. return_in_transit, if the current status is one of the following
  • shipped
  • in_transit
  • out_for_delivery
  • awaiting_customer_collection
  • failed_delivery_attempt
  • ready_for_return
  • suspended
  • missing
  • delayed
  1. returned, if the current status is one of the following
  • cancelled
  • shipped
  • in_transit
  • out_for_delivery
  • awaiting_customer_collection
  • failed_delivery_attempt
  • ready_for_return
  • return_in_transit
  • suspended
  • missing
  • delayed
  • delivered
  • return_confirmed
  1. return_confirmed, if the current status is one of the following
  • returned

The shipment_id is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (partner_shipment_reference) can also be used instead of the shipment_id.

SecurityOAuth2
Request
path Parameters
shipment_id
required
string
header Parameters
x-api-key
string
tenant-id
string
Content-Type
string
Default: application/json
Request Body schema: application/json
required
new_status
string
update_date
string
Responses
200
400

Bad Request

post/shipments/{shipment_id}/update-status
Request samples
application/json
{
  • "new_status": "string",
  • "update_date": "string"
}
Response samples
application/json
{
  • "shipment_id": "XYZABC123",
  • "entity_type": "FORWARD",
  • "merchant": "MY_BRAND",
  • "references": {
    },
  • "carrier_account": {
    },
  • "payment": {
    },
  • "collection": {
    },
  • "delivery": {
    },
  • "pickup": {
    },
  • "dropoff": {
    },
  • "items": [
    ],
  • "freight": {
    },
  • "customs": {
    },
  • "parcels": [
    ],
  • "post_shipping_info": {
    },
  • "custom_attributes": { },
  • "order_date": "2022-01-01T09:00:00.000Z",
  • "order_type": "HOME_DELIVERY",
  • "creation_date": "2022-01-01T09:00:00.000Z",
  • "update_date": "2022-01-01T09:00:00.000Z",
  • "confirmation_date": "2022-01-01T09:00:00.000Z",
  • "estimated_process_date": "2019-08-24T14:15:22Z",
  • "promised_delivery_date": "2022-01-01T09:00:00.000Z",
  • "original_promised_delivery_date": "2022-01-01T09:00:00.000Z",
  • "estimated_shipping_cost": {
    },
  • "language": "en",
  • "return_request_id": "rma_123abcXYZ"
}