POST request/Results/tou/sms/quote/{quoteId}
Update quote
Request Information
URI Parameters
| Name | Description | Type | Additional information |
|---|---|---|---|
| quoteId | string |
Required |
Body Parameters
QuoteRequestPut| Name | Description | Type | Additional information |
|---|---|---|---|
| Calculations | CostCaluclationModelPut |
None. |
|
| Electricity | ElectricityModel |
None. |
|
| Installation | Collection of InstallationDataPut |
None. |
|
| isRecalc | boolean |
None. |
|
| Solar | SolarModelPut |
None. |
Request Formats
application/json, text/json
Sample:
{
"isRecalc": true,
"electricity": {
"tariffId": 1,
"paymentType": "MonthlyDirectDebit",
"consumption": 1.0,
"smartMeterConsent": true,
"moveInDate": "2026-07-07T01:59:11.7858433+00:00"
},
"solar": {
"batteryIncluded": true,
"numberOfPanels": 1,
"panelSize": 1.0,
"panelProductCode": "sample string 1",
"numberOfInverters": 1,
"inverterSize": 1.0,
"inverterProductCode": "sample string 2",
"numberOfBattery": 1,
"batterySize": 1.0,
"batteryProductCode": "sample string 3",
"occupancyArcheType": "sample string 4",
"solarDegradationFirst": 1.0,
"solarDegradationNext": 1.0,
"batteryDegradation": 1.0,
"batteryUsagePct": 1.0,
"batteryChargeRate": 1.0,
"batteryDischargeRate": 1.0
},
"installation": [
{
"numberofPanels": 1,
"roofOrientation": 2,
"slope": 3,
"shade": 4.0
},
{
"numberofPanels": 1,
"roofOrientation": 2,
"slope": 3,
"shade": 4.0
}
],
"calculations": {
"panels": {
"costPerPanel": 1.0,
"newAdditions": [
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
},
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
}
]
},
"materials": {
"costPerInverter": 1.0,
"costPerBattery": 1.0,
"meterCost": 1.0,
"pvCablingConsumablesCost": 1.0,
"costPerOptimiser": 1.0,
"costPerBirdProofing": 1.0,
"costPerRoofMounting": 1.0,
"electricalandAncillariesCost": 1.0,
"newAdditions": [
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
},
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
}
]
},
"installation": {
"labourCost": 1.0,
"deliveryCost": 1.0,
"rooferCost": 1.0,
"scaffoldingCost": 1.0,
"newAdditions": [
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
},
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
}
]
},
"costofSale": {
"salesCommission": 1.0,
"marketing": 1.0,
"leadGeneration": 1.0,
"compliance": 1.0,
"planning": 1.0,
"newAdditions": [
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
},
{
"description": "sample string 1",
"numberOfUnit": 64,
"costPerUnit": 3.0
}
]
},
"agreedTerm": 1,
"vatPct": 1.0,
"inflationPct": 1.0,
"yieldMarginPct": 1.0
}
}
application/xml, text/xml
Sample:
<QuoteRequestPut xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyUtilityGenius.Api.Models.Dto">
<Calculations>
<AgreedTerm>1</AgreedTerm>
<CostofSale>
<Compliance>1</Compliance>
<LeadGeneration>1</LeadGeneration>
<Marketing>1</Marketing>
<NewAdditions>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
</NewAdditions>
<Planning>1</Planning>
<SalesCommission>1</SalesCommission>
</CostofSale>
<InflationPct>1</InflationPct>
<Installation>
<DeliveryCost>1</DeliveryCost>
<LabourCost>1</LabourCost>
<NewAdditions>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
</NewAdditions>
<RooferCost>1</RooferCost>
<ScaffoldingCost>1</ScaffoldingCost>
</Installation>
<Materials>
<CostPerBattery>1</CostPerBattery>
<CostPerBirdProofing>1</CostPerBirdProofing>
<CostPerInverter>1</CostPerInverter>
<CostPerOptimiser>1</CostPerOptimiser>
<CostPerRoofMounting>1</CostPerRoofMounting>
<ElectricalandAncillariesCost>1</ElectricalandAncillariesCost>
<MeterCost>1</MeterCost>
<NewAdditions>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
</NewAdditions>
<PVCablingConsumablesCost>1</PVCablingConsumablesCost>
</Materials>
<Panels>
<CostPerPanel>1</CostPerPanel>
<NewAdditions>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
<OtherCostModel>
<CostPerUnit>3</CostPerUnit>
<Description>sample string 1</Description>
<NumberOfUnit>64</NumberOfUnit>
</OtherCostModel>
</NewAdditions>
</Panels>
<VatPct>1</VatPct>
<YieldMarginPct>1</YieldMarginPct>
</Calculations>
<Electricity>
<Consumption>1</Consumption>
<MoveInDate>2026-07-07T01:59:11.7858433+00:00</MoveInDate>
<PaymentType>MonthlyDirectDebit</PaymentType>
<SmartMeterConsent>true</SmartMeterConsent>
<TariffId>1</TariffId>
</Electricity>
<Installation>
<InstallationDataPut>
<NumberofPanels>1</NumberofPanels>
<RoofOrientation>2</RoofOrientation>
<Shade>4</Shade>
<Slope>3</Slope>
</InstallationDataPut>
<InstallationDataPut>
<NumberofPanels>1</NumberofPanels>
<RoofOrientation>2</RoofOrientation>
<Shade>4</Shade>
<Slope>3</Slope>
</InstallationDataPut>
</Installation>
<Solar>
<BatteryChargeRate>1</BatteryChargeRate>
<BatteryDegradation>1</BatteryDegradation>
<BatteryDischargeRate>1</BatteryDischargeRate>
<BatteryIncluded>true</BatteryIncluded>
<BatteryProductCode>sample string 3</BatteryProductCode>
<BatterySize>1</BatterySize>
<BatteryUsagePct>1</BatteryUsagePct>
<InverterProductCode>sample string 2</InverterProductCode>
<InverterSize>1</InverterSize>
<NumberOfBattery>1</NumberOfBattery>
<NumberOfInverters>1</NumberOfInverters>
<NumberOfPanels>1</NumberOfPanels>
<OccupancyArcheType>sample string 4</OccupancyArcheType>
<PanelProductCode>sample string 1</PanelProductCode>
<PanelSize>1</PanelSize>
<SolarDegradationFirst>1</SolarDegradationFirst>
<SolarDegradationNext>1</SolarDegradationNext>
</Solar>
<isRecalc>true</isRecalc>
</QuoteRequestPut>
multipart/form-data
Sample:
--MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="isRecalc" True --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Electricity.TariffId" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Electricity.PaymentType" MonthlyDirectDebit --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Electricity.Consumption" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Electricity.SmartMeterConsent" True --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Electricity.MoveInDate" 2026-07-07T01:59:11.7858433+00:00 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.BatteryIncluded" True --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.NumberOfPanels" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.PanelSize" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.PanelProductCode" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.NumberOfInverters" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.InverterSize" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.InverterProductCode" sample string 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.NumberOfBattery" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.BatterySize" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.BatteryProductCode" sample string 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.OccupancyArcheType" sample string 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.SolarDegradationFirst" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.SolarDegradationNext" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.BatteryDegradation" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.BatteryUsagePct" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.BatteryChargeRate" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Solar.BatteryDischargeRate" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[0].NumberofPanels" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[0].RoofOrientation" 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[0].Slope" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[0].Shade" 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[1].NumberofPanels" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[1].RoofOrientation" 2 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[1].Slope" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Installation[1].Shade" 4 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Panels.CostPerPanel" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Panels.NewAdditions[0].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Panels.NewAdditions[0].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Panels.NewAdditions[0].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Panels.NewAdditions[1].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Panels.NewAdditions[1].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Panels.NewAdditions[1].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.CostPerInverter" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.CostPerBattery" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.MeterCost" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.PVCablingConsumablesCost" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.CostPerOptimiser" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.CostPerBirdProofing" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.CostPerRoofMounting" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.ElectricalandAncillariesCost" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.NewAdditions[0].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.NewAdditions[0].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.NewAdditions[0].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.NewAdditions[1].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.NewAdditions[1].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Materials.NewAdditions[1].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.LabourCost" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.DeliveryCost" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.RooferCost" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.ScaffoldingCost" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.NewAdditions[0].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.NewAdditions[0].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.NewAdditions[0].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.NewAdditions[1].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.NewAdditions[1].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.Installation.NewAdditions[1].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.SalesCommission" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.Marketing" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.LeadGeneration" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.Compliance" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.Planning" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.NewAdditions[0].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.NewAdditions[0].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.NewAdditions[0].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.NewAdditions[1].Description" sample string 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.NewAdditions[1].NumberOfUnit" 64 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.CostofSale.NewAdditions[1].CostPerUnit" 3 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.AgreedTerm" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.VatPct" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.InflationPct" 1 --MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="Calculations.YieldMarginPct" 1 --MultipartDataMediaFormatterBoundary1q2w3e--
Response Information
Resource Description
integerResponse Formats
application/json, text/json
Sample:
1
application/xml, text/xml
Sample:
<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</int>
multipart/form-data
Sample:
--MultipartDataMediaFormatterBoundary1q2w3e Content-Disposition: form-data; name="" 1 --MultipartDataMediaFormatterBoundary1q2w3e--