Shipments
Create Shipment
Create a logistics shipment order with specified origin and destination
POST
Create a shipment order from the specified origin location. The destination is automatically determined based on the location’s configuration.
Request
Body parameters
string
required
Origin test location UUID. The location must be active and within your API key’s access context.
Use List Locations to find available location IDs.
string
Optional appointment UUID to link this shipment to at creation time. The appointment must be
within your API key’s access context. The link surfaces inline as an entry in the shipment’s
appointments array, and conversely as an entry in the appointment’s shipments array. To link
additional appointments after creation, or remove the initial link, use Attach Appointments to
Shipment and Detach Appointments from
Shipment.string
required
Pickup date in
YYYY-MM-DD format (e.g., 2026-04-15), interpreted in the origin location’s
timezone. Must be a weekday (Monday–Friday), today or in the future. Same-day pickups are not
available after 16:00 Europe/Berlin.string
required
Earliest pickup time in
HH:MM format (e.g., 09:00), interpreted as wall-clock time in the
origin location’s timezone. Must be between 09:00 and 19:00.string
required
Latest pickup time in
HH:MM format (e.g., 12:00), interpreted as wall-clock time in the origin
location’s timezone. Must be between 09:00 and 19:00. The window (pickup_time_till - pickup_time_from) must be at least 2 hours.integer
default:"1"
Number of packages. Defaults to
1.number
default:"1"
Weight in kg. Defaults to
1.string
Instructions for the courier at pickup (consignor remarks). When omitted, the pickup address’s
stored remarks are used (or none if the address has none). Maximum 128 characters.
string
Optional internal notes. Maximum 128 characters.
Response
On success, the API returns201 Created with the new shipment.
string
required
Shipment reference identifier (e.g.,
P2604151234).string
required
Shipment lifecycle status. One of
pending, in_transit, delivered, fault, or cancelled.string
required
Logistics provider. One of
go, dhl, or tof.string
External tracking number from the logistics provider. May be
null.object
Pickup address. May be
null.object
Delivery address. Same structure as
origin. May be null.object
Scheduled pickup window. May be
null.string
Optional notes. May be
null.object[]
required
Chronological lifecycle events from the logistics provider (oldest first). Each entry has a
status (free-form provider-sourced label) and time (ISO 8601). Empty array immediately after
creation; populated by the hourly sync as the provider reports events.ShipmentAppointmentLink[]
required
Appointments linked to this shipment, oldest-link first. Each entry is
{ id, added_at };
cross-reference each id against Get Appointment.
Contains the appointment passed via appointment_id (if any) immediately after creation.string
required
Creation timestamp (ISO 8601).
string
Last update timestamp (ISO 8601). May be
null.