{"openapi":"3.1.1","info":{"title":"Gateway API (Aggregated)","version":"1.0.0"},"paths":{"/companies/v1/companies":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"name","in":"query","schema":{"type":"string"}},{"name":"companyNumber","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string"}},{"name":"companyType","in":"query","schema":{"type":"string"}},{"name":"country","in":"query","schema":{"type":"string"}},{"name":"partnerId","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}},{"name":"pageSize","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"put":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyUpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyPatchRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/archive":{"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/restore":{"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/metadata":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"put":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/companies-public-api_CompanyMetadataDto"}}}},"required":true},"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/companies-public-api_CompanyMetadataUpsertRequest"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/metadata/{key}":{"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/tags":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"put":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/companies-public-api_CompanyTagDto"}}}},"required":true},"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/companies-public-api_CompanyTagUpsertRequest"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/tags/{key}/{value}":{"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/users":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyUserCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/users/{objectId}":{"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/partners":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyPartnerCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/partners/{partnerId}":{"patch":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"partnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyPartnerUpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}},"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"partnerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/subscriptions":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanySubscriptionCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/subscriptions/{subscriptionId}":{"put":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanySubscriptionUpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/discounts":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyDiscountCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/discounts/{discountId}":{"put":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"discountId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyDiscountUpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}},"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"discountId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/documents":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyDocumentCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/loas":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CompanyLoaCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/loa-validity":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/loa-validity":{"post":{"tags":["Companies.Api.PublicApi"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CheckLoaValidityRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/authority":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_CreateAuthorityGrantRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/authority/{grantId}":{"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"grantId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/authority/check":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"action","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/lifecycle":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_AddLifecycleStageRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/lifecycle/{stage}":{"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"stage","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/lifecycle/history":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/value-trackers":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"search","in":"query","schema":{"type":"string"}},{"name":"page","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}},{"name":"pageSize","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}},{"name":"orderBy","in":"query","schema":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerReportOrderBy"}},{"name":"ascending","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/value-trackers/summary":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Statuses","in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerStatus"}}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/value-trackers/series":{"post":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerCreateSeriesRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/companies/{companyId}/value-trackers/{id}":{"put":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerUpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}},"delete":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/value-trackers/summary":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"Statuses","in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerStatus"}}}],"responses":{"200":{"description":"OK"}}}},"/companies/v1/emails/send":{"post":{"tags":["Companies.Api.PublicApi"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies-public-api_SendEmailApiRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/companies/v1/emails/{id}/status":{"get":{"tags":["Companies.Api.PublicApi"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/status":{"get":{"tags":["CustomerApi"],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments":{"post":{"tags":["CustomerApi"],"operationId":"CreateAssessment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_CreateAssessmentRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_CreateAssessmentResult"}}}},"400":{"description":"Bad Request","content":{"application/problem\u002Bjson":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_ProblemDetails"}}}},"502":{"description":"Bad Gateway","content":{"application/problem\u002Bjson":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_ProblemDetails"}}}}}}},"/ctp/v1/commodities/types":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"Country","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ctp-customer-api_SupportedCountry"}},{"name":"IncludeDeleted","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/companies/{companyId}/users":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"post":{"tags":["CustomerApi"],"parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_AddCompanyUserRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/recipients":{"put":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_RecipientsUpsertRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}},"get":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/share":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/invite-context":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"CompanyId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"ShareToken","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/responses":{"post":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_SubmitResponseRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/close":{"post":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/questions":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"version","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/questions/schema":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"version","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/companies/summary":{"get":{"tags":["CustomerApi"],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/responses/latest":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"ShareToken","in":"query","required":true,"schema":{"type":"string"}},{"name":"RecipientToken","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/policy-data":{"get":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"put":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_EnergyRiskPolicyDto"}}},"required":true},"responses":{"200":{"description":"OK"}}},"delete":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/ctp/v1/assessments/{assessmentId}/policy-data/complete":{"post":{"tags":["CustomerApi"],"parameters":[{"name":"assessmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ctp-customer-api_EnergyRiskPolicyDto"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/overview/{companyId}":{"get":{"tags":["Portfolio"],"summary":"Get portfolio overview for a company","description":"Returns a high-level portfolio overview for the specified company,\naggregating key metrics across all sites and meters. The overview\nprovides a snapshot of the company\u0027s energy portfolio without\nconsumption time-series data. The company must exist; otherwise the\nservice returns default/empty values. Returns 200 with a\nPortfolioOverviewDto payload.","operationId":"GetPortfolioOverview","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_PortfolioOverviewDto"}}}}}}},"/portfolio/v1/portfolio/consumption/{companyId}":{"get":{"tags":["Portfolio"],"summary":"Get consumption chart data for a company","description":"Returns aggregated consumption chart data across all meters for a\ncompany, filtered by the required query parameters: fuelType\n(ConsumptionFuelType), timePeriod (ConsumptionTimePeriod),\ngranularity (ConsumptionGranularity), and chartType\n(ConsumptionChartType). Optional customStart and customEnd\nparameters are required when timePeriod is Custom. Returns 400 if\ndate range or parameter validation fails, 404 if the company does\nnot exist.","operationId":"GetPortfolioConsumption","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"fuelType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionFuelType"}},{"name":"timePeriod","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionTimePeriod"}},{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionGranularity"}},{"name":"chartType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChartType"}},{"name":"customStart","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"customEnd","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"selectDay","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_SelectDay"}},{"name":"comparePeriod","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ComparePeriod"}},{"name":"specificDay","in":"query","schema":{"type":"string"}},{"name":"channels","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_PortfolioConsumptionDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio":{"get":{"tags":["Portfolio"],"summary":"Get portfolio landing data for a company","description":"Returns the company-level portfolio payload used to navigate back to the\ncompany page in the admin experience. Accepts the companyId query\nparameter and returns the same company summary data exposed by the\nportfolio company summary endpoint, with links for the portfolio landing\npage, company summary, site list, and overview. Returns 400 when\ncompanyId is missing or empty and 404 when the company does not exist.","operationId":"GetPortfolioForCompany","parameters":[{"name":"companyId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfCompanySummaryDto"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/companies/{companyId}":{"get":{"tags":["Portfolio"],"summary":"Get portfolio summary for a company","description":"Returns the portfolio summary for a single company identified by\ncompanyId. Includes HATEOAS links to the company\u0027s sites list and\nthe portfolio overview. Returns 404 if the company does not exist.","operationId":"GetPortfolioCompanySummary","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfCompanySummaryDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/companies/{companyId}/detail":{"get":{"tags":["Portfolio"],"summary":"Get full company details","description":"Returns company details including address, status, country, and tags.","operationId":"GetPortfolioCompanyDetail","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfCompanyDetailDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/companies/{companyId}/max-demand-summary":{"get":{"tags":["Portfolio"],"summary":"Get max demand report for a company","description":"Returns a maximum demand report for a company including peak demand,\nmonthly chart data, and per-site breakdown with capacity utilisation.\nOnly meters with CapacityKva set are evaluated. Window defaults to\nLastMonth; also accepts Last3Months and Last12Months. Returns 404 if\nthe company does not exist.","operationId":"GetCompanyMaxDemandSummary","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"window","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MaxDemandWindow"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_CompanyMaxDemandSummaryDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/sites/{siteId}/max-demand-meters":{"get":{"tags":["Portfolio"],"summary":"Get per-meter max demand rollup for a site","description":"Returns each HH meter at the site with its peak demand (kVA),\nagreed capacity, utilisation percent, and breach count across\nthe requested window. Window defaults to Last12Months; also\naccepts LastMonth and Last3Months. Returns 404 if the site\ndoes not exist.","operationId":"GetSiteMaxDemandMeters","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"window","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MaxDemandWindow"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteMaxDemandMetersDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/companies/{companyId}/meters":{"get":{"tags":["Portfolio"],"summary":"List all meters for a company","description":"Returns all meters belonging to the specified company with site details and Eac.","operationId":"GetPortfolioCompanyMeters","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfCompanyMeterDto"}}}}}}},"/portfolio/v1/portfolio/companies/{companyId}/sites":{"get":{"tags":["Portfolio"],"summary":"List sites for a company","description":"Returns all sites belonging to the specified company as a\ncollection of SiteSummaryDto records. The response includes a count\nand HATEOAS links back to this collection and to the parent company\nresource. Always returns 200, with an empty collection if the\ncompany has no sites.","operationId":"GetPortfolioCompanySites","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfSiteSummaryDto"}}}}}}},"/portfolio/v1/portfolio/sites/{siteId}":{"get":{"tags":["Portfolio"],"summary":"Get site overview including meter summary","description":"Returns a detailed overview for a single site, including its meter\nsummary and aggregated consumption data. Accepts optional query\nparameters: timePeriod (ConsumptionTimePeriod, defaults to\nLast12Months), granularity (ConsumptionGranularity, defaults to\nMonth), customStart and customEnd (DateTime, required when\ntimePeriod is Custom). Returns 400 if custom date range validation\nfails, 404 if the site does not exist. The response includes\nHATEOAS links to the site\u0027s meters, reports, and parent company.","operationId":"GetPortfolioSiteOverview","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timePeriod","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionTimePeriod"}},{"name":"granularity","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionGranularity"}},{"name":"customStart","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"customEnd","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfSiteOverviewDto"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/sites/{siteId}/meters":{"get":{"tags":["Portfolio"],"summary":"List meters for a site","description":"Returns all meters associated with the specified site as a\ncollection of SiteMeterSummary records. The response includes a\ncount and HATEOAS links to this collection and the parent site.\nAlways returns 200, with an empty collection if the site has no\nmeters.","operationId":"GetPortfolioSiteMeters","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfSiteMeterSummary"}}}}}}},"/portfolio/v1/portfolio/sites/{siteId}/data-completeness":{"get":{"tags":["Portfolio"],"summary":"Get data completeness heatmap for a site","description":"Returns data completeness heatmap data for a single site, showing\ngaps in interval data across its meters. Accepts an optional\ntimePeriod query parameter (DataCompletenessTimePeriod, defaults to\nLast12Months). Returns 400 if the custom range is inverted,\n404 if the site does not exist.","operationId":"GetSiteDataCompleteness","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timePeriod","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_DataCompletenessTimePeriod"}},{"name":"from","in":"query","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteDataCompleteness"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/sites/{siteId}/reports":{"get":{"tags":["Portfolio"],"summary":"Get reports for a site","description":"Placeholder endpoint that returns an empty reports array for the\nspecified site. This endpoint is reserved for future report\ngeneration functionality. Always returns 200 with an empty list.","operationId":"GetPortfolioSiteReports","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/sites/{siteId}/consumption":{"get":{"tags":["Portfolio"],"summary":"Get filtered consumption chart data for a site","description":"Returns consumption chart data for a site, aggregated across all\nhalf-hourly meters. Requires chartType (ConsumptionChartType),\ntimePeriod (ConsumptionTimePeriod), and granularity\n(ConsumptionGranularity) as query parameters. Optional parameters\ninclude customStart and customEnd (required when timePeriod is\nCustom), selectDay (SelectDay), comparePeriod (ComparePeriod), and\nspecificDay (DateTime). Returns 400 if parameter validation fails,\n404 if the site does not exist.","operationId":"GetSiteConsumptionChart","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"chartType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChartType"}},{"name":"timePeriod","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionTimePeriod"}},{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionGranularity"}},{"name":"customStart","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"customEnd","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"selectDay","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_SelectDay"}},{"name":"comparePeriod","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ComparePeriod"}},{"name":"specificDay","in":"query","schema":{"type":"string"}},{"name":"channels","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterConsumptionChartResponse"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/meters/{meterId}":{"get":{"tags":["Portfolio"],"summary":"Get meter detail including consumption data","description":"Returns detailed information for a single meter, including its\nconfiguration and associated consumption data. The response includes\nHATEOAS links to the parent site and to the meter\u0027s interval data\nendpoint. Returns 404 if the meter does not exist.","operationId":"GetPortfolioMeterDetail","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfMeterDetailDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/meters/{meterId}/consumption":{"get":{"tags":["Portfolio"],"summary":"Get filtered consumption chart data for a meter","description":"Returns consumption chart data for a specific meter, filtered by\nthe required query parameters: chartType (ConsumptionChartType),\ntimePeriod (ConsumptionTimePeriod), and granularity\n(ConsumptionGranularity). Optional parameters include customStart\nand customEnd (required when timePeriod is Custom), selectDay\n(SelectDay), comparePeriod (ComparePeriod), and specificDay\n(DateTime). Returns 400 if date range or parameter validation\nfails, 404 if the meter does not exist.","operationId":"GetMeterConsumptionChart","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"chartType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChartType"}},{"name":"timePeriod","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionTimePeriod"}},{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionGranularity"}},{"name":"customStart","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"customEnd","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"selectDay","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_SelectDay"}},{"name":"comparePeriod","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ComparePeriod"}},{"name":"specificDay","in":"query","schema":{"type":"string"}},{"name":"channels","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterConsumptionChartResponse"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/meters/{meterId}/max-demand":{"get":{"tags":["Portfolio"],"summary":"Get filtered max demand chart data for a half-hourly electricity meter","description":"Returns maximum demand chart data for a half-hourly electricity\nmeter (ElectricityHh, Electricity, or HH types). Requires\ntimePeriod (ConsumptionTimePeriod) as a query parameter, with\noptional customStart and customEnd for custom date ranges. Returns\n404 with an explanatory error if the meter is not found or is not\na supported electricity meter type. Returns 400 if date range\nvalidation fails.","operationId":"GetMeterMaxDemandChart","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timePeriod","in":"query","schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionTimePeriod"}},{"name":"customStart","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"customEnd","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterMaxDemandChartResponse"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/meters/{meterId}/energy-banding":{"get":{"tags":["Portfolio"],"summary":"Get filtered energy banding chart data for a meter","description":"Returns energy banding chart data for a specific meter, categorising\nconsumption into time-of-use bands (e.g. peak, off-peak). Requires\ntimePeriod (ConsumptionTimePeriod) as a query parameter, with\noptional customStart and customEnd for custom date ranges. Returns\n400 if date range validation fails, 404 if the meter does not\nexist.","operationId":"GetMeterEnergyBandingChart","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timePeriod","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionTimePeriod"}},{"name":"customStart","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"customEnd","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterEnergyBandingChartResponse"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/meters/{meterId}/data-completeness":{"get":{"tags":["Portfolio"],"summary":"Get data completeness calendar for a single meter","description":"Returns a data completeness heatmap for a specific meter, showing\ndaily status (Ok, Estimated, Missing, Pending, NotApplicable) over\nthe requested time period. Only applicable to half-hourly electricity\nmeters. Returns 404 if the meter does not exist.","operationId":"GetMeterDataCompleteness","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timePeriod","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_DataCompletenessTimePeriod"}},{"name":"from","in":"query","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteDataCompleteness"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/portfolio/data-completeness/{companyId}":{"get":{"tags":["Portfolio"],"summary":"Get data completeness report for a company","description":"Returns a data completeness report for all meters belonging to the\nspecified company, showing heatmap data that highlights gaps in\ninterval data collection. Requires the timePeriod query parameter\n(DataCompletenessTimePeriod) to control the reporting window.\nReturns 200 with a DataCompletenessDto payload; 400 if the custom\nrange is inverted.","operationId":"GetPortfolioDataCompleteness","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timePeriod","in":"query","required":true,"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_DataCompletenessTimePeriod"}},{"name":"from","in":"query","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_DataCompletenessDto"}}}},"400":{"description":"Bad Request"}}}},"/portfolio/v1/portfolio/savings/{companyId}":{"get":{"tags":["Portfolio"],"summary":"Get savings initiatives for a company","description":"Placeholder endpoint that returns an empty savings initiatives list\nfor the specified company. This endpoint is reserved for future\nsavings tracking functionality. Always returns 200 with an empty\nInitiatives array.","operationId":"GetPortfolioSavings","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_PortfolioSavingsDto"}}}}}}},"/portfolio/v1/companies/{companyId}/overview":{"get":{"tags":["Portfolio"],"summary":"Get aggregated company overview","description":"Returns an aggregated overview of a company\u0027s live portfolio including\nsite and meter counts, meter type breakdown, estimated annual consumption,\ndata health metrics (meters with data, stale meters), and consumption\nstatus groups. Excludes deleted and COT\u0027d (Change of Tenancy) meters\nand sites. Supports ETag-based conditional requests \u2014 send\nIf-None-Match to receive 304 Not Modified when data hasn\u0027t changed.","operationId":"GetCompanyOverview","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_CompanyOverviewDto"}}}},"304":{"description":"Not Modified"}}}},"/portfolio/v1/sites/{siteId}/tags":{"get":{"tags":["Sites","Tags"],"summary":"List all tags for a site","description":"Returns all tags assigned to the specified site. Site tags are\nname-value pairs used to categorise sites within a company.","operationId":"ListSiteTags","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfSiteTagDto"}}}}}},"post":{"tags":["Sites","Tags"],"summary":"Assign a tag to a site","description":"Two request shapes supported:\n1) { CompanyTagId } \u2014 applies an existing Site-scoped CompanyTag to this\n   site. Name and Value are copied server-side.\n2) { CompanyId, Name, Value? } \u2014 creates a flat site tag without a\n   CompanyTag reference. Legacy shape, preserved for callers that used\n   it before SVC-542.\nReturns 400 if neither shape is valid or if the referenced CompanyTag\nis not Site-scoped. Returns 404 if the referenced CompanyTag does not\nexist.","operationId":"CreateSiteTag","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_CreateSiteTagRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfSiteTagDto"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}},"/portfolio/v1/sites/{siteId}/tags/{tagId}":{"delete":{"tags":["Sites","Tags"],"summary":"Remove a tag from a site","description":"Permanently removes a tag from the specified site. Returns 404 if\nthe tag does not exist or does not belong to the specified site.","operationId":"DeleteSiteTag","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tagId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}}}},"/portfolio/v1/companies/{companyId}/tags":{"get":{"tags":["Management","Tags"],"summary":"List all tags for a company (scope-filterable)","description":"Returns tags associated with a company. Filters by scope: Site (default,\nuser-managed), Feature (internal flags), or All. Site tags populate\nthe V3 site-tag picker; Feature tags are admin-only.","operationId":"ListCompanyTags","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"scope","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfCompanyTagDto"}}}},"400":{"description":"Bad Request"}}},"post":{"tags":["Management","Tags"],"summary":"Create a tag for a company","description":"Creates a new key-value tag on the specified company. Both key and\nvalue are required. Returns the created tag with HATEOAS links.","operationId":"CreateCompanyTag","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_CreateCompanyTagRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfCompanyTagDto"}}}},"400":{"description":"Bad Request"}}}},"/portfolio/v1/companies/{companyId}/tags/{tagId}":{"put":{"tags":["Management","Tags"],"summary":"Update a company tag","description":"Updates the key and/or value of an existing company tag. Returns 404\nif the tag does not exist or does not belong to the specified company.","operationId":"UpdateCompanyTag","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tagId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_UpdateCompanyTagRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfCompanyTagDto"}}}},"404":{"description":"Not Found"}}},"delete":{"tags":["Management","Tags"],"summary":"Delete a company tag","description":"Permanently removes a tag from the specified company. Returns 404 if\nthe tag does not exist or does not belong to the specified company.\nReturns 409 if the tag is currently applied to any sites.","operationId":"DeleteCompanyTag","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tagId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"},"409":{"description":"Conflict"}}}},"/portfolio/v1/consumption/meters/{meterId}/intervals":{"get":{"tags":["Consumption","Intervals"],"summary":"Get interval data for a meter","description":"Returns interval readings (half-hourly or daily) for a specific\nmeter, ordered by period ascending. Accepts optional from and to\nquery parameters (DateTime) to filter the date range. The response\nincludes a count and HATEOAS links to this collection and to the\nparent meter resource. Always returns 200, with an empty collection\nif no intervals match the filter criteria.","operationId":"GetPortfolioUnifiedIntervals","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfIntervalDto"}}}}},"x-workflow":"consumption-data","x-workflow-step":2,"x-prerequisites":["ManagementCreateMeter"],"x-related":["UploadCustomIntervals","GetMeterConsumptionChart"]},"post":{"tags":["Consumption","Intervals"],"summary":"Upload custom interval data for a meter without automatic data collection","description":"Uploads custom interval readings for a meter that does not have\nautomatic meter reading (AMR) enabled. The request body must contain\nbetween 1 and 50,000 interval items, each specifying a period,\ninterval type, value, and estimated flag. All uploaded intervals are\ntagged with IntervalSource.Manual. Returns 404 if the meter does\nnot exist, 400 if the meter has AMR enabled, if the intervals list\nis empty, or if the count exceeds 50,000.","operationId":"UploadCustomIntervals","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_UploadIntervalsRequest"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}},"x-workflow":"consumption-data","x-workflow-step":1,"x-prerequisites":["ManagementCreateMeter"],"x-related":["GetPortfolioUnifiedIntervals"]}},"/portfolio/v1/portfolio/schemes/{companyId}":{"get":{"tags":["Portfolio","Schemes"],"summary":"List available schemes for a company\u0027s country","description":"Customer-facing read-only endpoint that lists all active, non-deleted\nschemes available in the company\u0027s country whose effective date range\ncovers the current time. The company must exist or 404 is returned.\nIf the company has no country set, returns an empty collection. Each\nscheme includes its input definitions so the caller knows what data\nis required for enrollment. Returns a HATEOAS collection with links\nto the company and its current enrollments.","operationId":"GetAvailableSchemes","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfCustomerSchemeDto"}}}}}}},"/portfolio/v1/portfolio/schemes/{companyId}/detail/{schemeId}":{"get":{"tags":["Portfolio","Schemes"],"summary":"Get scheme detail with input requirements for customer enrollment","description":"Customer-facing read-only endpoint that retrieves a single scheme\u0027s\ndetail including its input definitions. The scheme must be active,\nnon-deleted, and belong to the same country as the company. Returns\n404 if the company does not exist, the scheme does not exist, the\nscheme is inactive or deleted, or the country does not match. Includes\nHATEOAS links to the available schemes listing.","operationId":"GetSchemeDetailForCustomer","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"schemeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfCustomerSchemeDto"}}}}}}},"/portfolio/v1/portfolio/schemes/{companyId}/enrolled":{"get":{"tags":["Portfolio","Schemes"],"summary":"List all active scheme enrollments for a company across all levels","description":"Customer-facing read-only endpoint that aggregates all scheme enrollments\nacross the full hierarchy: organisation-level (company), site-level (all\nsites belonging to the company), and meter-level (all meters belonging to\nthe company). Deleted schemes are excluded. Each enrollment includes the\nscheme metadata, the enrollment level, the enrolled entity\u0027s ID and name,\ninput values, effective dates, and whether the scheme has expired. The\ncompany must exist or 404 is returned. Returns a summary DTO with the\ntotal count and HATEOAS links.","operationId":"GetCustomerEnrollments","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfCustomerEnrollmentSummaryDto"}}}}}}},"/portfolio/v1/portfolio/meters/{meterId}/gas-reads":{"get":{"tags":["Gas Readings"],"summary":"List gas meter reads with optional date range, pagination, and consumption deltas","description":"Public-facing endpoint that returns paginated gas meter readings for a specific\nmeter. Shares the same handler as the management endpoint but is exposed under\nthe /portfolio path for read-only consumer access.\n\nSupports the same query parameters: from/to date range, page, and pageSize.\nReadings are ordered by date descending with computed consumption deltas\nbetween consecutive reads. See the management variant for full parameter and\nresponse details.","operationId":"GetPublicGasReadings","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_GasReadingsPageDto"}}}}}}},"/portfolio/v1/portfolio/export/consumption":{"post":{"tags":["Export"],"operationId":"PublicEnqueueConsumptionExport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionExportRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/export/portfolio":{"post":{"tags":["Export"],"operationId":"PublicGeneratePortfolioExport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_PortfolioExportRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/export/udi":{"post":{"tags":["Export"],"operationId":"PublicGenerateUdiExport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_UdiExportRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/export/jobs/{id}":{"get":{"tags":["Export"],"operationId":"PublicGetExportJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/export/jobs":{"get":{"tags":["Export"],"operationId":"PublicListExportJobs","parameters":[{"name":"companyId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/export/download/{id}":{"get":{"tags":["Export"],"operationId":"PublicDownloadExport","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/portfolio/export/jobs/{id}/retry":{"post":{"tags":["Export"],"operationId":"PublicRetryExportJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/portfolio/v1/companies/{companyId}/sites":{"get":{"tags":["Management","Sites"],"summary":"List all sites for a company with pagination, search, and sorting","description":"Lists sites for a company with server-side pagination, search, and sorting.\nSearch filters on site name, address, reference, postcode, and town.\nSoft-deleted sites are excluded by default \u2014 set includeDeleted=true to\ninclude them. Archived sites (those with a tenancy end date) are excluded\nby default \u2014 set includeArchived=true to include them. Returns HATEOAS\npagination metadata with meter counts per site.","operationId":"ManagementGetSites","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}},{"name":"pageSize","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}},{"name":"searchTerm","in":"query","schema":{"type":"string"}},{"name":"sortLabel","in":"query","schema":{"type":"string"}},{"name":"sortDirection","in":"query","schema":{"type":"string"}},{"name":"includeDeleted","in":"query","schema":{"type":"boolean"}},{"name":"includeArchived","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfSiteDto"}}}}}},"post":{"tags":["Management","Sites"],"summary":"Create a new site for a company","description":"Creates a new site under the specified company. Requires Name, Address, and\nPostcode. The Country must be an active country code (see GetCountries).\nReturns 400 if required fields are missing or the country is invalid/inactive.\nReturns the created site with HATEOAS links to update, view, and add meters.","operationId":"ManagementCreateSite","parameters":[{"name":"companyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_CreateSiteRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfSiteDto"}}}},"400":{"description":"Bad Request"}},"x-workflow":"site-onboarding","x-workflow-step":1,"x-prerequisites":[],"x-related":["ManagementGetSites","ManagementCreateMeter"]}},"/portfolio/v1/sites/{siteId}":{"get":{"tags":["Management","Sites"],"summary":"Get a site by ID","description":"Retrieves a single site by its ID, including meter count. Returns HATEOAS\nlinks to update, delete, and list meters for this site.","operationId":"ManagementGetSiteById","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfSiteDto"}}}},"404":{"description":"Not Found"}}},"put":{"tags":["Management","Sites"],"summary":"Update a site","description":"Updates a site\u0027s mutable properties (name, address, postcode, etc.). Does not\nsupport changing the company or country. Returns the updated site.","operationId":"ManagementUpdateSite","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_UpdateSiteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfSiteDto"}}}},"404":{"description":"Not Found"}}},"delete":{"tags":["Management","Sites"],"summary":"Delete a site","description":"Soft-deletes a site. The site can still be retrieved with includeDeleted=true\non the list endpoint. Returns 204 No Content on success.","operationId":"ManagementDeleteSite","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/portfolio/v1/sites/{siteId}/meters":{"get":{"tags":["Management","Meters"],"summary":"List meters for a site with pagination","description":"Lists active meters for a site with server-side pagination. Returns 404 if the\nsite does not exist. Each meter includes site name, address context, and\nconsumption poll status. Returns HATEOAS pagination metadata and links to\ncreate a new meter and navigate to the parent site.","operationId":"ManagementGetMetersForSite","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}},{"name":"pageSize","in":"query","schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}},{"name":"includeArchived","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfMeterDto"}}}},"404":{"description":"Not Found"}}},"post":{"tags":["Management","Meters"],"summary":"Create a new meter for a site","description":"Creates a new meter under a site. The meter inherits the site\u0027s country.\nMeterType must be one of: Electricity, ElectricityHh, ElectricityNhh, Gas, Water. MPAN/MPRN\nmust be unique within the company \u2014 returns 409 Conflict if a duplicate exists.\nReturns the created meter with HATEOAS link to its detail endpoint.","operationId":"ManagementCreateMeter","parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_CreateMeterRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfMeterDto"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"409":{"description":"Conflict"},"422":{"description":"Unprocessable Entity"}},"x-workflow":"site-onboarding","x-workflow-step":2,"x-prerequisites":["ManagementCreateSite"],"x-related":["ManagementGetMetersForSite","UpdateAmrConfig"]}},"/portfolio/v1/meters/{meterId}":{"get":{"tags":["Management","Meters"],"summary":"Get a meter by ID","description":"Retrieves a meter by ID, including a summary of any open update proposals\n(pending and auto-approved counts, latest pending proposal details with changed\nfield names). Returns HATEOAS links to update, view versions, and AMR configuration.","operationId":"ManagementGetMeterById","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfMeterDto"}}}},"404":{"description":"Not Found"}}},"put":{"tags":["Management","Meters"],"summary":"Update meter properties and record version history","description":"Updates meter properties through the versioned update proposal system. Computes a\ndiff of changed fields, creates an update proposal, and applies it. If no fields\nchanged, returns the current meter as a no-op. Records the authenticated user as\nthe applier. Returns HATEOAS links to the proposal detail and version history.","operationId":"ManagementUpdateMeter","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_UpdateMeterRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfMeterDto"}}}},"404":{"description":"Not Found"}},"x-workflow":"meter-lifecycle","x-workflow-step":2,"x-prerequisites":["ManagementCreateMeter"],"x-related":["ManagementGetMeterVersions","ManagementGetMeterById"]},"delete":{"tags":["Management","Meters"],"summary":"Delete a meter","description":"Soft-deletes a meter. Returns 204 No Content on success.","operationId":"ManagementDeleteMeter","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/portfolio/v1/meters/{meterId}/versions":{"get":{"tags":["Management","Meters"],"summary":"Get version history for a meter","description":"Returns the version history for a meter \u2014 a chronological list of all recorded\nproperty changes. Each version entry shows which field changed, the old and new\nvalues, and when the change was applied.","operationId":"ManagementGetMeterVersions","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfMeterVersionDto"}}}}},"x-workflow":"meter-lifecycle","x-workflow-step":3,"x-prerequisites":["ManagementCreateMeter"],"x-related":["ManagementGetMeterAtVersion","RestoreMeter"]}},"/portfolio/v1/meters/{meterId}/versions/{versionNumber}":{"get":{"tags":["Management","Meters"],"description":"Reconstructs the meter\u0027s state at a specific version number by replaying changes\nup to that point. Returns 404 if the version number does not exist.","operationId":"ManagementGetMeterAtVersion","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"versionNumber","in":"path","required":true,"schema":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfMeterDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/meters/{meterId}/versions/at":{"get":{"tags":["Management","Meters"],"description":"Reconstructs the meter\u0027s state as it was at a specific point in time. The timestamp\nparameter should be ISO 8601 format and is converted to UTC. Returns the latest\nversion at or before the given timestamp, or 404 if no version exists.","operationId":"ManagementGetMeterAtTime","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timestamp","in":"query","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfMeterDto"}}}},"404":{"description":"Not Found"}}}},"/portfolio/v1/meters/{meterId}/history/{propertyName}":{"get":{"tags":["Management","Meters"],"description":"Returns the change history for a specific property on a meter. Use the property\nname as it appears in the meter model (e.g. MpanCore, TenancyEndDate). Returns\na list of changes with old/new values and timestamps.","operationId":"ManagementGetMeterPropertyHistory","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"propertyName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfPropertyChangeDto"}}}}}}},"/portfolio/v1/meters/{meterId}/deletion-request":{"post":{"tags":["Meters"],"summary":"Request deletion of a meter added by mistake","description":"Initiates a two-stage meter deletion process. Returns a unique confirmation token\nthat must be submitted to the confirm-deletion endpoint within 30 minutes. The meter\nand all associated consumption data will be permanently wiped once confirmed. A reason\nis required for audit purposes.","operationId":"RequestMeterDeletion","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterDeletionRequestInput"}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"409":{"description":"Conflict"}}}},"/portfolio/v1/meters/{meterId}/confirm-deletion":{"post":{"tags":["Meters"],"summary":"Confirm deletion of a meter by providing the confirmation token","description":"Confirms a pending meter deletion request by validating the confirmation token.\nThe token must match exactly and the request must not have expired (30-minute window).\nOnce confirmed, a message is published for background processing to permanently\ndelete the meter and all associated consumption data.","operationId":"ConfirmMeterDeletion","parameters":[{"name":"meterId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterDeletionConfirmInput"}}},"required":true},"responses":{"202":{"description":"Accepted"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Unprocessable Entity"}}}},"/portfolio/v1/metersearch/postcode/{postcode}":{"get":{"tags":["Meter Search"],"summary":"Search for addresses with registered meters by postcode (UK only)","description":"Searches the national energy registry for property addresses that\nhave registered electricity and/or gas meters matching the given UK\npostcode. The postcode is trimmed but must not be empty; returns 400\nif blank. Each result indicates whether electricity and gas meters\nwere matched at that address. Use the returned addressId with the\nSearchByAddress endpoint to retrieve full meter details.","operationId":"SearchMetersByPostcode","parameters":[{"name":"postcode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasCollectionResponseOfMeterSearchAddressDto"}}}},"400":{"description":"Bad Request"}}}},"/portfolio/v1/metersearch/address/{addressId}":{"get":{"tags":["Meter Search"],"summary":"Retrieve all meters registered at a property address","description":"Retrieves all electricity and gas meters registered at the property\nidentified by addressId (obtained from the postcode search\nendpoint). The energy registry lookup may be asynchronous; if the\nresult is not immediately available, a response with Status \u0022Queued\u0022\nand a ticketId is returned for polling. When available, returns\ndetailed electricity meter data (MPAN, profile class, supplier,\ndata aggregator, etc.) and gas meter data (MPRN, capacity, last\nread details). Electricity meters with profile class \u002200\u0022 are\nclassified as ElectricityHh.","operationId":"SearchMetersByAddress","parameters":[{"name":"addressId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfPropertyMetersResultDto"}}}}}}},"/portfolio/v1/metersearch/identifier/{identifier}":{"get":{"tags":["Meter Search"],"summary":"Look up a single meter by MPAN (electricity) or MPRN (gas)","description":"Looks up a single meter in the national energy registry by its\nidentifier. The fuel type is inferred from identifier length:\n12 characters or fewer tries gas (MPRN) first then electricity\n(MPAN); longer identifiers try electricity first then gas. If\nthe primary lookup fails the fallback fuel type is attempted\nautomatically. The identifier is trimmed but must not be empty;\nreturns 400 if blank. Gas lookups may be asynchronous, returning\na \u0022Queued\u0022 status with a ticketId for polling. When an optional\ncompanyId query parameter is provided, the endpoint also checks\nwhether a meter with this identifier already exists in the\ncompany\u0027s portfolio, setting ExistingMeter and ExistingMeterId\non the response. Returns 404 with a list of lookups attempted\nand a message advising manual meter creation if neither lookup\nmatches.","operationId":"LookupMeterByIdentifier","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"companyId","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasResponseOfMeterSearchResultDto"}}}},"400":{"description":"Bad Request"},"404":{"description":"Not Found"}}}}},"components":{"schemas":{"companies-public-api_AddLifecycleStageRequest":{"required":["stage"],"type":"object","properties":{"stage":{"type":"string"},"metadata":{"type":["null","string"]}}},"companies-public-api_CheckLoaValidityRequest":{"required":["companyIds"],"type":"object","properties":{"companyIds":{"type":"array","items":{"type":"string","format":"uuid"}}}},"companies-public-api_CompanyCreateRequest":{"required":["name","address","postCode","companyNumber","companyType","country","isMultinational","isPortalCompany","stripeCustomerId","stripeSubscriptionId","hubSpotCompanyId"],"type":"object","properties":{"name":{"type":"string"},"address":{"type":"string"},"postCode":{"type":"string"},"companyNumber":{"type":"string"},"companyType":{"type":"string"},"country":{"type":"string"},"isMultinational":{"type":"boolean"},"isPortalCompany":{"type":"boolean"},"stripeCustomerId":{"type":["null","string"]},"stripeSubscriptionId":{"type":["null","string"]},"hubSpotCompanyId":{"type":["null","string"]}}},"companies-public-api_CompanyDiscountCreateRequest":{"required":["type","rate","value","startDate","endDate"],"type":"object","properties":{"type":{"type":"string"},"rate":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"value":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"startDate":{"type":["null","string"],"format":"date-time"},"endDate":{"type":["null","string"],"format":"date-time"}}},"companies-public-api_CompanyDiscountUpdateRequest":{"required":["type","rate","value","startDate","endDate"],"type":"object","properties":{"type":{"type":["null","string"]},"rate":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"value":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"startDate":{"type":["null","string"],"format":"date-time"},"endDate":{"type":["null","string"],"format":"date-time"}}},"companies-public-api_CompanyDocumentCreateRequest":{"required":["type","filePath","status"],"type":"object","properties":{"type":{"type":"string"},"filePath":{"type":"string"},"status":{"type":["null","string"]}}},"companies-public-api_CompanyLoaCreateRequest":{"required":["status","docusignEnvelopeId"],"type":"object","properties":{"status":{"type":"string"},"docusignEnvelopeId":{"type":["null","string"]}}},"companies-public-api_CompanyMetadataDto":{"required":["key","value","filePath"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":["null","string"]},"filePath":{"type":["null","string"]}}},"companies-public-api_CompanyMetadataUpsertRequest":{"required":["key","value","filePath"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":["null","string"]},"filePath":{"type":["null","string"]}}},"companies-public-api_CompanyPartnerCreateRequest":{"required":["partnerId","shareData"],"type":"object","properties":{"partnerId":{"type":"string","format":"uuid"},"shareData":{"type":"boolean"}}},"companies-public-api_CompanyPartnerUpdateRequest":{"required":["shareData"],"type":"object","properties":{"shareData":{"type":"boolean"}}},"companies-public-api_CompanyPatchRequest":{"type":"object","properties":{"name":{"type":["null","string"]},"address":{"type":["null","string"]},"postCode":{"type":["null","string"]},"companyNumber":{"type":["null","string"]},"companyType":{"type":["null","string"]},"country":{"type":["null","string"]},"isMultinational":{"type":["null","boolean"]},"isPortalCompany":{"type":["null","boolean"]},"stripeCustomerId":{"type":["null","string"]},"stripeSubscriptionId":{"type":["null","string"]},"hubSpotCompanyId":{"type":["null","string"]}}},"companies-public-api_CompanySubscriptionCreateRequest":{"required":["plan","status","externalId"],"type":"object","properties":{"plan":{"type":"string"},"status":{"type":["null","string"]},"externalId":{"type":["null","string"]}}},"companies-public-api_CompanySubscriptionUpdateRequest":{"required":["plan","status","externalId"],"type":"object","properties":{"plan":{"type":["null","string"]},"status":{"type":["null","string"]},"externalId":{"type":["null","string"]}}},"companies-public-api_CompanyTagDto":{"required":["key","value"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"companies-public-api_CompanyTagUpsertRequest":{"required":["key","value"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"companies-public-api_CompanyUpdateRequest":{"required":["name","address","postCode","companyNumber","companyType","country","isMultinational","isPortalCompany","stripeCustomerId","stripeSubscriptionId","hubSpotCompanyId"],"type":"object","properties":{"name":{"type":"string"},"address":{"type":"string"},"postCode":{"type":"string"},"companyNumber":{"type":"string"},"companyType":{"type":"string"},"country":{"type":"string"},"isMultinational":{"type":"boolean"},"isPortalCompany":{"type":"boolean"},"stripeCustomerId":{"type":["null","string"]},"stripeSubscriptionId":{"type":["null","string"]},"hubSpotCompanyId":{"type":["null","string"]}}},"companies-public-api_CompanyUserCreateRequest":{"required":["objectId","username","firstName","lastName","email","telephone","jobTitle","role"],"type":"object","properties":{"objectId":{"type":"string"},"username":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"email":{"type":"string"},"telephone":{"type":["null","string"]},"jobTitle":{"type":["null","string"]},"role":{"type":["null","string"]}}},"companies-public-api_CreateAuthorityGrantRequest":{"required":["authorityType","validFrom","validTo","evidenceRef","grantedBy"],"type":"object","properties":{"authorityType":{"type":"string"},"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":["null","string"],"format":"date-time"},"evidenceRef":{"type":"string"},"grantedBy":{"type":"string"}}},"companies-public-api_EndCondition":{"type":"integer"},"companies-public-api_SendEmailApiRequest":{"required":["actionKey","companyId","recipientEmail"],"type":"object","properties":{"actionKey":{"type":"string"},"companyId":{"type":"string","format":"uuid"},"recipientEmail":{"type":"string"},"properties":{"type":["null","object"],"additionalProperties":{"type":"string"}}}},"companies-public-api_ValueTrackerCategory":{"type":"integer"},"companies-public-api_ValueTrackerCreateRequest":{"type":"object","properties":{"savingDate":{"type":"string","format":"date-time"},"description":{"type":"string"},"category":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerCategory"},"status":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerStatus"},"amount":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"frequency":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerFrequency"},"companyId":{"type":"string","format":"uuid"}}},"companies-public-api_ValueTrackerCreateSeriesRequest":{"type":"object","properties":{"frequency":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerFrequency"},"description":{"type":"string"},"category":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerCategory"},"amount":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"savingDate":{"type":"string","format":"date-time"},"status":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerStatus"},"companyId":{"type":"string","format":"uuid"},"endCondition":{"$ref":"#/components/schemas/companies-public-api_EndCondition"},"endDate":{"type":["null","string"],"format":"date-time"}}},"companies-public-api_ValueTrackerFrequency":{"type":"integer"},"companies-public-api_ValueTrackerReportOrderBy":{"type":"integer"},"companies-public-api_ValueTrackerStatus":{"type":"integer"},"companies-public-api_ValueTrackerUpdateRequest":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"savingDate":{"type":"string","format":"date-time"},"description":{"type":"string"},"category":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerCategory"},"status":{"$ref":"#/components/schemas/companies-public-api_ValueTrackerStatus"},"amount":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"}}},"ctp-customer-api_AddCompanyUserRequest":{"required":["email","name"],"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"}}},"ctp-customer-api_CaRLimitDto":{"type":"object","properties":{"metric":{"type":"string"},"threshold":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"}}},"ctp-customer-api_CommodityRowComputed":{"required":["month","price","volume","cost","isCapacity"],"type":"object","properties":{"month":{"type":"string"},"price":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"volume":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"cost":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"isCapacity":{"type":"boolean"}}},"ctp-customer-api_CommodityRowDto":{"required":["month","price","volume","isCapacity"],"type":"object","properties":{"month":{"type":"string"},"price":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"volume":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"isCapacity":{"type":"boolean"},"priceUnit":{"type":["null","string"]},"volumeUnit":{"type":["null","string"]}}},"ctp-customer-api_CommoditySectionPreview":{"required":["totalCost","averagePrice","capacityCost","rows"],"type":"object","properties":{"totalCost":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"averagePrice":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"capacityCost":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/ctp-customer-api_CommodityRowComputed"}}}},"ctp-customer-api_CreateAssessmentRequest":{"required":["companyName","industry","type"],"type":"object","properties":{"companyName":{"type":"string"},"industry":{"type":"string"},"type":{"type":"string"},"commoditySelection":{"type":"string","default":"both"},"startMonth":{"type":["null","string"]},"endMonth":{"type":["null","string"]},"commodities":{"type":["null","object"],"additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/ctp-customer-api_CommodityRowDto"}}},"fx":{"type":["null","object"],"additionalProperties":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"}},"idempotencyKey":{"type":["null","string"]}}},"ctp-customer-api_CreateAssessmentResult":{"required":["companyId","assessmentId","shareToken","type","status","commoditySelection","startMonth","endMonth","months","commodities","combinedCost","baselineCost","createdAt","wasIdempotent"],"type":"object","properties":{"companyId":{"type":"string","format":"uuid"},"assessmentId":{"type":"string","format":"uuid"},"shareToken":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"commoditySelection":{"type":"string"},"startMonth":{"type":"string"},"endMonth":{"type":"string"},"months":{"type":"array","items":{"type":"string"}},"commodities":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ctp-customer-api_CommoditySectionPreview"}},"combinedCost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ctp-customer-api_CurrencyAmount"}]},"baselineCost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ctp-customer-api_CurrencyAmount"}]},"createdAt":{"type":"string","format":"date-time"},"wasIdempotent":{"type":"boolean"}}},"ctp-customer-api_CurrencyAmount":{"required":["value","currency"],"type":"object","properties":{"value":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"currency":{"type":"string"}}},"ctp-customer-api_DynamicTriggerDto":{"type":"object","properties":{"name":{"type":"string"},"threshold":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"}}},"ctp-customer-api_EnergyRiskPolicyDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"policyStatement":{"type":"string"},"governanceRoles":{"type":"array","items":{"$ref":"#/components/schemas/ctp-customer-api_GovernanceRoleDto"}},"objectives":{"type":"array","items":{"type":"string"}},"caRLimits":{"type":"array","items":{"$ref":"#/components/schemas/ctp-customer-api_CaRLimitDto"}},"triggers":{"type":"array","items":{"$ref":"#/components/schemas/ctp-customer-api_DynamicTriggerDto"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":["null","string"],"format":"date-time"}}},"ctp-customer-api_GovernanceRoleDto":{"type":"object","properties":{"role":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}}},"ctp-customer-api_ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}}},"ctp-customer-api_RecipientsUpsertRequest":{"required":["userIds"],"type":"object","properties":{"userIds":{"type":"array","items":{"type":"string","format":"uuid"}},"rotateTokens":{"type":"boolean","default":false}}},"ctp-customer-api_SubmitResponseRequest":{"required":["shareToken","recipientToken","name","initials","jobTitle","questionVersion","score","answers"],"type":"object","properties":{"shareToken":{"type":"string"},"recipientToken":{"type":["null","string"]},"name":{"type":"string"},"initials":{"type":"string"},"jobTitle":{"type":["null","string"]},"questionVersion":{"type":"string"},"score":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"answers":{"type":"object","additionalProperties":{"type":"string"}},"isAutosave":{"type":"boolean","default":false}}},"ctp-customer-api_SupportedCountry":{"type":"integer"},"portfoliov2-public-api_ChangeOfTenancyReason":{"enum":["ChangeOfTenancy","ClosingTheSite","Other","ChangeOfOccupancy",null]},"portfoliov2-public-api_ChannelConsumptionData":{"type":"object","properties":{"channel":{"type":"string"},"last12MonthsValue":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"thisMonthValue":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingValue":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingDate":{"type":["null","string"],"format":"date-time"},"chart":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"}]},"unit":{"type":"string"}}},"portfoliov2-public-api_ChannelConsumptionStatusDto":{"type":"object","properties":{"lastPoll":{"type":["null","string"],"format":"date-time"},"status":{"type":"string"}}},"portfoliov2-public-api_CompanyDetailDto":{"type":"object","properties":{"companyId":{"type":"string","format":"uuid"},"name":{"type":"string"},"address":{"type":["null","string"]},"postcode":{"type":["null","string"]},"companyNumber":{"type":["null","string"]},"status":{"type":["null","string"]},"country":{"type":["null","string"]},"isTestCompany":{"type":"boolean"},"isPortalCompany":{"type":"boolean"},"isMultinational":{"type":"boolean"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_CompanyTagSummary"}}}},"portfoliov2-public-api_CompanyMaxDemandSummaryDto":{"type":"object","properties":{"totalSites":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"sitesWithBreaches":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"totalBreaches":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"peakDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"dataRangeLabel":{"type":"string"},"monthlyPeaks":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MonthlyPeakDemand"}},"sites":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteMaxDemandBreachSummary"}}}},"portfoliov2-public-api_CompanyMeterDto":{"type":"object","properties":{"meterId":{"type":"string","format":"uuid"},"mpanOrMprn":{"type":"string"},"meterType":{"type":"string"},"siteId":{"type":"string","format":"uuid"},"siteName":{"type":"string"},"siteAddress":{"type":"string"},"postcode":{"type":"string"},"annualConsumption":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"eac":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"capacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"profileClass":{"type":["null","string"]},"mtc":{"type":["null","string"]},"llf":{"type":["null","string"]},"ssc":{"type":["null","string"]},"country":{"type":["null","string"]},"isArchived":{"type":"boolean"},"tenancyEndDate":{"type":["null","string"],"format":"date-time"},"changeOfTenancyReason":{"type":["null","string"]},"lastConsumptionPoll":{"type":["null","string"],"format":"date-time"},"consumptionStatus":{"type":["null","string"]}}},"portfoliov2-public-api_CompanyOverviewDto":{"type":"object","properties":{"siteCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"meterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"meterCountsByType":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterCountsByTypeDto"},"estimatedAnnualConsumptionKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"metersWithData":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"staleMeters":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"consumptionStatusGroups":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionStatusGroupDto"}}}},"portfoliov2-public-api_CompanySummaryDto":{"type":"object","properties":{"companyId":{"type":"string","format":"uuid"},"name":{"type":"string"},"siteCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"meterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_CompanyTagDto":{"required":["id","companyId","key","value","scope","created","modified"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"key":{"type":"string"},"value":{"type":"string"},"scope":{"type":"string"},"created":{"type":"string","format":"date-time"},"modified":{"type":["null","string"],"format":"date-time"}}},"portfoliov2-public-api_CompanyTagSummary":{"required":["key","value"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":["null","string"]}}},"portfoliov2-public-api_ComparePeriod":{"enum":["Yesterday","SameDayLastWeek","SameDayLastMonth","SameDayLastYear",null]},"portfoliov2-public-api_ConsumptionChart":{"type":"object","properties":{"labels":{"type":"array","items":{"type":"string"}},"datasets":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChartDataset"}}}},"portfoliov2-public-api_ConsumptionChartDataset":{"type":"object","properties":{"label":{"type":"string"},"data":{"type":"array","items":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"}},"backgroundColor":{"type":"string"},"unit":{"type":"string"},"tooltipLabels":{"type":["null","array"],"items":{"type":"string"}}}},"portfoliov2-public-api_ConsumptionChartType":{"enum":["CompareOff","CompareByDateRange","TimeOfDay","DayOfWeekComparison"]},"portfoliov2-public-api_ConsumptionExportRequest":{"type":"object","properties":{"companyId":{"type":"string","format":"uuid"},"meterId":{"type":["null","string"],"format":"uuid"},"siteId":{"type":["null","string"],"format":"uuid"},"format":{"$ref":"#/components/schemas/portfoliov2-public-api_ExportFormat"},"timezone":{"type":["null","string"]},"startDate":{"type":["null","string"],"format":"date-time"},"endDate":{"type":["null","string"],"format":"date-time"},"channels":{"type":["null","array"],"items":{"type":"string"}}}},"portfoliov2-public-api_ConsumptionFuelType":{"enum":["Power","Gas"]},"portfoliov2-public-api_ConsumptionGranularity":{"enum":["Day","Week","Month","Season","Year"]},"portfoliov2-public-api_ConsumptionMetrics":{"type":"object","properties":{"last12MonthsKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastMonthKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingDate":{"type":["null","string"],"format":"date-time"},"annualEnergySpend":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"}}},"portfoliov2-public-api_ConsumptionSiteSummary":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"name":{"type":"string"},"address":{"type":"string"},"meterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"consumptionKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"hhMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"nhhMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"gasMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"waterMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"tags":{"type":"array","items":{"type":"string"}},"contractEndDate":{"type":["null","string"],"format":"date-time"},"contractType":{"type":["null","string"]},"isArchived":{"type":"boolean"}}},"portfoliov2-public-api_ConsumptionStatusGroupDto":{"type":"object","properties":{"status":{"type":"string"},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_ConsumptionTimePeriod":{"enum":["ThisMonth","Last3Months","YearToDate","Last12Months","CustomRange"]},"portfoliov2-public-api_CreateCompanyTagRequest":{"required":["key","value","scope"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"},"scope":{"type":["null","string"]}}},"portfoliov2-public-api_CreateMeterRequest":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"meterName":{"type":["null","string"]},"serialNumber":{"type":["null","string"]},"meterType":{"type":"string"},"mpanCore":{"type":["null","string"]},"malo":{"type":["null","string"]},"gridOperatorCode":{"type":["null","string"]},"mprn":{"type":["null","string"]},"spid":{"type":["null","string"]},"spidWaste":{"type":["null","string"]},"spidSWHD":{"type":["null","string"]},"waterMeterNumber":{"type":["null","string"]},"waterUnitRate":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"waterAnnualStandingCharge":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"hasTradeEffluentAgreement":{"type":["null","boolean"]},"eac":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"capacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"tenancyStartDate":{"type":["null","string"],"format":"date-time"},"installDate":{"type":["null","string"],"format":"date-time"},"serialNumbers":{"type":["null","array"],"items":{"type":"string"}},"supplierId":{"type":["null","string"],"format":"uuid"},"supplierName":{"type":["null","string"]}}},"portfoliov2-public-api_CreateSiteRequest":{"type":"object","properties":{"companyId":{"type":"string","format":"uuid"},"name":{"type":"string"},"reference":{"type":["null","string"]},"address":{"type":"string"},"buildingNameOrNumber":{"type":["null","string"]},"town":{"type":["null","string"]},"postcode":{"type":"string"},"country":{"type":"string"},"tenancyStartDate":{"type":["null","string"],"format":"date-time"}}},"portfoliov2-public-api_CreateSiteTagRequest":{"required":["companyId","name","value","companyTagId"],"type":"object","properties":{"companyId":{"type":["null","string"],"format":"uuid"},"name":{"type":["null","string"]},"value":{"type":["null","string"]},"companyTagId":{"type":["null","string"],"format":"uuid"}}},"portfoliov2-public-api_CustomerEnrollmentDto":{"type":"object","properties":{"schemeId":{"type":"string","format":"uuid"},"schemeName":{"type":"string"},"schemeType":{"type":"string"},"applicationLevel":{"type":"string"},"enrollmentLevel":{"type":"string"},"entityId":{"type":"string","format":"uuid"},"entityName":{"type":["null","string"]},"inputValues":{"type":["null","string"]},"enrolledAt":{"type":"string","format":"date-time"},"effectiveFrom":{"type":"string","format":"date-time"},"effectiveTo":{"type":["null","string"],"format":"date-time"},"isExpired":{"type":"boolean"}}},"portfoliov2-public-api_CustomerEnrollmentSummaryDto":{"type":"object","properties":{"companyId":{"type":"string","format":"uuid"},"enrollments":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_CustomerEnrollmentDto"}},"totalCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_CustomerSchemeDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"countryCode":{"type":"string"},"schemeType":{"type":"string"},"applicationLevel":{"type":"string"},"description":{"type":["null","string"]},"effectiveFrom":{"type":"string","format":"date-time"},"effectiveTo":{"type":["null","string"],"format":"date-time"},"inputDefinitions":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_CustomerSchemeInputDto"}}}},"portfoliov2-public-api_CustomerSchemeInputDto":{"type":"object","properties":{"fieldName":{"type":"string"},"label":{"type":"string"},"inputType":{"type":"string"},"isRequired":{"type":"boolean"},"validationPattern":{"type":["null","string"]},"minValue":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"maxValue":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"sortOrder":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_DataCompletenessCalendarMonth":{"type":"object","properties":{"monthLabel":{"type":"string"},"days":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_DayStatus"}}}},"portfoliov2-public-api_DataCompletenessDto":{"type":"object","properties":{"sitesWithIssues":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"totalSites":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"worstSiteQualityPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"overallDataQualityPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"sites":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteDataQuality"}},"dataRangeLabel":{"type":"string"},"missingOnlyCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"estimatedOnlyCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"goodDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"estimatedDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"missingDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"estimatedPeriodsCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"missingPeriodsCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"calendar":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_DataCompletenessCalendarMonth"}}}},"portfoliov2-public-api_DataCompletenessTimePeriod":{"enum":["Last12Months","Last6Months","Last3Months","AllTime",null]},"portfoliov2-public-api_DayStatus":{"enum":["Ok","Estimated","Missing","Pending","NotApplicable"]},"portfoliov2-public-api_EnergyBand":{"type":"object","properties":{"name":{"type":"string"},"percentage":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"kwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"color":{"type":"string"}}},"portfoliov2-public-api_ExportFormat":{"enum":["Csv","Excel"]},"portfoliov2-public-api_GasReadingDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"meterId":{"type":"string","format":"uuid"},"readDate":{"type":"string","format":"date-time"},"readValue":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"readType":{"type":"string"},"source":{"type":"string"},"capturedAt":{"type":"string","format":"date-time"},"validationStatus":{"type":"string"},"validationFlags":{"type":["null","string"]},"consumptionDelta":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"created":{"type":"string","format":"date-time"}}},"portfoliov2-public-api_GasReadingsPageDto":{"type":"object","properties":{"total":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"page":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"pageSize":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_GasReadingDto"}}}},"portfoliov2-public-api_HateoasCollectionResponseOfCompanyMeterDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_CompanyMeterDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfCompanyTagDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_CompanyTagDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfCustomerSchemeDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_CustomerSchemeDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfIntervalDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_IntervalDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfMeterDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfMeterSearchAddressDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterSearchAddressDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfMeterVersionDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterVersionDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfPropertyChangeDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_PropertyChangeDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfSiteDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfSiteMeterSummary":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteMeterSummary"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfSiteSummaryDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteSummaryDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasCollectionResponseOfSiteTagDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteTagDto"}},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}},"pagination":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PaginationMetadata"}]}}},"portfoliov2-public-api_HateoasLink":{"type":"object","properties":{"href":{"type":"string"},"rel":{"type":"string"},"method":{"type":"string"},"type":{"type":["null","string"]}}},"portfoliov2-public-api_HateoasResponseOfCompanyDetailDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_CompanyDetailDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfCompanySummaryDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_CompanySummaryDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfCompanyTagDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_CompanyTagDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfCustomerEnrollmentSummaryDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_CustomerEnrollmentSummaryDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfCustomerSchemeDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_CustomerSchemeDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfMeterDetailDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_MeterDetailDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfMeterDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_MeterDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfMeterSearchResultDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_MeterSearchResultDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfPropertyMetersResultDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_PropertyMetersResultDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfSiteDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_SiteDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfSiteOverviewDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_SiteOverviewDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_HateoasResponseOfSiteTagDto":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_SiteTagDto"}]},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_HateoasLink"}}}},"portfoliov2-public-api_IntervalDto":{"required":["meterId","period","isEstimated","intervalType"],"type":"object","properties":{"meterId":{"type":"string","format":"uuid"},"period":{"type":"string","format":"date-time"},"value":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"isEstimated":{"type":"boolean"},"intervalType":{"$ref":"#/components/schemas/portfoliov2-public-api_IntervalTypes"},"source":{"$ref":"#/components/schemas/portfoliov2-public-api_IntervalSource"}}},"portfoliov2-public-api_IntervalSource":{"enum":["Unknown","ElectraLink","Engie","HandHeld","Manual","Legacy","EnergyLookup"]},"portfoliov2-public-api_IntervalTypes":{"enum":["AE","AI","RE","RI","WI","GI"]},"portfoliov2-public-api_MaxDemandBreach":{"type":"object","properties":{"meterId":{"type":"string","format":"uuid"},"meterName":{"type":"string"},"mpan":{"type":"string"},"highestDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"highestDemandKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"agreedLimitKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"agreedLimitKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"exceededByPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"peakDate":{"type":"string","format":"date-time"},"severity":{"$ref":"#/components/schemas/portfoliov2-public-api_MaxDemandSeverity"},"hasReactivePowerData":{"type":"boolean"}}},"portfoliov2-public-api_MaxDemandSeverity":{"enum":["High","Medium","Low"]},"portfoliov2-public-api_MaxDemandWindow":{"enum":["LastMonth","Last3Months","Last12Months",null]},"portfoliov2-public-api_MeterConsumptionChartResponse":{"type":"object","properties":{"dataRangeLabel":{"type":"string"},"estimatedDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"affectedPeriods":{"type":"array","items":{"type":"string"}},"chart":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"},"last12MonthsKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"thisMonthKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"lastReadingKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"lastReadingDate":{"type":["null","string"],"format":"date-time"},"vsPreviousPeriodPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"vsPreviousPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"highestPeriodLabel":{"type":["null","string"]},"highestPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"compareCurrentPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"comparePreviousPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"totalUsageTodayKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"peakDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"peakDemandTime":{"type":["null","string"]},"vsComparePercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"vsCompareKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"busiestDay":{"type":["null","string"]},"busiestDayAvgKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"quietestDay":{"type":["null","string"]},"quietestDayAvgKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"weeklySwingPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"channels":{"type":["null","object"],"additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_ChannelConsumptionData"}},"availableChannels":{"type":["null","array"],"items":{"type":"string"}}}},"portfoliov2-public-api_MeterCountByTypeDto":{"required":["meterType","count"],"type":"object","properties":{"meterType":{"type":"string"},"count":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_MeterCountsByTypeDto":{"type":"object","properties":{"hh":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"nhh":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"gas":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"water":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_MeterDeletionConfirmInput":{"required":["confirmationToken"],"type":"object","properties":{"confirmationToken":{"type":"string"}}},"portfoliov2-public-api_MeterDeletionRequestInput":{"required":["reason"],"type":"object","properties":{"reason":{"type":"string"}}},"portfoliov2-public-api_MeterDetailDto":{"type":"object","properties":{"meterId":{"type":"string","format":"uuid"},"meterName":{"type":"string"},"mpanOrMprn":{"type":"string"},"meterType":{"type":"string"},"serial":{"type":"string"},"capacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"eac":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"siteName":{"type":"string"},"siteId":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"companyName":{"type":"string"},"address":{"type":"string"},"last12MonthsKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"thisMonthKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingDate":{"type":["null","string"],"format":"date-time"},"dataRangeLabel":{"type":"string"},"estimatedDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"affectedPeriods":{"type":"array","items":{"type":"string"}},"consumptionChart":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"}]},"maxDemand":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteMaxDemand"},"energyBanding":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteEnergyBanding"},"dataCompleteness":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteDataCompleteness"},"contracts":{"type":"array"},"supplier":{"type":["null","string"]},"contractEndDate":{"type":["null","string"],"format":"date-time"},"installDate":{"type":["null","string"],"format":"date-time"},"contractType":{"type":["null","string"]},"profileClass":{"type":["null","string"]},"mtc":{"type":["null","string"]},"llf":{"type":["null","string"]},"ssc":{"type":["null","string"]},"spid":{"type":["null","string"]},"spidWaste":{"type":["null","string"]},"spidSWHD":{"type":["null","string"]},"gsp":{"type":["null","string"]},"gspNumber":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"topLineReference":{"type":["null","string"]},"bottomLineReference":{"type":["null","string"]},"channels":{"type":["null","object"],"additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_ChannelConsumptionData"}},"availableChannels":{"type":["null","array"],"items":{"type":"string"}}}},"portfoliov2-public-api_MeterDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"meterName":{"type":["null","string"]},"serialNumber":{"type":["null","string"]},"meterType":{"type":"string"},"mpanCore":{"type":["null","string"]},"malo":{"type":["null","string"]},"gridOperatorCode":{"type":["null","string"]},"capacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"profileClass":{"type":["null","string"]},"mtc":{"type":["null","string"]},"llf":{"type":["null","string"]},"ssc":{"type":["null","string"]},"gsp":{"type":["null","string"]},"gspNumber":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"dno":{"type":["null","string"]},"smso":{"type":["null","string"]},"es":{"type":["null","string"]},"esDate":{"type":["null","string"]},"currentSupplier":{"type":["null","string"]},"supplierMpid":{"type":["null","string"]},"supplierEfs":{"type":["null","string"]},"dataAggregator":{"type":["null","string"]},"dataAggregatorMpid":{"type":["null","string"]},"dataAggregatorEfd":{"type":["null","string"]},"dataCollector":{"type":["null","string"]},"dataCollectorMpid":{"type":["null","string"]},"dataCollectorEfd":{"type":["null","string"]},"meterOperator":{"type":["null","string"]},"meterOperatorMpid":{"type":["null","string"]},"meterOperatorEfd":{"type":["null","string"]},"fullAddress":{"type":["null","string"]},"mprn":{"type":["null","string"]},"soq":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"mpaq":{"type":["null","string"]},"gasMeterCapacity":{"type":["null","string"]},"meterMechanismCode":{"type":["null","string"]},"gasAmrIndicator":{"type":["null","string"]},"formulaYearSupplyMeterPointAq":{"type":["null","string"]},"meterNumberOfDials":{"type":["null","string"]},"meterImperialIndicator":{"type":["null","string"]},"gasCurrentSupplierName":{"type":["null","string"]},"gasCurrentSupplierId":{"type":["null","string"]},"gasCurrentSupplierRegEffectiveDate":{"type":["null","string"]},"gasPendingSupplierRegEffectiveDate":{"type":["null","string"]},"gasIncomingSupplier":{"type":["null","string"]},"gasPreviousSupplierName":{"type":["null","string"]},"lastMeterReadDate":{"type":["null","string"]},"lastMeterReadType":{"type":["null","string"]},"lastMeterReadValue":{"type":["null","string"]},"spid":{"type":["null","string"]},"spidWaste":{"type":["null","string"]},"spidSWHD":{"type":["null","string"]},"swHD":{"type":["null","string"]},"swHdBasis":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"waterMeterNumber":{"type":["null","string"]},"waterUnitRate":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"waterAnnualStandingCharge":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"hasTradeEffluentAgreement":{"type":["null","boolean"]},"rtsUnitRate":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"rtsConsumption":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"rtsAnnualStandingCharge":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"rtsContractEndDate":{"type":["null","string"],"format":"date-time"},"eac":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"premisesId":{"type":["null","string"]},"tenancyStartDate":{"type":["null","string"],"format":"date-time"},"tenancyEndDate":{"type":["null","string"],"format":"date-time"},"changeOfTenancyReason":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_ChangeOfTenancyReason"}]},"changeOfTenancyNotes":{"type":["null","string"]},"customerResponsibilityStart":{"type":["null","string"],"format":"date"},"addedByUserId":{"type":["null","string"],"format":"uuid"},"addedByUserName":{"type":["null","string"]},"country":{"type":"string"},"isDeleted":{"type":"boolean"},"created":{"type":"string","format":"date-time"},"modified":{"type":["null","string"],"format":"date-time"},"version":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int64"},"supplierName":{"type":["null","string"]},"siteName":{"type":["null","string"]},"siteAddress":{"type":["null","string"]},"installDate":{"type":["null","string"],"format":"date-time"},"supplierId":{"type":["null","string"],"format":"uuid"},"hasPendingProposals":{"type":"boolean"},"proposals":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_MeterProposalSummaryDto"}]},"lastConsumptionPoll":{"type":["null","string"],"format":"date-time"},"consumptionStatus":{"type":["null","string"]},"channelConsumptionStatus":{"type":["null","object"],"additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_ChannelConsumptionStatusDto"}},"last12MonthsKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"}}},"portfoliov2-public-api_MeterEnergyBandingChartResponse":{"type":"object","properties":{"potentialBandReduction":{"type":["null","string"]},"headroomToLowerBandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"downgradeReadiness":{"type":["null","string"]},"downgradeReadinessNote":{"type":["null","string"]},"dataRangeLabel":{"type":"string"},"bands":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_EnergyBand"}},"chart":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"},"totalPotentialSavingsGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"energyBandsUsed":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"totalEnergyBands":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"avoidableAnnualCostGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"usingDefaultRates":{"type":"boolean"}}},"portfoliov2-public-api_MeterLatestPendingDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"source":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"changedFields":{"type":"array","items":{"type":"string"}}}},"portfoliov2-public-api_MeterMaxDemandChartResponse":{"type":"object","properties":{"peakDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"peakDemandKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"peakDate":{"type":["null","string"],"format":"date-time"},"averageDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"percentile95DemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"dataRangeLabel":{"type":"string"},"chart":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"},"breaches":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MaxDemandBreach"}},"totalPotentialSavingsGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"daysOverCapacity":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"avoidableAnnualCostGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"usingDefaultValues":{"type":"boolean"},"usingDefaultRates":{"type":"boolean"},"hasReactivePowerData":{"type":"boolean"},"estimatedDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"missingDataDays":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"totalDaysInPeriod":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"agreedCapacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"capacityUtilisationPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"}}},"portfoliov2-public-api_MeterMaxDemandRowDto":{"type":"object","properties":{"meterId":{"type":"string","format":"uuid"},"mpanOrMprn":{"type":"string"},"peakDemandKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"capacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"capacityUtilisationPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"breachCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"hasReactivePowerData":{"type":"boolean"}}},"portfoliov2-public-api_MeterProposalSummaryDto":{"type":"object","properties":{"pendingCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"autoApprovedCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"latestPending":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_MeterLatestPendingDto"}]}}},"portfoliov2-public-api_MeterSearchAddressDto":{"type":"object","properties":{"addressId":{"type":"string"},"fullAddress":{"type":"string"},"postcode":{"type":"string"},"matchedElectricity":{"type":"boolean"},"matchedGas":{"type":"boolean"}}},"portfoliov2-public-api_MeterSearchResultDto":{"type":"object","properties":{"identifier":{"type":"string"},"fuelType":{"type":"string"},"meterType":{"type":"string"},"status":{"type":"string"},"message":{"type":["null","string"]},"ticketId":{"type":["null","string"]},"lookupsAttempted":{"type":"array","items":{"type":"string"}},"existingMeter":{"type":"boolean"},"existingMeterId":{"type":["null","string"],"format":"uuid"},"mpanCore":{"type":["null","string"]},"profileClass":{"type":["null","string"]},"mtc":{"type":["null","string"]},"llf":{"type":["null","string"]},"ssc":{"type":["null","string"]},"es":{"type":["null","string"]},"esDate":{"type":["null","string"]},"currentSupplier":{"type":["null","string"]},"supplierMpid":{"type":["null","string"]},"dataAggregator":{"type":["null","string"]},"dataAggregatorMpid":{"type":["null","string"]},"dataCollector":{"type":["null","string"]},"dataCollectorMpid":{"type":["null","string"]},"meterOperator":{"type":["null","string"]},"meterOperatorMpid":{"type":["null","string"]},"fullAddress":{"type":["null","string"]},"serialNumber":{"type":["null","string"]},"mprn":{"type":["null","string"]},"meterCapacity":{"type":["null","string"]},"mpaq":{"type":["null","string"]},"amrIndicator":{"type":["null","string"]},"lastMeterReadDate":{"type":["null","string"]},"lastMeterReadValue":{"type":["null","string"]},"lastMeterReadType":{"type":["null","string"]}}},"portfoliov2-public-api_MeterTypeSummary":{"type":"object","properties":{"hhMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"nhhMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"gasMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"waterMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"hasHhIntervals":{"type":"boolean"},"hasGasIntervals":{"type":"boolean"}}},"portfoliov2-public-api_MeterVersionDto":{"type":"object","properties":{"id":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int64"},"meterId":{"type":"string","format":"uuid"},"versionNumber":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int64"},"propertyName":{"type":"string"},"oldValue":{"type":["null","string"]},"newValue":{"type":["null","string"]},"changedAt":{"type":"string","format":"date-time"},"changedBy":{"type":["null","string"]},"changeReason":{"type":["null","string"]}}},"portfoliov2-public-api_MonthlyPeakDemand":{"type":"object","properties":{"label":{"type":"string"},"peakKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"}}},"portfoliov2-public-api_PaginationMetadata":{"type":"object","properties":{"page":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"pageSize":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"totalCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"totalPages":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"hasPrevious":{"type":"boolean"},"hasNext":{"type":"boolean"}}},"portfoliov2-public-api_PortfolioConsumptionDto":{"type":"object","properties":{"metrics":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionMetrics"},"chart":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"},"sites":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionSiteSummary"}},"dataRangeLabel":{"type":"string"},"vsPreviousPeriodPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"vsPreviousPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"highestPeriodLabel":{"type":["null","string"]},"highestPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"compareCurrentPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"comparePreviousPeriodKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"totalUsageTodayKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"peakDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"peakDemandTime":{"type":["null","string"]},"vsComparePercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"vsCompareKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"busiestDay":{"type":["null","string"]},"busiestDayAvgKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"quietestDay":{"type":["null","string"]},"quietestDayAvgKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"weeklySwingPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"channels":{"type":["null","object"],"additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_ChannelConsumptionData"}},"availableChannels":{"type":["null","array"],"items":{"type":"string"}}}},"portfoliov2-public-api_PortfolioExplorerSummary":{"type":"object","properties":{"siteCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"meterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"emissionsTonnesCo2":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"activeProjectCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_PortfolioExportRequest":{"type":"object","properties":{"companyId":{"type":"string","format":"uuid"}}},"portfoliov2-public-api_PortfolioOverviewDto":{"type":"object","properties":{"meterSummary":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterTypeSummary"},"annualEnergySpend":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"explorer":{"$ref":"#/components/schemas/portfoliov2-public-api_PortfolioExplorerSummary"},"loaExpiryDate":{"type":["null","string"],"format":"date-time"}}},"portfoliov2-public-api_PortfolioSavingsDto":{"required":["companyId","initiatives"],"type":"object","properties":{"companyId":{"type":"string","format":"uuid"},"initiatives":{"type":"array"}}},"portfoliov2-public-api_PropertyChangeDto":{"type":"object","properties":{"propertyName":{"type":"string"},"oldValue":{"type":["null","string"]},"newValue":{"type":["null","string"]},"changedAt":{"type":"string","format":"date-time"},"changedBy":{"type":["null","string"]},"reason":{"type":["null","string"]}}},"portfoliov2-public-api_PropertyElectricityMeterDto":{"type":"object","properties":{"mpan":{"type":"string"},"profileClass":{"type":["null","string"]},"meterType":{"type":"string"},"mtc":{"type":["null","string"]},"llf":{"type":["null","string"]},"ssc":{"type":["null","string"]},"energisationStatus":{"type":["null","string"]},"energisationStatusDate":{"type":["null","string"]},"currentSupplier":{"type":["null","string"]},"supplierMpid":{"type":["null","string"]},"dataAggregator":{"type":["null","string"]},"dataAggregatorMpid":{"type":["null","string"]},"dataCollector":{"type":["null","string"]},"dataCollectorMpid":{"type":["null","string"]},"meterOperator":{"type":["null","string"]},"meterOperatorMpid":{"type":["null","string"]},"fullAddress":{"type":["null","string"]},"serialNumber":{"type":["null","string"]},"installDate":{"type":["null","string"]}}},"portfoliov2-public-api_PropertyGasMeterDto":{"type":"object","properties":{"mprn":{"type":"string"},"mpaq":{"type":["null","string"]},"meterCapacity":{"type":["null","string"]},"serialNumber":{"type":["null","string"]},"amrIndicator":{"type":["null","string"]},"meterMechanismCode":{"type":["null","string"]},"currentSupplier":{"type":["null","string"]},"lastMeterReadDate":{"type":["null","string"]},"lastMeterReadValue":{"type":["null","string"]},"lastMeterReadType":{"type":["null","string"]}}},"portfoliov2-public-api_PropertyMetersResultDto":{"type":"object","properties":{"status":{"type":"string"},"ticketId":{"type":["null","string"]},"electricityMeters":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_PropertyElectricityMeterDto"}},"gasMeters":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_PropertyGasMeterDto"}}}},"portfoliov2-public-api_SelectDay":{"enum":["Today","Yesterday","SpecificDay",null]},"portfoliov2-public-api_SiteConsumptionSummary":{"type":"object","properties":{"last12MonthsKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"thisMonthKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"lastReadingDate":{"type":["null","string"],"format":"date-time"},"dataRangeLabel":{"type":"string"},"chart":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"},"channels":{"type":["null","object"],"additionalProperties":{"$ref":"#/components/schemas/portfoliov2-public-api_ChannelConsumptionData"}},"availableChannels":{"type":["null","array"],"items":{"type":"string"}}}},"portfoliov2-public-api_SiteDataCompleteness":{"type":"object","properties":{"goodDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"estimatedDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"missingDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"alertMessage":{"type":"string"},"affectedPeriods":{"type":"array","items":{"type":"string"}},"estimatedPeriodsCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"missingPeriodsCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"calendar":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_DataCompletenessCalendarMonth"}}}},"portfoliov2-public-api_SiteDataQuality":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"name":{"type":"string"},"address":{"type":"string"},"goodDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"estimatedDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"missingDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"dateRange":{"type":"string"},"hhMeterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_SiteDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"name":{"type":"string"},"reference":{"type":["null","string"]},"address":{"type":"string"},"buildingNameOrNumber":{"type":["null","string"]},"town":{"type":["null","string"]},"postcode":{"type":"string"},"country":{"type":"string"},"tenancyStartDate":{"type":["null","string"],"format":"date-time"},"tenancyEndDate":{"type":["null","string"],"format":"date-time"},"changeOfTenancyReason":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_ChangeOfTenancyReason"}]},"changeOfTenancyNotes":{"type":["null","string"]},"isDeleted":{"type":"boolean"},"created":{"type":"string","format":"date-time"},"modified":{"type":["null","string"],"format":"date-time"},"meterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"meterCounts":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterCountByTypeDto"}},"maxMetersPerSite":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"}}},"portfoliov2-public-api_SiteEnergyBanding":{"type":"object","properties":{"bands":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_EnergyBand"}},"chart":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"},"totalPotentialSavingsGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"energyBandsUsed":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"totalEnergyBands":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"avoidableAnnualCostGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"}}},"portfoliov2-public-api_SiteMaxDemand":{"type":"object","properties":{"peakDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"peakDemandKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"peakDate":{"type":["null","string"],"format":"date-time"},"averageDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"percentile95DemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"chart":{"$ref":"#/components/schemas/portfoliov2-public-api_ConsumptionChart"},"dataRangeLabel":{"type":"string"},"breaches":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MaxDemandBreach"}},"meters":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteMaxDemandMeterSummary"}},"totalPotentialSavingsGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"daysOverCapacity":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"avoidableAnnualCostGbp":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"estimatedDataPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"missingDataDays":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"totalDaysInPeriod":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"agreedCapacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"capacityUtilisationPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"usingDefaultValues":{"type":"boolean"},"hasReactivePowerData":{"type":"boolean"},"usingDefaultCapacityRate":{"type":"boolean"}}},"portfoliov2-public-api_SiteMaxDemandBreachSummary":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"siteName":{"type":"string"},"address":{"type":"string"},"peakDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"capacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"capacityUtilisationPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"hasReactivePowerData":{"type":"boolean"},"breaches":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MaxDemandBreach"}}}},"portfoliov2-public-api_SiteMaxDemandMetersDto":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"siteName":{"type":"string"},"dataRangeLabel":{"type":"string"},"meters":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_MeterMaxDemandRowDto"}}}},"portfoliov2-public-api_SiteMaxDemandMeterSummary":{"type":"object","properties":{"meterId":{"type":"string","format":"uuid"},"meterName":{"type":"string"},"mpan":{"type":"string"},"highestDemandKw":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"highestDemandKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["number","string"],"format":"double"},"peakDate":{"type":["null","string"],"format":"date-time"},"agreedLimitKva":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"capacityUtilisationPercent":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"hasBreach":{"type":"boolean"},"hasReactivePowerData":{"type":"boolean"}}},"portfoliov2-public-api_SiteMeterSummary":{"type":"object","properties":{"meterId":{"type":"string","format":"uuid"},"name":{"type":"string"},"mpanOrMprn":{"type":"string"},"meterType":{"type":"string"},"usageKwh":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"usageKwhYtd":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"isArchived":{"type":"boolean"},"supplier":{"type":["null","string"]},"contractEndDate":{"type":["null","string"],"format":"date-time"},"contractEndDates":{"type":"array","items":{"type":"string","format":"date-time"}},"contractType":{"type":["null","string"]},"installDate":{"type":["null","string"],"format":"date-time"},"profileClass":{"type":["null","string"]},"mtc":{"type":["null","string"]},"llf":{"type":["null","string"]},"ssc":{"type":["null","string"]},"gsp":{"type":["null","string"]},"gspNumber":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"topLineReference":{"type":["null","string"]},"bottomLineReference":{"type":["null","string"]},"spid":{"type":["null","string"]}}},"portfoliov2-public-api_SiteOverviewDto":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"name":{"type":"string"},"siteName":{"type":"string"},"address":{"type":"string"},"postcode":{"type":"string"},"companyName":{"type":"string"},"consumption":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteConsumptionSummary"},"maxDemand":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteMaxDemand"},"energyBanding":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteEnergyBanding"},"dataCompleteness":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteDataCompleteness"},"meters":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_SiteMeterSummary"}}}},"portfoliov2-public-api_SiteSummaryDto":{"type":"object","properties":{"siteId":{"type":"string","format":"uuid"},"name":{"type":"string"},"address":{"type":"string"},"postcode":{"type":"string"},"meterCount":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["integer","string"],"format":"int32"},"hasBreachedMeter":{"type":"boolean"},"hasUnderFiftyPercentUtilisationMeter":{"type":"boolean"}}},"portfoliov2-public-api_SiteTagDto":{"required":["id","siteId","companyId","name","value","companyTagId","created","modified"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"siteId":{"type":"string","format":"uuid"},"companyId":{"type":"string","format":"uuid"},"name":{"type":"string"},"value":{"type":["null","string"]},"companyTagId":{"type":["null","string"],"format":"uuid"},"created":{"type":"string","format":"date-time"},"modified":{"type":["null","string"],"format":"date-time"}}},"portfoliov2-public-api_UdiExportRequest":{"type":"object","properties":{"companyId":{"type":"string","format":"uuid"}}},"portfoliov2-public-api_UpdateCompanyTagRequest":{"required":["key","value"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"portfoliov2-public-api_UpdateMeterRequest":{"type":"object","properties":{"meterName":{"type":["null","string"]},"serialNumber":{"type":["null","string"]},"mpanCore":{"type":["null","string"]},"malo":{"type":["null","string"]},"gridOperatorCode":{"type":["null","string"]},"mprn":{"type":["null","string"]},"spid":{"type":["null","string"]},"spidWaste":{"type":["null","string"]},"spidSWHD":{"type":["null","string"]},"waterMeterNumber":{"type":["null","string"]},"waterUnitRate":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"waterAnnualStandingCharge":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?(?:[eE][\u002B-]?\\d\u002B)?$","type":["null","number","string"],"format":"double"},"hasTradeEffluentAgreement":{"type":["null","boolean"]},"eac":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"capacityKva":{"pattern":"^-?(?:0|[1-9]\\d*)$","type":["null","integer","string"],"format":"int32"},"tenancyStartDate":{"type":["null","string"],"format":"date-time"},"tenancyEndDate":{"type":["null","string"],"format":"date-time"},"changeOfTenancyReason":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_ChangeOfTenancyReason"}]},"changeOfTenancyNotes":{"type":["null","string"]},"installDate":{"type":["null","string"],"format":"date-time"},"changeReason":{"type":["null","string"]},"customerResponsibilityStart":{"type":["null","string"],"format":"date"}}},"portfoliov2-public-api_UpdateSiteRequest":{"type":"object","properties":{"name":{"type":["null","string"]},"reference":{"type":["null","string"]},"address":{"type":["null","string"]},"buildingNameOrNumber":{"type":["null","string"]},"town":{"type":["null","string"]},"postcode":{"type":["null","string"]},"tenancyStartDate":{"type":["null","string"],"format":"date-time"},"tenancyEndDate":{"type":["null","string"],"format":"date-time"},"changeOfTenancyReason":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/portfoliov2-public-api_ChangeOfTenancyReason"}]},"changeOfTenancyNotes":{"type":["null","string"]}}},"portfoliov2-public-api_UploadIntervalItem":{"type":"object","properties":{"period":{"type":"string","format":"date-time"},"intervalType":{"$ref":"#/components/schemas/portfoliov2-public-api_IntervalTypes"},"value":{"pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d\u002B)?$","type":["null","number","string"],"format":"double"},"isEstimated":{"type":"boolean"}}},"portfoliov2-public-api_UploadIntervalsRequest":{"type":"object","properties":{"intervals":{"type":"array","items":{"$ref":"#/components/schemas/portfoliov2-public-api_UploadIntervalItem"}}}}}},"servers":[{"url":"/"}]}