Lifecycle
A shipment moves through these statuses:
pending— created, label not yet printed.printed— label generated and ready to be handed over.handed_over— scanned into the carrier network.delivered— received by the recipient or a pickup point.returned— returned to sender.
Create a shipment
Send a POST to /shipments with a carrier, recipient and options.
POST /shipments
{
"carrier": "postnl",
"reference": "ORDER-2026-01042",
"recipient": {
"name": "J. de Vries",
"street": "Antwoordnummer 42",
"postal_code": "1012AB",
"city": "Amsterdam",
"country": "NL"
},
"options": {
"package_type": "package",
"signature": true
}
}
Labels
Every created shipment exposes a label_url pointing to a PDF. Labels are A6 by default and can be batched into A4 sheets via /labels/print.
Cancelling
Shipments can be cancelled while they are pending or printed. Once handed_over, cancellation is no longer possible — issue a return instead.