The Eurosender API lets you integrate shipping and logistics features directly into your system. This guide includes real-world examples, request/response samples, and step-by-step workflows to help you get started quickly.
Follow these examples to automate quotes, create and manage shipments, track deliveries, and handle documents — all with confidence and clarity.
The diagram below shows a simplified overview of the standard Eurosender API integration flow. It walks you through the key steps — from meeting prerequisites and authenticating, to getting quotes, validating payloads, creating orders, and tracking shipments.
This clear, step-by-step workflow helps developers build reliable logistics integrations while following best practices for smooth operations.
Now that you’ve seen the API workflow, let’s take a look at the available shipping services and their serviceType codes. This section explains each option to help you choose what fits your business best—whether you prioritize cost, speed, or specialized freight.
Standard Service: Economical and reliable parcel delivery up to 30 kg across Europe, ideal for non-urgent shipments.
Standard-Flexi Service: Flexible same-day pickup option within select regions, combining convenience with affordable standard shipping.
Priority Service: Faster delivery of larger or heavier items up to 70 kg within Europe, balancing speed and cost-efficiency.
Priority Express Service: The fastest global parcel delivery with door-to-door service and real-time tracking in 24–72 hours.
Pallet Delivery: Secure, reliable transport for bulky shipments up to 1,250 kg with optional handling and tail-lift services.
FTL & LTL Transport: Dedicated full truckload or cost-effective shared load transport tailored for commercial freight needs.
Van Delivery Service: Exclusive van transport for large or delicate shipments, ensuring minimal handling and expedited delivery.
Freight Priority: Expedited pallet delivery across Europe with an optimal balance of speed and cost for shipments up to 1,250 kg.
Freight Priority Express: Premium pallet delivery service offering the fastest transit times across Europe and beyond.
In the Eurosender API, Service Types correspond directly to the shipping options available during the order process. Each serviceType
code maps to a specific shipping option name, as detailed below:
serviceType | Shipping option name |
---|---|
selection | Standard |
flexi | Standard - Flexi |
regular_plus | Priority |
express | Priority Express |
freight | Freight |
freight_priority | Freight priority |
freight_priority_express | Freight priority express |
van | Van delivery |
ftl | FTL/LTL transport |
⚠️ Important: Negotiated rates are only available in Production environment.
After retrieving accurate quote information, you may proceed to build your order creation request. Before submitting an actual order, you have the option to validate the order data to ensure accuracy and compliance with API rules.
Both the order creation and order validation endpoints share the same payload structure, enabling you to validate your request seamlessly before final submission.
- Order Validation Endpoint:
POST /v1/orders/validate_creation
- Order Creation Endpoint:
POST /v1/orders
Order validation is optional, as the same validation logic is automatically applied during order creation to prevent errors.
Standard
POST /v1/quotes
- Payload Example for the Quotes Endpoint
POST /v1/quotes
- Payload Example for the Quotes Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire"
},
"deliveryAddress": {
"country": "SI",
"zip": "1000",
"city": "Ljubljana",
"street": "Cesta v Gorice 34b"
}
},
"parcels": {
"packages": [
{
"parcelId": "A00001",
"quantity": 1,
"width": 14,
"height": 14,
"length": 15,
"weight": 2,
"value": 150
}
]
},
"paymentMethod": "credit",
"currencyCode": "EUR",
"serviceType": "selection"
}
POST /v1/quotes
- Response Example for the Quotes Endpoint
POST /v1/quotes
- Response Example for the Quotes Endpoint{
"options": {
"serviceTypes": [
{
"name": "selection",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-23T00:00:00+02:00",
"isCallRequired": false,
"isLabelRequired": false,
"edt": "4-6",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 18.61,
"net": 18.61
},
"converted": null
},
"pickupDateFees": [],
"insurances": [
{
"id": 21,
"coverage": 200.0,
"text": "Insurance coverage of up to 200 € (per package)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
},
{
"id": 19,
"coverage": 1000.0,
"text": "Insurance coverage of up to 1.000 € (per package)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 11.1,
"net": 11.1
},
"converted": null
}
},
{
"id": 20,
"coverage": 2000.0,
"text": "Insurance coverage of up to 2.000 € (per package)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 15.38,
"net": 15.38
},
"converted": null
}
}
],
"pickupExcludedDates": [
"2025-04-17T00:00:00+02:00",
"2025-04-18T00:00:00+02:00",
"2025-04-19T00:00:00+02:00",
"2025-04-20T00:00:00+02:00",
"2025-04-21T00:00:00+02:00",
"2025-04-22T00:00:00+02:00",
"2025-04-26T00:00:00+02:00",
"2025-04-27T00:00:00+02:00",
"2025-05-01T00:00:00+02:00",
"2025-05-02T00:00:00+02:00",
"2025-05-03T00:00:00+02:00",
"2025-05-04T00:00:00+02:00",
"2025-05-09T00:00:00+02:00",
"2025-05-10T00:00:00+02:00",
"2025-05-11T00:00:00+02:00",
"2025-05-17T00:00:00+02:00",
"2025-05-18T00:00:00+02:00",
"2025-05-24T00:00:00+02:00",
"2025-05-25T00:00:00+02:00",
"2025-05-29T00:00:00+02:00",
"2025-05-31T00:00:00+02:00",
"2025-06-01T00:00:00+02:00",
"2025-06-07T00:00:00+02:00",
"2025-06-08T00:00:00+02:00",
"2025-06-09T00:00:00+02:00",
"2025-06-14T00:00:00+02:00",
"2025-06-15T00:00:00+02:00",
"2025-06-21T00:00:00+02:00",
"2025-06-22T00:00:00+02:00",
"2025-06-23T00:00:00+02:00",
"2025-06-25T00:00:00+02:00",
"2025-06-28T00:00:00+02:00",
"2025-06-29T00:00:00+02:00",
"2025-07-05T00:00:00+02:00",
"2025-07-06T00:00:00+02:00",
"2025-07-12T00:00:00+02:00",
"2025-07-13T00:00:00+02:00",
"2025-07-19T00:00:00+02:00",
"2025-07-20T00:00:00+02:00",
"2025-07-26T00:00:00+02:00",
"2025-07-27T00:00:00+02:00",
"2025-08-02T00:00:00+02:00",
"2025-08-03T00:00:00+02:00",
"2025-08-09T00:00:00+02:00",
"2025-08-10T00:00:00+02:00",
"2025-08-15T00:00:00+02:00",
"2025-08-16T00:00:00+02:00",
"2025-08-17T00:00:00+02:00",
"2025-08-23T00:00:00+02:00",
"2025-08-24T00:00:00+02:00",
"2025-08-30T00:00:00+02:00",
"2025-08-31T00:00:00+02:00",
"2025-09-06T00:00:00+02:00",
"2025-09-07T00:00:00+02:00",
"2025-09-13T00:00:00+02:00",
"2025-09-14T00:00:00+02:00",
"2025-09-20T00:00:00+02:00",
"2025-09-21T00:00:00+02:00",
"2025-09-27T00:00:00+02:00",
"2025-09-28T00:00:00+02:00",
"2025-10-04T00:00:00+02:00",
"2025-10-05T00:00:00+02:00",
"2025-10-11T00:00:00+02:00",
"2025-10-12T00:00:00+02:00",
"2025-10-18T00:00:00+02:00",
"2025-10-19T00:00:00+02:00",
"2025-10-25T00:00:00+02:00",
"2025-10-26T00:00:00+02:00",
"2025-10-31T00:00:00+01:00",
"2025-11-01T00:00:00+01:00",
"2025-11-02T00:00:00+01:00",
"2025-11-08T00:00:00+01:00",
"2025-11-09T00:00:00+01:00",
"2025-11-15T00:00:00+01:00",
"2025-11-16T00:00:00+01:00",
"2025-11-22T00:00:00+01:00",
"2025-11-23T00:00:00+01:00",
"2025-11-29T00:00:00+01:00",
"2025-11-30T00:00:00+01:00",
"2025-12-06T00:00:00+01:00",
"2025-12-07T00:00:00+01:00",
"2025-12-13T00:00:00+01:00",
"2025-12-14T00:00:00+01:00",
"2025-12-20T00:00:00+01:00",
"2025-12-21T00:00:00+01:00",
"2025-12-25T00:00:00+01:00",
"2025-12-26T00:00:00+01:00"
],
"addOns": [],
"courierTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions_couriers/1_2010-01-01/2010-01-01T%26C_en.pdf",
"courierId": 1,
"pickupTimeFrameSelectionPossible": false,
"otherPickupDatePrices": []
},
{
"name": "regular_plus",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-17T00:00:00+02:00",
"isCallRequired": false,
"isLabelRequired": true,
"edt": "2",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 57.17,
"net": 57.17
},
"converted": null
},
"pickupDateFees": [],
"insurances": [
{
"id": 17,
"coverage": 20.0,
"text": "10 euros per 1kg gross weight",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
},
{
"id": 74,
"coverage": 150.0,
"text": "Insurance coverage up to the given value of the shipment",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 16.06,
"net": 16.06
},
"converted": null
}
},
{
"id": 19,
"coverage": 1000.0,
"text": "Insurance coverage of up to 1.000 € (per package)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 11.1,
"net": 11.1
},
"converted": null
}
},
{
"id": 20,
"coverage": 2000.0,
"text": "Insurance coverage of up to 2.000 € (per package)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 15.38,
"net": 15.38
},
"converted": null
}
}
],
"pickupExcludedDates": [
"2025-04-18T00:00:00+02:00",
"2025-04-19T00:00:00+02:00",
"2025-04-20T00:00:00+02:00",
"2025-04-21T00:00:00+02:00",
"2025-04-26T00:00:00+02:00",
"2025-04-27T00:00:00+02:00",
"2025-05-01T00:00:00+02:00",
"2025-05-03T00:00:00+02:00",
"2025-05-04T00:00:00+02:00",
"2025-05-09T00:00:00+02:00",
"2025-05-10T00:00:00+02:00",
"2025-05-11T00:00:00+02:00",
"2025-05-17T00:00:00+02:00",
"2025-05-18T00:00:00+02:00",
"2025-05-24T00:00:00+02:00",
"2025-05-25T00:00:00+02:00",
"2025-05-29T00:00:00+02:00",
"2025-05-31T00:00:00+02:00",
"2025-06-01T00:00:00+02:00",
"2025-06-07T00:00:00+02:00",
"2025-06-08T00:00:00+02:00",
"2025-06-09T00:00:00+02:00",
"2025-06-14T00:00:00+02:00",
"2025-06-15T00:00:00+02:00",
"2025-06-21T00:00:00+02:00",
"2025-06-22T00:00:00+02:00",
"2025-06-23T00:00:00+02:00",
"2025-06-28T00:00:00+02:00",
"2025-06-29T00:00:00+02:00",
"2025-07-05T00:00:00+02:00",
"2025-07-06T00:00:00+02:00",
"2025-07-12T00:00:00+02:00",
"2025-07-13T00:00:00+02:00",
"2025-07-19T00:00:00+02:00",
"2025-07-20T00:00:00+02:00",
"2025-07-26T00:00:00+02:00",
"2025-07-27T00:00:00+02:00",
"2025-08-02T00:00:00+02:00",
"2025-08-03T00:00:00+02:00",
"2025-08-09T00:00:00+02:00",
"2025-08-10T00:00:00+02:00",
"2025-08-15T00:00:00+02:00",
"2025-08-16T00:00:00+02:00",
"2025-08-17T00:00:00+02:00",
"2025-08-23T00:00:00+02:00",
"2025-08-24T00:00:00+02:00",
"2025-08-30T00:00:00+02:00",
"2025-08-31T00:00:00+02:00",
"2025-09-06T00:00:00+02:00",
"2025-09-07T00:00:00+02:00",
"2025-09-13T00:00:00+02:00",
"2025-09-14T00:00:00+02:00",
"2025-09-20T00:00:00+02:00",
"2025-09-21T00:00:00+02:00",
"2025-09-27T00:00:00+02:00",
"2025-09-28T00:00:00+02:00",
"2025-10-04T00:00:00+02:00",
"2025-10-05T00:00:00+02:00",
"2025-10-11T00:00:00+02:00",
"2025-10-12T00:00:00+02:00",
"2025-10-18T00:00:00+02:00",
"2025-10-19T00:00:00+02:00",
"2025-10-25T00:00:00+02:00",
"2025-10-26T00:00:00+02:00",
"2025-11-01T00:00:00+01:00",
"2025-11-02T00:00:00+01:00",
"2025-11-08T00:00:00+01:00",
"2025-11-09T00:00:00+01:00",
"2025-11-15T00:00:00+01:00",
"2025-11-16T00:00:00+01:00",
"2025-11-22T00:00:00+01:00",
"2025-11-23T00:00:00+01:00",
"2025-11-29T00:00:00+01:00",
"2025-11-30T00:00:00+01:00",
"2025-12-06T00:00:00+01:00",
"2025-12-07T00:00:00+01:00",
"2025-12-13T00:00:00+01:00",
"2025-12-14T00:00:00+01:00",
"2025-12-20T00:00:00+01:00",
"2025-12-21T00:00:00+01:00",
"2025-12-25T00:00:00+01:00",
"2025-12-26T00:00:00+01:00"
],
"addOns": [],
"courierTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions_couriers/66_2021-01-13/2021-01-13T%26C_en.pdf",
"courierId": 66,
"pickupTimeFrameSelectionPossible": false,
"otherPickupDatePrices": []
},
{
"name": "express",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-17T00:00:00+02:00",
"isCallRequired": false,
"isLabelRequired": true,
"edt": "1",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 65.06,
"net": 65.06
},
"converted": null
},
"pickupDateFees": [],
"insurances": [
{
"id": 17,
"coverage": 20.0,
"text": "10 euros per 1kg gross weight",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
},
{
"id": 48,
"coverage": 150.0,
"text": "Insurance coverage up to the given value of the shipment",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 16.0,
"net": 16.0
},
"converted": null
}
},
{
"id": 19,
"coverage": 1000.0,
"text": "Insurance coverage of up to 1.000 € (per package)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 11.1,
"net": 11.1
},
"converted": null
}
},
{
"id": 20,
"coverage": 2000.0,
"text": "Insurance coverage of up to 2.000 € (per package)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 15.38,
"net": 15.38
},
"converted": null
}
}
],
"pickupExcludedDates": [
"2025-04-18T00:00:00+02:00",
"2025-04-19T00:00:00+02:00",
"2025-04-20T00:00:00+02:00",
"2025-04-21T00:00:00+02:00",
"2025-04-26T00:00:00+02:00",
"2025-04-27T00:00:00+02:00",
"2025-05-01T00:00:00+02:00",
"2025-05-03T00:00:00+02:00",
"2025-05-04T00:00:00+02:00",
"2025-05-09T00:00:00+02:00",
"2025-05-10T00:00:00+02:00",
"2025-05-11T00:00:00+02:00",
"2025-05-17T00:00:00+02:00",
"2025-05-18T00:00:00+02:00",
"2025-05-24T00:00:00+02:00",
"2025-05-25T00:00:00+02:00",
"2025-05-29T00:00:00+02:00",
"2025-05-31T00:00:00+02:00",
"2025-06-01T00:00:00+02:00",
"2025-06-07T00:00:00+02:00",
"2025-06-08T00:00:00+02:00",
"2025-06-09T00:00:00+02:00",
"2025-06-14T00:00:00+02:00",
"2025-06-15T00:00:00+02:00",
"2025-06-21T00:00:00+02:00",
"2025-06-22T00:00:00+02:00",
"2025-06-23T00:00:00+02:00",
"2025-06-28T00:00:00+02:00",
"2025-06-29T00:00:00+02:00",
"2025-07-05T00:00:00+02:00",
"2025-07-06T00:00:00+02:00",
"2025-07-12T00:00:00+02:00",
"2025-07-13T00:00:00+02:00",
"2025-07-19T00:00:00+02:00",
"2025-07-20T00:00:00+02:00",
"2025-07-26T00:00:00+02:00",
"2025-07-27T00:00:00+02:00",
"2025-08-02T00:00:00+02:00",
"2025-08-03T00:00:00+02:00",
"2025-08-09T00:00:00+02:00",
"2025-08-10T00:00:00+02:00",
"2025-08-15T00:00:00+02:00",
"2025-08-16T00:00:00+02:00",
"2025-08-17T00:00:00+02:00",
"2025-08-23T00:00:00+02:00",
"2025-08-24T00:00:00+02:00",
"2025-08-30T00:00:00+02:00",
"2025-08-31T00:00:00+02:00",
"2025-09-06T00:00:00+02:00",
"2025-09-07T00:00:00+02:00",
"2025-09-13T00:00:00+02:00",
"2025-09-14T00:00:00+02:00",
"2025-09-20T00:00:00+02:00",
"2025-09-21T00:00:00+02:00",
"2025-09-27T00:00:00+02:00",
"2025-09-28T00:00:00+02:00",
"2025-10-04T00:00:00+02:00",
"2025-10-05T00:00:00+02:00",
"2025-10-11T00:00:00+02:00",
"2025-10-12T00:00:00+02:00",
"2025-10-18T00:00:00+02:00",
"2025-10-19T00:00:00+02:00",
"2025-10-25T00:00:00+02:00",
"2025-10-26T00:00:00+02:00",
"2025-11-01T00:00:00+01:00",
"2025-11-02T00:00:00+01:00",
"2025-11-08T00:00:00+01:00",
"2025-11-09T00:00:00+01:00",
"2025-11-15T00:00:00+01:00",
"2025-11-16T00:00:00+01:00",
"2025-11-22T00:00:00+01:00",
"2025-11-23T00:00:00+01:00",
"2025-11-29T00:00:00+01:00",
"2025-11-30T00:00:00+01:00",
"2025-12-06T00:00:00+01:00",
"2025-12-07T00:00:00+01:00",
"2025-12-13T00:00:00+01:00",
"2025-12-14T00:00:00+01:00",
"2025-12-20T00:00:00+01:00",
"2025-12-21T00:00:00+01:00",
"2025-12-25T00:00:00+01:00",
"2025-12-26T00:00:00+01:00"
],
"addOns": [],
"courierTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions_couriers/46_2020-02-26/2020-02-26T%26C_en.pdf",
"courierId": 46,
"pickupTimeFrameSelectionPossible": false,
"otherPickupDatePrices": []
}
],
"parcelLevelOptionalServices": [],
"generalTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions/2024-12-02/2024-12-02T%26C_en.pdf",
"paymentMethods": [
{
"code": "credit",
"paymentDiscount": {
"rate": "10 %",
"discount": {
"original": {
"currencyCode": "EUR",
"gross": 1.86,
"net": 1.86
},
"converted": null
}
}
},
{
"code": "deferred",
"paymentDiscount": null
}
]
},
"order": {
"totalPrice": {
"original": {
"currencyCode": "EUR",
"gross": 16.75,
"net": 16.75
},
"converted": null
},
"insuranceId": 21,
"parcels": [
{
"parcelId": "A00001"
}
],
"paymentDiscount": {
"rate": "10 %",
"discount": {
"original": {
"currencyCode": "EUR",
"gross": 1.86,
"net": 1.86
},
"converted": null
}
},
"addOns": [
"flexibleChanges"
],
"serviceType": "selection",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-23T00:00:00+02:00",
"estimatedDeliveryTime": "4-6",
"courierId": 1,
"courierTag": null,
"calculatedDistance": null
},
"warnings": []
}
A successful response will provide all the necessary information required to proceed with creating an order request, including the quote details, pricing, and any relevant parameters for order submission.
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"cityId": null,
"street": "9 Rue du Laboratoire",
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"deliveryAddress": {
"country": "SI",
"zip": "1000",
"city": "Ljubljana",
"cityId": null,
"street": "Cesta v gorice 34b",
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"pickupDate": "2023-04-04T00:00:00Z",
"pickupContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"deliveryContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"addOns": []
},
"parcels": {
"envelopes": [],
"packages": [
{
"parcelId": "A00001",
"quantity": 1,
"width": 14,
"height": 14,
"length": 15,
"weight": 2,
"content": "books",
"value": 150
}
],
"pallets": []
},
"serviceType": "regular_plus",
"courierTag": null,
"courierId": null,
"paymentMethod": "credit",
"currencyCode": "EUR",
"insuranceId": null,
"orderContact": {
"email": "user@example.com",
"name": null,
"phone": null,
"contactMethod": null,
"contactCustomerType": null
},
"comment": "2nd floor",
"labelFormat": "pdf"
}
POST /v1/orders
— Response Example for the Create Shipment Endpoint
POST /v1/orders
— Response Example for the Create Shipment Endpoint{
"orderCode": "806968-25",
"status": "Confirmed",
"serviceType": "regular_plus",
"language": "en",
"email": "user@example.com",
"paymentMethod": "credit",
"currencyCode": "EUR",
"vatRate": "0%",
"parcels": {
"envelopes": [],
"packages": [
{
"parcelId": "A00001",
"orderCode": "806968-25",
"type": "package",
"weight": 2.0,
"length": 15,
"width": 14,
"height": 14,
"content": "books",
"value": 150,
"price": {
"original": {
"currencyCode": "EUR",
"gross": 64.56,
"net": 64.56
},
"converted": null
},
"tracking": {
"number": "1ZXXXXXXXXXXXXXXXX",
"url": "https://www.ups.com/track?tracknum=1ZXXXXXXXXXXXXXXXX",
"deliveryStatus": null
}
}
],
"pallets": [],
"vans": [],
"ltls": [],
"ftls": [],
"nonStandard": []
},
"courier": {
"id": 66,
"shortName": "UPS",
"countryCode": "LU",
"email": "fhaag@ups.com",
"phone": "+32 22 56 66 19"
},
"shipment": {
"pickupAddress": {
"street": "9 Rue du Laboratoire",
"zip": "1911",
"city": "Luxembourg",
"region": null,
"country": "LU"
},
"pickupContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"deliveryAddress": {
"street": "Cesta v gorice 34b",
"zip": "1000",
"city": "Ljubljana",
"region": null,
"country": "SI"
},
"deliveryContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"pickupDate": "2025-04-17T00:00:00+02:00",
"pickupType": "new_pickup_request",
"addOns": [],
"routeDistance": 0.0
},
"estimatedDeliveryTime": "2",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 64.56,
"net": 64.56
},
"converted": null
},
"discount": null,
"coupon": null,
"insurance": null,
"isCallRequired": false,
"isLabelRequired": true,
"labelLink": "https://s3.eu-central-1.amazonaws.com/www.eurosender.com-stage/labels_test/703ab7e3b2e99d30169d7f7d02b1e0fa.pdf",
"labelFormat": "pdf",
"comment": "2nd floor",
"customerInternalReference": null,
"customerBillingReference": null,
"documents": [
{
"id": "label_pdf_703ab7e3b2e99d30169d7f7d02b1e0fa",
"type": "label",
"fileFormat": "pdf"
}
],
"created": "2025-04-17T09:35:33+02:00"
}
After placing an order, status becomes Order Received or Deferred Payment. Status may later change to Confirmed, Tracking, etc.
Customs-related statuses require using Proforma endpoints. (Delivery statuses are available via a different endpoint.)
Courier Contact Details: Needed especially for call for pickup.
Label Link (labelLink
): URL to download labels once generated.
Label Required (isLabelRequired
): If true, label must be printed.
(Shown in /v1/quotes
, /v1/orders
, and /v1/orders/{orderCode}
responses.)
Tracking Info: Tracking URL provided once available (parcels → packages → tracking
).
Freight Priority Express
POST /v1/quotes
- Payload Example for the Quotes Endpoint
POST /v1/quotes
- Payload Example for the Quotes Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire"
},
"deliveryAddress": {
"country": "SI",
"zip": "1000",
"city": "Ljubljana",
"street": "Cesta v Gorice 34b"
}
},
"parcels": {
"pallets": [
{
"parcelId": "A00001",
"quantity": 1,
"width": 14,
"height": 14,
"length": 15,
"weight": 2,
"value": 150
}
]
},
"paymentMethod": "credit",
"currencyCode": "EUR",
"serviceType": "freight_priority_express"
}
POST /v1/quotes
- Response Example for the Quotes Endpoint
POST /v1/quotes
- Response Example for the Quotes Endpoint{
"options": {
"serviceTypes": [
{
"name": "freight_priority_express",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-17T00:00:00+02:00",
"isCallRequired": false,
"isLabelRequired": true,
"edt": "1",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 70.54,
"net": 70.54
},
"converted": null
},
"pickupDateFees": [],
"insurances": [
{
"id": 17,
"coverage": 20.0,
"text": "10 euros per 1kg gross weight",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
},
{
"id": 166,
"coverage": 150.0,
"text": "Insurance coverage up to the given value of the shipment",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 16.0,
"net": 16.0
},
"converted": null
}
},
{
"id": 34,
"coverage": 1000.0,
"text": "Insurance coverage of up to 1.000 €",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 11.1,
"net": 11.1
},
"converted": null
}
},
{
"id": 35,
"coverage": 2000.0,
"text": "Insurance coverage of up to 2.000 €",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 15.38,
"net": 15.38
},
"converted": null
}
},
{
"id": 36,
"coverage": 5000.0,
"text": "Insurance coverage of up to 5.000 €",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 21.36,
"net": 21.36
},
"converted": null
}
}
],
"pickupExcludedDates": [
"2025-04-18T00:00:00+02:00",
"2025-04-19T00:00:00+02:00",
"2025-04-20T00:00:00+02:00",
"2025-04-21T00:00:00+02:00",
"2025-04-26T00:00:00+02:00",
"2025-04-27T00:00:00+02:00",
"2025-05-01T00:00:00+02:00",
"2025-05-03T00:00:00+02:00",
"2025-05-04T00:00:00+02:00",
"2025-05-09T00:00:00+02:00",
"2025-05-10T00:00:00+02:00",
"2025-05-11T00:00:00+02:00",
"2025-05-17T00:00:00+02:00",
"2025-05-18T00:00:00+02:00",
"2025-05-24T00:00:00+02:00",
"2025-05-25T00:00:00+02:00",
"2025-05-29T00:00:00+02:00",
"2025-05-31T00:00:00+02:00",
"2025-06-01T00:00:00+02:00",
"2025-06-07T00:00:00+02:00",
"2025-06-08T00:00:00+02:00",
"2025-06-09T00:00:00+02:00",
"2025-06-14T00:00:00+02:00",
"2025-06-15T00:00:00+02:00",
"2025-06-21T00:00:00+02:00",
"2025-06-22T00:00:00+02:00",
"2025-06-23T00:00:00+02:00",
"2025-06-28T00:00:00+02:00",
"2025-06-29T00:00:00+02:00",
"2025-07-05T00:00:00+02:00",
"2025-07-06T00:00:00+02:00",
"2025-07-12T00:00:00+02:00",
"2025-07-13T00:00:00+02:00",
"2025-07-19T00:00:00+02:00",
"2025-07-20T00:00:00+02:00",
"2025-07-26T00:00:00+02:00",
"2025-07-27T00:00:00+02:00",
"2025-08-02T00:00:00+02:00",
"2025-08-03T00:00:00+02:00",
"2025-08-09T00:00:00+02:00",
"2025-08-10T00:00:00+02:00",
"2025-08-15T00:00:00+02:00",
"2025-08-16T00:00:00+02:00",
"2025-08-17T00:00:00+02:00",
"2025-08-23T00:00:00+02:00",
"2025-08-24T00:00:00+02:00",
"2025-08-30T00:00:00+02:00",
"2025-08-31T00:00:00+02:00",
"2025-09-06T00:00:00+02:00",
"2025-09-07T00:00:00+02:00",
"2025-09-13T00:00:00+02:00",
"2025-09-14T00:00:00+02:00",
"2025-09-20T00:00:00+02:00",
"2025-09-21T00:00:00+02:00",
"2025-09-27T00:00:00+02:00",
"2025-09-28T00:00:00+02:00",
"2025-10-04T00:00:00+02:00",
"2025-10-05T00:00:00+02:00",
"2025-10-11T00:00:00+02:00",
"2025-10-12T00:00:00+02:00",
"2025-10-18T00:00:00+02:00",
"2025-10-19T00:00:00+02:00",
"2025-10-25T00:00:00+02:00",
"2025-10-26T00:00:00+02:00",
"2025-11-01T00:00:00+01:00",
"2025-11-02T00:00:00+01:00",
"2025-11-08T00:00:00+01:00",
"2025-11-09T00:00:00+01:00",
"2025-11-15T00:00:00+01:00",
"2025-11-16T00:00:00+01:00",
"2025-11-22T00:00:00+01:00",
"2025-11-23T00:00:00+01:00",
"2025-11-29T00:00:00+01:00",
"2025-11-30T00:00:00+01:00",
"2025-12-06T00:00:00+01:00",
"2025-12-07T00:00:00+01:00",
"2025-12-13T00:00:00+01:00",
"2025-12-14T00:00:00+01:00",
"2025-12-20T00:00:00+01:00",
"2025-12-21T00:00:00+01:00",
"2025-12-25T00:00:00+01:00",
"2025-12-26T00:00:00+01:00"
],
"addOns": [],
"courierTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions_couriers/46_2020-02-26/2020-02-26T%26C_en.pdf",
"courierId": 46,
"pickupTimeFrameSelectionPossible": false,
"otherPickupDatePrices": []
}
],
"parcelLevelOptionalServices": [],
"generalTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions/2024-12-02/2024-12-02T%26C_en.pdf",
"paymentMethods": [
{
"code": "credit",
"paymentDiscount": {
"rate": "3 %",
"discount": {
"original": {
"currencyCode": "EUR",
"gross": 2.12,
"net": 2.12
},
"converted": null
}
}
},
{
"code": "deferred",
"paymentDiscount": null
}
]
},
"order": {
"totalPrice": {
"original": {
"currencyCode": "EUR",
"gross": 68.42,
"net": 68.42
},
"converted": null
},
"insuranceId": 17,
"parcels": [
{
"parcelId": "A00001"
}
],
"paymentDiscount": {
"rate": "3 %",
"discount": {
"original": {
"currencyCode": "EUR",
"gross": 2.12,
"net": 2.12
},
"converted": null
}
},
"addOns": [
"flexibleChanges"
],
"serviceType": "freight_priority_express",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-17T00:00:00+02:00",
"estimatedDeliveryTime": "1",
"courierId": 46,
"courierTag": null,
"calculatedDistance": null
},
"warnings": []
}
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"cityId": null,
"street": "9 Rue du Laboratoire",
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"deliveryAddress": {
"country": "SI",
"zip": "1000",
"city": "Ljubljana",
"cityId": null,
"street": "Cesta v gorice 34b",
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"pickupDate": "2023-04-04T00:00:00Z",
"pickupContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"deliveryContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"addOns": []
},
"parcels": {
"envelopes": [],
"packages": [],
"pallets": [
{
"parcelId": "A00001",
"quantity": 1,
"width": 14,
"height": 14,
"length": 15,
"weight": 2,
"content": "books",
"value": 150
}
]
},
"serviceType": "freight",
"courierTag": null,
"courierId": null,
"paymentMethod": "credit",
"currencyCode": "EUR",
"insuranceId": null,
"orderContact": {
"email": "user@example.com",
"name": null,
"phone": null,
"contactMethod": null,
"contactCustomerType": null
},
"comment": "2nd floor",
"labelFormat": "pdf"
}
POST /v1/orders
- Response Example for the Create Shipment Endpoint
POST /v1/orders
- Response Example for the Create Shipment Endpoint{
"orderCode": "133930-25",
"status": "Order Received",
"serviceType": "freight_priority_express",
"language": "en",
"email": "user@example.com",
"paymentMethod": "credit",
"currencyCode": "EUR",
"vatRate": "0%",
"parcels": {
"envelopes": [],
"packages": [],
"pallets": [
{
"parcelId": "A00001",
"orderCode": "133930-25",
"type": "pallet",
"weight": 2.0,
"length": 15,
"width": 14,
"height": 14,
"content": "books",
"value": 150,
"price": {
"original": {
"currencyCode": "EUR",
"gross": 70.54,
"net": 70.54
},
"converted": null
},
"tracking": null,
"isStackable": true
}
],
"vans": [],
"ltls": [],
"ftls": [],
"nonStandard": []
},
"courier": {
"id": 46,
"shortName": "DHL",
"countryCode": "LU",
"email": "florian.kopf@dhl.com",
"phone": "+352 621 142 552"
},
"shipment": {
"pickupAddress": {
"street": "9 Rue du Laboratoire",
"zip": "1911",
"city": "Luxembourg",
"region": null,
"country": "LU"
},
"pickupContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"deliveryAddress": {
"street": "Cesta v gorice 34b",
"zip": "1000",
"city": "Ljubljana",
"region": null,
"country": "SI"
},
"deliveryContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"pickupDate": "2025-04-17T00:00:00+02:00",
"pickupType": "new_pickup_request",
"addOns": [],
"routeDistance": 0.0
},
"estimatedDeliveryTime": "1",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 68.42,
"net": 68.42
},
"converted": null
},
"discount": {
"rate": "3 %",
"discount": {
"original": {
"currencyCode": "EUR",
"gross": 2.12,
"net": 2.12
},
"converted": null
}
},
"coupon": null,
"insurance": {
"id": 17,
"text": "Insurance coverage according to the provisions of the Convention on the Contract for the International Carriage of Goods by Road (the CMR)",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
},
"isCallRequired": false,
"isLabelRequired": true,
"labelLink": "",
"labelFormat": "pdf",
"comment": "2nd floor",
"customerInternalReference": null,
"customerBillingReference": null,
"documents": [],
"created": "2025-04-17T09:44:15+02:00"
}
Tip: For a better understanding of the returned fields, refer to Quick Reference: Important Response Fields.
Documents
POST /v1/quotes
- Payload Example for the Quotes Endpoint
POST /v1/quotes
- Payload Example for the Quotes Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire"
},
"deliveryAddress": {
"country": "SI",
"zip": "1000",
"city": "Ljubljana",
"street": "Cesta v Gorice 34b"
}
},
"parcels": {
"envelopes": [
{
"parcelId": "A00001",
"quantity": 1,
"weight": 2,
"value": 150
}
]
},
"paymentMethod": "credit",
"currencyCode": "EUR",
"serviceType": "express"
}
POST /v1/quotes
- Response Example for the Quotes Endpoint
POST /v1/quotes
- Response Example for the Quotes Endpoint{
"options": {
"serviceTypes": [
{
"name": "express",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-22T00:00:00+02:00",
"isCallRequired": false,
"isLabelRequired": true,
"edt": "1",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 65.06,
"net": 65.06
},
"converted": null
},
"pickupDateFees": [],
"insurances": [
{
"id": 17,
"coverage": 20.0,
"text": "10 euros per 1kg gross weight",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
},
{
"id": 47,
"coverage": 400.0,
"text": "Insurance coverage of up to <strong>400€ (per entire shipment)</strong>",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 7.0,
"net": 7.0
},
"converted": null
}
}
],
"pickupExcludedDates": [
"2025-04-17T00:00:00+02:00",
"2025-04-18T00:00:00+02:00",
"2025-04-19T00:00:00+02:00",
"2025-04-20T00:00:00+02:00",
"2025-04-21T00:00:00+02:00",
"2025-04-26T00:00:00+02:00",
"2025-04-27T00:00:00+02:00",
"2025-05-01T00:00:00+02:00",
"2025-05-03T00:00:00+02:00",
"2025-05-04T00:00:00+02:00",
"2025-05-09T00:00:00+02:00",
"2025-05-10T00:00:00+02:00",
"2025-05-11T00:00:00+02:00",
"2025-05-17T00:00:00+02:00",
"2025-05-18T00:00:00+02:00",
"2025-05-24T00:00:00+02:00",
"2025-05-25T00:00:00+02:00",
"2025-05-29T00:00:00+02:00",
"2025-05-31T00:00:00+02:00",
"2025-06-01T00:00:00+02:00",
"2025-06-07T00:00:00+02:00",
"2025-06-08T00:00:00+02:00",
"2025-06-09T00:00:00+02:00",
"2025-06-14T00:00:00+02:00",
"2025-06-15T00:00:00+02:00",
"2025-06-21T00:00:00+02:00",
"2025-06-22T00:00:00+02:00",
"2025-06-23T00:00:00+02:00",
"2025-06-28T00:00:00+02:00",
"2025-06-29T00:00:00+02:00",
"2025-07-05T00:00:00+02:00",
"2025-07-06T00:00:00+02:00",
"2025-07-12T00:00:00+02:00",
"2025-07-13T00:00:00+02:00",
"2025-07-19T00:00:00+02:00",
"2025-07-20T00:00:00+02:00",
"2025-07-26T00:00:00+02:00",
"2025-07-27T00:00:00+02:00",
"2025-08-02T00:00:00+02:00",
"2025-08-03T00:00:00+02:00",
"2025-08-09T00:00:00+02:00",
"2025-08-10T00:00:00+02:00",
"2025-08-15T00:00:00+02:00",
"2025-08-16T00:00:00+02:00",
"2025-08-17T00:00:00+02:00",
"2025-08-23T00:00:00+02:00",
"2025-08-24T00:00:00+02:00",
"2025-08-30T00:00:00+02:00",
"2025-08-31T00:00:00+02:00",
"2025-09-06T00:00:00+02:00",
"2025-09-07T00:00:00+02:00",
"2025-09-13T00:00:00+02:00",
"2025-09-14T00:00:00+02:00",
"2025-09-20T00:00:00+02:00",
"2025-09-21T00:00:00+02:00",
"2025-09-27T00:00:00+02:00",
"2025-09-28T00:00:00+02:00",
"2025-10-04T00:00:00+02:00",
"2025-10-05T00:00:00+02:00",
"2025-10-11T00:00:00+02:00",
"2025-10-12T00:00:00+02:00",
"2025-10-18T00:00:00+02:00",
"2025-10-19T00:00:00+02:00",
"2025-10-25T00:00:00+02:00",
"2025-10-26T00:00:00+02:00",
"2025-11-01T00:00:00+01:00",
"2025-11-02T00:00:00+01:00",
"2025-11-08T00:00:00+01:00",
"2025-11-09T00:00:00+01:00",
"2025-11-15T00:00:00+01:00",
"2025-11-16T00:00:00+01:00",
"2025-11-22T00:00:00+01:00",
"2025-11-23T00:00:00+01:00",
"2025-11-29T00:00:00+01:00",
"2025-11-30T00:00:00+01:00",
"2025-12-06T00:00:00+01:00",
"2025-12-07T00:00:00+01:00",
"2025-12-13T00:00:00+01:00",
"2025-12-14T00:00:00+01:00",
"2025-12-20T00:00:00+01:00",
"2025-12-21T00:00:00+01:00",
"2025-12-25T00:00:00+01:00",
"2025-12-26T00:00:00+01:00"
],
"addOns": [],
"courierTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions_couriers/46_2020-02-26/2020-02-26T%26C_en.pdf",
"courierId": 46,
"pickupTimeFrameSelectionPossible": false,
"otherPickupDatePrices": []
}
],
"parcelLevelOptionalServices": [],
"generalTermsAndConditionsLink": "https://eurosender-terms-and-conditions.s3.eu-central-1.amazonaws.com/terms_and_conditions/2024-12-02/2024-12-02T%26C_en.pdf",
"paymentMethods": [
{
"code": "credit",
"paymentDiscount": null
},
{
"code": "deferred",
"paymentDiscount": null
}
]
},
"order": {
"totalPrice": {
"original": {
"currencyCode": "EUR",
"gross": 65.06,
"net": 65.06
},
"converted": null
},
"insuranceId": 17,
"parcels": [
{
"parcelId": "A00001"
}
],
"paymentDiscount": null,
"addOns": [],
"serviceType": "express",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-04-22T00:00:00+02:00",
"estimatedDeliveryTime": "1",
"courierId": 46,
"courierTag": null,
"calculatedDistance": null
},
"warnings": []
}
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"cityId": null,
"street": "9 Rue du Laboratoire",
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"deliveryAddress": {
"country": "SI",
"zip": "1000",
"city": "Ljubljana",
"cityId": null,
"street": "Cesta v gorice 34b",
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"pickupDate": "2023-04-04T00:00:00Z",
"pickupContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"deliveryContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"addOns": []
},
"parcels": {
"envelopes": [
{
"parcelId": "A00001",
"quantity": 1,
// "width": 14,
// "height": 14,
// "length": 15,
"weight": 2,
"content": "books",
"value": 150
}
],
"packages": [],
"pallets": []
},
"serviceType": "express",
"courierTag": null,
"courierId": null,
"paymentMethod": "credit",
"currencyCode": "EUR",
"insuranceId": null,
"orderContact": {
"email": "user@example.com",
"name": null,
"phone": null,
"contactMethod": null,
"contactCustomerType": null
},
"comment": "2nd floor",
"labelFormat": "pdf"
}
POST /v1/orders
- Response Example for the Create Shipment Endpoint
POST /v1/orders
- Response Example for the Create Shipment Endpoint{
"orderCode": "462417-25",
"status": "Order Received",
"serviceType": "express",
"language": "en",
"email": "user@example.com",
"paymentMethod": "credit",
"currencyCode": "EUR",
"vatRate": "0%",
"parcels": {
"envelopes": [
{
"parcelId": "A00001",
"orderCode": "462417-25",
"type": "envelope",
"weight": 2.0,
"content": "documents",
"value": 150,
"price": {
"original": {
"currencyCode": "EUR",
"gross": 65.06,
"net": 65.06
},
"converted": null
},
"tracking": null
}
],
"packages": [],
"pallets": [],
"vans": [],
"ltls": [],
"ftls": [],
"nonStandard": []
},
"courier": {
"id": 46,
"shortName": "DHL",
"countryCode": "LU",
"email": "florian.kopf@dhl.com",
"phone": "+352 621 142 552"
},
"shipment": {
"pickupAddress": {
"street": "9 Rue du Laboratoire",
"zip": "1911",
"city": "Luxembourg",
"region": null,
"country": "LU"
},
"pickupContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"deliveryAddress": {
"street": "Cesta v gorice 34b",
"zip": "1000",
"city": "Ljubljana",
"region": null,
"country": "SI"
},
"deliveryContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"pickupDate": "2025-04-22T00:00:00+02:00",
"pickupType": "new_pickup_request",
"addOns": [],
"routeDistance": 0.0
},
"estimatedDeliveryTime": "1",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 65.06,
"net": 65.06
},
"converted": null
},
"discount": null,
"coupon": null,
"insurance": null,
"isCallRequired": false,
"isLabelRequired": true,
"labelLink": "",
"labelFormat": "pdf",
"comment": "2nd floor",
"customerInternalReference": null,
"customerBillingReference": null,
"documents": [],
"created": "2025-04-17T13:38:00+02:00"
}
Express
POST /v1/quotes
- Payload Example for the Quotes Endpoint
POST /v1/quotes
- Payload Example for the Quotes Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire"
},
"deliveryAddress": {
"country": "AU",
"zip": "3058",
"city": "Melbourn",
"street": "Coburg"
}
},
"parcels": {
"packages": [
{
"parcelId": "A00001",
"quantity": 1,
"width": 14,
"height": 14,
"length": 15,
"weight": 2,
"value": 150
}
]
},
"paymentMethod": "credit",
"currencyCode": "EUR",
"serviceType": "express"
}
POST /v1/quotes
- Response Example for the Quotes Endpoint
POST /v1/quotes
- Response Example for the Quotes Endpoint{
"shipment": {
"pickupAddress": {
"country": "LU",
"zip": "1911",
"city": "Luxembourg",
"cityId": null,
"street": "9 Rue du Laboratoire",
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"deliveryAddress": {
"country": "AU",
"zip": "3058",
"city": "Melbourn",
"street": "Coburg",
"cityId": null,
"additionalInfo": null,
"region": null,
"regionCode": null,
"regionId": null,
"timeZoneName": null,
"customFields": []
},
"pickupDate": "2023-04-04T00:00:00Z",
"pickupContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"deliveryContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"addOns": []
},
"parcels": {
"envelopes": [],
"packages": [
{
"parcelId": "A00001",
"quantity": 1,
"width": 14,
"height": 14,
"length": 15,
"weight": 2,
"content": "books",
"value": 150
}
],
"pallets": []
},
"serviceType": "express",
"courierTag": null,
"courierId": null,
"paymentMethod": "credit",
"currencyCode": "EUR",
"insuranceId": null,
"orderContact": {
"email": "user@example.com",
"name": null,
"phone": null,
"contactMethod": null,
"contactCustomerType": null
},
"comment": "2nd floor",
"labelFormat": "pdf"
}
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"orderCode": "703668-25",
"status": "Awaiting customs documentation",
"serviceType": "express",
"language": "en",
"email": "user@example.com",
"paymentMethod": "credit",
"currencyCode": "EUR",
"vatRate": "0%",
"parcels": {
"envelopes": [],
"packages": [
{
"parcelId": "A00001",
"orderCode": "703668-25",
"type": "package",
"weight": 2.0,
"length": 15,
"width": 14,
"height": 14,
"content": "books",
"value": 150,
"price": {
"original": {
"currencyCode": "EUR",
"gross": 105.07,
"net": 105.07
},
"converted": null
},
"tracking": null
}
],
"pallets": [],
"vans": [],
"ltls": [],
"ftls": [],
"nonStandard": []
},
"courier": {
"id": 46,
"shortName": "DHL",
"countryCode": "LU",
"email": "florian.kopf@dhl.com",
"phone": "+352 621 142 552"
},
"shipment": {
"pickupAddress": {
"street": "9 Rue du Laboratoire",
"zip": "1911",
"city": "Luxembourg",
"region": null,
"country": "LU"
},
"pickupContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"deliveryAddress": {
"street": "Coburg",
"zip": "3058",
"city": "Melbourn",
"region": null,
"country": "AU"
},
"deliveryContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"pickupDate": "2025-04-22T00:00:00+02:00",
"pickupType": "new_pickup_request",
"addOns": [],
"routeDistance": 0.0
},
"estimatedDeliveryTime": "3-4",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 105.07,
"net": 105.07
},
"converted": null
},
"discount": null,
"coupon": null,
"insurance": null,
"isCallRequired": false,
"isLabelRequired": true,
"labelLink": "",
"labelFormat": "pdf",
"comment": "2nd floor",
"customerInternalReference": null,
"customerBillingReference": null,
"documents": [],
"created": "2025-04-17T13:52:30+02:00"
}
Customs Documentation & Proforma Invoices
For orders involving international shipping—particularly export or import shipments—a proforma invoice is mandatory to comply with customs requirements.
When an order enters the status:
"status": "Awaiting customs documentation"
…it indicates that the order is on hold pending submission of the required customs documents.
To proceed:
Create a Proforma Invoice: Submit the relevant invoice data using the
POST /v1/proforma
endpoint. This step is essential to advance the order beyond the customs hold.Upload PDF Documents: If you have prepared a proforma or commercial invoice in PDF format, you can upload it using the
POST /v1/proforma/upload
endpoint.
⚠️ Important: PDF content must be base64-encoded prior to upload.
Orders will not proceed to dispatch until the required customs documentation has been received and verified.
POST /v1/proforma/upload
- Order Proforma Document Upload
POST /v1/proforma/upload
- Order Proforma Document Upload{
"name": "some_invoice",
"mimetype": "application/pdf",
"content": "Q2ZDhlZTk5OTBjNGFmYzk4ZmVlPgo8MDNiNmIwNzMxYjdiNDZkOGVlOTk5MGM0YWZjOThmZWU+IF0gPj4Kc3RhcnR4cmVmCjgzOTgKJSVFT0Y=......"
}
The response will return a
hashName
, which should be used in the next call to thePOST /v1/proforma
endpoint.
POST /v1/proforma
- Order Proforma Ceation
POST /v1/proforma
- Order Proforma Ceation{
"shipper": {
"contactPerson": "Warehouse Ops",
"companyName": "Globex Logistics Hub",
"phone": "+12025550123",
"email": "warehouse@globexhub.com",
"street": "742 Evergreen Industrial Dr",
"zip": "45678",
"city": "Springfield",
"country": "US",
"vat": "",
"eoriNumber": ""
},
"receiver": {
"contactPerson": "Nora T.",
"companyName": "Budapest Giftworks",
"phone": "+38612345678",
"email": "nora.t@giftworks.hu",
"street": "Kisfaludy utca 15",
"zip": "1094",
"city": "Budapest",
"country": "HU"
},
"invoices": [
{
"hashName": "0e3b438c485f4674444aeb318115bed61744894222.pdf",
"number": "books-white_144962-2091",
"date": "2024-06-14"
}
],
"items": [
{
"description": "branded lanyards",
"country": "HU",
"quantity": 300,
"weight": 18.0,
"value": 30,
"hsCode": "5607290000"
}
],
"orderCode": "605092-25",
"reason": "gift",
"currency": "EUR"
}
Proforma —
200 OK Response
A successful response (200 OK) indicates that the proforma has been generated, your document has been attached, and it is now associated with the corresponding"orderCode"
.
When integrating with the Eurosender API, two key components form the foundation of successful shipping operations:
Parcels
The parcels object defines the physical details of the shipment, including dimensions, weight, and quantity. Precise parcel data is essential for accurate quoting, smooth order creation, and reliable delivery.
Service Type
The serviceType
field determines the shipping solution selected—ranging from standard parcel delivery to express or freight services. This selection directly influences pricing, transit time, and service-level features.
Using these fields correctly ensures optimized shipping performance and alignment with your business needs.
Customs Documentation Workflow: Proforma Invoices
For cross-border shipments requiring customs clearance, additional documentation is mandatory. If an order returns with the status "Awaiting customs documentation"
, the shipment will remain on hold until the required data is submitted.
To proceed:
- Use the
POST /v1/proforma
endpoint to generate the required proforma invoice. - To attach PDF documents (e.g., commercial invoices), use the
POST /v1/proforma/upload
endpoint. All PDFs must be base64-encoded before upload.
This ensures compliance with customs requirements and prevents delays in processing or delivery.
What’s Next
In addition to parcel-based shipments, the following examples will demonstrate how to handle specialized service types that go beyond traditional packages, documents, or pallets—broadening your logistics capabilities through the Eurosender API.
Van
POST /v1/quotes
- Payload Example for the Quotes Endpoint
POST /v1/quotes
- Payload Example for the Quotes Endpoint{
"paymentMethod": "deferred",
"serviceType": "van",
"shipment": {
"pickupAddress": {
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire",
"country": "LU"
},
"deliveryAddress": {
"zip": "60316",
"city": "Frankfurt am Main",
"street": "Bernhard-Grzimek-Allee 1",
"country": "DE"
},
"pickupDate": "2025-02-28"
},
"parcels": {
"vans": [
{
"parcelId": "V00001",
"vanType": "small_van",
"optionalServices": [
"help_loading"
]
}
]
}
}
POST /v1/quotes
- Response Example for the Quotes Endpoint
POST /v1/quotes
- Response Example for the Quotes EndpointResponse Overview: Distance-Based Services & Dynamic Pricing
The API response includes key data related to distance-sensitive pricing and optional services:
options.parcelLevelOptionalServices
Provides pricing details for each available optional service, allowing fine-tuned cost visibility at the parcel level.
order.calculatedDistance
Indicates the calculated distance between the pickup and delivery locations, used to determine pricing.
Note: If the actual driving distance differs from the estimate, the price may be adjusted. In such cases, the customer is notified prior to pickup.
Pickup Date Price Adjustments
Pickup date selection can impact the final service cost. For instance, same-day or weekend pickups may include an additional pickup date fee. The Eurosender API provides detailed visibility into these adjustments, helping you evaluate cost implications without additional quote requests.
Two key fields in the quotes response assist in assessing pickup-related pricing:
options.serviceTypes.pickupDateFees
Displays the additional fee applied to the currently selected pickup date, such as for weekend or expedited same-day collection.
options.serviceTypes.otherPickupDatePrices
Returns the full service price for the next three available pickup dates after the selected one. These prices reflect any applicable pickup date fees but exclude optional services, which are not impacted by the pickup date.
By reviewing these fields, you can optimize cost and scheduling without making repeated quote calls—ensuring transparency and efficiency in your booking process.
⚠️ Important: This fee is not included in
options.serviceTypes.price
but is always reflected inorder.totalPrice
.
{
"options": {
"paymentMethods": [
{
"code": "credit",
"paymentDiscount": null
},
{
"code": "deferred",
"paymentDiscount": null
}
],
"serviceTypes": [
{
"name": "van",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-02-06T00:00:00+01:00",
"isCallRequired": false,
"isLabelRequired": false,
"edt": "1",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 322.5,
"net": 322.5
},
"converted": null
},
"pickupDateFees": null,
"insurances": [
{
"id": 17,
"coverage": 10000.0,
"text": "10 euros per 1kg gross weight",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
}
],
"pickupExcludedDates": [],
"addOns": [],
"courierTermsAndConditionsLink": "",
"courierId": 48,
"pickupTimeFrameSelectionPossible": false
}
],
"parcelLevelOptionalServices": [
{
"code": "help_loading",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 55.0,
"net": 55.0
},
"converted": null
}
},
{
"code": "help_unloading",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 55.0,
"net": 55.0
},
"converted": null
}
},
{
"code": "full_loading_help",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 110.0,
"net": 110.0
},
"converted": null
}
},
{
"code": "full_unloading_help",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 110.0,
"net": 110.0
},
"converted": null
}
},
{
"code": "tail_lift",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 141.0,
"net": 141.0
},
"converted": null
}
}
],
"generalTermsAndConditionsLink": "https://eurose..."
},
"order": {
"totalPrice": {
"original": {
"currencyCode": "EUR",
"gross": 377.5,
"net": 377.5
},
"converted": null
},
"insuranceId": 17,
"parcels": [
{
"parcelId": "V00001"
}
],
"paymentDiscount": null,
"addOns": [],
"serviceType": "van",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-02-06T00:00:00+01:00",
"estimatedDeliveryTime": "1",
"courierId": 48,
"courierTag": null,
"calculatedDistance": 232.0
},
"warnings": []
}
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"shipment": {
"pickupContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"deliveryContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"pickupAddress": {
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire",
"country": "LU"
},
"deliveryAddress": {
"zip": "60316",
"city": "Frankfurt am Main",
"street": "Bernhard-Grzimek-Allee 1",
"country": "DE"
},
"pickupDate": "2025-02-28"
},
"parcels": {
"vans": [
{
"parcelId": "V00001",
"vanType": "small_van",
"optionalServices": [
"help_loading"
]
}
]
},
"serviceType": "van",
"paymentMethod": "deferred",
"currencyCode": "EUR",
"orderContact": {
"email": "user@example.com"
}
}
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"orderCode": "953174-25",
"status": "Deferred Payment",
"serviceType": "van",
"language": "en",
"email": "user@example.com",
"paymentMethod": "deferred",
"currencyCode": "EUR",
"vatRate": "0%",
"parcels": {
"envelopes": [],
"packages": [],
"pallets": [],
"vans": [
{
"parcelId": "V00001",
"orderCode": "953174-25",
"vanType": "small_van",
"optionalServices": [
{
"code": "help_loading",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 55.0,
"net": 55.0
},
"converted": null
}
}
],
"price": {
"original": {
"currencyCode": "EUR",
"gross": 265.0,
"net": 265.0
},
"converted": null
}
}
],
"ltls": [],
"ftls": [],
"nonStandard": []
},
"courier": {
"id": 9,
"shortName": "Eurosender",
"countryCode": null,
"email": null,
"phone": null
},
"shipment": {
"pickupAddress": {
"street": "9 Rue du Laboratoire",
"zip": "1911",
"city": "Luxembourg",
"region": null,
"country": "LU"
},
"pickupContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"deliveryAddress": {
"street": "Bernhard-Grzimek-Allee 1",
"zip": "60316",
"city": "Frankfurt am Main",
"region": null,
"country": "DE"
},
"deliveryContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"pickupDate": "2025-04-28T00:00:00+02:00",
"pickupType": "new_pickup_request",
"addOns": [
{
"code": "late_ordering_pickup_fee",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 100.0,
"net": 100.0
},
"converted": null
}
}
],
"routeDistance": 232.0
},
"estimatedDeliveryTime": "1",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 420.0,
"net": 420.0
},
"converted": null
},
"discount": null,
"coupon": null,
"insurance": null,
"isCallRequired": false,
"isLabelRequired": false,
"labelLink": "",
"labelFormat": "pdf",
"comment": "",
"customerInternalReference": null,
"customerBillingReference": null,
"documents": [],
"created": "2025-04-26T23:39:34+02:00"
}
Trucks
Supported Transport Modes: FTL & LTL The Eurosender API supports two freight transport solutions, each tailored to different shipment sizes and logistics requirements:
- LTL (Less Than Truckload) – Ideal for smaller freight loads that share space within a truck.
- FTL (Full Truckload) – Reserved for high-volume shipments that require exclusive truck capacity.
⚠️ Important: FTL and LTL services cannot be combined in a single order.
LTL Configuration Guidelines When using LTL, define your shipment using the ltls
parcel type. The API requires you to specify either:
euroPalletQuantity
– Number of standard Euro pallets being shipped orloadingMeters
– The length of truck space occupied, in meters
⚠️ Important: Do not include both fields in the same request.
By clearly distinguishing between FTL and LTL orders and accurately defining load specifications, you ensure a seamless booking and fulfillment process.
POST /v1/quotes
- Payload Example for the Quotes Endpoint
POST /v1/quotes
- Payload Example for the Quotes Endpoint{
"paymentMethod": "deferred",
"serviceType": "ftl",
"shipment": {
"pickupAddress": {
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire",
"country": "LU"
},
"deliveryAddress": {
"zip": "60316",
"city": "Frankfurt am Main",
"street": "Bernhard-Grzimek-Allee 1",
"country": "DE"
},
"pickupDate": "2025-02-12"
},
"parcels": {
"ltls": [
{
"parcelId": "T00001",
"euroPalletQuantity": 12,
"weight": 3600,
"notes": "12x 120x80x220cm, 300kg/pallet, total weight: 3.600kg, not-stackable, boxes with a spare parts packed on pallets"
}
]
}
}
POST /v1/quotes
- Response Example for the Quotes Endpoint
POST /v1/quotes
- Response Example for the Quotes Endpoint{
"options": {
"serviceTypes": [
{
"name": "ftl",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-02-12T00:00:00+01:00",
"isCallRequired": false,
"isLabelRequired": false,
"edt": "2-5",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 550.0,
"net": 550.0
},
"converted": null
},
"pickupDateFees": [
{
"code": "early_pickup_fee",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 200.0,
"net": 200.0
},
"converted": null
}
}
],
"insurances": [
{
"id": 17,
"coverage": 25000.0,
"text": "10 euros per 1kg gross weight",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 0.0,
"net": 0.0
},
"converted": null
}
}
],
"pickupExcludedDates": [
"2025-02-11T00:00:00+01:00"
],
"addOns": [],
"courierTermsAndConditionsLink": "",
"courierId": 49,
"pickupTimeFrameSelectionPossible": false
}
],
"parcelLevelOptionalServices": [],
"generalTermsAndConditionsLink": "https://eurosen...",
"paymentMethods": [
{
"code": "credit",
"paymentDiscount": null
},
{
"code": "deferred",
"paymentDiscount": null
}
]
},
"order": {
"totalPrice": {
"original": {
"currencyCode": "EUR",
"gross": 750.0,
"net": 750.0
},
"converted": null
},
"insuranceId": 17,
"parcels": [
{
"parcelId": "T00001"
}
],
"paymentDiscount": null,
"addOns": [],
"serviceType": "ftl",
"serviceSubtype": "door_to_door",
"minPickupDate": "2025-02-12T00:00:00+01:00",
"estimatedDeliveryTime": "2-5",
"courierId": 49,
"courierTag": null,
"calculatedDistance": 232.0
},
"warnings": []
}
Mixed or Non-Standard Pallet Sizes
If your cargo is loaded onto pallets that do not conform to standard dimensions, or if pallet sizes vary within the shipment, you can use loadingMeters
as an alternative to specifying pallet quantities.
📦 Note: When pallet sizes differ or do not meet the Euro pallet standard, set the parcel type to
ltls
and provide theloadingMeters
value. This ensures accurate pricing and capacity planning.
This approach allows for more flexibility when defining less-than-truckload (LTL) shipments with non-uniform cargo.
{
"parcels": {
"ltls": [
{
"parcelId": "T00001",
"loadingMeters": 6.0,
"weight": 3600,
"notes": "12x 100x120x220cm, 300kg/pallet, total weight: 3.600kg, not-stackable, boxes with a spare parts packed on pallets"
}
]
}
}
When a dedicated truck is required, the parcelType
in your request payload must be set to ftls
. This indicates a Full Truckload shipment, where the entire vehicle is reserved exclusively for your cargo.
{
"parcels": {
"ftls": [
{
"parcelId": "V00001"
},
{
"parcelId": "V00002"
},
{
"parcelId": "V00003"
}
]
}
}
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"paymentMethod": "deferred",
"serviceType": "ftl",
"shipment": {
"pickupContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"deliveryContact": {
"name": "Eurosender SARL",
"email": "name@example.com",
"phone": "+442031292884"
},
"pickupAddress": {
"zip": "1911",
"city": "Luxembourg",
"street": "9 Rue du Laboratoire",
"country": "LU"
},
"deliveryAddress": {
"zip": "60316",
"city": "Frankfurt am Main",
"street": "Bernhard-Grzimek-Allee 1",
"country": "DE"
},
"pickupDate": "2025-02-12"
},
"parcels": {
"ltls": [
{
"parcelId": "V00001",
"euroPalletQuantity": 12,
"weight": 3600,
"notes": "12x 120x80x220cm, 300kg/pallet, total weight: 3.600kg, not-stackable, boxes with a spare parts packed on pallets"
}
]
},
"orderContact": {
"email": "name@example.com"
}
}
POST /v1/orders
- Payload Example for the Create Shipment Endpoint
POST /v1/orders
- Payload Example for the Create Shipment Endpoint{
"orderCode": "237548-25",
"status": "Deferred Payment",
"serviceType": "ftl",
"language": "en",
"email": "name@example.com",
"paymentMethod": "deferred",
"currencyCode": "EUR",
"vatRate": "0%",
"parcels": {
"envelopes": [],
"packages": [],
"pallets": [],
"vans": [],
"ltls": [
{
"parcelId": "V00001",
"orderCode": "237548-25",
"euroPalletQuantity": 12,
"loadingMeters": null,
"weight": 3600.0,
"price": {
"original": {
"currencyCode": "EUR",
"gross": 550.0,
"net": 550.0
},
"converted": null
}
}
],
"ftls": [],
"nonStandard": []
},
"courier": {
"id": 49,
"shortName": "Eurosender",
"countryCode": "",
"email": "",
"phone": ""
},
"shipment": {
"pickupAddress": {
"street": "9 Rue du Laboratoire",
"zip": "1911",
"city": "Luxembourg",
"region": null,
"country": "LU"
},
"pickupContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"deliveryAddress": {
"street": "Bernhard-Grzimek-Allee 1",
"zip": "60316",
"city": "Frankfurt am Main",
"region": null,
"country": "DE"
},
"deliveryContact": {
"name": "Eurosender SARL",
"phone": "+442031292884"
},
"pickupDate": "2025-02-12T00:00:00+01:00",
"addOns": [
{
"code": "early_pickup_fee",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 200.0,
"net": 200.0
},
"converted": null
}
}
],
"pickupType": "new_pickup_request",
"routeDistance": 232.0
},
"estimatedDeliveryTime": "2-5",
"price": {
"original": {
"currencyCode": "EUR",
"gross": 750.0,
"net": 750.0
},
"converted": null
},
"discount": null,
"coupon": null,
"insurance": null,
"isCallRequired": false,
"isLabelRequired": false,
"labelLink": "",
"labelFormat": "pdf",
"comment": "",
"customerInternalReference": null,
"customerBillingReference": null,
"documents": [],
"created": "2025-02-11T12:50:50+01:00"
}
Value-Added Services and Truck Configuration
The Eurosender API gives you the tools to adjust shipments based on what your business really needs.
For LTL (Less Than Truckload), you can specify how much space your cargo takes—either by the number of euro pallets or by loading meters. For FTL (Full Truckload), just let us know how many trucks you need.
This flexibility helps you plan better, keep things running smoothly, and handle everything from small loads to full-scale deliveries without hassle.