---
title: "Create shipment"
method: POST
path: "/inventories/v1/shipments"
tags: ["inventory_endpoints"]
---

# Create shipment

`POST /inventories/v1/shipments`

## Request

- Base URL: `https://partners.tryotter.com`
- URL: `https://partners.tryotter.com/inventories/v1/shipments`
- Auth: OAuth 2
  - Authorization code: `/v1/auth/oauth2/authorize`
  - Client credentials
  - Token URL: `/v1/auth/token` scopes: `catalog`
- TypeScript: <https://skmtc.dev/cloudkitchens/apis/otter-api/docs/inventories/v1/shipments/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new shipment.
Rate limit: 32 requests per minute.

## Headers

- `X-Store-Id` string, required: The unique identifier of the store in your app. This ID, along with the `Application ID`, will be used to match the correct store when performing operations. It cannot be longer than 255 characters and must only contain printable ASCII characters. During on-boarding, this ID will be similar to `onboarding:905bb725-b141-4a9b-832a-1f254f772c94` (where the UUID is the Internal Store ID). During off-boarding, this field will be filled with the last known Store ID, or with an empty string, in case none is found. In that case, please fall back to the provided `internalStoreId` (a.k.a. Sku-Sku ID).

## Request body

- CreateShipmentRequest
  - `deliveryInfo` union, required: Delivery information for a shipment.
    - object: Detailed delivery information for shipments using small point-to-point courier operations that may offer specialized services (scheduling, chill chain, etc).
      - `deliveryWindow` DeliveryWindow, required: The delivery window in which the shipment is expected to arrive at the destination.
        - `start` string, date-time, required: ISO-8601 timestamp representing the start of the time range.
        - `end` string, date-time, required: ISO-8601 timestamp representing the end of the time range.
      - `deliveryType` string, required: The type of delivery service for this shipment.
      - `courierName` string, required: The name of the company delivering the shipment.
      - `trackingId` string: The tracking ID for this shipment
    - object: Detailed delivery information for standard postal carriers who deliver parcel shipments.
      - `deliveryWindow` DeliveryWindow, required: The delivery window in which the shipment is expected to arrive at the destination.
        - `start` string, date-time, required: ISO-8601 timestamp representing the start of the time range.
        - `end` string, date-time, required: ISO-8601 timestamp representing the end of the time range.
      - `deliveryType` string, required: The type of delivery service for this shipment.
      - `carrierName` 'FED_EX' | 'UPS' | 'ON_TRAC' | 'DHL' | 'CORREOS' | 'ESTAFETA' | 'BR_POST' | 'TNT' | 'OTHER', required: The name of the company delivering the shipment.
      - `trackingNumber` string: The tracking number for this shipment
    - object: Detailed delivery information for self-delivered shipments.
      - `deliveryWindow` DeliveryWindow, required: The delivery window in which the shipment is expected to arrive at the destination.
        - `start` string, date-time, required: ISO-8601 timestamp representing the start of the time range.
        - `end` string, date-time, required: ISO-8601 timestamp representing the end of the time range.
      - `deliveryType` string, required: The type of delivery service for this shipment.
      - `delivererName` string, required: The name of the deliverer.
      - `delivererEmailAddress` string: The email address of the deliverer.
  - `lineItems` CreateShipmentLineItem[], required: A list of the shipment line items.
    - `id` string: A CSS SKU UUID for the product. One of id, slug or externalId is required.
    - `slug` string: A CSS SKU slug for the product. One of id, slug or externalId is required.
    - `externalId` string: A SKU external ID for the product. One of id, slug or externalId is required.
    - `manifestQuantity` integer, required: The expected quantity of the product in the shipment.
    - `receivedSellableQuantity` integer: The quantity of the product in the shipment received that was sellable.
    - `receivedUnsellableQuantity` integer: The quantity of the product in the shipment received that was unsellable (damaged, expired, etc.).

## Response `200`

The shipment was successfully created.

- CreateShipmentResponse: A response containing information about the created shipment.
  - `id` string, required: A unique identifier for the shipment.

## Other responses

- `400`: The request is malformed.
- `401`: Invalid authorization.
- `403`: Authorization not valid for the requested resource.
- `404`: Resource not found.
- `422`: The request body is not valid.

---

[API](https://skmtc.dev/cloudkitchens/apis/otter-api.md) - [All operations](https://skmtc.dev/cloudkitchens/apis/otter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cloudkitchens/apis/otter-api/revisions/4c868194a467?raw)
