Create a new quote

POST https://app.speybooks.com/api/v1/quotes/

Create a new quote in draft status. Requires at least one line item. All monetary amounts (unitPrice) must be in minor units (pence).

The quote number is auto-generated from the organisation's quote numbering sequence. Totals are computed server-side from line items using Decimal.js arithmetic.

Contact ID and optional account IDs on lines are validated and converted from prefixed API format to internal database IDs.

Body parameters

contactId string required
Contact ID (e.g. cont_3).
issueDate string required
Quote issue date (YYYY-MM-DD).
lines array<object> required
Show child parameters
description string required
Line item description.
quantity number required
Quantity (supports decimals).
unitPrice integer required
Unit price in pence (minor units). E.g. 10000 for £100.00.
vatRate number required
VAT rate as a percentage (e.g. 20 for 20%).
accountId string optional
Chart of accounts ID to post to (e.g. acc_4010 for Sales - Services).
validUntil string required
Quote expiry date (YYYY-MM-DD).
notes string optional
Optional notes visible on the quote.
terms string optional
Optional terms and conditions text.

Response

201 Quote created in draft status. Returns the prefixed ID and auto-generated quote number.
Show response fields
id string
quoteNumber string