Skip to main content
PATCH
Update Quote record (partial)

Authorizations

X-API-KEY
string
header
required

Headers

Idempotency-Key
string

Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422.

Maximum string length: 255

Path Parameters

record_number
integer
required

The number attribute of the record.

Body

application/json

Update only the fields you send; lines, recipients, and document settings you leave out keep their saved values.

Send {"record_status": "posted"} to submit a draft quote for approval. items and recipients replace the saved list when sent, so send every line or recipient you want to keep, with its id.

valid_until
string<date> | null
company_id
integer | null
customer_id
integer | null
name
string | null
Maximum string length: 128
email
string | null
currency_iso_4217_code
string | null
term_id
integer | null
memo
string | null
close_date
string<date> | null
contract_start_date
string<date> | null
contract_end_type
enum<string> | null
Available options:
after,
ongoing,
date
number_of_months
integer | null
Required range: x >= 1
contract_end_date
string<date> | null
document_headline_total
enum<string> | null
Available options:
tcv,
annual,
quarterly,
monthly,
first_year
document_total_rows
enum<string>[] | null
Maximum array length: 7

Total rows on the quote document. Monthly, quarterly and annual are the recurring value per period.

Available options:
one_time,
monthly,
quarterly,
annual,
first_year,
first_invoice,
tcv
document_year_by_year
boolean | null
billing_address
AddressSchemaIn · object | null
shipping_address
AddressSchemaIn · object | null
items
QuoteItemIn · object[] | null

items replaces the quote lines wholesale: send id to keep a line, and send its billing fields (billing_frequency, billing_interval, billing_start_date, billing_end_date, ramp_group_id) or it is saved as a one-time line that follows the quote contract dates. On recurring lines rate is the price per billing period.

recipients
QuoteRecipientIn · object[] | null
record_status
enum<string> | null
Available options:
draft,
posted,
archived

Response

OK

A quote with its lines, recipients (signing order included), send status, and totals by billing frequency.

bill_to_address
string
required
deprecated

Deprecated: send the structured billing_address / shipping_address instead.

ship_to_address
string
required
deprecated

Deprecated: send the structured billing_address / shipping_address instead.

created_at
string<date-time>
required
updated_at
string<date-time>
required
id
integer
required
number
integer
required
record_status
enum<string>
required
Available options:
draft,
posted,
archived
valid_until
string<date>
required
company_id
integer
required
company_name
string
required
company_currency
string
required
customer_id
integer | null
required
customer_name
string | null
required
name
string
required
email
string
required
currency_iso_4217_code
string
required
term_id
integer | null
required
term_name
string
required
memo
string
required
close_date
string<date>
required
contract_start_date
string<date>
required
contract_end_type
enum<string>
required
Available options:
after,
ongoing,
date
number_of_months
integer | null
required
contract_end_date
string<date> | null
required
sent_at
string<date-time> | null
required
document_headline_total
enum<string>
required
Available options:
tcv,
annual,
quarterly,
monthly,
first_year
document_total_rows
enum<string>[]
required

Total rows on the quote document. Monthly, quarterly and annual are the recurring value per period.

Available options:
one_time,
monthly,
quarterly,
annual,
first_year,
first_invoice,
tcv
document_year_by_year
boolean
required
items
QuoteItemOut · object[]
required
recipients
QuoteRecipientOut · object[]
required
subtotal
string
required

Sum of quantity x rate before discounts and tax

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
discount_total
string
required

Sum of inline line discounts

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
tax_total
string
required

Sum of line tax

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
amount
string
required

Quote total for one billing period of each line, calculated like an invoice total

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
contract_value
string
required

Contract amount this quote converts to: quantity x rate over each line's term, before discount and tax; approvals compare this

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
totals
QuoteTotalsOut · object
required

Totals by billing frequency

billing_address
AddressSchemaOut · object | null
shipping_address
AddressSchemaOut · object | null
completed_approvals_count
integer
default:0
total_approvals_count
integer
default:0
workflow_status
string | null
pending_approvers_count
integer
default:0
send_status
enum<string>
default:draft
Available options:
draft,
awaiting_approval,
approved,
rejected
can_send
boolean
default:false
approval_info
ApprovalInfoSchema · object | null

Schema for complete approval workflow information.

approval_chain
ApprovalChainSchema · object | null

Full approval chain.

bank_match_status
string | null
code
string | null

Code from the company quote sequence, e.g. QT-0001

created_by
AuditActorSchemaOut · object | null

Schema for audit actor information.

updated_by
AuditActorSchemaOut · object | null

Schema for audit actor information.

Last modified on September 30, 2026