Create quote
create_quoteDraft a quote on an account from a SELECTION of catalog products + quantities. You pick the products and the count for each (e.g. the metric value — the number of units the item scales on); the SERVER prices it — it snapshots each product's price from the catalog and computes every line total and the quote total. You never pass a price. Catalog products live on the product object: each prices from its unit_price_cents (an INTEGER number of cents) and its pricing_mode — per_unit multiplies by the quantity, flat charges once regardless of quantity, and a missing or unknown pricing_mode resolves to flat (a flat line with quantity > 1 is flagged so a mispriced catalog is never silent). Discounts are by PERCENT only (a per-line discount_pct on a line, and/or a quote-level discount_pct) — the server computes the discount cents; you never pass a money amount. Bundled items are expanded automatically (a discounted line discounts its bundled extras too). A quantity that falls outside a product's tier — or a discount above the workspace cap — is flagged (not blocked) so you can fix the selection. A quote is a pre-commit artifact: status is draft or sent (invoicing and contracts happen elsewhere). Returns the quote, its priced lines, and any flags.
When to use: When the user wants a priced quote for a customer. You pick the catalog items and how many of each; the server reads each item's price from the catalog and computes every line total and the quote total — you never pass a price. Bundled extras are added automatically; a count outside an item's range is flagged, not blocked. A quote is a pre-commit document (invoicing and contracts happen elsewhere).
Example: Quote Acme for 15 units of the standard plan plus onboarding.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional display name for the quote; stored on the quote header, null when omitted. | |
| lines | Yes | At least one item. | |
| notes | No | Optional free-text notes stored on the quote header (terms, context); never read for pricing. | |
| status | No | One of: draft | sent. | |
| account_id | Yes | A uuid. | |
| valid_until | No | Must match /^\d{4}-\d{2}-\d{2}$/. | |
| discount_pct | No | A number from 0 to 100. | |
| opportunity_id | No | A uuid. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| quote | No | ||
| created | No | ||
| guidance | No | ||
| line_items | No | ||
| mixed_cadence | No | ||
| missing_objects | No | ||
| tier_validations | No | ||
| annualized_total_cents | No | ||
| pricing_mode_validations | No |