---
title: "Creates a quote"
method: POST
path: "/quotes"
tags: ["Shipper"]
---

# Creates a quote

`POST /quotes`

Creates a quote based on the factors provided in the request body.
This API endpoint is only accessible by Shippers and Admins!

## Request body

- QuoteRequest
  - `accessorials` object[]
    - `type` string — Allowed values for type are `cfs`, `hazmat`, `liftgate_origin`, `liftgate_destination`, `residential_delivery`, `room_of_choice`, `white_glove`, `airport_pickup`, `tsa_certification`, `flatbed_truck`, `two_man` and `inside_delivery`.
  - `courier` boolean
  - `distance` integer
  - `loads` QuoteRequestLoads[]
    - `type` string, required
    - `quantity` integer, required
    - `length` integer, required
    - `width` integer, required
    - `height` integer, required
    - `weight` integer
    - `weight_units` string, required — Default value is `lb`.
    - `dimensional_units` string, required — Default value is `in`.
    - `languageCodeId` string
    - `distance_units` string
    - `currency` string
    - `temperature_units` string
    - `stackable` boolean — Default value is `false`.
  - `market` string — The valid values for `market` are the three letter identifiers for the market, like LAX, SFO, ATL, etc.
  - `stops` QuoteRequestStops[], required
    - `action` string, required — Acceptable values for `action` are `pickup` and `deliver`.
    - `location` object, required
      - `name` string, required
      - `address` string, required
  - `weight` integer, required — Total weight of the shipment.
  - `weight_units` string — Default unit is `lb`.
  - `shipper` object
    - `_id` string
  - `full_truckload` boolean, required — If `full_truckload` is `false`, `loads` is a required field.
  - `shipment_type` string

## Response `200`

Status Code 200:  Successful Response - the request was successful!

- QuoteResponse
  - `success` boolean
  - `quote` object
    - `full_truckload` boolean
    - `shipment_type` string
    - `weight` integer
    - `distance` integer
    - `courier` boolean
    - `created_at` string, date-time
    - `total_cost` string
    - `origin` object
      - `address` string
      - `coords` number[]
      - `name` string
    - `destination` object
      - `address` string
      - `coords` number[]
      - `name` string
    - `loads` object[]
      - `type` string
      - `dimensional_units` string
      - `quantity` integer
      - `width` integer
      - `height` integer
      - `length` integer
      - `weight` integer
      - `spaces` integer
      - `weight_units` string
      - `_id` string
    - `quote_id` string
    - `expiration_date` string, date-time
    - `receivables` object[]
      - `message` string
      - `value` integer
      - `timestamp` string, date-time
    - `shipper` string

## Other responses

- `400` — Status Code 400: Bad Request Response - the request header and/or body is invalid
- `500` — StatusCode 500: Internal Server Error Response - there's a problem with the Public API service

---

[API](https://skmtc.net/cargomatic/apis/cargomatic-public-api.md) · [All operations](https://skmtc.net/cargomatic/apis/cargomatic-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cargomatic/cargomatic-public-api/revisions/4aa7f4326443/schema)
