Skip to main content
POST
Create Quote record

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

Body

application/json

Create a quote. record_status posted submits it: it runs the quote approval policy, and the quote is approved when no policy applies. Send draft to save without submitting. 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.

company_id
integer
required
email
string
required
currency_iso_4217_code
string
required
close_date
string<date>
required
contract_start_date
string<date>
required
bill_to_address
string | null
default:""
deprecated

Deprecated: send the structured billing_address / shipping_address instead.

ship_to_address
string | null
default:""
deprecated

Deprecated: send the structured billing_address / shipping_address instead.

billing_address
AddressSchemaIn · object | null
shipping_address
AddressSchemaIn · object | null
valid_until
string<date>
customer_id
integer | null
name
string
default:""
Maximum string length: 128
term_id
integer | null
memo
string
default:""
contract_end_type
enum<string>
default:after
Available options:
after,
ongoing,
date
number_of_months
integer | null
default:12
Required range: x >= 1
contract_end_date
string<date> | null
document_headline_total
enum<string> | null

The large total on the quote document when the quote has recurring lines. Omit to use the organization default on create and keep the saved value on update.

Available options:
tcv,
annual,
quarterly,
monthly,
first_year
document_total_rows
enum<string>[] | null

Total rows that print on the quote document, in print order. The row of the large total does not print. Omit to use the organization default on create and keep the saved rows on update.

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

Print the year-by-year breakdown table on the quote document. Omit to keep the saved value on update; new quotes start with it off.

items
QuoteItemIn · object[]
recipients
QuoteRecipientIn · object[] | null

Omit to leave the saved recipients unchanged

record_status
enum<string>
default:posted
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