---
title: "Quote update"
method: PUT
path: "/public/v1/documents/{document_id}/quotes/{quote_id}"
tags: ["Quotes"]
---

# Quote update

`PUT /public/v1/documents/{document_id}/quotes/{quote_id}`

This operation updates the details of a specific quote within a document by specifying the document ID and quote ID.

## Path parameters

- `document_id` string, required
- `quote_id` string, required

## Request body

- QuoteUpdateRequest
  - `currency` string — Currency code (ISO 4217)
  - `summary` QuoteUpdateRequestSummary — Summary settings containing adjustments (discounts, fees, taxes) and custom columns that apply to the entire quote / section total.
    - `custom_columns` object
    - `discounts` object — Summary level discounts.
    - `fees` object — Summary level fees.
    - `taxes` object — Summary level taxes.
  - `sections` object[] — Quote sections - this property overrides existing sections in the specified order. If you want to change only one section, you must still pass other sections IDs. Otherwise these sections will be removed.
    - `id` string, uuid — Section ID to update. Invalid (or missing) ID causes creating a new section.
    - `name` string, nullable — Name of the quotes section. If you create a section without providing a value, it will have the default value.
    - `summary` QuoteUpdateRequestSummary — Summary settings containing adjustments (discounts, fees, taxes) and custom columns that apply to the entire quote / section total.
      - `custom_columns` object
      - `discounts` object — Summary level discounts.
      - `fees` object — Summary level fees.
      - `taxes` object — Summary level taxes.
    - `items` object[] — Section items - this property overrides the existing items in the order specified. If you want to change only one item, you must still pass other items IDs. Otherwise these items will be removed.
      - `id` string, uuid — Item ID to update. Invalid (or missing) ID causes creating a new item.
      - `sku` string — Product SKU. If you create an item without providing a value, it will have the default value.
      - `name` string — Item name. If you create an item without providing a value, it will have the default value.
      - `description` string — Item description. If you create an item without providing a value, it will have the default value.
      - `qty` integer — Item QTY. If you create an item without providing a value, it will have the default value.
      - `price` number — Item price. If you create an item without providing a value, it will have the default value. If `price_settings` is passed, this value may change after the quote is updated.
      - `price_settings` object — Price settings if the price is not flat rate. If it is null, the price is flat rate.
        - `base_value` number, nullable, required — Base value for volume discount pricing. If set, tiers are treated like percentage of discount on this value. If not set, tiers are treated like a flat value discount of chosen currency.
        - `tiers` object[], required
          - `min_qty` integer, required
          - `value` number, required
      - `cost` number — Item cost. If you create an item without providing a value, it will have the default value.
      - `billing_frequency` 'weekly' | 'monthly' | 'annually' | 'quarterly' | 'semiannualy', nullable
      - `contract_term` integer, nullable — Contract term. Measured in units set in the `billing_frequency` parameter.
      - `reference_id` string, nullable — Use this field to pass an id that references this item in external systems.
      - `options` object — Denotes whether an item is selected, optional, and has editable quantity.
        - `selected` boolean
        - `qty_editable` boolean, required
        - `optional` boolean
      - `custom_columns` object
      - `external_columns` object
      - `text_columns` object
      - `discounts` object — Item discounts.
      - `taxes` object — Item taxes.
      - `fees` object — Item fees.
      - `multipliers` object — Item multipliers.
    - `settings` object — Section settings. Denotes whether a section is optional or selected, and selection type inside the section - single, multiple, or custom.
      - `optional` boolean
      - `selected` boolean
      - `selection_type` 'custom' | 'single' | 'multiple'
  - `settings` object — Quote settings. Denotes whether a quote is optional or selected, and selection type inside the section - single, multiple, or custom.
    - `selection_type` 'custom' | 'single' | 'multiple'

## Response `200`

OK

- QuoteResponse
  - `id` string
  - `currency` string
  - `total` string
  - `summary` object
    - `total` string
    - `subtotal` string, nullable
    - `one_time_subtotal` string, nullable
    - `recurring_subtotal` object[], nullable
      - `billing_cycle` string
      - `value` string
    - `total_qty` string, nullable
    - `discounts` object, nullable
    - `taxes` object, nullable
    - `fees` object, nullable
    - `custom_fields` object, nullable
    - `total_discount` string, nullable
    - `total_tax` string, nullable
    - `total_fee` string, nullable
    - `total_savings` string, nullable
    - `total_contract_value` string, nullable
  - `sections` object[]
    - `id` string
    - `name` string
    - `summary` object
      - `total` string
      - `subtotal` string, nullable
      - `one_time_subtotal` string, nullable
      - `recurring_subtotal` object[], nullable
        - `billing_cycle` string
        - `value` string
      - `total_qty` string, nullable
      - `discounts` object, nullable
      - `taxes` object, nullable
      - `fees` object, nullable
      - `custom_fields` object, nullable
      - `total_section_value` string, nullable
    - `columns` object[]
      - `header` string, nullable
      - `name` string
      - `merge_name` string, nullable
      - `hidden` string
    - `items` object[], nullable
      - `id` string, nullable
      - `sku` string, nullable
      - `name` string, nullable
      - `description` string, nullable
      - `qty` string, nullable
      - `price` string, nullable
      - `cost` string, nullable
      - `billing_frequency` string, nullable
      - `contract_term` string, nullable
      - `pricing_method` string, nullable
      - `type` string, nullable
      - `reference_type` string, nullable
      - `options` object, nullable
        - `selected` boolean, nullable
        - `qty_editable` boolean, nullable
      - `custom_columns` object, nullable
      - `external_columns` object
      - `discounts` object, nullable
      - `taxes` object, nullable
      - `fees` object, nullable
      - `multipliers` object, nullable
      - `total` string, nullable
      - `overall_total` string, nullable
    - `total` string
    - `settings` QuoteSectionSettings
      - `optional` boolean
      - `selected` boolean
      - `selection_type` 'custom' | 'single' | 'multiple'
  - `merge_rules` object[]
    - `id` string
    - `enabled` boolean
    - `action` object
      - `type` string
      - `section_id` string
    - `condition` object
      - `field_name` string
      - `type` string
      - `comparison` object[]
        - `type` string
        - `value` string
  - `settings` object
    - `selection_type` 'custom' | 'single' | 'multiple'

## Other responses

- `401` — Authentication error
- `403` — Permission error
- `404` — Not found
- `409` — Conflict
- `429` — Too Many Requests

---

[API](https://skmtc.net/pandadoc/apis/pandadoc-public-api.md) · [All operations](https://skmtc.net/pandadoc/apis/pandadoc-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pandadoc/pandadoc-public-api/versions/0c2b70be3fb0/schema)
