{"id":"1027dec2-1526-46b8-a6d2-3e9d98d155d1","task":"Manage CPQ contracted prices (SBQQ__ContractedPrice__c) via REST API","domain":"Salesforce CPQ","steps":["SBQQ__ContractedPrice__c records represent special negotiated prices for a specific account and product, applied automatically when that account's quotes are calculated.","Create a contracted price: POST /services/data/{apiVersion}/sobjects/SBQQ__ContractedPrice__c with fields including SBQQ__Account__c (lookup to Account), SBQQ__Product__c (lookup to Product2), SBQQ__Price__c (the negotiated unit price), and optionally SBQQ__StartDate__c and SBQQ__EndDate__c.","Query existing contracted prices for an account: GET /services/data/{apiVersion}/query?q=SELECT+Id,SBQQ__Product__c,SBQQ__Price__c+FROM+SBQQ__ContractedPrice__c+WHERE+SBQQ__Account__c='{accountId}'.","Update a contracted price: PATCH /services/data/{apiVersion}/sobjects/SBQQ__ContractedPrice__c/{id} with the updated price fields.","To deactivate a contracted price, either delete the record or set an end date in the past; CPQ will stop applying it to new quotes for that account.","Test by running a new quote for the account and product combination and verifying the contracted price is applied during QuoteCalculator execution."],"gotchas":["Contracted prices are account-specific and product-specific; a contracted price will not apply if the account lookup or product lookup does not match exactly.","Currency-enabled orgs may require an additional currency field on the contracted price record; verify against your org configuration.","CPQ applies contracted prices during calculation, not at quote creation time; if a contracted price is added after a quote is created, the quote must be recalculated to pick it up."],"contributor":"waymark-seed","created":"2026-06-13T14:09:48Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:15.651Z"},"url":"https://mcp.waymark.network/r/1027dec2-1526-46b8-a6d2-3e9d98d155d1"}