---
search:
  tags:
    - Commerce and CPQ
    - PUT
seo:
  description: >-
    Update a draft quote. Reference for the PUT /api/v1/quotes/{id}/draft
    endpoint in the Taylorz CRM API.
sidebar:
  label: Update a draft quote
  badge: PUT
title: Update a draft quote
type: openapi-operation
---
`PUT /api/v1/quotes/{id}/draft`

**Request body** (`application/json`, required)

- `currency` (string, required)
- `exchangeRate` (object)
- `lines` (object[], required)
- `orderDiscount` (object)
- `pricingDate` (string<date>, required)
- `expectedVersion` (integer, required)
- `freeze` (boolean)

Request body example:

```json
{
  "currency": "string",
  "exchangeRate": {
    "asOf": "2019-08-24",
    "rate": "string",
    "source": "string"
  },
  "lines": [
    {
      "componentKind": "product",
      "groupName": "string",
      "pricing": {
        "method": "catalog"
      },
      "productId": "string",
      "quantity": "string",
      "schedules": [
        {
          "amount": "string",
          "kind": "one_time",
          "startsOn": "2019-08-24"
        }
      ],
      "taxRate": "string"
    }
  ],
  "orderDiscount": {
    "basis": "rate",
    "rate": "string"
  },
  "pricingDate": "2019-08-24",
  "expectedVersion": 1,
  "freeze": false
}
```

**Responses**

- `200` — The draft as it now stands
- `400` — The request body, query or parameters were refused
- `401` — The access token is missing, invalid or revoked
- `403` — The tenant's module is off, or the token's scope or the member's role does not permit the action
- `404` — No such record, or none the caller may read
- `409` — The operation conflicts with the current state
- `413` — The request exceeds the route's body limit
- `500` — An unexpected failure

Response example, 200:

```json
{
  "id": "string",
  "totals": {
    "currency": "string",
    "discount": "string",
    "lines": [
      {
        "discount": "string",
        "net": "string",
        "tax": "string",
        "taxRate": "string"
      }
    ],
    "subtotal": "string",
    "tax": "string",
    "taxableAmount": "string",
    "total": "string"
  },
  "version": 1,
  "versionId": "string"
}
```
