Skip to navigation

create_quote

Build a DRAFT quote in one call, including ramps and price overrides, with a validate-first dry run

Live server: on mcp.solvimon.com only the draft actions are available, see Access modes.

Builds a DRAFT quote in one call: the quote, its first version, the quote subscription and its schedule, plus discounts, commitments, add-ons, price overrides, entitlements, direct pricings and ramp steps.

Run it with mode: validate (the default) first: it resolves the owner and checks the customer, plan version, contact, dates and terms with zero writes. Call mode: apply once the rep has agreed the summary. Pass quote_id to finish a quote that failed or timed out part-way; a resume that would change the term, start date, owner or payment term is refused with the write_quote call that changes it.

ParameterRequiredDescription
customer_idYesCustomer the quote is for
pricing_plan_version_idYesAn ACTIVE plan version
owner_user_id or owner_emailNoThe Solvimon user who owns the quote. A signed-in user who names nobody owns it.
modeNovalidate (default) or apply
billing_periodWhen the version declares severalNever picked for you
billing_currency, pricing_currencyNopricing_currency defaults to the version’s default, with a warning
initial_term, renewal_termNo{type, value}
auto_renewalNotrue or false
start_at, end_at, expires_atNoISO 8601 dates. start_at is required with a ramp or an upgrade.
due_date_configurationNoThe payment term, see Payment terms
discount, commitmentNoSchedule shape: every element is a list item with an ids array
enabled_pricing_idsNoAdd-on pricings to enable
overridesNoPrice overrides, see Price overrides
entitlementsNoNegotiated feature values, see Entitlement overrides
direct_pricingsNoProducts the plan doesn’t carry, see Direct pricing
rampNoLater steps of a ramp, see Ramps
upgrade_from_subscription_idNoQuote an upgrade of a running subscription, see Upgrade quotes
quote_template_idNoTemplate. One ACTIVE template is used automatically; with several, the call lists them so the rep chooses. "none" uses no template.
name, contact_id, reference, custom_fieldsNoQuote name, contact, subscription reference, quote custom field values
Validate a quote with a 20% discount
{
"customer_id": "cust_AbD3DqausjOYiMNDZY11F",
"pricing_plan_version_id": "ppve_Zt6yUw2QmK9nXr4VcHb37",
"owner_email": "rep@acme.com",
"billing_currency": "EUR",
"initial_term": {"type": "MONTH", "value": 12},
"discount": {"totals": [{"percentage": "20"}]},
"mode": "validate"
}

The result tells the agent what to act on:

  • payment_term_default: no payment term was passed, so Solvimon’s default applies.
  • customer_incomplete: a DRAFT customer misses legal details. Fill them with write_customer.
  • customer_has_active_subscription: check whether this should be an upgrade quote.
  • apply returns approval, Solvimon’s evaluation of what finalizing would need. Both modes return entitlements and available_in_addons.

create_quote stops at DRAFT on purpose. Finalizing, accepting, rejecting and converting to a subscription are separate steps for a human to decide, done with write_quote or in Desk.