DSV

DSV Booking API (Air, Sea, Road EU, Rail)

Submits and updates shipment bookings to DSV across air, sea, European road and rail. Carries GS1 SSCC package tracking numbers (explicitly referenced to gs1.org/standards/id-keys/sscc), EORI numbers, HS/harmonised commodity codes, DSV MDM customer numbers and Incoterms. Returns a DSV bookingId that every other Generic API keys on.

OpenAPI Specification

dsv-generic-booking-demo-v2-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "BOOKING (DEMO) - Air, Sea, Road (EU), Rail",
    "description": "Submit bookings to DSV via the Booking API. Supported transport modes: Air, Sea, Road (EU) and Rail.",
    "version": "v2"
  },
  "servers": [
    {
      "url": "https://api.dsv.com/my-demo/booking/v2"
    }
  ],
  "paths": {
    "/bookings": {
      "post": {
        "tags": [
          "Booking"
        ],
        "summary": "1. Submit booking",
        "description": "Submit a real transport booking to DSV to move a package from A to B.",
        "operationId": "placeBooking",
        "parameters": [
          {
            "name": "labelType",
            "in": "query",
            "description": "These are the supported label types\n- pdf\n- zpl\n\nIf a \"labelType\" is not added to the request the label response will default to \"pdf\"",
            "schema": {
              "enum": [
                "pdf",
                "zpl"
              ],
              "type": "string",
              "default": "pdf"
            }
          },
          {
            "name": "printFormat",
            "in": "query",
            "description": "These are the supported print formats\n- Landscape\n- Portrait\n\nIf a \"printFormat\" is not added to the request the label response will default to \"Landscape\"",
            "schema": {
              "enum": [
                "Landscape",
                "Portrait"
              ],
              "type": "string",
              "default": "Landscape"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DSV-Subscription-Key",
            "in": "header",
            "description": "DSV Subscription Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/Road-json": {
              "schema": {
                "$ref": "#/components/schemas/Order"
              },
              "example": {
                "autobook": true,
                "labelRequest": false,
                "product": {
                  "name": "Road"
                },
                "services": {
                  "insurance": {
                    "amount": {
                      "value": 100,
                      "currency": "DKK"
                    },
                    "category": "STD"
                  }
                },
                "incoterms": {
                  "code": "EXW",
                  "location": "TestCityPickup1"
                },
                "pickupTime": {
                  "date": "2025-03-15"
                },
                "deliveryTime": {
                  "date": "2025-03-19"
                },
                "pickupInstructions": [
                  "Test Pickup instruction"
                ],
                "deliveryInstructions": [
                  "Test Delivery instruction"
                ],
                "parties": {
                  "sender": {
                    "address": {
                      "companyName": "Test-Sender1",
                      "addressId": "Test1",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test Name",
                      "email": "testemail@testemail.com",
                      "telephone": "+4512345678"
                    }
                  },
                  "receiver": {
                    "address": {
                      "companyName": "Test-Receiver1",
                      "addressId": "Test2",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity2",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "000000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test name 1",
                      "email": "testemail1@emailtest.com",
                      "telephone": "+11234567890"
                    }
                  },
                  "delivery": {
                    "address": {
                      "companyName": "Test-Delivery1",
                      "addressId": "TestDelivery1",
                      "addressLine1": "Test address delivery 1",
                      "addressLine2": "Test address delivery 1.2",
                      "addressLine3": null,
                      "city": "TestCityDelivery1",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "00000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail3@emailtest.com",
                      "telephone": "+112345678901"
                    }
                  },
                  "pickup": {
                    "address": {
                      "companyName": "Test-Pickup1",
                      "addressId": "TestPickup1",
                      "addressLine1": "Test address pickup 1",
                      "addressLine2": "Test address pickup 1.2",
                      "addressLine3": null,
                      "city": "TestCityPickup1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail2@emailtest.com",
                      "telephone": "+451234567890"
                    }
                  },
                  "freightPayer": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  },
                  "bookingParty": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  }
                },
                "packages": [
                  {
                    "quantity": 1,
                    "packageType": "BAG",
                    "totalWeight": 1500,
                    "netWeight": 1000,
                    "length": 60,
                    "height": 80,
                    "width": 70,
                    "stackable": "STACKABLE",
                    "totalVolume": 0.336,
                    "palletSpace": null,
                    "loadingMeters": 2,
                    "description": "Test goods 1",
                    "shippingMarks": "Test shipping marks 1"
                  },
                  {
                    "quantity": 2,
                    "packageType": "BAG",
                    "totalWeight": 1200,
                    "netWeight": 800,
                    "length": 30,
                    "height": 50,
                    "width": 40,
                    "stackable": "NO",
                    "totalVolume": 0.12,
                    "palletSpace": null,
                    "loadingMeters": 1,
                    "description": "Test goods 2",
                    "shippingMarks": "Test shipping marks 2"
                  }
                ],
                "references": [
                  {
                    "value": "TestReference1",
                    "type": "INVOICING_REFERENCE"
                  },
                  {
                    "value": "TestReference2",
                    "type": "ORDER_NUMBER"
                  },
                  {
                    "value": "TestReference3",
                    "type": "CONSIGNEE_REFERENCE"
                  },
                  {
                    "value": "TestReference4",
                    "type": "SHIPPER_REFERENCE"
                  },
                  {
                    "value": "TestReference5",
                    "type": "OTHER"
                  }
                ],
                "units": {
                  "dimension": "CM",
                  "weight": "KG",
                  "volume": "M3",
                  "loadingSpace": "LM",
                  "temperature": "C"
                }
              }
            },
            "application/Air-json": {
              "schema": {
                "$ref": "#/components/schemas/Order"
              },
              "example": {
                "autobook": true,
                "labelRequest": false,
                "product": {
                  "name": "Air",
                  "dropOff": false
                },
                "services": {
                  "insurance": {
                    "amount": {
                      "value": 1500,
                      "currency": "USD"
                    },
                    "category": "STD"
                  },
                  "airportSelection": {
                    "airportOfDeparture": {
                      "code": "USJFK",
                      "name": "John F. Kennedy Apt/New York"
                    },
                    "airportOfDestination": {
                      "code": "GBLHR",
                      "name": "Heathrow Apt/London"
                    }
                  }
                },
                "incoterms": {
                  "code": "EXW",
                  "location": "TestCityPickup1"
                },
                "pickupTime": {
                  "date": "2025-03-15"
                },
                "deliveryTime": {
                  "date": "2025-03-19"
                },
                "pickupInstructions": [
                  "Test Pickup instruction"
                ],
                "deliveryInstructions": [
                  "Test Delivery instruction"
                ],
                "parties": {
                  "sender": {
                    "address": {
                      "companyName": "Test-Sender1",
                      "addressId": "Test1",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test Name",
                      "email": "testemail@testemail.com",
                      "telephone": "+4512345678"
                    }
                  },
                  "receiver": {
                    "address": {
                      "companyName": "Test-Receiver1",
                      "addressId": "Test2",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity2",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "000000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test name 1",
                      "email": "testemail1@emailtest.com",
                      "telephone": "+11234567890"
                    }
                  },
                  "delivery": {
                    "address": {
                      "companyName": "Test-Delivery1",
                      "addressId": "TestDelivery1",
                      "addressLine1": "Test address delivery 1",
                      "addressLine2": "Test address delivery 1.2",
                      "addressLine3": null,
                      "city": "TestCityDelivery1",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "00000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail3@emailtest.com",
                      "telephone": "+112345678901"
                    }
                  },
                  "pickup": {
                    "address": {
                      "companyName": "Test-Pickup1",
                      "addressId": "TestPickup1",
                      "addressLine1": "Test address pickup 1",
                      "addressLine2": "Test address pickup 1.2",
                      "addressLine3": null,
                      "city": "TestCityPickup1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail2@emailtest.com",
                      "telephone": "+451234567890"
                    }
                  },
                  "freightPayer": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  },
                  "bookingParty": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  }
                },
                "packages": [
                  {
                    "quantity": 1,
                    "packageType": "BAG",
                    "totalWeight": 1500,
                    "netWeight": 1000,
                    "length": 60,
                    "height": 80,
                    "width": 70,
                    "stackable": "STACKABLE",
                    "totalVolume": 0.336,
                    "palletSpace": null,
                    "loadingMeters": 2,
                    "description": "Test goods 1",
                    "shippingMarks": "Test shipping marks 1"
                  },
                  {
                    "quantity": 2,
                    "packageType": "BAG",
                    "totalWeight": 1200,
                    "netWeight": 800,
                    "length": 30,
                    "height": 50,
                    "width": 40,
                    "stackable": "NO",
                    "totalVolume": 0.12,
                    "palletSpace": null,
                    "loadingMeters": 1,
                    "description": "Test goods 2",
                    "shippingMarks": "Test shipping marks 2"
                  }
                ],
                "references": [
                  {
                    "value": "TestReference1",
                    "type": "INVOICING_REFERENCE"
                  },
                  {
                    "value": "TestReference2",
                    "type": "ORDER_NUMBER"
                  },
                  {
                    "value": "TestReference3",
                    "type": "CONSIGNEE_REFERENCE"
                  },
                  {
                    "value": "TestReference4",
                    "type": "SHIPPER_REFERENCE"
                  },
                  {
                    "value": "TestReference5",
                    "type": "OTHER"
                  }
                ],
                "units": {
                  "dimension": "CM",
                  "weight": "KG",
                  "volume": "M3",
                  "loadingSpace": "LM",
                  "temperature": "C"
                }
              }
            },
            "application/Sea-json": {
              "schema": {
                "$ref": "#/components/schemas/Order"
              },
              "example": {
                "autobook": true,
                "labelRequest": false,
                "product": {
                  "name": "Sea",
                  "billOfLading": "Original",
                  "containerMode": "FCL",
                  "containers": [
                    {
                      "ref": "A484755",
                      "type": "45HC",
                      "genset": null,
                      "temp": null
                    }
                  ],
                  "dropOff": false
                },
                "services": {
                  "insurance": {
                    "amount": {
                      "value": 500,
                      "currency": "DKK"
                    },
                    "category": "STD"
                  }
                },
                "incoterms": {
                  "code": "CFR",
                  "location": "TestLocation"
                },
                "pickupTime": {
                  "date": "2025-03-15"
                },
                "deliveryTime": {
                  "date": "2025-03-19"
                },
                "pickupInstructions": [
                  "Test Pickup instruction"
                ],
                "deliveryInstructions": [
                  "Test Delivery instruction"
                ],
                "parties": {
                  "sender": {
                    "address": {
                      "companyName": "Test-Sender1",
                      "addressId": "Test1",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test Name",
                      "email": "testemail@testemail.com",
                      "telephone": "+4512345678"
                    }
                  },
                  "receiver": {
                    "address": {
                      "companyName": "Test-Receiver1",
                      "addressId": "Test2",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity2",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "000000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test name 1",
                      "email": "testemail1@emailtest.com",
                      "telephone": "+11234567890"
                    }
                  },
                  "delivery": {
                    "address": {
                      "companyName": "Test-Delivery1",
                      "addressId": "TestDelivery1",
                      "addressLine1": "Test address delivery 1",
                      "addressLine2": "Test address delivery 1.2",
                      "addressLine3": null,
                      "city": "TestCityDelivery1",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "00000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail3@emailtest.com",
                      "telephone": "+112345678901"
                    }
                  },
                  "pickup": {
                    "address": {
                      "companyName": "Test-Pickup1",
                      "addressId": "TestPickup1",
                      "addressLine1": "Test address pickup 1",
                      "addressLine2": "Test address pickup 1.2",
                      "addressLine3": null,
                      "city": "TestCityPickup1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail2@emailtest.com",
                      "telephone": "+451234567890"
                    }
                  },
                  "freightPayer": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  },
                  "bookingParty": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  }
                },
                "packages": [
                  {
                    "quantity": 5,
                    "packageType": "CON",
                    "totalWeight": 5000,
                    "netWeight": null,
                    "length": 1500,
                    "height": 100,
                    "width": 10,
                    "stackable": "NO",
                    "totalVolume": 7.5,
                    "palletSpace": null,
                    "loadingMeters": 2,
                    "description": "Test goods 1",
                    "shippingMarks": "Test shipping marks 1"
                  }
                ],
                "references": [
                  {
                    "value": "TestReference1",
                    "type": "INVOICING_REFERENCE"
                  },
                  {
                    "value": "TestReference2",
                    "type": "ORDER_NUMBER"
                  },
                  {
                    "value": "TestReference3",
                    "type": "CONSIGNEE_REFERENCE"
                  },
                  {
                    "value": "TestReference4",
                    "type": "SHIPPER_REFERENCE"
                  },
                  {
                    "value": "TestReference5",
                    "type": "OTHER"
                  }
                ],
                "units": {
                  "dimension": "CM",
                  "weight": "KG",
                  "volume": "M3",
                  "loadingSpace": "LM",
                  "temperature": "C"
                }
              }
            },
            "application/Rail-json": {
              "schema": {
                "$ref": "#/components/schemas/Order"
              },
              "example": {
                "autobook": true,
                "labelRequest": false,
                "product": {
                  "name": "Rail",
                  "containerMode": "LCL",
                  "dropOff": false
                },
                "services": {
                  "insurance": {
                    "amount": {
                      "value": 100,
                      "currency": "DKK"
                    },
                    "category": "STD"
                  }
                },
                "incoterms": {
                  "code": "EXW",
                  "location": "TestCityPickup1"
                },
                "pickupTime": {
                  "date": "2025-03-15"
                },
                "deliveryTime": {
                  "date": "2025-03-19"
                },
                "pickupInstructions": [
                  "Test Pickup instruction"
                ],
                "deliveryInstructions": [
                  "Test Delivery instruction"
                ],
                "parties": {
                  "sender": {
                    "address": {
                      "companyName": "Test-Sender1",
                      "addressId": "Test1",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test Name",
                      "email": "testemail@testemail.com",
                      "telephone": "+4512345678"
                    }
                  },
                  "receiver": {
                    "address": {
                      "companyName": "Test-Receiver1",
                      "addressId": "Test2",
                      "addressLine1": "Test address 1",
                      "addressLine2": "Test address 1.2",
                      "addressLine3": null,
                      "city": "TestCity2",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "000000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "Test name 1",
                      "email": "testemail1@emailtest.com",
                      "telephone": "+11234567890"
                    }
                  },
                  "delivery": {
                    "address": {
                      "companyName": "Test-Delivery1",
                      "addressId": "TestDelivery1",
                      "addressLine1": "Test address delivery 1",
                      "addressLine2": "Test address delivery 1.2",
                      "addressLine3": null,
                      "city": "TestCityDelivery1",
                      "countryCode": "US",
                      "state": "NY",
                      "zipCode": "00000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail3@emailtest.com",
                      "telephone": "+112345678901"
                    }
                  },
                  "pickup": {
                    "address": {
                      "companyName": "Test-Pickup1",
                      "addressId": "TestPickup1",
                      "addressLine1": "Test address pickup 1",
                      "addressLine2": "Test address pickup 1.2",
                      "addressLine3": null,
                      "city": "TestCityPickup1",
                      "countryCode": "DK",
                      "state": null,
                      "zipCode": "0000",
                      "instructions": null,
                      "mdm": null
                    },
                    "contact": {
                      "name": "TestName",
                      "email": "testemail2@emailtest.com",
                      "telephone": "+451234567890"
                    }
                  },
                  "freightPayer": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  },
                  "bookingParty": {
                    "address": {
                      "mdm": "**Add your Demo MDM**"
                    }
                  }
                },
                "packages": [
                  {
                    "quantity": 1,
                    "packageType": "BAG",
                    "totalWeight": 1500,
                    "netWeight": 1000,
                    "length": 60,
                    "height": 80,
                    "width": 70,
                    "stackable": "STACKABLE",
                    "totalVolume": 0.336,
                    "palletSpace": null,
                    "loadingMeters": 2,
                    "description": "Test goods 1",
                    "shippingMarks": "Test shipping marks 1"
                  },
                  {
                    "quantity": 2,
                    "packageType": "BAG",
                    "totalWeight": 1200,
                    "netWeight": 800,
                    "length": 30,
                    "height": 50,
                    "width": 40,
                    "stackable": "NO",
                    "totalVolume": 0.12,
                    "palletSpace": null,
                    "loadingMeters": 1,
                    "description": "Test goods 2",
                    "shippingMarks": "Test shipping marks 2"
                  }
                ],
                "references": [
                  {
                    "value": "TestReference1",
                    "type": "INVOICING_REFERENCE"
                  },
                  {
                    "value": "TestReference2",
                    "type": "ORDER_NUMBER"
                  },
                  {
                    "value": "TestReference3",
                    "type": "CONSIGNEE_REFERENCE"
                  },
                  {
                    "value": "TestReference4",
                    "type": "SHIPPER_REFERENCE"
                  },
                  {
                    "value": "TestReference5",
                    "type": "OTHER"
                  }
                ],
                "units": {
                  "dimension": "CM",
                  "weight": "KG",
                  "volume": "M3",
                  "loadingSpace": "LM",
                  "temperature": "C"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Booking submitted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceBookingResponse"
                },
                "example": {
                  "bookingId": "40257145990010780000"
                }
              }
            }
          },
          "400": {
            "description": "Request contains not valid data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "ERR12345",
                  "message": "Not found booking: 40257145990010785188",
                  "fields": [
                    {
                      "name": "field_name",
                      "message": "validation error",
                      "code": "ERR12345"
                    }
                  ],
                  "development": {
                    "message": "string",
                    "exception": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Not authorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "ERR12345",
                  "message": "Not found booking: 40257145990010785188",
                  "fields": [
                    {
                      "name": "field_name",
                      "message": "validation error",
                      "code": "ERR12345"
                    }
                  ],
                  "development": {
                    "message": "string",
                    "exception": "string"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Lack of privileges to use this method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "ERR12345",
                  "message": "Not found booking: 40257145990010785188",
                  "fie

# --- truncated at 32 KB (204 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dsv/refs/heads/main/openapi/dsv-generic-booking-demo-v2-openapi.json