Create quote
create_quoteDraft a quote for an account from catalog product IDs and quantities. The server snapshots catalog prices and computes lines/totals: never pass a price or money amount. Discounts are percentages (line and/or quote discount_pct); above-cap discounts are flagged. Products use unit_price_cents; per_unit multiplies by quantity, flat charges once, and missing/unknown pricing_mode means flat. A flat quantity >1 is flagged. Bundles expand automatically and inherit line discounts; out-of-tier quantities are flagged, not blocked. Returns the quote, priced lines and flags. Status draft/sent records a pre-commit artifact; invoicing and contracts happen elsewhere.
When to use: The user asks for a customer quotation.
Example: Quote Acme for 15 standard-plan units.
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 |