---
title: "Update Draft Listing"
url: "https://stage-api-docs.centraldispatch.com/apis/stage-listing-api-2-0-0/versions/6459c118-c2b9-484e-816d-5657457559e4/operations/putDraftListing"
---

> Full API specification: https://stage-api-docs.centraldispatch.com/apis/stage-listing-api-2-0-0/versions/6459c118-c2b9-484e-816d-5657457559e4.md

# Update Draft Listing

`PUT` `/draft-listings/id/{id}`

Operation ID: `putDraftListing`

Update a draft listing. #### 👥 Customer Type - Shipper #### 📝 Important Notes - This operation replaces the entire draft. Any field omitted from the request is cleared, so send the whole draft on every update. - The draft remains a draft. Updating it does not publish it to the marketplace. - The `If-Match` header is required and its value can be found in the `ETag` response header of the resource's GET by ID endpoint. - A stale `If-Match` value is rejected with `422`, and the stored draft is left unchanged. Re-read the draft to obtain the current `ETag` before retrying.

## Path parameters

- `id` (integer, int64, required) - The ID of the listing.

## Header parameters

- `If-Match` (integer, required) - This is a required field to ensure the update is being completed on an item that has not changed since it was last read. The value of this field will be the value of the `ETag` header that was received on the preceding get call.
- `Content-Type` (string, required) - The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 2.x.x of an API, the Content-Type header should be set to `application/vnd.coxauto.v2+json`.

## Request body

Content types: `application/json`

## Responses

- `204` - No Content. Successful request.
- `400` - Bad Request. Check the request payload. **Scenarios:** - Missing or malformed customer ID in the access token. - The `If-Match` header is missing.
- `401` - Unauthorized. Authentication failed or missing.
- `403` - Forbidden. The attempted action is not permitted.
- `404` - Not Found. **Scenarios:** - Draft listing not found. - The draft listing belongs to another customer.
- `415` - Unsupported Media Type **Scenarios:** - `Content-Type` version header is missing or invalid - v2 API requires `Content-Type: application/vnd.coxauto.v2+json`.
- `422` - Unprocessable Entity. Errors found in the request. **Scenarios:** - The draft listing is out of date - the `If-Match` header value does not match the current version. - The draft contains no user-entered field. - A supplied field failed validation.
- `429` - Too Many Requests. Rate limit exceeded.
- `500` - Error.
- `503` - Service Unavailable **Scenarios:** - The listing service is unavailable or did not respond in time. The request can be retried.

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Listing API
  version: 2.0.0
servers:
  - url: https://marketplace-api.centraldispatch.com
    description: Production server
paths:
  /draft-listings/id/{id}:
    put:
      tags:
        - Draft-Listings
      summary: Update Draft Listing
      description: >-
        
        Update a draft listing.


        #### 👥 Customer Type

        - Shipper


        #### 📝 Important Notes

        - This operation replaces the entire draft. Any field omitted from the
        request is cleared, so send the whole draft on every update.

        - The draft remains a draft. Updating it does not publish it to the
        marketplace.

        - The `If-Match` header is required and its value can be found in the
        `ETag` response header of the resource's GET by ID endpoint.

        - A stale `If-Match` value is rejected with `422`, and the stored draft
        is left unchanged. Re-read the draft to obtain the current `ETag` before
        retrying.
      operationId: putDraftListing
      parameters:
        - name: id
          in: path
          description: The ID of the listing.
          required: true
          schema:
            type: integer
            format: int64
          example: 42220470
        - name: If-Match
          in: header
          description: This is a required field to ensure the update is being completed on
            an item that has not changed since it was last read. The value of
            this field will be the value of the `ETag` header that was received
            on the preceding get call.
          required: true
          schema:
            type: integer
          example: 8675309
        - name: Content-Type
          in: header
          description: The major version of the API to make a request against. This is a
            custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to
            request a resource from version 2.x.x of an API, the Content-Type
            header should be set to `application/vnd.coxauto.v2+json`.
          required: true
          schema:
            type: string
          example: application/vnd.coxauto.v2+json
      requestBody:
        description: "`DraftListingRequest`"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DraftListingRequest"
            examples:
              ex. partial draft:
                value:
                  shipperOrderId: 123-abc 900
                  availableDate: 2025-02-20T00:00:00Z
                  vehicles:
                    - vin: KL8CH6SA6NC001234
                      year: 2022
                      make: Chevrolet
                      model: Spark
              ex. complete draft:
                value:
                  shipperOrderId: 123-abc 900
                  externalId: RND10 CHEV
                  trailerType: OPEN
                  hasInOpVehicle: false
                  loadSpecificTerms: Charging cables need to be picked up with vehicles and if
                    left behind a $200 fee will be applied.
                  availableDate: 2025-02-20T00:00:00Z
                  expirationDate: 2025-03-10T00:00:00Z
                  desiredDeliveryDate: 2025-03-04T00:00:00Z
                  partnerReferenceId: ORD-2023-0001
                  price:
                    total: 500
                    cod:
                      amount: 200
                      paymentMethod: CASH_CERTIFIED_FUNDS
                      paymentLocation: PICKUP
                    balance:
                      amount: 300
                      paymentTime: IMMEDIATELY
                      balancePaymentTermsBeginOn: PICKUP
                      balancePaymentMethod: CASH
                  sla:
                    duration: P2D
                    timeZoneOffset: -7:00
                    rolloverTime: 19:00:00
                    includeCurrentDayAfterRollOver: true
                  stops:
                    - stopNumber: 1
                      locationName: ABC Cars lot
                      address: 345 W Elm St.
                      city: Anaheim
                      state: CA
                      postalCode: "92802"
                      country: US
                      contactName: Mickey Smith
                      contactPhone: 949-555-2434
                      geoCode:
                        longitude: -117.91836265987132
                        latitude: 33.81228788622535
                      locationType: Dealership
                    - stopNumber: 2
                      locationName: XYZ Inc.
                      address: 255 Sands Ave.
                      city: Las Vegas
                      state: NV
                      postalCode: "89169"
                      country: US
                      contactName: Dean Vega
                      contactPhone: 702-555-1212
                      geoCode:
                        longitude: -115.16195281104913
                        latitude: 36.121343020081525
                      locationType: Dealership
                  vehicles:
                    - pickupStopNumber: 1
                      dropoffStopNumber: 2
                      externalVehicleId: EXT123456
                      vin: KL8CH6SA6NC001234
                      year: 2022
                      make: Chevrolet
                      model: Spark
                      trim: LS
                      vehicleType: CAR
                      color: Red
                      isInoperable: false
                      tariff: 1030.5
                  marketplaces:
                    - marketplaceId: 10000
                      searchable: true
                      makeOffersEnabled: true
      responses:
        "204":
          description: No Content. Successful request.
          headers:
            Etag:
              description: Contains the current version of the resource and should be used for
                the `If-Match` header on updates.
              schema:
                type: string
              example: "8675300"
        "400":
          description: |-
            Bad Request. Check the request payload.

            **Scenarios:**

             - Missing or malformed customer ID in the access token.
             - The `If-Match` header is missing.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsWithProperties"
        "401":
          description: Unauthorized. Authentication failed or missing.
        "403":
          description: Forbidden. The attempted action is not permitted.
        "404":
          description: |-
            Not Found.

            **Scenarios:**

             - Draft listing not found.
             - The draft listing belongs to another customer.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsWithProperties"
        "415":
          description: >-
            Unsupported Media Type


            **Scenarios:**

             - `Content-Type` version header is missing or invalid - v2 API requires `Content-Type: application/vnd.coxauto.v2+json`.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsWithProperties"
        "422":
          description: >-
            Unprocessable Entity. Errors found in the request.


            **Scenarios:**

             - The draft listing is out of date - the `If-Match` header value does not match the current version.
             - The draft contains no user-entered field.
             - A supplied field failed validation.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsWithProperties"
        "429":
          description: Too Many Requests. Rate limit exceeded.
        "500":
          description: Error.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Errors"
        "503":
          description: >-
            Service Unavailable


            **Scenarios:**

             - The listing service is unavailable or did not respond in time. The request can be retried.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsWithProperties"
      security:
        - Bearer: []
security:
  - Bearer: []
components:
  schemas:
    DraftListingRequest:
      type: object
      properties:
        shipperOrderId:
          maxLength: 50
          type: string
          description: The ID of the shipper order.
          nullable: true
          example: 123-abc 900
        externalId:
          maxLength: 50
          type: string
          description: An identifier managed by the user. Shippers can use this field to
            map a record (e.g. order, shipment, dispatch) in their local TMS to
            a Central Dispatch record. This value is displayed as the load
            number on the Central Dispatch website.
          nullable: true
          example: RND10 CHEV
        trailerType:
          enum:
            - DRIVEAWAY
            - ENCLOSED
            - OPEN
          type: string
          description: The trailer type. This list is not exhaustive and additional values
            may be added at any time.
          default: OPEN
          nullable: true
          example: OPEN
        loadSpecificTerms:
          maxLength: 500
          type: string
          description: "These are provisions added to a contract that specify extra
            obligations, rights, or conditions beyond the standard terms.\r

            <b>Real Life Example</b>: Charging cables need to be picked up with
            vehicles and if left behind a $200 fee will be applied.\r

            <b>Rules</b>: This information will be visible only to the assigned
            carrier after the load is dispatched, and it will no longer be
            editable at that point."
          nullable: true
          example: Charging cables need to be picked up with vehicles and if left behind a
            $200 fee will be applied.
        requiresInspection:
          type: boolean
          description: Indicates the shipper requests for the carrier to use the Central
            Dispatch Mobile App to perform vehicle inspection at pickup and
            delivery. If true, the carrier will be asked to acknowledge the
            request before accepting the load.
          default: false
          nullable: true
          example: true
        requiresDriverVerificationAtPickup:
          type: boolean
          description: Indicates if the driver verification process is required. A driver
            must be assigned to the load before delivery. Information will be
            emailed to the contact physically present at the pickup location for
            use in verifying the driver's identification. The Central Dispatch
            Mobile App must be used to perform the pickup and delivery
            inspection. (Only currently applicable to select private
            Marketplaces).
          default: false
          nullable: true
          example: true
        availableDate:
          type: string
          description: The available date of the listing, in UTC/ISO 8601 format. Must not
            be before today or later than 30 days from today.
          format: date-time
          example: 2025-02-20T00:00:00Z
        expirationDate:
          type: string
          description: The expiration date of the listing, in UTC/ISO 8601 format. Must
            not be before today or later than 30 days from today. Will default
            to after creation date if not supplied.
          format: date-time
          nullable: true
          example: 2025-03-10T00:00:00Z
        desiredDeliveryDate:
          type: string
          description: The desired delivery date of the listing, in UTC/ISO 8601 format.
            Must be equal or greater than `availableDate` and not before today
            or later than 30 days from today (optional).
          format: date-time
          nullable: true
          example: 2025-03-04T00:00:00Z
        partnerReferenceId:
          maxLength: 50
          type: string
          description: A user supplied ID used for reference.
          nullable: true
          example: 969175d4-a3f8-4e43-b64f-a95d77475aa0
        price:
          $ref: "#/components/schemas/DraftPriceRequest"
        sla:
          $ref: "#/components/schemas/DraftSlaRequest"
        stops:
          type: array
          items:
            $ref: "#/components/schemas/DraftStopRequest"
          description: A collection of stops associated with the listing. A minimum of two
            stops is required, one for pickup and one for delivery.
        vehicles:
          type: array
          items:
            $ref: "#/components/schemas/DraftVehicleRequest"
          description: A collection of vehicles associated with the listing. A minimum of
            one vehicle is required.
        marketplaces:
          type: array
          items:
            $ref: "#/components/schemas/DraftMarketplaceRequest"
          description: A collection of marketplaces associated with the listing.
        tags:
          type: array
          items:
            $ref: "#/components/schemas/TagRequest"
          description: A collection of tags associated with the listing.
          nullable: true
        transportationReleaseNotes:
          type: string
          description: "Displayed in Central Dispatch website/app as \"Transport Special
            Instructions\", these are specific guidelines or details for the
            safe and efficient pick up, delivery, or transportation of a load.
            This may contain sensitive data and is not available prior to
            acceptance of terms by a carrier.\r

            <b>Rules</b>: This information is visible only to the assigned
            carrier after the load is dispatched and remains editable at any
            time."
          nullable: true
          example: You will need special clearance to get in the lot. Call Jean at
            303-999-1212.
        dispatchId:
          type: string
          description: If creating a listing from a canceled dispatch, provide the
            dispatch ID on Create Listing to qualify for quota exemption on
            matching vehicles. For each vehicle whose VIN matches a vehicle on
            the original dispatch, the prior quota allocation may be reused
            instead of incrementing. Not required and has no effect on Update
            Listing.
          format: uuid
          nullable: true
          example: d159acc0-e89b-12d3-a456-426614174000
      description: Details of a draft listing to be created or updated.
    ErrorsWithProperties:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: "#/components/schemas/ErrorWithProperties"
          description: A collection of errors.
          nullable: true
      description: An error occurred, and the request could not be completed.
    Errors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: "#/components/schemas/Error"
          description: A collection of errors.
          nullable: true
      description: An error occurred, and the request could not be completed.
    DraftPriceRequest:
      type: object
      properties:
        total:
          minimum: 0.01
          type: number
          description: The total amount to be paid for completing the dispatch.
          format: double
          example: 500
        totalCurrency:
          $ref: "#/components/schemas/Currency"
        cod:
          $ref: "#/components/schemas/DraftCodRequest"
        balance:
          $ref: "#/components/schemas/DraftBalanceRequest"
      description: Details of the price of a draft listing.
    DraftSlaRequest:
      type: object
      properties:
        duration:
          type: string
          description: How many days the customer has to pick up/deliver. The format is
            ISO 8601 duration format `P{duration in days}D` where the number of
            days comes from when the listing becomes available. For example,
            `P2D` means 2 days. This sets the deadline for completing the
            transport.
          example: P2D
        timeZoneOffset:
          type: string
          description: "Which time zone to use for SLA calculations. For example, `-5.00`
            represents Eastern Time and `+0.00` represents UTC/GMT. Can be
            negative. Acceptable range: -12:00 to +14:00 hours."
          default: 00:00:00
          nullable: true
          example: -7:00
        rolloverTime:
          pattern: ^-?(\d+\.)?\d{2}:\d{2}:\d{2}(\.\d{1,7})?$
          type: string
          description: The time of day the "business day" ends. For example, 17:30 means
            5:30 PM. If the load is accepted after this time and available for
            immediate pickup, the ability for it to be picked up on the same day
            is determined by `includeCurrentDayAfterRollOver`.
          default: 00:00:00
          nullable: true
          example: 19:00:00
        includeCurrentDayAfterRollOver:
          type: boolean
          description: "Indicates whether the load can be picked up after the rollover
            time if it is available on the same day the load is accepted. This
            could be do to the pickup location not being open or reachable after
            the rollover time. Does not apply to listings with availableDate in
            the future.\r

            Example with 5:30 PM rollover:\r

            When true: When accepting the load, the carrier can choose to pick
            it up after 5:30 PM. Sla duration starts tomorrow and ends on day
            3.\r

            When false: When accepting the load, the carrier cannot choose to
            pick it up after 5:30 PM today. It can only be picked up tomorrow as
            the pickup location has closed at the rollover time. Sla duration
            starts tomorrow and ends on day 3."
          example: true
      description: Details of the service level agreement of a draft listing.
    DraftStopRequest:
      type: object
      properties:
        stopId:
          type: string
          description: The system assigned UUID of the stop. Read-only on create (POST).
            Required on update (PUT).
          format: uuid
        stopNumber:
          type: integer
          description: The sequential number of the stop along the route e.g. 1 is the
            pick up stop and 2 is the delivery stop.
          format: int32
          example: 1
        locationName:
          maxLength: 200
          type: string
          description: The name of the stop.
          nullable: true
          example: ABC Cars lot
        address:
          maxLength: 100
          type: string
          description: The street address.
          nullable: true
          example: 345 W Elm St.
        address2:
          maxLength: 100
          type: string
          description: Additional street address line.
          nullable: true
          example: 2nd Floor
        city:
          maxLength: 50
          type: string
          description: The city.
          example: Anaheim
        state:
          type: string
          description: The state.
          example: CA
        postalCode:
          maxLength: 20
          type: string
          description: The ZIP code. Must be a valid United States ZIP code or Canadian
            postal code.
          example: "92802"
        country:
          maxLength: 2
          type: string
          description: The country code. US or CA.
          nullable: true
          example: US
        phone:
          maxLength: 50
          type: string
          description: The primary phone number of the contact.
          nullable: true
          example: 949-555-1323
        phone2:
          maxLength: 50
          type: string
          description: An additional phone number of the contact.
          nullable: true
          example: 949-555-2434
        phone3:
          maxLength: 50
          type: string
          description: An additional phone number of the contact.
          nullable: true
          example: 949-555-3545
        siteId:
          type: string
          description: The ID of the site.
          nullable: true
          example: ABC
        contactName:
          maxLength: 100
          type: string
          description: The name of the contact.
          nullable: true
          example: Mickey Smith
        contactPhone:
          maxLength: 50
          type: string
          description: The primary phone number of the contact.
          nullable: true
          example: 949-555-1323
        contactCellPhone:
          maxLength: 50
          type: string
          description: The cell phone number of the contact.
          nullable: true
          example: 949-555-1212
        buyerNumber:
          maxLength: 70
          type: string
          description: The buyer reference number.
          nullable: true
          example: "12345"
        metroArea:
          maxLength: 150
          type: string
          description: The metro area of the stop.
          nullable: true
          example: Orange County
        twic:
          type: boolean
          description: Indicates whether the stop requires driver to have a Transportation
            Worker Identification Credential (TWIC). A TWIC is a credential
            required by the Maritime Transportation Security Act for carriers to
            access some locations. If you are not sure if a TWIC is needed,
            please contact the location.
          default: false
          example: true
        geoCode:
          $ref: "#/components/schemas/DraftGeoCodeRequest"
        locationType:
          enum:
            - Unspecified
            - AirportRentalCenter
            - Auction
            - AuctionSatelliteLot
            - CommercialBusiness
            - CorporateOfficePlant
            - CrossDockSatelliteStagingLot
            - Dealership
            - Impound
            - MarshallingYard
            - MilitaryBase
            - MobileAuction
            - Port
            - RailYard
            - ReconFacility
            - RentalCarRetailSite
            - Repo
            - Residence
            - ServiceCenter
            - ConsumerMoves
            - Terminal
            - Other
            - MechanicShop
            - Warehouse
            - ParkingLot
          type: string
          description: The facility type of the stop. This list is not exhaustive and
            additional values may be added at any time.
          default: Unspecified
          nullable: true
          example: Dealership
        contactEmailAddress:
          type: string
          description: The email address of the contact. Must be a valid email address
            format.
          nullable: true
          example: mickey@snoogle.com
      description: Details of a stop on a draft listing.
    DraftVehicleRequest:
      type: object
      properties:
        vehicleId:
          type: string
          description: "The system assigned UUID of the vehicle.\r

            \r

            - **POST (Create)**: Read-only. Do not include a client-supplied
            value — the system generates this on creation.\r

            - **PUT (Update)**: Required only if you are updating an existing
            vehicle — supply the `vehicleId` of the vehicle you intend to
            update. Omit it to add a new vehicle to the listing.\r

            \r

            ⚠️ Important: If `vehicleId` is omitted on a PUT request for a
            vehicle you intended to update, the system cannot match the request
            to an existing vehicle and will treat it as a new vehicle creation.
            This will count against your vehicle quota."
          format: uuid
        externalVehicleId:
          maxLength: 50
          type: string
          description: A vehicle identifier managed by the user. Shippers can use this
            field to map a vehicle record in their local TMS to a Central
            Dispatch record.
          nullable: true
          example: EXT123456
        pickupStopNumber:
          type: integer
          description: The stop number where the vehicle will be picked up.
          format: int32
          example: 1
        dropoffStopNumber:
          type: integer
          description: The sequential stop number where the vehicle will be delivered.
            Must be greater than `pickupStopNumber`.
          format: int32
          example: 2
        vin:
          maxLength: 50
          type: string
          description: The vehicle identification number (VIN). Required if `year`, `make`
            and `model` are null.
          nullable: true
          example: KL8CH6SA6NC001234
        year:
          type: integer
          description: The 4 digit year of the vehicle. Required if `vin` is null.
          format: int32
          nullable: true
          example: 2022
        make:
          maxLength: 50
          type: string
          description: The manufacturer's make of the vehicle. Required if `vin` is null.
          nullable: true
          example: Chevrolet
        model:
          maxLength: 50
          type: string
          description: The manufacturer's model of the vehicle. Required if `vin` is null.
          nullable: true
          example: Spark
        trim:
          maxLength: 100
          type: string
          description: The manufacturer's trim of the vehicle.
          nullable: true
          example: LS
        vehicleType:
          enum:
            - ATV
            - BOAT
            - CAR
            - HEAVY_EQUIPMENT
            - LARGE_YACHT
            - MOTORCYCLE
            - OTHER
            - PICKUP
            - RV
            - SUV
            - TRAVEL_TRAILER
            - VAN
          type: string
          description: The type of vehicle e.g. CAR, PICKUP, SUV. This list is not
            exhaustive and additional values may be added at any time.
          default: OTHER
          nullable: true
          example: CAR
        vehicleTypeOther:
          maxLength: 100
          type: string
          description: The description of the vehicle type. Will default to `Other` when
            null and `vehicleType` is `OTHER`.
          nullable: true
          example: Golf Cart
        color:
          maxLength: 100
          type: string
          description: The color of the vehicle.
          nullable: true
          example: Red
        licensePlate:
          maxLength: 20
          type: string
          description: The license plate of the vehicle.
          nullable: true
          example: B314PIE
        licensePlateState:
          maxLength: 2
          type: string
          description: The two-letter state abbreviation of the vehicle's license plate.
          nullable: true
          example: CA
        lotNumber:
          maxLength: 50
          type: string
          description: The lot number of the vehicle.
          nullable: true
          example: LOT789
        isInoperable:
          type: boolean
          description: Indicates whether the vehicle is inoperable.
          default: false
          nullable: true
          example: false
        tariff:
          type: number
          description: The tariff on the vehicle.
          format: double
          nullable: true
          example: 1030.5
        tariffCurrency:
          $ref: "#/components/schemas/Currency"
        additionalInfo:
          maxLength: 500
          type: string
          description: Additional information.
          nullable: true
          example: The vehicle is in the back of the lot behind the big tree.
        oversized:
          type: boolean
          description: Indicates whether the load is oversized.
          default: false
          nullable: true
          example: false
        shippingSpecs:
          $ref: "#/components/schemas/ShippingSpecsRequest"
        vehicleAttributes:
          type: array
          items:
            $ref: "#/components/schemas/VehicleAttributeRequest"
          description: A collection of vehicle attributes.
          nullable: true
        noKeys:
          type: boolean
          description: Indicates whether the vehicle has no keys.
          default: false
          nullable: true
          example: true
        noTires:
          type: boolean
          description: Indicates whether the vehicle has no tires.
          default: false
          nullable: true
          example: false
        flatTire:
          type: boolean
          description: Indicates whether the vehicle has a flat tire.
          default: false
          nullable: true
          example: true
        frameDamage:
          type: boolean
          description: Indicates whether the vehicle has frame damage.
          default: false
          nullable: true
          example: false
        doesNotRun:
          type: boolean
          description: Indicates whether the vehicle does not run.
          default: false
          nullable: true
          example: true
        doesNotSteer:
          type: boolean
          description: Indicates whether the vehicle does not steer.
          default: false
          nullable: true
          example: false
        doesNotRoll:
          type: boolean
          description: Indicates whether the vehicle does not roll.
          default: false
          nullable: true
          example: false
        inOpNotes:
          maxLength: 200
          type: string
          description: Notes about the inoperable condition of the vehicle.
          nullable: true
          example: Vehicle does not start.
      description: Details of a vehicle on a draft listing.
    DraftMarketplaceRequest:
      type: object
      properties:
        marketplaceId:
          type: integer
          description: "The ID of the Central Dispatch Marketplace. There are three types
            of Marketplaces:\r

            \r

            - **Public**: The public Marketplace ID is `10000`.\r

            - **Test**: Test Marketplace IDs will be provided to you by Central
            Dispatch.\r

            - **Private**: Private Marketplace IDs will be provided to you by
            Central Dispatch, if necessary."
          format: int32
          example: 10000
        digitalOffersEnabled:
          type: boolean
          description: "Indicates whether digital offers are enabled for this Marketplace
            on this listing. Digital offers functionality is currently only
            available for select private Marketplaces. When `true` the following
            are required: \r

            \ - `sla` is required. \r

            \ - `stops` address is required.\r

            \ - `vehicles` all vehicles must have VIN."
          default: false
          nullable: true
          example: true
        searchable:
          type: boolean
          description: "Controls whether the listing appears in Marketplace search
            results. Allows listings to be posted but not publicly searchable.
            When `true`: listing is visible and searchable on this Marketplace.
            When `false`: listing is hidden from Marketplace search."
          default: false
          nullable: true
          example: true
        offersAutoAcceptEnabled:
          type: boolean
          description: Allows carrriers to digitially accept an offer. The button will be
            visible for this Marketplace on this listing. Requires
            `digitalOffersEnabled` to be true.
          default: false
          nullable: true
          example: false
        predispatchNotes:
          maxLength: 500
          type: string
          description: "Provides general preparation instructions for shipments. This
            should not contain sensitive data as it is made available prior to
            acceptance of terms by a carrier.\r

            <b>Rules</b>: This information will always be visible to carriers,
            and it will no longer be editable once the load is dispatched."
          nullable: true
          example: In order to pick up the keys you will have to walk through a lot with a
            big dog that protects it, he's chained but will bark at you.
        excludeCustomersFromOffers:
          type: array
          items:
            type: string
            format: uuid
          description: A collection of customer IDs excluded from offers.
          nullable: true
          example:
            - 0ca91a43-fbee-4c05-9a6c-aa5c63888f5c
            - d4efb4d9-2418-4070-b2f9-46317d578a31
        autoDispatchOnOfferAccepted:
          type: boolean
          description: Automatically creates a dispatch when a carrier accepts an offer on
            the listing. If not specified, the value defaults to the
            configuration of the marketplace the listing is posted to. If
            explicitly provided, the supplied value takes precedence.
          default: false
          nullable: true
          example: true
        makeOffersEnabled:
          type: boolean
          description: Allows carriers to make an offer on the listing. The button will be
            visible for this Marketplace on this listing. Requires
            `digitalOffersEnabled` to be true. Defaults to the value of
            `digitalOffersEnabled` if null.
          nullable: true
          example: true
      description: Details of a marketplace on a draft listing.
    TagRequest:
      type: object
      properties:
        name:
          maxLength: 100
          type: string
          description: The name of the tag.
          nullable: true
          example: contractedCarrier
        value:
          maxLength: 500
          type: string
          description: The value of the tag.
          nullable: true
          example: "true"
      description: Details of a tag.
    ErrorWithProperties:
      type: object
      properties:
        code:
          type: string
          description: The code used for the issue.
          nullable: true
          example: resource.issue_type
        message:
          type: string
          description: A detailed message.
          nullable: true
          example: The issue happened because something is wrong.
        properties:
          type: array
          items:
            $ref: "#/components/schemas/ErrorAltProperty"
          description: Properties related to the issue.
          nullable: true
      description: Details of an error or issue.
    Error:
      type: object
      properties:
        code:
          type: string
          description: The code used for the issue.
          nullable: true
          example: resource.issue_type
        message:
          type: string
          description: A detailed message.
          nullable: true
          example: The issue happened because something is wrong.
        property:
          type: string
          description: The property to which the issue is associated.
          nullable: true
          example: person
        properties:
          type: object
          additionalProperties:
            type: string
          description: Additional properties related to the issue.
          nullable: true
          example:
            firstName: D0nn@
            lastName: Sm!th
      description: Details of an error or issue.
    Currency:
      enum:
        - USD
      type: string
      description: The currency of the monetary field. This list is not exhaustive and
        additional values may be added at any time.
      default: USD
      example: USD
    DraftCodRequest:
      type: object
      properties:
        amount:
          minimum: 0
          type: number
          description: The cash on delivery (COD) or cash on pick up (COP) amount due.
          format: double
          default: 0
          nullable: true
          example: 200
        amountCurrency:
          $ref: "#/components/schemas/Currency"
        paymentMethod:
          enum:
            - CASH_CERTIFIED_FUNDS
            - CHECK
          type: string
          description: The method for the COD/COP payment. This list is not exhaustive and
            additional values may be added at any time.
          default: CASH_CERTIFIED_FUNDS
          nullable: true
          example: CASH_CERTIFIED_FUNDS
        paymentLocation:
          enum:
            - DELIVERY
            - PICKUP
          type: string
          description: The location that COD/COP payment is due. This list is not
            exhaustive and additional values may be added at any time.
          default: PICKUP
          nullable: true
          example: PICKUP
      description: Details of the cash on delivery portion of a draft listing price.
      nullable: true
    DraftBalanceRequest:
      type: object
      properties:
        amount:
          minimum: 0
          type: number
          description: The balance amount that will be due after the COD/COP payment is
            applied.
          format: double
          default: 0
          nullable: true
          example: 300
        amountCurrency:
          $ref: "#/components/schemas/Currency"
        paymentTime:
          enum:
            - FIFTEEN_BUSINESS_DAYS
            - FIVE_BUSINESS_DAYS
            - IMMEDIATELY
            - TEN_BUSINESS_DAYS
            - THIRTY_BUSINESS_DAYS
            - TWO_BUSINESS_DAYS
          type: string
          description: The time frame when the balance payment is due. This list is not
            exhaustive and additional values may be added at any time.
          default: IMMEDIATELY
          nullable: true
          example: IMMEDIATELY
        balancePaymentTermsBeginOn:
          enum:
            - DELIVERY
            - PICKUP
            - RECEIVING_SIGNED_BOL
          type: string
          description: The terms for beginning balance payment. This list is not
            exhaustive and additional values may be added at any time.
          default: PICKUP
          nullable: true
          example: PICKUP
        balancePaymentMethod:
          enum:
            - CASH
            - CERTIFIED_FUNDS
            - COMCHEK
            - COMPANY_CHECK
            - TCH
          type: string
          description: The payment method with which the balance due payment will be paid.
            This list is not exhaustive and additional values may be added at
            any time.
          default: CASH
          nullable: true
          example: CASH
      description: Details of the balance portion of a draft listing price.
      nullable: true
    DraftGeoCodeRequest:
      type: object
      properties:
        longitude:
          type: number
          description: The longitude of the location.
          format: double
          nullable: true
          example: -117.91836265987132
        latitude:
          type: number
          description: The latitude of the location.
          format: double
          nullable: true
          example: 33.81228788622535
      description: Details of the geographic coordinates of a stop on a draft listing.
      nullable: true
    ShippingSpecsRequest:
      type: object
      properties:
        height:
          type: number
          description: The height of the vehicle. If the value is not sent it will be
            completed based on the vehicle information if available.
          format: double
          default: 0
          nullable: true
          example: 58
        width:
          type: number
          description: The width of the vehicle.
          format: double
          default: 0
          nullable: true
          example: 62
        length:
          type: number
          description: The length of the vehicle.
          format: double
          default: 0
          nullable: true
          example: 143
        weight:
          type: number
          description: The weight of the vehicle.
          format: double
          default: 0
          nullable: true
          example: 2246
      description: Details of the shipping specifications of a vehicle.
      nullable: true
    VehicleAttributeRequest:
      type: object
      properties:
        vehicleAttributeType:
          enum:
            - DAMAGE
            - FEATURE
          type: string
          description: The value of the vehicle attribute. This list is not exhaustive and
            additional values may be added at any time.
          default: FEATURE
          nullable: true
          example: DAMAGE
        vehicleAttributeName:
          enum:
            - CAB_AND_CHASSIS
            - CONVERTIBLE
            - CREW_CAB
            - DOES_NOT_ROLL
            - DOES_NOT_RUN
            - DOES_NOT_STEER
            - DUAL_REAR_WHEEL
            - EXTENDED_CAB
            - EXTENDED_LENGTH
            - FLAT_BED
            - FLAT_TIRE
            - FRAME_DAMAGE
            - IS_4X2
            - IS_4X4
            - LADDER_RACK
            - LEFT_KIT
            - LONG_BED
            - NO_KEYS
            - NO_TIRES
            - OTHER_INOP
            - OTHER_INOP_NOTES
            - OVERSIZE_TIRES
            - OVERSIZED_UNIT
            - RAISED_ROOF
            - REGULAR_CAB
            - SHORT_BED
            - SINGLE_REAR_WHEEL
            - STANDARD_LENGTH
            - TOOLBOX
            - UTILITY_BODY
          type: string
          description: The name of the vehicle attribute. This list is not exhaustive and
            additional values may be added at any time.
          default: OVERSIZED_UNIT
          nullable: true
          example: FLAT_BED
        value:
          maxLength: 200
          type: string
          description: The value of the vehicle attribute.
          nullable: true
          example: "true"
      description: Details of a vehicle attribute.
    ErrorAltProperty:
      type: object
      properties:
        property:
          type: string
          description: The name of the property.
          nullable: true
          example: person
        value:
          type: string
          description: The value of the property.
          nullable: true
          example: J0hn D03
      description: Details of an error's property.
  securitySchemes:
    Bearer:
      type: http
      scheme: Bearer
```
