CPQ Revenue Lifecycle Overview
17 min
cpq revenue lifecycle apis the cpq revenue lifecycle apis are a set of restful endpoints that enable external systems to create quotes and orders, modify existing subscriptions, and orchestrate the entire revenue lifecycle using nue's pricing engine they provide a streamlined, programmatic way to handle complex pricing, configuration, and lifecycle management from initial quote through ongoing subscription changes ai coding skills speed up development with pre built ai coding skills that teach your ai coding assistant the exact api schemas, field names, enum values, and common pitfalls so it can generate correct api payloads on the first try available skills skill covers download create quote & order post /cpq/quotes , post /cpq/orders new business quotes and orders with products, bundles, discounts, and subscription terms nue rest create quote order md https //archbee doc uploads s3 amazonaws com/fhnltq9nwpgdvkwodnqkf/weocsovafetf4jwrdfatj 20260808 021034 md update quote & order post /cpq/quotes/{quoteid}\ update , post /cpq/orders/{orderid}\ update action oriented edits to an existing quote or draft order header fields, line edits, add/remove lines, bundle reconfigure, and price tags, with pricing and tax recalculated nue rest update quote order md https //archbee doc uploads s3 amazonaws com/fhnltq9nwpgdvkwodnqkf/tfvbsqo9eojgkfy8qxqk1 20260808 021034 md change order post /cpq/change order renewals, price adjustments, quantity changes, cancellations, upgrades, reconfiguration, and cross sells nue rest change order md https //archbee doc uploads s3 amazonaws com/fhnltq9nwpgdvkwodnqkf/pue4hauozt29umvbdsaur 20260724 005910 md setup download the skill file(s) above place them in your project's ai coding assistant skills directory openai codex your project/ ├── codex/ │ ├── nue rest create quote order md │ ├── nue rest update quote order md │ └── nue rest change order md claude code your project/ ├── claude/ │ └── skills/ │ ├── nue rest create quote order/ │ │ └── skill md │ ├── nue rest update quote order/ │ │ └── skill md │ └── nue rest change order/ │ └── skill md your ai coding assistant will automatically use the skills when generating nue api calls what the skills provide complete field reference every request field with type, required/optional, and description correct enum values e g , billingperiod "month" not "monthly" response schemas expected response structure for parsing api responses common mistakes a "mistakes to avoid" table that prevents known pitfalls like using effectivedate (invalid) instead of subscriptionstartdate worked examples real curl commands for every major scenario api overview create quote ( post /cpq/quotes ) create fully priced quotes with automatic product resolution and pricing engine execution products are identified by productsku + uom , and the pricing engine resolves list prices, applies discounts, evaluates price tags, and expands bundles automatically endpoint description post /cpq/quotes create and persist a quote post /cpq/quotes\ preview preview a quote without persisting (dry run) get /cpq/quotes/{quoteid} retrieve a quote's json representation key capabilities automatic product resolution by sku or name bundle auto expansion with bundled, required, and optional add ons full pricing formula listprice x quantity x term = listtotal header level and line level discounts with propagation rules price tag evaluation (tiered, volume, ramp) preview mode for what if scenarios required fields opportunityid , name , products create quote overview docid\ bc idxynwaus7o9efycwq | standalone products docid\ iupfrldiwgoehemeyadpb | bundles docid\ fri8qggg2m1jvpi qlnvi | discounts docid\ y9awhgt5iyiblymwve6nx create order ( post /cpq/orders ) create orders that provision subscriptions, assets, and entitlements uses the same request format and pricing engine as create quote products are identified by productsku + uom and pricing is resolved automatically endpoint description post /cpq/orders create an order (draft status) post /cpq/orders\ preview preview an order without persisting (dry run) key capabilities same product identification and pricing engine as create quote orders are created in draft status; activation is a separate step after activation, provisions subscriptions, assets, and entitlements supports bundles, discounts, price tags, and billing options required fields customerid , subscriptionstartdate , products create order overview docid\ qdvlx6ws2ascbu8hwfrzf | create order docid\ ymmgzrhx6rmik18clykyl update quote & update order ( \ update ) change a quote or a draft order that already exists, and re run the same pricing and tax cascade the nue line editor runs internally this is the supported alternative to writing fields directly through the objects api, which changes the value and recalculates nothing endpoint description post /cpq/quotes/{quoteid}\ update apply update actions to an existing quote post /cpq/orders/{orderid}\ update apply update actions to an existing draft order action oriented, not payload oriented you do not send the record you want; you send an ordered list of actions naming what to do fields and lines you do not name are left untouched, and a line is deleted only when you name its id there is no separate preview endpoint preview is iscommit false on the same call the six actions action description updateheaderfields patch header fields standard and custom updatelineitems patch fields on existing lines, addressed by line id deletelineitems remove lines by id, cascading to children and private tags addlineitems add products and bundles; parentlineid adds an option under an existing bundle replacepricetags swap a tag for another on every scoped line that carries it removepricetags remove tags from the scoped lines and reprice without them key capabilities actions are re ordered server side into a canonical sequence of stages, so the result is order independent with one exception removepricetags and replacepricetags share a stage and run in submitted order recalc selects what recomputes auto (default), pricing only , tax only , none expectedlastmodified gives you an optimistic concurrency guard instead of a silent clobber bundle reconfigure, line level custom fields, address and taxation overrides, and price tag swaps all work in the same call one transaction a pricing failure rolls the whole update back scope quotes, and orders that have not been activated live subscriptions go through change order update quote overview docid\ j9w7ufhjvphiej93bx5y9 | update order overview docid\ gm0oxvhu351idx6gf9oqa change order ( post /cpq/change order ) modify existing subscriptions through a single endpoint that supports renewals, quantity changes, price adjustments, cancellations, upgrades, reconfiguration, and more each change targets a subscription by its assetnumber endpoint description post /cpq/change order create a change order or change quote supported change types change type description renew extend a subscription for another term adjustprice change pricing discounts, uplifts, or fixed price overrides updatequantity add or remove seats (delta based) cancel terminate a subscription updateterm extend or shorten the subscription term coterm align end date to a target date upgrade replace with a higher tier product reconfigure add or remove add ons within a bundle convertfreetrial convert a trial to a paid subscription newproduct cross sell a new product (must pair with another change) processing options use proceedoption "createorder" for immediate execution or proceedoption "createquote" for an approval workflow change orders orders/change%20order mdx objects api create, update, and delete nue objects (customers, subscriptions, orders, etc ) directly via rest create objects docid 4jf69c d1 w w1dwogueh | update objects docid\ c6xe3c jzmitymxrpx0xb | delete objects docid\ buzrixdpjk11upfqsqpf quick comparison create quote create order update quote / order change order use case pricing preview, approval workflows direct order creation edit an existing quote or draft order modify existing subscriptions product identification productsku + uom productsku + uom line id for edits; productsku + uom for adds assetnumber (subscription id) pricing pricing engine resolves automatically pricing engine resolves automatically full recalc cascade; recalc selects what runs varies by change type preview mode yes ( \ preview ) yes ( \ preview ) yes ( iscommit false ) no request shape full record document full record document ordered actions array change type array output quote + quote line items order + order products recalculated record + lines order or quote + updated subscriptions authentication all cpq revenue lifecycle api requests require your nue api key curl x post 'https //api nue io/cpq/quotes\ preview' \\ h 'nue api key your api key here' \\ h 'content type application/json' \\ d '{ }'