Update editable Quote builder content
Updates purpose-built builder content families while the Quote is editable: sections and lines, pricing adjustments, solar/system design, financing scenarios, payment schedule milestones, incentives, assumptions, savings, and environmental data. Each supplied array replaces that entire content family; omit a family to leave it unchanged. Battery backupPercent and estimatedBackupHours are compatibility inputs that are not persisted—responses derive them from dispatch configuration and load assumptions. No-op PATCH requests return changed=false without ActivityLog, domain event, or timestamp churn. Material writes reject customer-facing Quote states, validate builder constraints such as solar-only system design, and emit ActivityLog plus quote.content.updated domain events with changedFields for webhook consumers. Required scope: quotes:content:write.
Updates purpose-built builder content families while the Quote is editable: sections and lines, pricing adjustments, solar/system design, financing scenarios, payment schedule milestones, incentives, assumptions, savings, and environmental data. Each supplied array replaces that entire content family; omit a family to leave it unchanged. Battery backupPercent and estimatedBackupHours are compatibility inputs that are not persisted—responses derive them from dispatch configuration and load assumptions. No-op PATCH requests return changed=false without ActivityLog, domain event, or timestamp churn. Material writes reject customer-facing Quote states, validate builder constraints such as solar-only system design, and emit ActivityLog plus quote.content.updated domain events with changedFields for webhook consumers. Required scope: quotes:content:write.
Organization API key. Format: Bearer sk_live_...
In: header
Path Parameters
Quote identifier returned by the Organization API.
Request Body
application/json
JSON request payload for patchQuoteBuilderContent.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/quotes/string/content" \ -H "Content-Type: application/json" \ -d '{ "sections": [ { "name": "Solar installation", "lines": [ { "name": "PV installation", "quantity": 1, "unit": "each", "unitPrice": 31500 } ] } ], "solar": { "systemSizeKw": 8.4, "arrays": [ { "panelCount": 21, "panelWattage": 400 } ], "batteries": [ { "manufacturer": "Example Energy", "capacityKwh": 13.5, "quantity": 1 } ], "systemDesign": { "designMode": "manual", "totalActivePanels": 21, "designSizeKw": 8.4 } } }'{ "data": {}, "meta": { "requestId": "string", "version": "v1", "timestamp": "2019-08-24T14:15:22Z", "rateLimit": { "limit": 0, "remaining": 0, "reset": 0 } }}