{"openapi":"3.1.0","info":{"title":"Electricity Market & Grid Intelligence API","version":"1.0.0","description":"Normalize electricity prices, compare markets, analyze demand and carbon intensity, reconcile tariffs, calculate peak-demand charges, measure volatility, report renewable forecasts, and summarize outage and exposure data—using caller records and key-free public datasets only. Paid with x402 exact USDC on Base. No account is required.","contact":{"email":"support@brainiac.software"},"x-guidance":"BRAINIAC.software is a pay-per-call API for software agents. No account or API key is required.\nPayment uses the x402 protocol with exact USDC on Base (chain id 8453). Each POST operation has a fixed USD price.\nHow to call an operation:\n1. POST a JSON body matching the operation's requestBody schema to the operation path. Include an Idempotency-Key header (64 hex characters, 32 random bytes).\n2. If you have not paid, the server responds 402 with payment requirements in the body. Pay the exact amount to the payTo address on Base.\n3. Retry the identical request with the same Idempotency-Key and add a payment-signature header containing the x402 payment payload. On success (200) the operation result is returned.\n4. Reuse the same Idempotency-Key only for retries of the same operation and request body; it will not be charged twice.\nAll outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Verify time-sensitive or official data with the cited source before acting."},"servers":[{"url":"https://www.brainiac.software"}],"paths":{"/api/v1/electricity-market/price-series-normalize":{"post":{"operationId":"normalize_electricity_price_series","summary":"Normalize electricity price series","description":"Normalize caller-supplied electricity market prices with explicit units and timestamps. Missing prices are not invented.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","prices":[{"id":"P1","market":"N2EX","region":"GB","at":"2026-11-01T12:00:00.000Z","price":78.5,"unit":"currency/MWh","currency":"GBP","product":"day-ahead","source":"Caller-supplied"},{"id":"P2","market":"N2EX","region":"GB","at":"2026-11-02T12:00:00.000Z","price":82.1,"unit":"currency/MWh","currency":"GBP","product":"day-ahead","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"pointCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"market":{"type":"string"},"region":{"type":"string"},"at":{"type":"string"},"price":{"type":"number"},"priceSupplied":{"type":"boolean"},"unit":{"type":"string"},"currency":{"type":"string"},"product":{"type":"string"},"source":{"type":"string"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"normalized","pointCount":2,"items":[{"id":"P1","market":"N2EX","region":"GB","at":"2026-11-01T12:00:00.000Z","price":78.5,"priceSupplied":true,"unit":"currency/MWh","currency":"GBP","product":"day-ahead","source":"Caller-supplied","paidProviderUsed":false,"apiKeyRequired":false},{"id":"P2","market":"N2EX","region":"GB","at":"2026-11-02T12:00:00.000Z","price":82.1,"priceSupplied":true,"unit":"currency/MWh","currency":"GBP","product":"day-ahead","source":"Caller-supplied","paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/price-compare":{"post":{"operationId":"compare_electricity_market_prices","summary":"Compare electricity market prices","description":"Compare average and latest electricity prices across supplied markets or regions. Missing values are not invented.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","prices":[{"id":"P1","market":"N2EX","region":"GB","at":"2026-11-01T12:00:00.000Z","price":78.5,"unit":"currency/MWh","currency":"GBP","source":"Caller-supplied"},{"id":"P2","market":"N2EX","region":"GB","at":"2026-11-02T12:00:00.000Z","price":82.1,"unit":"currency/MWh","currency":"GBP","source":"Caller-supplied"},{"id":"P3","market":"EPEX","region":"DE","at":"2026-11-01T12:00:00.000Z","price":91,"unit":"currency/MWh","currency":"EUR","source":"Caller-supplied"},{"id":"P4","market":"EPEX","region":"DE","at":"2026-11-02T12:00:00.000Z","price":88.4,"unit":"currency/MWh","currency":"EUR","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"marketCount":{"type":"number"},"overallAverage":{"type":"number"},"overallAverageSupplied":{"type":"boolean"},"items":{"type":"array","items":{"type":"object","properties":{"marketKey":{"type":"string"},"market":{"type":"string"},"region":{"type":"string"},"observationCount":{"type":"number"},"averagePrice":{"type":"number"},"averagePriceSupplied":{"type":"boolean"},"latestPrice":{"type":"number"},"latestPriceSupplied":{"type":"boolean"},"latestAt":{"type":"string"},"currency":{"type":"string"},"unit":{"type":"string"},"source":{"type":"string"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"compared","marketCount":2,"overallAverage":85,"overallAverageSupplied":true,"items":[{"marketKey":"epex","market":"EPEX","region":"DE","observationCount":2,"averagePrice":89.7,"averagePriceSupplied":true,"latestPrice":88.4,"latestPriceSupplied":true,"latestAt":"2026-11-02T12:00:00.000Z","currency":"EUR","unit":"currency/MWh","source":"Caller-supplied","paidProviderUsed":false,"apiKeyRequired":false},{"marketKey":"n2ex","market":"N2EX","region":"GB","observationCount":2,"averagePrice":80.3,"averagePriceSupplied":true,"latestPrice":82.1,"latestPriceSupplied":true,"latestAt":"2026-11-02T12:00:00.000Z","currency":"GBP","unit":"currency/MWh","source":"Caller-supplied","paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/demand-profile-analyze":{"post":{"operationId":"analyze_electricity_demand_profiles","summary":"Analyze electricity demand profiles","description":"Analyze supplied demand observations for average, peak, minimum, and load factor by region. Missing megawatts are not invented.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","demand":[{"id":"D1","region":"GB","at":"2026-11-01T18:00:00.000Z","mw":38500,"source":"Caller-supplied"},{"id":"D2","region":"GB","at":"2026-11-01T04:00:00.000Z","mw":27200,"source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"regionCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"region":{"type":"string"},"observationCount":{"type":"number"},"averageMw":{"type":"number"},"averageMwSupplied":{"type":"boolean"},"peakMw":{"type":"number"},"peakMwSupplied":{"type":"boolean"},"minMw":{"type":"number"},"minMwSupplied":{"type":"boolean"},"loadFactor":{"type":"number"},"loadFactorSupplied":{"type":"boolean"},"source":{"type":"string"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"analyzed","regionCount":1,"items":[{"region":"GB","observationCount":2,"averageMw":32850,"averageMwSupplied":true,"peakMw":38500,"peakMwSupplied":true,"minMw":27200,"minMwSupplied":true,"loadFactor":0.8532,"loadFactorSupplied":true,"source":"Caller-supplied","paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/carbon-intensity-track":{"post":{"operationId":"track_grid_carbon_intensity","summary":"Track grid carbon intensity","description":"Track supplied carbon intensity points, optionally supplemented by the key-free Carbon Intensity API when requested.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","carbon":[{"id":"C1","region":"GB","at":"2026-11-01T12:00:00.000Z","intensity":181,"unit":"gCO2/kWh","index":"moderate","source":"Caller-supplied"},{"id":"C2","region":"GB","at":"2026-11-02T12:00:00.000Z","intensity":165,"unit":"gCO2/kWh","index":"moderate","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"pointCount":{"type":"number"},"averageIntensity":{"type":"number"},"averageIntensitySupplied":{"type":"boolean"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"region":{"type":"string"},"at":{"type":"string"},"intensity":{"type":"number"},"intensitySupplied":{"type":"boolean"},"unit":{"type":"string"},"index":{"type":"string"},"source":{"type":"string"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"tracked","pointCount":2,"averageIntensity":173,"averageIntensitySupplied":true,"items":[{"id":"C1","region":"GB","at":"2026-11-01T12:00:00.000Z","intensity":181,"intensitySupplied":true,"unit":"gCO2/kWh","index":"moderate","source":"Caller-supplied","paidProviderUsed":false,"apiKeyRequired":false},{"id":"C2","region":"GB","at":"2026-11-02T12:00:00.000Z","intensity":165,"intensitySupplied":true,"unit":"gCO2/kWh","index":"moderate","source":"Caller-supplied","paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/bill-tariff-reconcile":{"post":{"operationId":"reconcile_electricity_bills_to_tariffs","summary":"Reconcile electricity bills to tariffs","description":"Reconcile billed totals to tariff-implied energy, demand, and fixed charges using only supplied rates and quantities.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","tariffs":[{"id":"TF-1","name":"Industrial TOU","energyRate":0.14,"fixedCharge":120,"peakDemandRate":8.5,"currency":"GBP","unit":"currency/kWh","demandUnit":"kW","source":"Caller-supplied"}],"bills":[{"id":"BL-1","tariffId":"TF-1","periodStart":"2026-10-01","periodEnd":"2026-10-31","kwh":12000,"peakKw":95,"billedEnergy":1680,"billedDemand":807.5,"billedFixed":120,"billedTotal":2607.5,"currency":"GBP","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"billCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"billId":{"type":"string"},"tariffId":{"type":"string"},"periodStart":{"type":"string"},"periodEnd":{"type":"string"},"kwh":{"type":"number"},"kwhSupplied":{"type":"boolean"},"peakKw":{"type":"number"},"peakKwSupplied":{"type":"boolean"},"expectedEnergy":{"type":"number"},"expectedEnergySupplied":{"type":"boolean"},"expectedDemand":{"type":"number"},"expectedDemandSupplied":{"type":"boolean"},"expectedFixed":{"type":"number"},"expectedFixedSupplied":{"type":"boolean"},"expectedTotal":{"type":"number"},"expectedTotalSupplied":{"type":"boolean"},"billedTotal":{"type":"number"},"billedTotalSupplied":{"type":"boolean"},"variance":{"type":"number"},"varianceSupplied":{"type":"boolean"},"currency":{"type":"string"},"billingAccuracyClaimed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"reconciled","billCount":1,"items":[{"billId":"BL-1","tariffId":"TF-1","periodStart":"2026-10-01","periodEnd":"2026-10-31","kwh":12000,"kwhSupplied":true,"peakKw":95,"peakKwSupplied":true,"expectedEnergy":1680,"expectedEnergySupplied":true,"expectedDemand":807.5,"expectedDemandSupplied":true,"expectedFixed":120,"expectedFixedSupplied":true,"expectedTotal":2607.5,"expectedTotalSupplied":true,"billedTotal":2607.5,"billedTotalSupplied":true,"variance":0,"varianceSupplied":true,"currency":"GBP","billingAccuracyClaimed":false,"paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/peak-demand-charge-calculate":{"post":{"operationId":"calculate_peak_demand_charges","summary":"Calculate peak demand charges","description":"Calculate peak-demand charges from supplied peak kW and tariff peakDemandRate values. Missing inputs are not invented.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","tariffs":[{"id":"TF-1","name":"Industrial TOU","peakDemandRate":8.5,"currency":"GBP","demandUnit":"kW","source":"Caller-supplied"}],"bills":[{"id":"BL-1","tariffId":"TF-1","peakKw":95,"currency":"GBP","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"itemCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"billId":{"type":"string"},"tariffId":{"type":"string"},"peakKw":{"type":"number"},"peakKwSupplied":{"type":"boolean"},"peakDemandRate":{"type":"number"},"peakDemandRateSupplied":{"type":"boolean"},"peakDemandCharge":{"type":"number"},"peakDemandChargeSupplied":{"type":"boolean"},"currency":{"type":"string"},"demandUnit":{"type":"string"},"billingAccuracyClaimed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"calculated","itemCount":1,"items":[{"billId":"BL-1","tariffId":"TF-1","peakKw":95,"peakKwSupplied":true,"peakDemandRate":8.5,"peakDemandRateSupplied":true,"peakDemandCharge":807.5,"peakDemandChargeSupplied":true,"currency":"GBP","demandUnit":"kW","billingAccuracyClaimed":false,"paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/energy-price-volatility-analyze":{"post":{"operationId":"analyze_energy_price_volatility","summary":"Analyze energy price volatility","description":"Compute historical price and return standard deviations from supplied market price series. Thin samples are reported, not filled.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","prices":[{"id":"P1","market":"N2EX","region":"GB","at":"2026-11-01T12:00:00.000Z","price":78.5,"currency":"GBP","source":"Caller-supplied"},{"id":"P2","market":"N2EX","region":"GB","at":"2026-11-02T12:00:00.000Z","price":82.1,"currency":"GBP","source":"Caller-supplied"},{"id":"P3","market":"N2EX","region":"GB","at":"2026-11-03T12:00:00.000Z","price":80,"currency":"GBP","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"marketCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"marketKey":{"type":"string"},"observationCount":{"type":"number"},"averagePrice":{"type":"number"},"averagePriceSupplied":{"type":"boolean"},"priceStdev":{"type":"number"},"priceStdevSupplied":{"type":"boolean"},"returnStdev":{"type":"number"},"returnStdevSupplied":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"analyzed","marketCount":1,"items":[{"marketKey":"n2ex","observationCount":3,"averagePrice":80.2,"averagePriceSupplied":true,"priceStdev":1.8083,"priceStdevSupplied":true,"returnStdev":0.0505,"returnStdevSupplied":true,"paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/renewable-generation-forecast":{"post":{"operationId":"report_renewable_generation_forecasts","summary":"Report renewable generation forecasts","description":"Report caller-supplied renewable historical and forecast megawatts, optionally enriched with World Bank renewable series. Future MW are never invented.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","generation":[{"id":"G1","region":"GB","fuel":"wind","at":"2026-11-01T12:00:00.000Z","mw":8200,"isForecast":false,"source":"Caller-supplied"},{"id":"G2","region":"GB","fuel":"wind","at":"2026-11-05T12:00:00.000Z","mw":9100,"isForecast":true,"source":"Caller-supplied operator forecast"},{"id":"G3","region":"GB","fuel":"solar","at":"2026-11-01T12:00:00.000Z","mw":2100,"isForecast":false,"source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"historicalCount":{"type":"number"},"forecastCount":{"type":"number"},"historicalAverageMw":{"type":"number"},"historicalAverageMwSupplied":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"region":{"type":"string"},"fuel":{"type":"string"},"at":{"type":"string"},"mw":{"type":"number"},"mwSupplied":{"type":"boolean"},"isForecast":{"type":"boolean"},"source":{"type":"string"},"forecastInvented":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"reported","historicalCount":2,"forecastCount":1,"historicalAverageMw":5150,"historicalAverageMwSupplied":true,"forecastInvented":false,"items":[{"id":"G1","region":"GB","fuel":"wind","at":"2026-11-01T12:00:00.000Z","mw":8200,"mwSupplied":true,"isForecast":false,"source":"Caller-supplied","forecastInvented":false,"paidProviderUsed":false,"apiKeyRequired":false},{"id":"G3","region":"GB","fuel":"solar","at":"2026-11-01T12:00:00.000Z","mw":2100,"mwSupplied":true,"isForecast":false,"source":"Caller-supplied","forecastInvented":false,"paidProviderUsed":false,"apiKeyRequired":false},{"id":"G2","region":"GB","fuel":"wind","at":"2026-11-05T12:00:00.000Z","mw":9100,"mwSupplied":true,"isForecast":true,"source":"Caller-supplied operator forecast","forecastInvented":false,"paidProviderUsed":false,"apiKeyRequired":false}],"paidProviderUsed":false,"apiKeyRequired":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/grid-outage-public-data-analyze":{"post":{"operationId":"analyze_grid_outage_public_data","summary":"Analyze grid outage public data","description":"Analyze supplied outage notices and optional key-free public feeds by region and customers affected. Missing counts are not invented.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","outages":[{"id":"O1","region":"North","startedAt":"2026-11-01T08:00:00.000Z","endedAt":"2026-11-01T14:00:00.000Z","customersAffected":1200,"cause":"storm","status":"restored","source":"Caller-supplied utility notice"},{"id":"O2","region":"North","startedAt":"2026-11-03T09:00:00.000Z","customersAffected":400,"cause":"equipment","status":"open","source":"Caller-supplied utility notice"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"regionCount":{"type":"number"},"outageCount":{"type":"number"},"regions":{"type":"array","items":{"type":"object","properties":{"region":{"type":"string"},"outageCount":{"type":"number"},"customersAffectedTotal":{"type":"number"},"customersAffectedTotalSupplied":{"type":"boolean"},"openCount":{"type":"number"},"sources":{"type":"array","items":{"type":"string"}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"}},"additionalProperties":true}},"outages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"region":{"type":"string"},"startedAt":{"type":"string"},"endedAt":{"type":"string"},"customersAffected":{"type":"number"},"customersAffectedSupplied":{"type":"boolean"},"cause":{"type":"string"},"status":{"type":"string"},"source":{"type":"string"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"analyzed","regionCount":1,"outageCount":2,"regions":[{"region":"North","outageCount":2,"customersAffectedTotal":1600,"customersAffectedTotalSupplied":true,"openCount":1,"sources":["Caller-supplied utility notice"],"paidProviderUsed":false,"apiKeyRequired":false}],"outages":[{"id":"O1","region":"North","startedAt":"2026-11-01T08:00:00.000Z","endedAt":"2026-11-01T14:00:00.000Z","customersAffected":1200,"customersAffectedSupplied":true,"cause":"storm","status":"restored","source":"Caller-supplied utility notice"},{"id":"O2","region":"North","startedAt":"2026-11-03T09:00:00.000Z","endedAt":"","customersAffected":400,"customersAffectedSupplied":true,"cause":"equipment","status":"open","source":"Caller-supplied utility notice"}],"paidProviderUsed":false,"apiKeyRequired":false,"forecastInvented":false,"billingAccuracyClaimed":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/electricity-market/exposure-report":{"post":{"operationId":"build_electricity_market_exposure_report","summary":"Build electricity market exposure report","description":"Aggregate price, demand, carbon, tariff, volatility, renewable, outage, and exposure findings from supplied records and optional key-free public datasets.","tags":["electricity-market"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"prices":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":-1000000,"maximum":1000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"product":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"demand":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbon":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"at":{"type":"string","maxLength":40},"intensity":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"index":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"tariffs":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":160},"energyRate":{"type":"number","minimum":0,"maximum":1000000},"fixedCharge":{"type":"number","minimum":0,"maximum":1000000000},"peakDemandRate":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"unit":{"type":"string","maxLength":40},"demandUnit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"bills":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"tariffId":{"type":"string","maxLength":80},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"kwh":{"type":"number","minimum":0,"maximum":1000000000},"peakKw":{"type":"number","minimum":0,"maximum":1000000000},"billedEnergy":{"type":"number","minimum":0,"maximum":1000000000},"billedDemand":{"type":"number","minimum":0,"maximum":1000000000},"billedFixed":{"type":"number","minimum":0,"maximum":1000000000},"billedTotal":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"generation":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"fuel":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"mw":{"type":"number","minimum":0,"maximum":1000000000},"isForecast":{"type":"boolean"},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"outages":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"startedAt":{"type":"string","maxLength":40},"endedAt":{"type":"string","maxLength":40},"customersAffected":{"type":"number","minimum":0,"maximum":1000000000},"cause":{"type":"string","maxLength":200},"status":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"exposures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"market":{"type":"string","maxLength":120},"volumeMwh":{"type":"number","minimum":0,"maximum":1000000000},"hedgeRatio":{"type":"number","minimum":0,"maximum":1},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"carbonIntensity":{"type":"object","properties":{"fetch":{"type":"boolean"},"regionId":{"type":"integer","minimum":1,"maximum":18},"forecast":{"type":"boolean"}},"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":3,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":60}},"additionalProperties":false},"feed":{"type":"object","properties":{"url":{"type":"string","maxLength":500,"format":"uri"}},"additionalProperties":false},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","prices":[{"id":"P1","market":"N2EX","region":"GB","at":"2026-11-01T12:00:00.000Z","price":78.5,"unit":"currency/MWh","currency":"GBP","source":"Caller-supplied"},{"id":"P2","market":"N2EX","region":"GB","at":"2026-11-02T12:00:00.000Z","price":82.1,"unit":"currency/MWh","currency":"GBP","source":"Caller-supplied"},{"id":"P3","market":"EPEX","region":"DE","at":"2026-11-01T12:00:00.000Z","price":91,"unit":"currency/MWh","currency":"EUR","source":"Caller-supplied"},{"id":"P4","market":"EPEX","region":"DE","at":"2026-11-02T12:00:00.000Z","price":88.4,"unit":"currency/MWh","currency":"EUR","source":"Caller-supplied"}],"demand":[{"id":"D1","region":"GB","at":"2026-11-01T18:00:00.000Z","mw":38500,"source":"Caller-supplied"},{"id":"D2","region":"GB","at":"2026-11-01T04:00:00.000Z","mw":27200,"source":"Caller-supplied"}],"carbon":[{"id":"C1","region":"GB","at":"2026-11-01T12:00:00.000Z","intensity":181,"unit":"gCO2/kWh","index":"moderate","source":"Caller-supplied"},{"id":"C2","region":"GB","at":"2026-11-02T12:00:00.000Z","intensity":165,"unit":"gCO2/kWh","index":"moderate","source":"Caller-supplied"}],"tariffs":[{"id":"TF-1","name":"Industrial TOU","energyRate":0.14,"fixedCharge":120,"peakDemandRate":8.5,"currency":"GBP","unit":"currency/kWh","demandUnit":"kW","source":"Caller-supplied"}],"bills":[{"id":"BL-1","tariffId":"TF-1","periodStart":"2026-10-01","periodEnd":"2026-10-31","kwh":12000,"peakKw":95,"billedEnergy":1680,"billedDemand":807.5,"billedFixed":120,"billedTotal":2607.5,"currency":"GBP","source":"Caller-supplied"}],"generation":[{"id":"G1","region":"GB","fuel":"wind","at":"2026-11-01T12:00:00.000Z","mw":8200,"isForecast":false,"source":"Caller-supplied"},{"id":"G2","region":"GB","fuel":"wind","at":"2026-11-05T12:00:00.000Z","mw":9100,"isForecast":true,"source":"Caller-supplied operator forecast"}],"outages":[{"id":"O1","region":"North","startedAt":"2026-11-01T08:00:00.000Z","endedAt":"2026-11-01T14:00:00.000Z","customersAffected":1200,"cause":"storm","status":"restored","source":"Caller-supplied utility notice"},{"id":"O2","region":"North","startedAt":"2026-11-03T09:00:00.000Z","customersAffected":400,"cause":"equipment","status":"open","source":"Caller-supplied utility notice"}],"exposures":[{"id":"E1","market":"N2EX","volumeMwh":5000,"hedgeRatio":0.6,"source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"asOf":{"type":"string"},"sections":{"type":"object","properties":{"prices":{"type":"object","properties":{"pointCount":{"type":"number"}},"additionalProperties":true},"compare":{"type":"object","properties":{"marketCount":{"type":"number"},"overallAverage":{"type":"number"},"overallAverageSupplied":{"type":"boolean"}},"additionalProperties":true},"demand":{"type":"object","properties":{"regionCount":{"type":"number"}},"additionalProperties":true},"carbon":{"type":"object","properties":{"pointCount":{"type":"number"},"averageIntensity":{"type":"number"},"averageIntensitySupplied":{"type":"boolean"}},"additionalProperties":true},"bills":{"type":"object","properties":{"billCount":{"type":"number"}},"additionalProperties":true},"peak":{"type":"object","properties":{"itemCount":{"type":"number"}},"additionalProperties":true},"volatility":{"type":"object","properties":{"marketCount":{"type":"number"}},"additionalProperties":true},"renewable":{"type":"object","properties":{"historicalCount":{"type":"number"},"forecastCount":{"type":"number"},"forecastInvented":{"type":"boolean"}},"additionalProperties":true},"outages":{"type":"object","properties":{"regionCount":{"type":"number"},"outageCount":{"type":"number"}},"additionalProperties":true},"exposure":{"type":"object","properties":{"exposureCount":{"type":"number"}},"additionalProperties":true}},"additionalProperties":true},"forecastInvented":{"type":"boolean"},"billingAccuracyClaimed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"publicSources":{"type":"array","items":{}},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"reported","asOf":"2026-11-04T21:00:00.000Z","sections":{"prices":{"pointCount":4},"compare":{"marketCount":2,"overallAverage":85,"overallAverageSupplied":true},"demand":{"regionCount":1},"carbon":{"pointCount":2,"averageIntensity":173,"averageIntensitySupplied":true},"bills":{"billCount":1},"peak":{"itemCount":2},"volatility":{"marketCount":2},"renewable":{"historicalCount":1,"forecastCount":1,"forecastInvented":false},"outages":{"regionCount":1,"outageCount":2},"exposure":{"exposureCount":1}},"forecastInvented":false,"billingAccuracyClaimed":false,"paidProviderUsed":false,"apiKeyRequired":false,"publicSources":[],"findings":[],"limitations":["Prices, demand, carbon, tariffs, bills, generation, outages, and exposures are copied only from labeled fields supplied by the caller, or from key-free public Carbon Intensity / World Bank / feed responses when requested.","No paid energy data provider is used and no API key is required.","Missing prices, demand, carbon intensity, tariff rates, and forecast megawatts are not invented.","Renewable generation forecasts are reported only from caller-supplied forecast rows or the public Carbon Intensity forecast endpoint when requested.","Tariff and peak-demand calculations use only supplied rates and quantities; legal billing accuracy is not claimed."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.08"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}}}}}