curl -X PATCH https://api.kasiye.com/v1/shipments/SHP-12345/status \
-H "Authorization: Bearer shp_your_key" \
-H "Content-Type: application/json" \
-d '{
"status": "awaiting_pickup"
}'
Shipments
Update shipment status
Advance delivery status along pending, awaiting pickup, in transit, and delivered.
PATCH
/
shipments
/
{shipment}
/
status
curl -X PATCH https://api.kasiye.com/v1/shipments/SHP-12345/status \
-H "Authorization: Bearer shp_your_key" \
-H "Content-Type: application/json" \
-d '{
"status": "awaiting_pickup"
}'
Advance a shipment one step along the delivery path. You cannot skip statuses, go backwards, or set
Returns
cancelled here — use cancel for that.
Allowed transitions
| Current status | Next status you can send |
|---|---|
pending | awaiting_pickup |
awaiting_pickup | in_transit |
in_transit | delivered |
delivered | None |
cancelled | None |
string
required
Shipment reference, for example
SHP-12345.string
required
The next delivery status. Must be the single allowed next value for the shipment’s current status.
curl -X PATCH https://api.kasiye.com/v1/shipments/SHP-12345/status \
-H "Authorization: Bearer shp_your_key" \
-H "Content-Type: application/json" \
-d '{
"status": "awaiting_pickup"
}'
200 with the shipment wrapped in data.
A shipment that belongs to another workspace returns 404.
An invalid jump (for example pending to delivered) returns 422:
{
"message": "This status change is not allowed for the shipment.",
"errors": {
"status": ["This status change is not allowed for the shipment."]
}
}
Payment status is separate. Marking a shipment
awaiting_pickup through this endpoint does not collect payment. Use it when your own process (or a rider) needs to move delivery state.