Skip to main content
Use this endpoint to modify a pickup that has not yet been picked up by a courier. You can update the scheduled date, order count, contact phone, item flags, notes, and pickup address. Pickup fees are recomputed automatically on every successful update — you do not need to calculate or send them.
Updates are only allowed while the pickup is in new or pendingPickup status. Past these states the pickup is locked and any modification attempt will return an error.

Authentication

All requests require a valid API key. Company account keys must also include the X-Merchant-Id header.
X-Merchant-Id accepts your businessAccountCode (8-digit), externalMerchantId, or MongoDB _id. Single-business keys do not require this header.

Path parameter

string
required
The 6-digit pickup number returned when the pickup was created (e.g. 482917).

Request body

Send the same fields you would use when creating a pickup. Only include the fields you want to change — unset fields retain their current values.
number
Updated expected order count. Triggers a fee recalculation.
string
New scheduled pickup date in YYYY-MM-DD format. Must be a valid future date per the Now Shipping pickup date policy.
string
Updated courier contact phone number. Must be an 11-digit Egyptian mobile number.
boolean
Set to true if any items are fragile. Defaults to false.
boolean
Set to true if any items are large or oversized. Defaults to false.
string
Updated free-text notes for the courier.
string
Override the pickup location text displayed to the courier.
string
Change the linked merchant pickup address ID.

Example request

Response

A successful request returns HTTP 200 with the updated pickup object. The pickupFees field in the response reflects the newly recomputed fee.
boolean
true on success.
object

Error responses

If you need to check the current status of a pickup before attempting an update, call GET /pickups/{pickupNumber} first. Only new and pendingPickup statuses allow modifications.