Skip to Content
Client API 2026-09List, Label & Cancel

Shipments — List, Label & Cancel

Every shipment is identified by its tracking number (LDV), returned as trackingNumber when you create it.

List shipments

GET /shipments — paginated

Query parameterTypeDescription
from, todateCreation date range. Default: the last 30 days
statusstringStatus key or code, or a comma-separated list (delivered,held_at_depot or 5,6) — see statuses
carrierCodestringe.g. brt
serviceTypestringContract code
trackingNumberstringExact LDV
referencestringYour order reference (exact match)
recipientNamestringPartial, case-insensitive
citystringPartial, case-insensitive
postalCodestringExact
countryCodestring (2)Destination country
hasCod, hasInsurancebooleanShipments with (or without) cash on delivery / insurance
storeIdintegerShipments created from the orders of a store
per_page, pageintegerPagination
curl "https://<subdomain>.spedisci.online/api/2026-09/shipments?from=2026-09-01&status=in_transit,out_for_delivery&per_page=100" \ -H "Authorization: Bearer <access_token>" \ -H "Accept: application/json"

The response is a paginated list of Shipment objects (without label).

Shipment detail

GET /shipments/{ldv}

Returns the Shipment object. 404 not_found when the LDV does not exist or belongs to another client.

Shipment object

FieldTypeDescription
idintegerInternal shipment id (used by POST /manifests as shipmentIds)
trackingNumberstringLDV / carrier tracking number
returnTrackingNumberstring|nullLDV of the return label, when one exists
shipmentKeystring|nullPublic key of the shipment (tracking page)
referencestring|nullYour order reference
bdastring|nullBDA
statusStatus{ code, key, label }
carrierCarrier{ code, name, contractCode, contractName }
shipper, recipientPartyAddresses as stored
packages[]object[]One entry per package: number, trackingNumber (per-package LDV), incrementId (carrier parcel id), reference, weight, dimensions
parcelsintegerNumber of packages
weight, volumetricWeight, billableWeightWeightReal, volumetric and billed weight
codobject|null{ amount, currency, type, status }status: 0 pending, 1 processing, 2 paid out
insuranceMoney|null
costobject{ total, currency, breakdown: { weight, insurance, cod, services, extra } }
accessoryServicesinteger[]Service ids applied
notes, contentDescriptionstring|null
customsDetailobject|nullThe customs declaration as stored
labelFormatstringNative label format
deliveryDepotstring|nullDestination depot (BRT)
manifestIdinteger|nullId of the manifest the shipment was closed in
warningstring|nullWarning raised by the carrier at creation
createdAt, shippedAt, collectedAt, deliveredAt, trackingUpdatedAtdatetime|nullLifecycle timestamps

Get the label

GET /shipments/{ldv}/label?format=pdf|zpl

Returns the label of an existing shipment in base64. Without format both formats are returned where available.

curl "https://<subdomain>.spedisci.online/api/2026-09/shipments/DEMO05407027/label?format=pdf" \ -H "Authorization: Bearer <access_token>" \ -H "Accept: application/json"
FieldTypeDescription
format"PDF" | "ZPL"Native format of the stored label
pdfstring|nullBase64 PDF (null when format=zpl)
zplstring|nullBase64 ZPL (null when format=pdf or the carrier cannot provide ZPL)

Cancel a shipment

DELETE /shipments/{ldv}

Cancels the shipment with the carrier and refunds the cost to the account credit. Possible only while the shipment is not yet in a manifest or in transit.

curl -X DELETE https://<subdomain>.spedisci.online/api/2026-09/shipments/DEMO05407027 \ -H "Authorization: Bearer <access_token>" \ -H "Accept: application/json"
HTTPcodeWhen
404not_foundUnknown LDV or shipment of another client
409invalid_stateThe shipment is already in a manifest or in transit
502carrier_errorThe carrier did not accept the cancellation

Cancelling is final: to ship again create a new shipment. The label of a cancelled shipment must not be used.

Last updated on