tracking_number and a carrier; with both, Perform.AI retrieves tracking events from the carrier’s systems and everything else follows — notifications, tracking pages, analytics, webhooks.
Identifiers
Open Shipments
A Shipment created without a tracking number and carrier is an Open Shipment — a standalone record. Two ways it becomes tracked:- You update it with a
tracking_numberandcarrier_referenceonce known. - You hand it to Create Booking, which books a carrier and assigns the tracking number for you.
What a Shipment carries
Beyond identifiers and tracking: five address roles (recipient, sender, to, from, return — destination/origin may differ from recipient/sender), the linked order, line items, monetary values (shipment value, COD, shipping costs), physical attributes (dimensions stored in cm, weight in grams), documents, linked shipments (other carriers’ records of the same physical parcel, whose events merge in), notification recipients, tags, and your ownadditional_info fields. The complete dictionary is the field reference.
Lifecycle
A Shipment’sstatus and its current delivery phase are separate dimensions — status describes the record’s tracking state (pending, active, delivered, return…), while phases describe delivery progress (Order events through Delivery). Both are explained in Statuses and phases.
Working with Shipments
Create
Only
shipment_id is required.Update
Replace-vs-append semantics matter.
Search
Filters, AND/OR syntax, cursor pagination.
Retrieve
The full record with complete event history.