Every API here is available over the APIs.io API and to AI agents over MCP.
{
"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