---
title: "Download labels in bulk"
method: POST
path: "/shipments/labels-bulk"
tags: ["Shipments"]
---

# Download labels in bulk

`POST /shipments/labels-bulk`

Download shipping labels (and optional additional files) in bulk for a list of shipments. Returns a single PDF file if all labels are PDF, or a ZIP archive if there is a mix of formats (PDF, ZPL, PNG, etc.).

**When to use:** Call this endpoint when you need to download labels for multiple shipments at once — for example, for batch printing in a warehouse or fulfillment center.

**Prerequisites:**
- Valid JWT authentication token (Bearer)
- One or more shipment IDs from previously generated labels

**Key behaviors:**
- Single shipment without additional files: returns the file directly with its original extension
- Multiple shipments, all PDF: merges into a single PDF ordered by the `shipments` array
- Mixed formats (PDF + ZPL/PNG): returns a ZIP file organized by extension folders
- Packing slip layout is controlled by the company's e-commerce config (`packing_print.option`): `after_label` places slips as separate pages after the label; `unify` combines the slip on the same page as the label (PDF only)

**Response headers:**
- `Content-Type`: `application/pdf` or `application/zip`
- `Content-Disposition`: suggested filename for download
- `x-file-extension`: `.pdf` or `.zip`
- `x-filename`: filename of the returned file

## Request body

- object
  - `shipments` union[], required — List of shipment IDs to download labels for. These are the numeric shipment IDs, not tracking numbers
    - union
      - number
      - string
  - `additional_files` boolean — If true, includes additional shipment files (customs documents, carrier documents, etc.)
  - `additional_includes` union[] — Filter additional files by document_type_id. Only used when `additional_files` is true. If empty, returns all available documents. Include `10` to also retrieve the Bill of Lading (file_bol). **Available document_type_id values:** | ID | Description | |---|---| | 1 | Shipment manifest | | 6 | Proof of Delivery | | 7 | Letter of Responsibility | | 8 | Insurance Certificate | | 9 | Return Receipt | | 10 | Commercial Invoice | | 11 | FTL Instructions Letter | | 12 | FTL Additional Files | | 13 | FTL Rate Confirmation | | 14 | LTL Commercial Invoice | | 15 | LTL Additional Files | | 16 | Additional Files (tickets) | | 17 | Certificate of Origin | | 18 | USMCA / FTA Certificate | | 19 | Export Declaration (EEI/SED) | | 20 | Safety Data Sheet (MSDS) | | 21 | Import Permit | | 22 | Customs Power of Attorney | | 23 | Tax ID / VAT Identification Form | | 24 | Proforma Invoice | | 25 | Packing List | | 26 | Weight/sorter image from carrier (dispute resolution) | | 27 | Auxiliary Electronic Content Declaration |
    - union
      - number
      - string
  - `with_report` boolean — If true, includes a report of processed labels (successes and errors)
  - `with_packing` boolean — If true, generates and includes packing slips for each package in the associated order
  - `with_return_policy` boolean — If true, appends the store's return policy page after each packing slip

## Response `200`

File download — returns a PDF or ZIP depending on label formats

## Other responses

- `400` — Bad request

---

[API](https://skmtc.net/envia/apis/envia-shipping-api-complete-documentation.md) · [All operations](https://skmtc.net/envia/apis/envia-shipping-api-complete-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/envia/envia-shipping-api-complete-documentation/revisions/39f9208959d6/schema)
