POST request/Results/tou/sms/quote

Create SMS quote If a non-compulsory Body Parameter is NOT specified, the results shown will presume that the non-compulsory Body Parameter is NOT to be taken into account and that only the default behaviour should apply. The default behaviour is that CalculateSavingsFromPreviousTwelveMonthsCost is false

Request Information

URI Parameters

None.

Body Parameters

QuoteRequest
NameDescriptionTypeAdditional information
Address

AddressRequestModel

Required

Calculations

CostCaluclationModel

Required

Consumption

string

None.

Installation

InstallationData

Required

IsSubscription

boolean

Required

Performance

PerformanceCalculation

Required

Solar

SolarModel

Required

Request Formats

application/json, text/json

Sample:
{
  "address": {
    "line1": "sample string 1",
    "line2": "sample string 2",
    "city": "sample string 3",
    "county": "sample string 4",
    "postcode": "sample string 5",
    "text": "sample string 6",
    "propertyType": "sample string 7",
    "moveInDate": "2026-07-09T03:11:24.2260964+00:00"
  },
  "consumption": "sample string 1",
  "solar": {
    "batteryIncluded": true,
    "numberOfPanels": 2,
    "panelSize": 3.0,
    "panelProductCode": "sample string 4",
    "numberOfInverters": 5,
    "inverterSize": 6.0,
    "inverterProductCode": "sample string 7",
    "numberOfBattery": 1,
    "batterySize": 1.0,
    "batteryProductCode": "sample string 8",
    "occupancyArcheType": "sample string 9",
    "solarDegradationFirst": 10.0,
    "solarDegradationNext": 11.0,
    "batteryDegradation": 1.0,
    "batteryUsagePct": 1.0,
    "batteryChargeRate": 1.0,
    "batteryDischargeRate": 1.0
  },
  "installation": {
    "roofOrientation": 1,
    "slope": 2
  },
  "performance": {
    "shade": 1.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": 2.0,
      "meterCost": 3.0,
      "pvCablingConsumablesCost": 4.0,
      "costPerOptimiser": 5.0,
      "costPerBirdProofing": 6.0,
      "costPerRoofMounting": 7.0,
      "electricalandAncillariesCost": 8.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": 2.0,
      "rooferCost": 3.0,
      "scaffoldingCost": 4.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": 2.0,
      "leadGeneration": 3.0,
      "compliance": 4.0,
      "planning": 5.0,
      "newAdditions": [
        {
          "description": "sample string 1",
          "numberOfUnit": 64,
          "costPerUnit": 3.0
        },
        {
          "description": "sample string 1",
          "numberOfUnit": 64,
          "costPerUnit": 3.0
        }
      ]
    },
    "agreedTerm": 1,
    "vatPct": 2.0,
    "inflationPct": 3.0,
    "yieldMarginPct": 4.0
  },
  "isSubscription": true
}

application/xml, text/xml

Sample:
<QuoteRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyUtilityGenius.Api.Models.Dto">
  <Address>
    <City>sample string 3</City>
    <County>sample string 4</County>
    <Line1>sample string 1</Line1>
    <Line2>sample string 2</Line2>
    <MoveInDate>2026-07-09T03:11:24.2260964+00:00</MoveInDate>
    <Postcode>sample string 5</Postcode>
    <PropertyType>sample string 7</PropertyType>
    <Text>sample string 6</Text>
  </Address>
  <Calculations>
    <AgreedTerm>1</AgreedTerm>
    <CostofSale>
      <Compliance>4</Compliance>
      <LeadGeneration>3</LeadGeneration>
      <Marketing>2</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>5</Planning>
      <SalesCommission>1</SalesCommission>
    </CostofSale>
    <InflationPct>3</InflationPct>
    <Installation>
      <DeliveryCost>2</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>3</RooferCost>
      <ScaffoldingCost>4</ScaffoldingCost>
    </Installation>
    <Materials>
      <CostPerBattery>2</CostPerBattery>
      <CostPerBirdProofing>6</CostPerBirdProofing>
      <CostPerInverter>1</CostPerInverter>
      <CostPerOptimiser>5</CostPerOptimiser>
      <CostPerRoofMounting>7</CostPerRoofMounting>
      <ElectricalandAncillariesCost>8</ElectricalandAncillariesCost>
      <MeterCost>3</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>4</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>2</VatPct>
    <YieldMarginPct>4</YieldMarginPct>
  </Calculations>
  <Consumption>sample string 1</Consumption>
  <Installation>
    <RoofOrientation>1</RoofOrientation>
    <Slope>2</Slope>
  </Installation>
  <IsSubscription>true</IsSubscription>
  <Performance>
    <Shade>1</Shade>
  </Performance>
  <Solar>
    <BatteryChargeRate>1</BatteryChargeRate>
    <BatteryDegradation>1</BatteryDegradation>
    <BatteryDischargeRate>1</BatteryDischargeRate>
    <BatteryIncluded>true</BatteryIncluded>
    <BatteryProductCode>sample string 8</BatteryProductCode>
    <BatterySize>1</BatterySize>
    <BatteryUsagePct>1</BatteryUsagePct>
    <InverterProductCode>sample string 7</InverterProductCode>
    <InverterSize>6</InverterSize>
    <NumberOfBattery>1</NumberOfBattery>
    <NumberOfInverters>5</NumberOfInverters>
    <NumberOfPanels>2</NumberOfPanels>
    <OccupancyArcheType>sample string 9</OccupancyArcheType>
    <PanelProductCode>sample string 4</PanelProductCode>
    <PanelSize>3</PanelSize>
    <SolarDegradationFirst>10</SolarDegradationFirst>
    <SolarDegradationNext>11</SolarDegradationNext>
  </Solar>
</QuoteRequest>

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.Line1"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.Line2"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.City"

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.County"

sample string 4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.Postcode"

sample string 5
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.Text"

sample string 6
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.PropertyType"

sample string 7
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Address.MoveInDate"

2026-07-09T03:11:24.2260964+00:00
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Consumption"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.BatteryIncluded"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.NumberOfPanels"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.PanelSize"

3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.PanelProductCode"

sample string 4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.NumberOfInverters"

5
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.InverterSize"

6
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.InverterProductCode"

sample string 7
--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 8
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.OccupancyArcheType"

sample string 9
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.SolarDegradationFirst"

10
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Solar.SolarDegradationNext"

11
--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.RoofOrientation"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Installation.Slope"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Performance.Shade"

1
--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"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Materials.MeterCost"

3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Materials.PVCablingConsumablesCost"

4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Materials.CostPerOptimiser"

5
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Materials.CostPerBirdProofing"

6
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Materials.CostPerRoofMounting"

7
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Materials.ElectricalandAncillariesCost"

8
--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"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Installation.RooferCost"

3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.Installation.ScaffoldingCost"

4
--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"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.CostofSale.LeadGeneration"

3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.CostofSale.Compliance"

4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.CostofSale.Planning"

5
--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"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.InflationPct"

3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Calculations.YieldMarginPct"

4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="IsSubscription"

True
--MultipartDataMediaFormatterBoundary1q2w3e--

Response Information

Resource Description

QuoteResponseModel
NameDescriptionTypeAdditional information
QuoteId

string

None.

Response Formats

application/json, text/json

Sample:
{
  "quoteId": "sample string 1"
}

application/xml, text/xml

Sample:
<QuoteResponseModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyUtilityGenius.Api.Models.Dto">
  <QuoteId>sample string 1</QuoteId>
</QuoteResponseModel>

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="QuoteId"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e--