POST request/Results/tou/sms/quote/{quoteId}

Update quote

Request Information

URI Parameters

NameDescriptionTypeAdditional information
quoteId

string

Required

Body Parameters

QuoteRequestPut
NameDescriptionTypeAdditional 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

integer

Response 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--