Appearance
UpdateShipmentTrackingInput
Type: Input
A carrier tracking update for an existing shipment: the new status plus any tracking details. Omitted optional fields are left as they are, never cleared.
Fields
| Name | Type | Default | Description |
|---|---|---|---|
| deliveredAt | String | Actual delivery time as an ISO 8601 timestamp with fractional seconds. Only applied when status is DELIVERED, and defaults to now if omitted or unparseable. | |
| estimatedDeliveryAt | String | Revised delivery estimate as an ISO 8601 timestamp with fractional seconds. When supplied but unparseable, the stored estimate is cleared. | |
| notes | String | New free-text notes on the shipment. Null leaves the existing notes untouched — notes cannot be cleared here. | |
| shipmentId | ShipmentID! | TypeID (shp_…) of the shipment to update. Must belong to the caller's tenant, otherwise a "shipment not found" field error is returned. | |
| status | ShipmentStatus! | Target shipment status. Rejected with a field error unless the shipment's current status allows the transition (e.g. PICKED_UP may only go to IN_TRANSIT; RETURNED and CANCELLED are terminal). | |
| trackingNumber | String | New carrier tracking number. Null leaves the existing value untouched — this mutation cannot clear a tracking number. | |
| trackingUrl | String | New carrier tracking URL. Null leaves the existing value untouched. |