Skip to main content

Get Quote

A quote is the first step in the synchronous DashLink parcel workflow. It validates address serviceability, calculates delivery fee, determines delivery timelines, and optionally triggers address correction.

The quote endpoint and the create-delivery endpoint share the exact same request payload, with minor differences in the response.


When to use get quote

Quotes allow you to:

  • Validate an address before printing a label
  • Check if a ZIP is serviceable
  • Estimate delivery timelines
  • Preview the fee for the shipment
  • Correct addresses upstream
  • Avoid creating parcels that DashLink cannot deliver

This protects shippers from downstream failures and reduces undeliverable shipments.


When to skip get quote

You may skip the quote step and call create-delivery directly if:

  • You always use DashLink as the carrier
  • You have strong upstream address validation
  • You don’t require fees before label creation

Endpoint

POST /drive/v2/quotes

Request behavior

The quote request validates:

  • Address correctness (dropoff_address_components)
  • Geolocation quality (lat/lng overrides geocoding)
  • Serviceability (ZIP/proximity/days of operation/cutoff times)
  • Critical required fields (recipient details, package dimensions, business IDs)
  • Tracking code rules (if shipper-generated)

If you send an empty external_delivery_id, DashLink will generate a tracking code later during the quote acceptance stage.


Request Fields

A sample request and response found in the Get Quote Example appendix.

FieldTypeRequirementDescription
external_delivery_idstringRequiredEmpty string signals DashLink to generate the code. Required if shipper-generated tracking codes are used. Must be 15–35 characters, unique, no leading zeros. Prefix must be DashLink-approved
order_fulfillment_methodstringRequiredMust be "parcel" for DashLink.
pickup_external_business_idstringRequiredString identifier for your business provided by DashLink.
origin_facility_idstringRequiredMerchant warehouse ID used for mid-mile routing provided by DashLink.
dropoff_addressstringRequiredFull comma-separated delivery address used for serviceability and fee checks.
pickup_business_namestringRecommendedName of the business shipping the item; used in SMS communications, labels, and the tracking page.
dropoff_business_namestringRecommendedName of the business receiving the delivery, used to help Dashers identify the dropoff location.
dropoff_location.latintegerOptionalLatitude for precise navigation. Used only for routing, not fee validation and overrides geocoding.
dropoff_location.lngintegerOptionalLongitude for precise navigation. Overrides geocoding.
dropoff_phone_numberstringRequiredMust follow E.164 format (e.g. +16505555555).
dropoff_instructionsstringRecommendedInstructions to help Dashers successfully complete the delivery.
dropoff_contact_given_namestringRequiredRecipient first name.
dropoff_contact_family_namestringRequiredRecipient last name.
dropoff_contact_send_notificationsbooleanRecommendedDefaults to true. Indicates whether SMS notifications will be sent for this delivery.

Dropoff Address Components

FieldTypeRequirementDescription
dropoff_address_components.street_addressstringRequiredStreet address line.
dropoff_address_components.sub_premisestringRecommendedApartment, suite, or unit number.
dropoff_address_components.citystringRequiredCity name.
dropoff_address_components.statestringRequired2-letter state code.
dropoff_address_components.zip_codeintegerRequiredZIP or postal code.
dropoff_address_components.countrystringRequiredCountry code (e.g. "US").

Order & Item Details

FieldTypeRequirementDescription
order_valueinteger (cents)RecommendedSubtotal excluding tax/tip (e.g. $19.99 → 1999). Must be ≥ 0.
currencystringOptionalDefaults to USD. Currency code.
items[]arrayRequiredArray of Delivery Item objects (maximum 1 item).

Delivery Item Object

FieldTypeRequirementDescription
items[].namestringRequiredName of the package or item.
items[].descriptionstringOptionalDescription of item contents.
items[].external_idstringOptionalShipper-provided metadata that will print on the label returned.
items[].quantityintegerRequiredQuantity of item (always 1 for parcel shipments).
items[].heightinteger (inches)RequiredHeight of package.
items[].widthinteger (inches)RequiredWidth of package.
items[].lengthinteger (inches)RequiredLength of package.
items[].weightinteger (pounds)RequiredWeight of package.
items[].volumeinteger (cubic feet)OptionalVolume of package, (H × W × L) / 1728.
items[].priceinteger (cents)OptionalPrice of item in lowest currency denomination.

Delivery Options

FieldTypeRequirementDescription
contactless_dropoffbooleanRequiredDefaults to true. If true, Dasher takes photo at dropoff.
dropoff_requires_signaturebooleanRequiredDefaults to false. Requires recipient signature. Mutually exclusive with contactless_dropoff

Response behavior


Quote responses do NOT include:

  • Shipping label
  • Some downstream-only fields (photo POD, verification metadata)

To obtain the label (if using DashLink-generated labels), the quote must first be accepted.


Response Fields

In addition to the quote request fields returned in the response, the fields below are either only sent in the response or possibly updated from the request inputs sent.

A sample request and response found in the Get Quote Example appendix.

FieldTypeDescription
external_delivery_idstringEchoed unique delivery ID generated by the caller.
delivery_statusstringAlways "quote" for this endpoint.
feeinteger (cents)Delivery fee in lowest currency denomination (e.g. $5.99 → 599).
dropoff_addressstringFull comma-separated delivery address returned by geocoding.
dropoff_location.latintegerLatitude returned by geocoding for precise navigation.
dropoff_location.lngintegerLongitude returned by geocoding for precise navigation.
dropoff_address_components.street_addressstringGeocoded street address line.
dropoff_address_components.sub_premisestringGeocoded apartment, suite, or unit number.
dropoff_address_components.citystringGeocoded city name.
dropoff_address_components.statestringGeocoded 2-letter state code.
dropoff_address_components.zip_codeintegerGeocoded ZIP or postal code.
dropoff_address_components.countrystringGeocoded country code (e.g. "US").
updated_atstring (ISO-8601)Timestamp indicating when the delivery record was last updated.
pickup_time_estimatedstring (ISO-8601)Estimated pickup time, if available.
dropoff_time_estimatedstring (ISO-8601)Estimated delivery time, if available.
action_if_undeliverablestringWhat DashLink should do if the parcel cannot be delivered. All parcel shipments use: "return_to_pickup", parcels are never disposed or left behind unless configured differently.

Note: Not all fields that may be returned by the Drive API are listed above.
This table includes only the fields relevant to the DashLink parcel use case.