Shipments
Shipments are at the core of our services. Get shipments and their data to inform your customers about them.
The shipment model
The shipment model contains all the information about the shipments used in your proposition.
Properties
- Name
id- Type
- string
- Description
A generated unique identifier for the shipment.
- Name
shipmentDate- Type
- date
- Description
The date on wich the shipment was shipped
- Name
trackingCode- Type
- string
- Description
The trackingCode for the shipment
- Name
shippingAgent- Type
- string
- Description
The shipping agent that handled the shipment.
- Name
shippingService- Type
- string
- Description
The code for the service of the shipping agent.
- Name
trackingLink- Type
- string
- Description
The trackingLink for the shipment. Share this with your customer.
- Name
lines- Type
- array
- Description
The collection containing the shipment lines for this shipment. Refer to the shipmentLine model to see the properties for a line.
- Name
packages- Type
- array
- Description
The collection of physical packages that make up this shipment (one entry per box, multi-colli aware). Refer to the shipmentPackage model to see the properties.
- Name
outbound- Type
- object
- Description
The outbound this shipment belongs to. Refer to the outbound model to see the properties for a outbound.
List your shipments
This endpoint allows you to retrieve a list of shipments.
Optional arguments
- Name
skip- Type
- number
- Description
How many shipments to skip
- Name
take- Type
- number
- Description
How many shipments to return. Minimum for this argument is
10maximum is100
- Name
filter- Type
- filter
- Description
Consult the filtering guide for more information.
- Name
change-interval- Type
- integer
- Description
Get all records that have changed in the last
change-intervalminutes. Value between5and2800Allthough we support polling. We recommend using webhooks. If you are going to poll please use this property to keep traffic manageable.
- Name
include- Type
- enum
- Description
The related record to include. Valid values:
lines,packages,outbound
Request
curl --location https://partner.punt-uit.nl/api/fulfilment/v4/shipments \
--header "Authorization: Bearer {token}" \
Response
[
{
"id": "cloft5bsn0001kw08wtrxbt60",
"shipmentDate": "2023-11-01",
"trackingCode": "DOT11291",
"shippingAgent": "PUNTUIT",
"shippingService": "PICKUP",
"trackingLink": "",
"lines": [
{
"quantity": 1,
"outboundRef": "249060670",
"outboundLineRef": "492843012",
"sku": "17177"
}
],
"outbound": {
"ref": "249060670",
"orderRef": "ORD1159861",
"message": "",
"shippingAdvice": "complete",
"shipToName": "Punt-uit",
"shipToContact": "Paul Katuin",
"shipToAddressLine1": "Nieuw-Amsterdamsestraat 40",
"shipToAddressLine2": "",
"shipToCity": "Emmen",
"shipToCountryCode": "NL",
"shipToPostCode": "7814 VA",
"shippingContactName": "Paul Katuin",
"shippingContactEmail": "financieel@punt-uit.nl",
"shippingContactPhonenumber": "",
"shippingContactAddress": "Nieuw-Amsterdamsestraat 40",
"shippingContactPostCode": "7814 VA",
"shippingContactCity": "Emmen",
"shippingContactCountryCode": "NL",
"shipmentMethodCode": "PUNTUIT-PICKUP-DAP",
"deliveryDate": null,
"status": "picked_up"
}
},
{
...
}
]
Retrieve a shipment
This endpoint allows you to retrieve a shipment by providing the id. The id is supplied in the webhook for shipment-shipped
Required attributes
- Name
id- Type
- string
- Description
Path parameter representing the id of the shipment.
Optional arguments
- Name
include- Type
- enum
- Description
The related record to include. Valid values:
lines,packages,outbound
- Name
format- Type
- enum
- Description
The format of the response. Valid values:
json,pdf. Defaults tojson. Whenpdf, the response body is the raw packing-slip PDF (see Retrieve a shipment's packing slip).
Request
curl --location https://partner.punt-uit.nl/api/fulfilment/v4/shipments/cloft5bsn0001kw08wtrxbt60 \
--header "Authorization: Bearer {token}"
Response
{
"id": "cloft5bsn0001kw08wtrxbt60",
"shipmentDate": "2023-11-01",
"trackingCode": "DOT11291",
"shippingAgent": "PUNTUIT",
"shippingService": "PICKUP",
"trackingLink": "",
"lines": [
{
"quantity": 1,
"outboundRef": "249060670",
"outboundLineRef": "492843012",
"sku": "17177"
}
],
"packages": [
{
"lineNo": 1,
"trackingCode": "3SDEVC9029881",
"trackingLink": "http://postnl.nl/tracktrace/?L=NL&B=3SDEVC9029881&P=7814VN&D=NL&T=C",
"packageType": "BOX",
"boxNo": "BOX04317366",
"batchId": null,
"batchTrackingCode": null,
"batchTrackingLink": null,
"batchShippingAgent": null,
"batchShippingService": null
},
{
"lineNo": 2,
"trackingCode": "3SDEVC9029882",
"trackingLink": "http://postnl.nl/tracktrace/?L=NL&B=3SDEVC9029882&P=7814VN&D=NL&T=C",
"packageType": "BOX",
"boxNo": "BOX04317368",
"batchId": null,
"batchTrackingCode": null,
"batchTrackingLink": null,
"batchShippingAgent": null,
"batchShippingService": null
}
],
"outbound": {
"ref": "249060670",
"orderRef": "ORD1159861",
"message": "",
"shippingAdvice": "complete",
"shipToName": "Punt-uit",
"shipToContact": "Paul Katuin",
"shipToAddressLine1": "Nieuw-Amsterdamsestraat 40",
"shipToAddressLine2": "",
"shipToCity": "Emmen",
"shipToCountryCode": "NL",
"shipToPostCode": "7814 VA",
"shippingContactName": "Paul Katuin",
"shippingContactEmail": "financieel@punt-uit.nl",
"shippingContactPhonenumber": "",
"shippingContactAddress": "Nieuw-Amsterdamsestraat 40",
"shippingContactPostCode": "7814 VA",
"shippingContactCity": "Emmen",
"shippingContactCountryCode": "NL",
"shipmentMethodCode": "PUNTUIT-PICKUP-DAP",
"deliveryDate": null,
"status": "picked_up"
}
}
For a shipment that traveled as part of a consolidation batch, each package's batch* fields are populated with the carrier-level tracking of the consolidation container it sat on. Packages on the same shipment may belong to different batches (one shipment split across two pallets):
Response — consolidated
{
"id": "cloft5bsn0001kw08wtrxbt60",
"shipmentDate": "2026-04-27",
"trackingCode": "3SDEVC9029879",
"shippingAgent": "POSTNL",
"shippingService": "3610",
"trackingLink": "http://postnl.nl/tracktrace/?L=NL&B=3SDEVC9029879&P=7814VN&D=NL&T=C",
"packages": [
{
"lineNo": 1,
"trackingCode": null,
"trackingLink": null,
"packageType": "BOX",
"boxNo": "BOX04317352",
"batchId": "CON0000022:1",
"batchTrackingCode": "3SDEVC9029879",
"batchTrackingLink": "http://postnl.nl/tracktrace/?L=NL&B=3SDEVC9029879&P=7814VN&D=NL&T=C",
"batchShippingAgent": "POSTNL",
"batchShippingService": "3610"
}
]
}
Retrieve a shipment's packing slip
Retrieve the packing slip (pakbon) for a shipment as a PDF. Request the PDF either by setting ?format=pdf or by sending an Accept: application/pdf header. The response body is the raw PDF bytes with Content-Type: application/pdf.
Packing slips are immutable once a shipment has shipped, so the response is served with Cache-Control: private, max-age=31536000, immutable — safe to cache and store on your side.
Required attributes
- Name
id- Type
- string
- Description
Path parameter representing the id of the shipment.
Response
200 OK— body is the PDF,Content-Disposition: attachment; filename="packing-slip-{id}.pdf".404 Not Found— the shipment does not exist or no packing slip is available for it.502 Bad Gateway— the upstream system failed to return the PDF.
Request
curl --location https://partner.punt-uit.nl/api/fulfilment/v4/shipments/cloft5bsn0001kw08wtrxbt60?format=pdf \
--header "Authorization: Bearer {token}" \
--output packing-slip.pdf
The shipmentLine model
The shipmentLine model contains all the information about shipmentLines, such as their sku, outboundRef, outboundLineRef and quantity.
Properties
- Name
sku- Type
- string
- Description
The unique sku for the product that has been shipped.
- Name
outboundRef- Type
- string
- Description
Your unique reference for the outbound.
- Name
outboundLineRef- Type
- string
- Description
Your unique reference for the outboundLine
- Name
quantity- Type
- integer
- Description
The number of items that have been shipped.
The shipmentPackage model
The shipmentPackage model represents one physical package (box, parcel, …) that is part of a shipment. A multi-colli shipment has one entry per package; a single-package shipment has one. When the shipment travels as part of a consolidation batch, the batch* fields are populated with the carrier-level tracking of the consolidation container the package was placed on.
Properties
- Name
lineNo- Type
- integer
- Description
The sequence number of this package within the shipment, starting at
1.
- Name
trackingCode- Type
- string
- Description
The carrier tracking code for this individual package, when the carrier issues per-package codes (e.g. PostNL multi-colli). May be
nullfor shipments without per-package tracking.
- Name
trackingLink- Type
- string
- Description
The carrier tracking URL for this individual package, when available.
- Name
packageType- Type
- string
- Description
The type of the package, e.g.
BOX,PALLET.
- Name
boxNo- Type
- string
- Description
A reference identifier for the physical box. Useful in disputes or operational queries.
- Name
batchId- Type
- string
- Description
The identifier of the physical pallet this package was placed on, when shipped via consolidation. Format is
{consolidationOrderNo}:{lineNo}(e.g.CON0000022:2), so two pallets on the same consolidation booking are distinguishable. Packages on the same physical pallet share this value.nullfor non-consolidated shipments.
- Name
batchTrackingCode- Type
- string
- Description
The carrier tracking code printed on the physical pallet this package was placed on. Packages on the same pallet share this value; packages on sibling pallets within the same consolidation booking get distinct codes (multi-colli).
- Name
batchTrackingLink- Type
- string
- Description
The carrier tracking URL for the physical pallet, when issued by the carrier.
- Name
batchShippingAgent- Type
- string
- Description
The shipping agent for the consolidation container (e.g.
POSTNL).
- Name
batchShippingService- Type
- string
- Description
The shipping agent service code for the consolidation container.