Authenticate and obtain a Salesforce access token.
Determine the Salesforce record ID (18-character) of the SBQQ__Quote__c you want to read.
Send a GET request to /services/apexrest/SBQQ/ServiceRouter?reader=SBQQ.QuoteAPI.QuoteReader&uid={quoteId}, substituting the actual quote ID.
The response is a serialized CPQ quote model JSON object containing the quote header fields, associated quote lines, pricing, and configuration metadata.
Parse the returned quote model to extract line items, pricing totals, and discount data as needed by your integration.
Store or forward the full model object; many downstream ServiceRouter operations (QuoteCalculator, QuoteSaver) require you to pass back the full model unchanged except for your edits.
Known gotchas
The 'uid' query parameter must be the Salesforce record ID of the SBQQ__Quote__c record, not an external ID or quote number.
The response is CPQ's internal quote model representation, not a standard sObject JSON response; do not attempt to map it directly to standard REST field names.
Do not manipulate the model object structure beyond the fields you intend to change before passing it to other ServiceRouter endpoints, as CPQ depends on the full model being intact.
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