---
title: "Create quote request"
method: POST
path: "/api/v2/quotes-request"
tags: ["Quotes"]
---

# Create quote request

`POST /api/v2/quotes-request`

Request quotes for a future shipment.

Returns a unique identifier (`id`) for the quote request. After creating the quote request, the
[Retrieve details from a quote request](#tag/Quotes/paths/~1api~1v2~1quotes-request~1{uuid}/get) endpoint must
be polled in order to retrieve the result of this quote request.

## Request body

- object
  - `shipment_mode` object[], required
    - `type` 'FTL' | 'LTL' | 'PTL' | 'RAIL' — The transportation mode of the load. Allowed values are: - FTL: Full Truckload - LTL: Less-than-Truckload - PTL: Partial Truckload - RAIL: Intermodal rail (53' containers)
  - `equipments` object[], required
    - `type` 'DRV' | 'FBE' | 'RFR' | 'IMC' — Equipment required to transport the shipment. Recognized equipments are: - DRV: Dry Van - FBE: Flatbed - RFR: Reefer - IMC: Intermodal
  - `total_width` number — The load total width expressed in 'ft'
  - `total_length` number — The load total length expressed in 'ft'
  - `total_height` number — The load total height expressed in 'ft'
  - `requirements` object, nullable — Requirements that needs to be fulfilled in order to transport the load
    - `hazmat` boolean — The commodity being moved consists of hazard material
    - `tarp` object — If present in 'requirements', it means the shipment needs a tarp
      - `size` number, float, required — size in expressed in 'ft'
      - `type` 'lumber' | 'steel' | 'smoke' | 'parachute' | 'machinery' | 'canvas' | 'hay' | 'poly'
    - `dunnage` boolean — Extra rack added to the truck
    - `beer` boolean — The carrier must be able to transport alcohool
    - `teams` boolean — If it requires a team of drivers
  - `customer_reference` string — Internal client's reference, such as an ID, of the load
  - `accessorials` string[] — Accessorials are extra charges/services that exist outside the 'normal' standard operating procedure. They are upcharged by the Carriers, and are qualifiers for Carrier Eligibility. FTL loads do not accept accessorials on the quote request.
  - `stops` union[], required — Points of interest where the truck makes a stop to either pickup or deliver a shipment. Usually a quote has one pickup stop and one delivery stop, but in some cases there will be multiple delivery stops.
    - union
      - object
        - `type` 'PU' | 'DEL' — The type of the stop, can be PU (Pickup) or DEL (Delivery)
        - `address` string
        - `zipcode` string, required
        - `country` string, required — 3-letter country code, uppercase (ISO 3166-1 alpha-3)
        - `drop_trailer` boolean — Indicates whether the truck will drop the trailer at the stop
        - `window` object — A time window indicating when the truck should be at the stop. If the stop date is not defined in the request payload, the API will estimate it based on the trip duration. This will only occur when: i) pickup date is undefined and all delivery dates are defined ii) pickup date is defined and any delivery date is undefined. If a request does not define all stop dates and does not comply with i or ii, then a validation error will be returned
          - `start` string, date-time, required
          - `end` string, date-time, required
      - object
        - `type` 'PU' | 'DEL' — The type of the stop, can be PU (Pickup) or DEL (Delivery)
        - `address` string
        - `city` string, required
        - `state` string, required
        - `country` string, required — 3-letter country code, uppercase (ISO 3166-1 alpha-3)
        - `window` object, required — A time window indicating when the truck should be at the stop. If the stop date is not defined in the request payload, the API will estimate it based on the trip duration. This will only occur when: i) pickup date is undefined and all delivery dates are defined ii) pickup date is defined and any delivery date is undefined. If a request does not define all stop dates and does not comply with i or ii, then a validation error will be returned
          - `start` string, date-time, required
          - `end` string, date-time, required
        - `drop_trailer` boolean — Indicates whether the truck will drop the trailer at the stop
        - `accessorials` string[]
      - object
        - `type` 'PU' | 'DEL' — The type of the stop, can be PU (Pickup) or DEL (Delivery)
        - `address` string
        - `zipcode` string, required
        - `country` string, required — 3-letter country code, uppercase (ISO 3166-1 alpha-3)
        - `date` string, date — A date indicating when the truck should be at the stop.
        - `window_start` string, date-time, required — A date-time indicating when the truck should be at the stop. This field is required for the pickup stop if "window" is not provided. The next stops can use "date".
        - `drop_trailer` boolean — Indicates whether the truck will drop the trailer at the stop
        - `accessorials` string[]
      - object
        - `type` 'PU' | 'DEL' — The type of the stop, can be PU (Pickup) or DEL (Delivery)
        - `address` string
        - `city` string, required
        - `state` string, required
        - `country` string, required — 3-letter country code, uppercase (ISO 3166-1 alpha-3)
        - `date` string, date — A date indicating when the truck should be at the stop.
        - `window_start` string, date-time, required — A date-time indicating when the truck should be at the stop. This field is required for the pickup stop if "window" is not provided. The next stops can use "date".
        - `drop_trailer` boolean — Indicates whether the truck will drop the trailer at the stop
        - `accessorials` string[]
  - `items` object[] — A list of actual packages that will be moved within the load. One quote - that later will become a shipment - may have none or many Items. These Items will have a lot of different attributes related to it, but specially Dimensions, Weight, Freight Class among some others
    - `items_count` union, required — How many of this specific item we will have. This is not the quantity of records in the database.
      - number
      - string
    - `length` union, required — Length of the shipping item
      - number
      - string
    - `width` union, required — Width of the shipping item
      - number
      - string
    - `height` union, required — Height of the shipping item
      - number
      - string
    - `classification` '50' | '55' | '60' | '65' | '70' | '77.5' | '85' | '92.5' | '100' | '110' | '125' | '150' | '175' | '200' | '250' | '300' | '400' | '500', required — Classification representing the Class of the shipping item
    - `nmfc_code` string — The NMFC Number associated with the shipping item
    - `package_type` 'std_pallets' | 'pallets_non_std' | 'bags' | 'bales' | 'boxes' | 'bunches' | 'carpets' | 'coils' | 'crates' | 'cylinders' | 'drums' | 'pails' | 'reels' | 'rolls' | 'tubes_pipes' | 'loose' | 'ubox', required — Package type
    - `hazmat` boolean, required — The commodity being moved consists of hazard material
    - `hazmat_class` 'explosive_non_specified' | 'mass_explosive' | 'projection_explosive' | 'minor_fire_explosive' | 'minor_explosive' | 'insensitive_mass_explosive' | 'insensitive_minor_explosive' | 'gas_non_specified' | 'flammable_gas' | 'non_flammable_non_poisonous_or_oxygen_gas' | 'poison_gas' | 'flammable_liquid' | 'solid_non_specified' | 'flammable_solid' | 'spontaneously_combustible_solid' | 'dangerous_when_wet' | 'oxidizer_non_specified' | 'oxidizer' | 'organic_peroxide' | 'poison' | 'radioactive' — Hazmat class
    - `un_number` string — UN numbers are four-digit numbers that identify hazardous materials, and articles in the framework of international transport.
    - `stackable` boolean, required — Indicates if the item is stackable on the truck
    - `description` string, required — Name of the commodity that will be shipped
    - `weight` union, required — The total weight, in pounds, of the shipment. Acceptable values must be positive numbers with up to 2 decimal digits. Any other type will cause a validation error. Note that the minimum value is 1 and the maximum value depends on the chosen equipment_type: 45000 for DRV, 43000 for RFR and 50000 for FBE. If the weight is not provided, it is set to the maximum allowed for the equipment_type.
      - number
      - string
  - `properties` object — General information about the load. This is an open JSON field that allows passing special properties with meaning on the customer context, such as the order numbers, must_arrive_by_date, priority and others.

## Response `202`

Quote request was accepted

- object
  - `data` object, required
    - `id` string, required — A unique identifier for the quote request

## Other responses

- `422` — Invalid or missing data

---

[API](https://skmtc.dev/loadsmart/apis/loadsmart-api.md) · [All operations](https://skmtc.dev/loadsmart/apis/loadsmart-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/loadsmart/loadsmart-api/revisions/6021c5806fe9/schema)
