Create a Manifest

The page explains how to create a manifest using the /v1/manifests endpoint and the HTTP POST method.

Explicit Manifest

You may explicitly specify the labels you want to include in the manifest using the label_ids property.

You do not need to specify carrier_id, warehouse_id, or ship_date if you use the label_ids property.

Example Request

POST /v1/manifests

curl -iX POST https://api.shipengine.com/v1/manifests \
-H 'API-Key: __YOUR_API_KEY_HERE__' \
-H 'Content-Type: application/json' \
-d '{
        "label_ids": [
          "se-1049057",
          "se-1049058"
      ]
    }'

Example Response

{
    "manifests": [
        {
            "manifest_id": "se-11102",
            "form_id": "se-11102",
            "created_at": "2020-11-05T16:39:34.503Z",
            "ship_date": "2020-11-05T00:00:00Z",
            "shipments": 2,
            "label_ids": [
                "se-1049057",
                "se-1049058"
            ],
            "warehouse_id": null,
            "submission_id": "9475711201080308027034",
            "carrier_id": "se-82785",
            "manifest_download": {
                "href": "https://api-stage.shipengine.com/v1/downloads/0/BpP_fo0d9EiiQJ7hqDQGmA/manifest-11102.pdf"
            }
        }
    ],
    "request_id": "95c1dbc4-0819-4f01-91c5-87183c820b54",
    "errors": [],
    "manifest_id": "se-11102",
    "form_id": "se-11102",
    "created_at": "2020-11-05T16:39:34.503Z",
    "ship_date": "2020-11-05T00:00:00Z",
    "shipments": 2,
    "label_ids": [
        "se-1049057",
        "se-1049058"
    ],
    "warehouse_id": null,
    "submission_id": "9475711201080308027034",
    "carrier_id": "se-82785",
    "manifest_download": {
        "href": "https://api-stage.shipengine.com/v1/downloads/0/BpP_fo0d9EiiQJ7hqDQGmA/manifest-11102.pdf"
    }
}

Implicit Manifests

alternately, you may provide criteria that the labels must meet and allow ShipEngine to determine which labels to include in the manifest based on that criteria.

You may also exclude certain labels from the manifest even if they meet the specified criteria by using the excluded_label_ids property.

If you specify an excluded_label_ids property, you must also specify a carrier_id, warehouse_id, and ship_date.

Example Request

This example specifies a carrier_id, warehouse_id and ship_date. If you do not specify label_ids, you must specify all three of these properties.

POST /v1/manifests

curl -iX POST https://api.shipengine.com/v1/manifests \
-H 'API-Key: __YOUR_API_KEY_HERE__' \
-H 'Content-Type: application/json' \
-d '{
      "carrier_id": "se-82785",
      "warehouse_id": "se-107273",
      "ship_date": "2020-11-06T00:00:00Z"
    }'

Example Response

{
    "manifests": [
        {
            "manifest_id": "se-11115",
            "form_id": "se-11115",
            "created_at": "2020-11-06T20:45:31.65Z",
            "ship_date": "2020-11-06T00:00:00Z",
            "shipments": 2,
            "label_ids": [
                "se-1049657",
                "se-1049658"
            ],
            "warehouse_id": "se-107273",
            "submission_id": "9475711201080308943358",
            "carrier_id": "se-82785",
            "manifest_download": {
                "href": "https://api-stage.shipengine.com/v1/downloads/0/bb_mfrWo9kCq-tI643Nz0Q/manifest-11115.pdf"
            }
        }
    ],
    "request_id": "61000166-ff79-4924-9897-9dc9389c2301",
    "errors": [],
    "manifest_id": "se-11115",
    "form_id": "se-11115",
    "created_at": "2020-11-06T20:45:31.65Z",
    "ship_date": "2020-11-06T00:00:00Z",
    "shipments": 2,
    "label_ids": [
        "se-1049657",
        "se-1049658"
    ],
    "warehouse_id": "se-107273",
    "submission_id": "9475711201080308943358",
    "carrier_id": "se-82785",
    "manifest_download": {
        "href": "https://api-stage.shipengine.com/v1/downloads/0/bb_mfrWo9kCq-tI643Nz0Q/manifest-11115.pdf"
    }
}

Example Excluding Labels

This example demonstrates including the excluded_label_ids property. Note that it also includes the other search criteria properties. These are required.

curl -iX POST https://api.shipengine.com/v1/manifests \
-H 'API-Key: __YOUR_API_KEY_HERE__' \
-H 'Content-Type: application/json' \
-d '{
      "carrier_id": "se-82785",
      "warehouse_id": "se-107273",
      "ship_date": "2020-11-06T00:00:00Z",
      "exluded_label_ids": [
         "se-1234",
         "se-1235",
         "se-1236"
       ],
    }'

Example Error Response

If no labels meet the specified criteria, you will get a response similar to the one below.

{
    "request_id": "47b3f327-2dd1-4e24-8570-cda6fba8a00f",
    "errors": [
        {
            "error_source": "shipengine",
            "error_type": "system",
            "error_code": "unspecified",
            "message": "No labels were found matching the given criteria."
        }
    ]
}