Update Shipment (v5.2)
Same as Update Shipment v5.0, plus the tags_action
field controlling how the tags array is applied:
add(default) — appends the provided tags, like v5.0.remove— removes the provided tags from the Shipment.replace— replaces the Shipment’s tags with the provided ones. System-generated tags (SLA, routing, and similar) are preserved.
Sending tags_action without any tags values returns a 299 warning.
Authorizations
Used by every functional endpoint. Generate the token with POST /auth/oauth/token/ and send it as Authorization: Bearer {token}.
Query Parameters
Perform.AI identifier of the Shipment. Provide either shipment_uuid or shipment_id.
Your identifier of the Shipment. Provide either shipment_uuid or shipment_id.
50Body
Same fields and constraints as Create Shipment; no field is required. Most fields replace the stored value entirely (whole arrays, whole address objects); tags, events, linked_shipments, and documents are add-only.
Your unique identifier. Unique across the account; cannot be changed after creation. Accepts A–Z a–z 0–9 _ - ., no spaces.
50Carrier tracking number — optional, but needed (with carrier_reference) for tracking. A–Z a–z 0–9 _ - . /, no spaces, at least one digit. Stored uppercase.
6 - 50A carrier reference configured under Settings > Carriers. An unconfigured value blocks creation.
505050Attach to an existing order by its Perform.AI identifier. Preferred over order_id if both are sent.
Your order identifier. Creates the order if it doesn't exist.
50Settable only together with a new order_id.
50500500Stored lowercase.
100Recipients of tracking email notifications.
100Recipients of tracking SMS notifications, as +{country code}{number}.
30Assigns the Shipment to a tracking page for notification branding and tracking links. An unconfigured value returns a 299 warning.
50One of the Shipment's five address roles (recipient, sender, to, from, return). Provide either country or country_code. The email and phone here are contact data — they are never subscribed to tracking notifications.
One of the Shipment's five address roles (recipient, sender, to, from, return). Provide either country or country_code. The email and phone here are contact data — they are never subscribed to tracking notifications.
One of the Shipment's five address roles (recipient, sender, to, from, return). Provide either country or country_code. The email and phone here are contact data — they are never subscribed to tracking notifications.
One of the Shipment's five address roles (recipient, sender, to, from, return). Provide either country or country_code. The email and phone here are contact data — they are never subscribed to tracking notifications.
One of the Shipment's five address roles (recipient, sender, to, from, return). Provide either country or country_code. The email and phone here are contact data — they are never subscribed to tracking notifications.
Money string, e.g. 150 SGD.
Money string. Computed from shipping_costs if not provided.
Money string.
75Measurement string, e.g. 15 cm. Stored in cm.
Measurement string. Stored in cm.
Measurement string. Stored in cm.
Measurement string, e.g. 1.5 kg.
x >= 07550050050010050ISO 8601. Start of the expected delivery window.
ISO 8601. Requires expected_delivery_from.
Custom fields. Keys max 50 chars, values max 150.
How the provided tags are applied.
add, remove, replace