---
title: "Mark shipments as being ready for shipping"
method: POST
path: "/manifests"
tags: ["Manifests"]
---

# Mark shipments as being ready for shipping

`POST /manifests`

## Request

- Base URL: `https://api-eu.dhl.com/parcel/de/shipping/v2`
- URL: `https://api-eu.dhl.com/parcel/de/shipping/v2/manifests`
- Auth: one of:
  - API key in header `dhl-api-key`
  - HTTP basic
  - OAuth 2
    - Password
    - Token URL: `/parcel/de/account/auth/ropc/v1/token`

Shipments are normally ''closed out'' at a fixed time of the day (such as 6 pm, configured by EKP/account) for the date provided as shipDate in the create call. 
<br />This call allows forcing the closeout for sets of shipments earlier. This will also override the original shipDate. Afterwards, the shipment cannot be changed and the shipment labels cannot be queried anymore (however they may remain cached for limited duration). 
Once a shipment has been closed, then calling closeout for the same shipment will result in a warning. The same warning will also be returned if the automatic closeout happened prior to the call. It is however possible to add new shipments, they will be manifested as well and be part of the day's manifest. 
<br />Note on billing: The manifesting step has billing implications. Some products (Parcel International partially) are billed based on the shipment data available to DHL at the end of the day. All other products (including DHL Paket Standard) are billed based on production data. For more details, please contact your account representative. 

#### Request
It's changing the status of the shipment, so parameters are provided in the body or as query parameter. 
* ''profile'' attribute (request body parameter) - defines the user group profile. A user group is permitted to specific billing numbers. Shipments are only closed out if they belong to a billing number that the user group profile is entitled to use. This attribute is mandatory. Please use the standard user group profile ''STANDARD_GRUPPENPROFIL'' if no dedicated user group profile is available. 
* ''billingNumber'' attribute (query parameter) - defines the billing number for which shipments shall be closed out. If a billing number is set, then only the shipments of that billing number are closed out. In that case no list of specific shipment numbers needs to be passed. 
* ''shipmentNumbers'' attribute (request body parameter) - lists the specific shipping numbers of the shipments that shall be closed out. 
If all shipments shall be closed, the query parameter ''all'' needs to be set to ''true''. In that case neither a billing number nor a list of shipment numbers need to be passed in the request. 

#### Response 
* Closing status for each shipment

## Query parameters

- `all` boolean

## Headers

- `Accept-Language` string

## Request body

- ShipmentManifestingRequest: List of shipments which shall be manifested.
  - `profile` string, required
  - `shipmentNumbers` string[]: List of shipment IDs for manifesting.
  - `billingNumber` string: Customer billingNumber number.

## Response `207`

Response for manifesting request taking multiple input elements

- MultipleManifestResponse: Response of the POST /manifests endpoint containing an overall request status and detailed shipment status.
  - `status` RequestStatus: General status description for the attached response or response item.
    - `title` string, required
    - `statusCode` integer, required: The status code of the response. Usually, but not necessarliy the HTTP status code. Same as attribut "status" but deprecated. Do not use. Will be removed in the next major version.
    - `status` integer: The status code of the response. Usually, but not necessarliy the HTTP status code.
    - `instance` string: A URI reference that identifies the specific occurrence of the problem.
    - `detail` string
  - `items` ShortResponseItem[]
    - `shipmentNo` string
    - `sstatus` RequestStatus, required: General status description for the attached response or response item.
      - `title` string, required
      - `statusCode` integer, required: The status code of the response. Usually, but not necessarliy the HTTP status code. Same as attribut "status" but deprecated. Do not use. Will be removed in the next major version.
      - `status` integer: The status code of the response. Usually, but not necessarliy the HTTP status code.
      - `instance` string: A URI reference that identifies the specific occurrence of the problem.
      - `detail` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/dhl/apis/parcel-de-shipping-api-post-parcel-germany.md) - [All operations](https://skmtc.dev/dhl/apis/parcel-de-shipping-api-post-parcel-germany/llms.txt) - [OpenAPI document](https://skmtc.dev/dhl/apis/parcel-de-shipping-api-post-parcel-germany/revisions/b9e613b17d70?raw)
