Skip to main content
PATCH
/
shipping
/
shipments
/
{id}
/
status
Update a shipment's status
curl --request PATCH \
  --url https://api.salesive.com/api/v1/shipping/shipments/{id}/status \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "status": "in_transit",
  "notes": "Picked up by courier"
}
'
{
  "status": 200,
  "success": true,
  "message": "Update a shipment's status",
  "data": {
    "_id": "6651b2c3d4e5f60102030405",
    "orders": [
      "6640c1b2d4e5f60102030406"
    ],
    "carrier": "GIG Logistics",
    "trackingNumber": "GIG-998877",
    "status": "in_transit",
    "notes": "Picked up by courier",
    "createdAt": "2026-06-28T09:00:00.000Z",
    "updatedAt": "2026-06-28T10:15:00.000Z"
  }
}
Manually sets the status of a shipment. The shipment must belong (via its order) to the store bound to the app token. Requires the WRITE_SHIPPING scope.

Authorizations

Authorization
string
header
required

Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.

Path Parameters

id
string
required

ObjectId of the shipment.

Body

application/json
status
string
required

New status: one of pending, in_transit, delivered, failed, returned.

notes
string

Optional notes to set on the shipment.

Response

Update a shipment's status.

Standard Salesive response envelope. The operation-specific payload is carried in data.

status
integer
required

HTTP status code, echoed in the body.

success
boolean
required

Whether the request succeeded.

message
string
required

Human-readable result message.

data
object

A shipment record. Shapes vary slightly by how the shipment was created (manual, automatic label, or ShipDay dispatch); only the most common fields are listed and extra properties may be present.