DSV

DSV Label Print API

Prints package labels as PDF for bookings submitted through the DSV Booking API or myDSV, addressed by bookingId and GS1 SSCC package number.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dsv-label-print-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dsv-generic-labels-demo-v1-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "Labels (DEMO) - Air, Sea, Road(EU), Rail",
    "description": "Prints package labels (PDF) for bookings submitted via the Booking API or myDSV.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.dsv.com/my-demo/printing/v1"
    }
  ],
  "paths": {
    "/labels/{bookingId}": {
      "get": {
        "tags": [
          "Label"
        ],
        "summary": "Download PDF label(s) via Booking ID",
        "description": "Download PDF package labels via API for bookings submitted via the Booking API or online via DSV\u2019s myDSV customer portal.<BR>\n<BR>\nDEMO ACCOUNT<BR>\nAuthorization: client_id: api.demo@demo.dsv.com, client_secret: Demo12345<BR>\nSample Booking IDs: 40257145990010760574, 40257145990010760581 ",
        "operationId": "printLabelUsingGET",
        "parameters": [
          {
            "name": "bookingId",
            "in": "path",
            "description": "Booking identifier (GSIN)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "printFormat",
            "in": "query",
            "description": "These are the supported print formats\n- Landscape1Label\n- Landscape2Labels\n- Portrait1Label\n\nIf a \"printFormat\" is not added to the request the label response will default to \"Landscape1Label\"",
            "schema": {
              "enum": [
                "Landscape1Label",
                "Landscape2Labels",
                "Portrait1Label"
              ],
              "type": "string",
              "default": "Landscape1Label"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "DSV Oauth header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "PDF File",
            "content": {
              "application/pdf+json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsBookingIdGet200ApplicationPdf-jsonResponse"
                },
                "example": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/pdf+json": {}
            }
          },
          "403": {
            "description": "User has no access to the booking",
            "content": {
              "application/pdf+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "ERR12345",
                  "development": {
                    "exception": "string",
                    "message": "string"
                  },
                  "fields": [
                    {
                      "code": "ERR12345",
                      "message": "validation error",
                      "name": "field_name"
                    }
                  ],
                  "message": "Not found booking: 40257145990010785188"
                }
              }
            }
          },
          "404": {
            "description": "Booking was not found",
            "content": {
              "application/pdf+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "ERR12345",
                  "development": {
                    "exception": "string",
                    "message": "string"
                  },
                  "fields": [
                    {
                      "code": "ERR12345",
                      "message": "validation error",
                      "name": "field_name"
                    }
                  ],
                  "message": "Not found booking: 40257145990010785188"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/pdf+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "ERR12345",
                  "development": {
                    "exception": "string",
                    "message": "string"
                  },
                  "fields": [
                    {
                      "code": "ERR12345",
                      "message": "validation error",
                      "name": "field_name"
                    }
                  ],
                  "message": "Not found booking: 40257145990010785188"
                }
              }
            }
          }
        }
      }
    },
    "/labels/reference/{reference}/zpl": {
      "get": {
        "tags": [
          "Label"
        ],
        "summary": "Download ZPL label(s) via Booking's reference",
        "description": "Download ZPL package labels via API using booking's reference",
        "operationId": "printZPLLabelUsingGET",
        "parameters": [
          {
            "name": "reference",
            "in": "path",
            "description": "Customer booking reference.\nReference must be unique (assigned to single shipment)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoom",
            "in": "query",
            "description": "Scaling of the label",
            "schema": {
              "type": "number",
              "default": 1
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "DSV Oauth header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ZPL File"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "User has no access to the booking"
          },
          "404": {
            "description": "Booking was not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/labels/tmsId/{tmsId}": {
      "get": {
        "tags": [
          "Label"
        ],
        "summary": "Download PDF label(s) via Shipment ID",
        "description": "Download PDF package labels via API using DSV Shipment ID",
        "operationId": "printLabelUsingtmsId",
        "parameters": [
          {
            "name": "tmsId",
            "in": "path",
            "description": "Booking identifier (GSIN)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "printFormat",
            "in": "query",
            "description": "These are the supported print formats\n- Landscape1Label\n- Landscape2Labels\n- Portrait1Label\n\nIf a \"printFormat\" is not added to the request the label response will default to \"Landscape1Label\"",
            "schema": {
              "enum": [
                "Landscape1Label",
                "Landscape2Labels",
                "Portrait1Label"
              ],
              "type": "string",
              "default": "Landscape1Label"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "DSV Oauth header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "PDF File",
            "content": {
              "application/pdf+json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsBookingIdGet200ApplicationPdf-jsonResponse"
                },
                "example": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/pdf+json": {}
            }
          },
          "403": {
            "description": "User has no access to the booking",
            "content": {
              "application/pdf+json": {}
            }
          },
          "404": {
            "description": "Booking was not found",
            "content": {
              "application/pdf+json": {}
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/pdf+json": {}
            }
          }
        }
      }
    },
    "/labels/reference/{reference}": {
      "get": {
        "tags": [
          "Label"
        ],
        "summary": "Download PDF label(s) via Booking's reference",
        "description": "Download PDF package labels via API using booking's reference",
        "operationId": "printLabelUsingreference",
        "parameters": [
          {
            "name": "reference",
            "in": "path",
            "description": "Booking identifier (GSIN)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "printFormat",
            "in": "query",
            "description": "These are the supported print formats\n- Landscape1Label\n- Landscape2Labels\n- Portrait1Label\n\nIf a \"printFormat\" is not added to the request the label response will default to \"Landscape1Label\"",
            "schema": {
              "enum": [
                "Landscape1Label",
                "Landscape2Labels",
                "Portrait1Label"
              ],
              "type": "string",
              "default": "Landscape1Label"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "DSV Oauth header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "PDF File",
            "content": {
              "application/pdf+json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsBookingIdGet200ApplicationPdf-jsonResponse"
                },
                "example": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/pdf+json": {}
            }
          },
          "403": {
            "description": "User has no access to the booking",
            "content": {
              "application/pdf+json": {}
            }
          },
          "404": {
            "description": "Booking was not found",
            "content": {
              "application/pdf+json": {}
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/pdf+json": {}
            }
          }
        }
      }
    },
    "/labels/{bookingId}/zpl": {
      "get": {
        "tags": [
          "Label"
        ],
        "summary": "Download ZPL label(s) via Booking ID",
        "description": "Download ZPL package labels via API for bookings submitted via the Booking API or online via DSV\u2019s myDSV customer portal.<BR>\n<BR>\nDEMO ACCOUNT<BR>\nAuthorization: client_id: api.demo@demo.dsv.com, client_secret: Demo12345<BR>\nSample Booking IDs: 40257145990010760574, 40257145990010760581 ",
        "operationId": "printZPLLabelByBookingId",
        "parameters": [
          {
            "name": "bookingId",
            "in": "path",
            "description": "Booking identifier (GSIN)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoom",
            "in": "query",
            "description": "Use the \"zoom\" to get the label(s) sized to your printer needs. If \"zoom\" is not added to the request, the label response will provide 10x15 cm label(s) in 203dpi.<br>To receive the 10x15 cm label(s) in other commonly used densities, use these \"zoom\" values:\n- 152dpi - zoom=0.85\n- 203dpi - zoom=1.00\n- 300dpi - zoom=1.20\n- 600dpi - zoom=1.70",
            "schema": {
              "type": "number",
              "default": 1
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "DSV Oauth header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ZPL File"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "User has no access to the booking"
          },
          "404": {
            "description": "Booking was not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/labels/tmsId/{tmsId}/zpl": {
      "get": {
        "tags": [
          "Label"
        ],
        "summary": "Download ZPL label(s) via Shipment ID",
        "description": "Download ZPL package labels via API using DSV Shipment ID",
        "operationId": "printZPLLabelBytmsId",
        "parameters": [
          {
            "name": "tmsId",
            "in": "path",
            "description": "DSV Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zoom",
            "in": "query",
            "description": "Scaling of the label",
            "schema": {
              "type": "number",
              "default": 1
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "DSV Oauth header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ZPL File"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "User has no access to the booking"
          },
          "404": {
            "description": "Booking was not found"
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/labels/documents/{bookingId}": {
      "get": {
        "tags": [
          "Label"
        ],
        "summary": "Download booking documents",
        "description": "Download documents for bookings submitted via the Booking API or online via DSV\u2019s myDSV customer portal.",
        "operationId": "printDocumentsByBookingId",
        "parameters": [
          {
            "name": "bookingId",
            "in": "path",
            "description": "DSV Booking id - Identifier of the Booking",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 4.02570846300034e+19
          },
          {
            "name": "documentType",
            "in": "query",
            "description": "One of the supported document types:\n- DeliveryNote\n- PickupNote\n- ReceiptList\n- CMR",
            "required": true,
            "schema": {
              "enum": [
                "DeliveryNote",
                "PickupNote",
                "CMR",
                "ReceiptList"
              ],
              "type": "string"
            },
            "example": "DeliveryNote"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "DSV Oauth header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "403": {
            "description": "User has no access to the booking",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "E97",
                  "message": "User has no access to the booking: 40257084630003353337"
                }
              }
            }
          },
          "200": {
            "description": "PDF File",
            "headers": {
              "Content-Disposition": {
                "description": "Contains name of PDF File",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                },
                "example": "string"
              }
            }
          },
          "404": {
            "description": "Booking was not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": "{ code: \"E98\", message: \"Not found booking: \"40257084630003353337\" }"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorDTO"
                },
                "example": {
                  "code": "E100",
                  "message": "Error: b410e2e1-2087-4618-8bca-981c51deda2e occurred. Please contact myDSV support."
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DevelopmentDTO": {
        "title": "Development",
        "type": "object",
        "properties": {
          "exception": {
            "type": "string",
            "description": "dump from exception"
          },
          "message": {
            "type": "string",
            "description": "verbose, plain language description of the problem for the app developer with hints on how to fix it"
          }
        }
      },
      "ErrorDTO": {
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique error code",
            "example": "ERR12345"
          },
          "message": {
            "type": "string",
            "description": "Error message passed to the user",
            "example": "Not found booking: 40257145990010785188"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldDTO"
            },
            "description": "List of fields that didn't pass validation"
          },
          "development": {
            "$ref": "#/components/schemas/DevelopmentDTO"
          }
        },
        "description": "Error"
      },
      "FieldDTO": {
        "title": "FieldDTO",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Error name",
            "example": "field_name"
          },
          "message": {
            "type": "string",
            "description": "Description of error",
            "example": "validation error"
          },
          "code": {
            "type": "string",
            "description": "Type of error",
            "example": "ERR12345"
          }
        },
        "description": "Field"
      },
      "LabelsBookingIdGet200ApplicationPdf-jsonResponse": {
        "type": "string"
      }
    },
    "securitySchemes": {
      "apiKeyHeader": {
        "type": "apiKey",
        "name": "DSV-Subscription-Key",
        "in": "header"
      },
      "apiKeyQuery": {
        "type": "apiKey",
        "name": "DSV-Subscription-Key",
        "in": "query"
      }
    }
  },
  "security": [
    {
      "apiKeyHeader": []
    },
    {
      "apiKeyQuery": []
    }
  ],
  "tags": [
    {
      "name": "Label",
      "description": "Printing API"
    }
  ]
}