---
title: "Convert quote to shipment"
method: POST
path: "/quotes/{id}/convert-to-shipment"
tags: ["Quotes"]
---

# Convert quote to shipment

`POST /quotes/{id}/convert-to-shipment`

Convert an accepted quote into a shipment.

## What happens

1. Quote status is set to WON (if not already)
2. A new Shipment is created
3. The Order from the quote is linked to the shipment
4. Optionally, additional orders can be added

## Prerequisites

- Quote must be in QUOTED or WON status
- Quote cannot already have a shipment

## Response

Returns the IDs of both the quote and the newly created shipment.

## Path parameters

- `id` string, required

## Query parameters

- `by` 'id' | 'key'

## Request body

- ConvertToShipmentRequest — Request body for converting a quote to a shipment
  - `additionalOrders` OrderInput[] — Optional additional orders to add to the shipment
    - `mode` 'TL' | 'LTL' | 'AIR' | 'OCEAN' | 'RAIL' | 'INTERMODAL' | 'DRAYAGE', required — Transportation mode. - `TL`: Full Truckload - `LTL`: Less than Truckload - `AIR`: Air freight - `OCEAN`: Ocean freight - `RAIL`: Rail freight - `INTERMODAL`: Intermodal (multiple modes) - `DRAYAGE`: Drayage/cartage
    - `stops` OrderStopInput[], required — At least origin and destination stops
      - `type` 'PICKUP' | 'DELIVERY' | 'CROSS_DOCK', required — Type of stop
      - `location` union — Reference to another resource by either ID or client key (used in create/update requests)
        - object
          - `id` string, uuid, required — Resource UUID
          - `key` string — Client-defined reference ID
        - object
          - `id` string, uuid — Resource UUID
          - `key` string, required — Client-defined reference ID
      - `address` AddressInput — Address data for creating a new location
        - `line1` string, required — Primary street address line
        - `line2` string — Secondary address line (suite, floor, etc.)
        - `city` string, required — City name
        - `country` string, required — Country name or code
        - `market` string, required — Market or region identifier
        - `latitude` string — Latitude coordinate
        - `longitude` string — Longitude coordinate
        - `isAirportOrAirbase` boolean — Whether this location is an airport or airbase
        - `isConstructionOrUtilitySite` boolean — Whether this location is a construction or utility site
        - `isSmartyValidated` boolean — Whether address has been validated by SmartyStreets
        - `obeysDst` boolean — Whether this location observes daylight saving time
        - `cityId` string, uuid — Reference to standardized city record (internal use)
      - `requestedStartDate` string, date — Requested start date for the stop
      - `requestedEndDate` string, date — Requested end date for the stop
      - `requestedStartTime` string — Requested start time (HH:MM format)
      - `requestedEndTime` string — Requested end time (HH:MM format)
      - `appointmentRequired` boolean — Whether an appointment is required
      - `notes` string — Special instructions for the stop
    - `freight` OrderFreightInput — Freight details for an order
      - `handlingUnitQuantity` integer — Number of handling units
      - `handlingUnitType` 'PALLET' | 'SKID' | 'CARTON' | 'CRATE' | 'DRUM' | 'BUNDLE' | 'ROLL' | 'BAG' | 'TOTE' | 'OTHER' — Type of handling unit
      - `weight` number — Total weight in pounds
      - `volume` number — Total volume in cubic feet
      - `length` number — Length in inches
      - `width` number — Width in inches
      - `height` number — Height in inches
      - `commodityDescription` string — Description of the commodity
      - `hazmat` boolean — Whether freight is hazardous materials
      - `stackable` boolean — Whether freight is stackable
    - `equipment` ResourceReferenceInput[] — Equipment types required
      - union — Reference to another resource by either ID or client key (used in create/update requests)
        - object
          - `id` string, uuid, required — Resource UUID
          - `key` string — Client-defined reference ID
        - object
          - `id` string, uuid — Resource UUID
          - `key` string, required — Client-defined reference ID
    - `references` object[] — Reference numbers for the order
      - `type` string, required — Reference type (e.g., BOL_NUMBER, PO_NUMBER)
      - `value` string, required — Reference value
    - `specialRequirements` ResourceReferenceInput[] — Special requirements (e.g., liftgate, team drivers)
      - union — Reference to another resource by either ID or client key (used in create/update requests)
        - object
          - `id` string, uuid, required — Resource UUID
          - `key` string — Client-defined reference ID
        - object
          - `id` string, uuid — Resource UUID
          - `key` string, required — Client-defined reference ID

## Response `200`

Quote converted to shipment successfully

- ConvertToShipmentResponse
  - `quoteId` string, uuid, required — Quote ID that was converted
  - `quoteStatus` 'WON', required — Quote status after conversion (always WON)
  - `shipmentId` string, uuid, required — Created shipment ID
  - `shipmentKey` string, required — Created shipment friendly ID
  - `orderId` string, uuid, required — Order ID from the quote

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing access token
- `404` — Resource not found
- `409` — Conflict - resource already exists or constraint violation

---

[API](https://skmtc.net/mvmnt/apis/mvmnt-api.md) · [All operations](https://skmtc.net/mvmnt/apis/mvmnt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mvmnt/mvmnt-api/versions/c44e5e7a4256/schema)
