---
title: "createScheduledPackageBulk"
method: POST
path: "/easyShip/2022-03-23/packages/bulk"
tags: ["Easy Ship v2022-03-23"]
---

# createScheduledPackageBulk

`POST /easyShip/2022-03-23/packages/bulk`

This operation automatically schedules a time slot for all the `amazonOrderId`s given as input, generating the associated shipping labels, along with other compliance documents according to the marketplace (refer to the [marketplace document support table](https://developer-docs.amazon/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support-table)).

Developers calling this operation may optionally assign a `packageDetails` object, allowing them to input a preferred time slot for each order in ther request. In this case, Amazon will try to schedule the respective packages using their optional settings. On the other hand, *i.e.*, if the time slot is not provided, Amazon will then pick the earliest time slot possible. 

Regarding the shipping label's file format, external developers are able to choose between PDF or ZPL, and Amazon will create the label accordingly.

This operation returns an array composed of the scheduled packages, and a short-lived URL pointing to a zip file containing the generated shipping labels and the other documents enabled for your marketplace. If at least an order couldn't be scheduled, then Amazon adds the `rejectedOrders` list into the response, which contains an entry for each order we couldn't process. Each entry is composed of an error message describing the reason of the failure, so that sellers can take action.

The table below displays the supported request and burst maximum rates:

**Usage Plan:**

| Rate (requests per second) | Burst |
| ---- | ---- |
| 1 | 5 |

The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).

## Request body

- CreateScheduledPackagesRequest — The request body for the POST /easyShip/2022-03-23/packages/bulk API.
  - `marketplaceId` string, required — A string of up to 255 characters.
  - `orderScheduleDetailsList` OrderScheduleDetails[], required — An array allowing users to specify orders to be scheduled.
    - `amazonOrderId` string, required — An Amazon-defined order identifier, in 3-7-7 format.
    - `packageDetails` PackageDetails — Package details. Includes `packageItems`, `packageTimeSlot`, and `packageIdentifier`.
      - `packageItems` Item[] — A list of items in the transaction.
        - `itemSequenceNumber` string, required — Item sequence number for the item. The first item will be 001, the second 002, and so on. This number is used as a reference to refer to this item from the carton or pallet level.
        - `amazonProductIdentifier` string — Buyer Standard Identification Number (ASIN) of an item.
        - `vendorProductIdentifier` string — The vendor selected product identification of the item. Should be the same as was sent in the purchase order.
        - `shippedQuantity` ItemQuantity, required — Details of item quantity.
          - `amount` integer, required — Amount of units shipped for a specific item at a shipment level. If the item is present only in certain cartons or pallets within the shipment, please provide this at the appropriate carton or pallet level.
          - `unitOfMeasure` 'Cases' | 'Eaches', required — Unit of measure for the shipped quantity.
          - `unitSize` integer — The case size, in the event that we ordered using cases. Otherwise, 1.
          - `totalWeight` TotalWeight — The total weight of units that are sold by weight in a shipment.
            - `unitOfMeasure` 'POUNDS' | 'OUNCES' | 'GRAMS' | 'KILOGRAMS', required — The unit of measure for the weight of items that are ordered by cases and support pricing by weight.
            - `amount` string, required — A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation. <br>**Pattern** : `^-?(0|([1-9]\d*))(\.\d+)?([eE][+-]?\d+)?$`.
        - `itemDetails` ItemDetails — Item details for be provided for every item in shipment at either the item or carton or pallet level, whichever is appropriate.
          - `purchaseOrderNumber` string — The purchase order number for the shipment being confirmed. If the items in this shipment belong to multiple purchase order numbers that are in particular carton or pallet within the shipment, then provide the purchaseOrderNumber at the appropriate carton or pallet level. Formatting Notes: 8-character alpha-numeric code.
          - `lotNumber` string — The batch or lot number associates an item with information the manufacturer considers relevant for traceability of the trade item to which the Element String is applied. The data may refer to the trade item itself or to items contained. This field is mandatory for all perishable items.
          - `lotNumberSourceReference` string — The location identifier where the product receives a traceability lot number. Provide this field for products subject to the FDA Food Safety Modernization Act (FSMA) Section 204. When you provide `lotNumberSourceReference`, you must also specify the corresponding `lotNumberSourceType` field.
          - `lotNumberSourceType` 'GLN' | 'FFRN' | 'USDA_E' | 'URL' — The identifier type used for the lot number source. Provide this field when you specify `lotNumberSourceReference`.
          - `countryOfOrigin` string — The two-character country code for the country where the product was manufactured or originates. Use ISO 3166-1 alpha-2 format.
          - `regulationReferences` RegulationReferences — Regulatory requirements and compliance information for the item, including reference numbers, verification codes, and exemption codes. Use this field to specify applicable regulations such as EU Deforestation Regulation (EUDR).
            - `dueDiligenceReference` string — The reference number from the vendor's EUDR Due Diligence Statement (DDS) submitted to the EU Commission portal or provided to Amazon through ONIX feed.
            - `dueDiligenceVerification` string — The EUDR Due Diligence verification number provided by the EU Commission for the submitted DDS.
            - `dueDiligenceInformation` string — The EUDR Due Diligence information pre-loaded in Vendor Central.
            - `dueDiligenceExemptionCode` string — The exemption code for EUDR products exempt from due diligence requirements.
          - `expiry` Expiry — Expiry refers to the collection of dates required for certain items. These could be either expiryDate or mfgDate and expiryAfterDuration. These are mandatory for perishable items.
            - `manufacturerDate` string, date-time — Production, packaging or assembly date determined by the manufacturer. Its meaning is determined based on the trade item context.
            - `expiryDate` string, date-time — The date that determines the limit of consumption or use of a product. Its meaning is determined based on the trade item context.
            - `expiryAfterDuration` Duration — Duration after manufacturing date during which the product is valid for consumption.
              - …
          - `maximumRetailPrice` Money — An amount of money, including units in the form of currency.
            - `currencyCode` string, required — Three digit currency code in ISO 4217 format.
            - `amount` string, required — A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation. <br>**Pattern** : `^-?(0|([1-9]\d*))(\.\d+)?([eE][+-]?\d+)?$`.
          - `handlingCode` 'Oversized' | 'Fragile' | 'Food' | 'HandleWithCare' — Identification of the instructions on how specified item/carton/pallet should be handled.
      - `packageTimeSlot` TimeSlot, required — A time window to hand over an Easy Ship package to Amazon Logistics.
        - `slotId` string, required — A string of up to 255 characters.
        - `startTime` string, date-time — Defines a date and time according to ISO8601.
        - `endTime` string, date-time — Defines a date and time according to ISO8601.
        - `handoverMethod` 'PICKUP' | 'DROPOFF' — Identifies the method by which a seller will hand a package over to Amazon Logistics.
      - `packageIdentifier` string — Optional seller-created identifier that is printed on the shipping label to help the seller identify the package.
  - `labelFormat` 'PDF' | 'PNG' | 'ZPL203' | 'ZPL300' | 'ShippingServiceDefault', required — The label format.

## Response `200`

Success

- CreateScheduledPackagesResponse — The response schema for the bulk scheduling API. It returns by the bulk scheduling API containing an array of the scheduled packtages, an optional list of orders we couldn't schedule with the reason, and a pre-signed URL for a ZIP file containing the associated shipping labels plus the documents enabled for your marketplace.
  - `scheduledPackages` Package[] — A list of packages. Refer to the `Package` object.
    - `packageTrackingNumber` string, required — The tracking number on the label of shipment package, that you can fetch from the `shippingLabels` response. You can also scan the bar code on the shipping label to get the tracking number.
  - `rejectedOrders` RejectedOrder[] — A list of orders we couldn't scheduled on your behalf. Each element contains the reason and details on the error.
    - `amazonOrderId` string, required — An Amazon-defined order identifier, in 3-7-7 format.
    - `error` Error — Error response returned when the request is unsuccessful.
      - `code` string, required — An error code that identifies the type of error that occurred.
      - `message` string, required — A message that describes the error condition.
      - `details` string — Additional details that can help the caller understand or fix the issue.
  - `printableDocumentsUrl` string — A pre-signed URL for the zip document containing the shipping labels and the documents enabled for your marketplace.

## Other responses

- `400` — Request has missing or invalid parameters and cannot be parsed.
- `401` — The request's Authorization header is not formatted correctly or does not contain a valid token.
- `403` — Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.
- `404` — The resource specified does not exist.
- `413` — The request size exceeded the maximum accepted size.
- `415` — The request payload is in an unsupported format.
- `429` — The frequency of requests was greater than allowed.
- `500` — An unexpected condition occurred that prevented the server from fulfilling the request.
- `503` — Temporary overloading or maintenance of the server.

---

[API](https://skmtc.net/aws-samples/apis/a-content-management-v2020-11-01.md) · [All operations](https://skmtc.net/aws-samples/apis/a-content-management-v2020-11-01/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws-samples/a-content-management-v2020-11-01/revisions/815a5b6dbaa6/schema)
