Documentation
Couriers
Discover which couriers your account can quote against, and what each one is capable of.
List couriers
/v1/couriers
Returns every courier this build supports along with its capabilities. Use it to drive your own UI rather than hard-coding a list that will go stale.
curl https://api.shipstack.example/v1/couriers \
-H "Authorization: Bearer $SHIPSTACK_API_KEY"
{
"couriers": [
{
"code": "dpd",
"name": "DPD",
"capabilities": {
"domestic": true,
"international": true,
"multi_piece": true,
"max_parcels": 30,
"label_formats": ["pdf", "zpl"],
"void": true,
"tracking": true,
"options": {
"signature_required": true,
"age_check": true,
"insurance": true,
"saturday_delivery": true,
"cash_on_delivery": false,
"safe_place": true
},
"pickup_points": ["shop", "locker"]
}
}
]
}
Reading capabilities
Capabilities are not documentation. They are enforced. A request using an option or a lane a carrier does not support is rejected before any network call, so you get a clear error instead of a carrier-specific one.
| Field | Meaning |
|---|---|
domestic, international | The lanes this carrier serves. |
multi_piece | Whether one consignment may hold several parcels. |
max_parcels | Cap on a single consignment. Absent means no adapter-side cap. |
max_weight_g | Per-parcel weight ceiling, where the carrier states one. |
label_formats | Document formats this carrier can return. |
void | Whether a label can be cancelled after purchase. |
tracking | Whether scan history is retrievable. |
options | Which value-added services are supported. |
countries | When present, restricts destinations to these ISO codes. |
pickup_points | Collection-point types served. Absent means door delivery only. |
Credential schema
/v1/couriers/:code/schema
Each courier declares the credential fields it needs. This is what Shipstack Manager renders its settings forms from, and it is available to you for the same purpose.
curl https://api.shipstack.example/v1/couriers/dpd/schema \
-H "Authorization: Bearer $SHIPSTACK_API_KEY"
Currently supported
Every integration below is implemented and conformance-tested, and is in beta pending validation against live carrier accounts. See the full capability matrix for the detail.
| Courier | Code |
|---|---|
| Royal Mail Click & Drop | royalmail_clickanddrop |
| Royal Mail OBA | royalmail_oba |
| DPD | dpd |
| DPD Local | dpd_local |
| DHL Express | dhl_express |
| DHL Parcel UK | dhl_parcel_uk |
| DHL eCommerce | dhl_ecommerce |
| UPS | ups |
| FedEx | fedex |
| PostNL | postnl |
| Amazon Shipping | amazon_shipping |
| Evri | evri |
| Yodel | yodel |
| Parcelforce Worldwide | parcelforce |
| InPost | inpost |
| DPD Germany | dpd_de |
| DPD Austria | dpd_at |
| DPD Ireland | dpd_ie |
| DPD Netherlands | dpd_nl |
| DPD C2C | dpd_c2c |
| DHL Parcel Spain | dhl_parcel_es |
| DHL Parcel Netherlands | dhl_parcel_nl |
| DHL Parcel Poland | dhl_parcel_pl |
| DHL Paket | dhl_paket |
| GLS | gls |
| Colissimo | colissimo |
| Mondial Relay | mondial_relay |
| bpost | bpost |
| Chronopost | chronopost |
| Correos | correos |
| SEUR | seur |
| Deutsche Post | deutsche_post |
| Poste Italiane | poste_italiane |
| Packeta | packeta |
| Pall-Ex | pallex |
| ArrowXL | arrowxl |
| TNT | tnt |
| DX | dx |
| APC Overnight | apc |
| Whistl | whistl |