An amendment quote modifies an existing active CPQ contract (SBQQ__Contract__c); identify the contract record ID you intend to amend.
Invoke the CPQ amendment API by calling the ServiceRouter with the appropriate amendment loader; the standard approach is to POST to /services/apexrest/SBQQ/ServiceRouter?loader=SBQQ.ContractAPI.ContractAmender (verify the exact loader name against current CPQ documentation).
The payload should include the contract ID and any amendment context required by the loader.
CPQ creates a new SBQQ__Quote__c with Type = Amendment (verify field value), pre-populating existing subscriptions as amendment lines.
Retrieve the newly created amendment quote ID from the response, then read it via QuoteReader to obtain the full model for further editing.
After modifying quantities or adding/removing products, run QuoteCalculator and then QuoteSaver to finalize the amendment quote.
Known gotchas
The contract must be in an active status for amendment to succeed; amending a draft or expired contract will produce an error.
The exact loader name for contract amendment may differ between CPQ versions; always verify against your package version's documentation before using.
Amendment quotes are linked back to the originating contract and subscriptions; deleting or orphaning these records can corrupt the subscription lifecycle.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp