> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://api-docs.zippd.com/llms.txt.
> For full documentation content, see https://api-docs.zippd.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api-docs.zippd.com/_mcp/server.

# Get a Quote

POST https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote
Content-Type: application/json

Reference: https://api-docs.zippd.com/orders-e-commerce/post-orders-ecommerce-quote

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /orders-ecommerce/quote:
    post:
      operationId: post-orders-ecommerce-quote
      summary: Get a Quote
      tags:
        - subpackage_ordersECommerce
      parameters:
        - name: Authorization
          in: header
          description: ''
          required: true
          schema:
            type: string
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Orders -
                  eCommerce_post-orders-ecommerce-quote_Response_201
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                vehicles:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/OrdersEcommerceQuotePostRequestBodyContentApplicationJsonSchemaVehiclesItems
                  description: A list of vehicle types you'd like to retrieve quotes for.
                duration:
                  type: string
                  description: >-
                    The required duration within which the order will be
                    fulfilled.
                fulfilment_date:
                  type: string
                  format: date
                  description: >-
                    The date on which the order should be fulfilled. Expects
                    date in format 'Y-m-d'.
                co_loading:
                  type: boolean
                  description: >-
                    Whether or not the delivery driver is allowed to load items
                    from other deliveries on their vehicle alongside yours.
                    Defaults to `false` if not provided.
                two_man_delivery:
                  type: boolean
                  description: >-
                    Whether or not the delivery driver is required to have an
                    additional person with them to fulfil the order. Defaults to
                    `false` if not provided.
                order_locations:
                  type: array
                  items:
                    description: Any type
                  description: >-
                    A list of order locations to deliver to. The first location
                    object is always the pickup location, where the driver will
                    go to pickup all items that are to be delivered for this
                    order.
              required:
                - vehicles
                - duration
                - fulfilment_date
servers:
  - url: https://sandbox-api.deliveryapp.com/api/v1
components:
  schemas:
    OrdersEcommerceQuotePostRequestBodyContentApplicationJsonSchemaVehiclesItems:
      type: string
      enum:
        - Car
        - Small Van
        - Short Wheel Base
        - Long Wheel Base
        - Extra Long Wheel Base
        - Luton Van
        - 7.5 Tonne Lorry
      title: >-
        OrdersEcommerceQuotePostRequestBodyContentApplicationJsonSchemaVehiclesItems
    OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitleVehicle:
      type: string
      enum:
        - Car
        - Small Van
        - Short Wheel Base
        - Long Wheel Base
        - Extra Long Wheel Base
        - Luton Van
        - 7.5 Tonne Lorry
      description: The name of the type of vehicle that this quote object applies to.
      title: >-
        OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitleVehicle
    OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitle:
      type: object
      properties:
        vehicle:
          $ref: >-
            #/components/schemas/OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitleVehicle
          description: The name of the type of vehicle that this quote object applies to.
        price:
          type:
            - integer
            - 'null'
          description: >-
            The sub total of the quote for this vehicle. Value will be in lowest
            currency unit, i.e. pence for GBP.
        price_formatted:
          type:
            - string
            - 'null'
          description: The price in a human-readable format.
        price_no_vat:
          type:
            - integer
            - 'null'
          description: >-
            The sub total of the quote for this vehicle excluding VAT. Value
            will be in lowest currency unit, i.e. pence for GBP.
        price_no_vat_formatted:
          type:
            - string
            - 'null'
          description: The price excluding VAT in a human-readable format.
      description: >-
        Price data may return as `null` if the request calls for a delivery
        set-up that is not supported by the platform.
      title: >-
        OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitle
    OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItems:
      type: object
      properties:
        '[vehicle_title]':
          $ref: >-
            #/components/schemas/OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitle
          description: >-
            Price data may return as `null` if the request calls for a delivery
            set-up that is not supported by the platform.
      title: >-
        OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItems
    OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaExtraTrips:
      type: object
      properties:
        price:
          type: integer
          description: >-
            The total price of extra trips for the delivery order. An extra
            trips are any and all locations after the first drop-off loca Value
            will be in lowest currency unit, i.e. pence for GBP.
        price_formatted:
          type: string
          description: Total extra trips price in a human-readable format.
        count:
          type: integer
          description: The total number of extra trips in this delivery order.
      description: >-
        This will be an object when the order type is `delivery`, `null`
        otherwise.
      title: OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaExtraTrips
    Orders - eCommerce_post-orders-ecommerce-quote_Response_201:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          description: The quote ID.
        vehicles:
          type: array
          items:
            $ref: >-
              #/components/schemas/OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaVehiclesItems
          description: >-
            An list of quote objects. Each object will contain a quote for every
            vehicle that was outlined in the request.
        extra_trips:
          oneOf:
            - $ref: >-
                #/components/schemas/OrdersEcommerceQuotePostResponsesContentApplicationJsonSchemaExtraTrips
            - type: 'null'
          description: >-
            This will be an object when the order type is `delivery`, `null`
            otherwise.
        remote:
          type:
            - boolean
            - 'null'
          description: >-
            This will be true if __any__ of the locations fall in a postal code
            that has been flagged as remote and otherwise difficult to reach.
      title: Orders - eCommerce_post-orders-ecommerce-quote_Response_201
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: ''

```

## SDK Code Examples

```python
import requests

url = "https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote"

payload = {
    "vehicles": ["Car"],
    "duration": "string",
    "fulfilment_date": "2022-01-11"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"vehicles":["Car"],"duration":"string","fulfilment_date":"2022-01-11"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote"

	payload := strings.NewReader("{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"string\",\n  \"fulfilment_date\": \"2022-01-11\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"string\",\n  \"fulfilment_date\": \"2022-01-11\"\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"string\",\n  \"fulfilment_date\": \"2022-01-11\"\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote', [
  'body' => '{
  "vehicles": [
    "Car"
  ],
  "duration": "string",
  "fulfilment_date": "2022-01-11"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"string\",\n  \"fulfilment_date\": \"2022-01-11\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "vehicles": ["Car"],
  "duration": "string",
  "fulfilment_date": "2022-01-11"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://sandbox-api.deliveryapp.com/api/v1/orders-ecommerce/quote")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```