{"openapi":"3.1.0","info":{"title":"Solcast (BYOK) API","version":"0.1.0","description":"Solcast (BYOK) lets an AI assistant read your own Solcast data through the Solcast API with a key you supply (Solcast API key). Read-only: 10 tools (get_forecast_irradiance, get_live_irradiance, get_historic_irradiance, get_forecast_rooftop_pv, get_live_rooftop_pv, get_historic_rooftop_pv, get_horizon_angles, list_pv_sites, get_pv_site, get_forecast_premium_pv). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-solcast.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-solcast/docs"},"termsOfService":"https://connectorbay.com/byok-solcast/terms"},"servers":[{"url":"https://byok-solcast.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-solcast/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_forecast_irradiance":{"post":{"operationId":"get_forecast_irradiance","summary":"Get a solar irradiance and weather forecast (GHI, DNI, DHI, temperature, cloud opacity and more) for a location, from no","description":"Get a solar irradiance and weather forecast (GHI, DNI, DHI, temperature, cloud opacity and more) for a location, from now up to 14 days ahead. Use for \"What is the forecast solar irradiance for Sydney over the next 48 hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"hours":{"anyOf":[{"maximum":336,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many hours of data to return ahead (1 to 336).","title":"Hours"},"period":{"anyOf":[{"enum":["PT5M","PT10M","PT15M","PT20M","PT30M","PT60M"],"type":"string"},{"type":"null"}],"default":null,"description":"Averaging period of each row as an ISO 8601 duration: PT5M, PT10M, PT15M, PT20M, PT30M (default) or PT60M.","title":"Period"},"output_parameters":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated output parameters to return, for example 'ghi,dni,dhi,air_temp,cloud_opacity'. Other keys include gti, clearsky_ghi, precipitation_rate, relative_humidity, wind_speed_10m, surface_pressure, zenith and azimuth; the service returns a default set if omitted.","title":"Output Parameters"},"tilt":{"anyOf":[{"maximum":90,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Tilt of the PV system from horizontal in degrees (0 flat, 90 vertical); the service picks a default for the latitude if omitted.","title":"Tilt"},"azimuth":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Direction the PV system faces in degrees from true north (0 north, -90 east, 90 west, 180 south).","title":"Azimuth"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["latitude","longitude"],"title":"get_forecast_irradianceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_live_irradiance":{"post":{"operationId":"get_live_irradiance","summary":"Get estimated actual solar irradiance and weather (satellite-derived) for a location, from the last 7 days up to now. Us","description":"Get estimated actual solar irradiance and weather (satellite-derived) for a location, from the last 7 days up to now. Use for \"How much sun did Sydney get over the last 24 hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"hours":{"anyOf":[{"maximum":168,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many hours of data to return back from now (1 to 168).","title":"Hours"},"period":{"anyOf":[{"enum":["PT5M","PT10M","PT15M","PT20M","PT30M","PT60M"],"type":"string"},{"type":"null"}],"default":null,"description":"Averaging period of each row as an ISO 8601 duration: PT5M, PT10M, PT15M, PT20M, PT30M (default) or PT60M.","title":"Period"},"output_parameters":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated output parameters to return, for example 'ghi,dni,dhi,air_temp,cloud_opacity'. Other keys include gti, clearsky_ghi, precipitation_rate, relative_humidity, wind_speed_10m, surface_pressure, zenith and azimuth; the service returns a default set if omitted.","title":"Output Parameters"},"tilt":{"anyOf":[{"maximum":90,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Tilt of the PV system from horizontal in degrees (0 flat, 90 vertical); the service picks a default for the latitude if omitted.","title":"Tilt"},"azimuth":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Direction the PV system faces in degrees from true north (0 north, -90 east, 90 west, 180 south).","title":"Azimuth"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["latitude","longitude"],"title":"get_live_irradianceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_historic_irradiance":{"post":{"operationId":"get_historic_irradiance","summary":"Get historical estimated actual solar irradiance and weather for a location, up to 31 days per call, from 2007 up to 7 d","description":"Get historical estimated actual solar irradiance and weather for a location, up to 31 days per call, from 2007 up to 7 days ago. Use for \"What was the irradiance in Sydney during the first week of January 2025\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"start":{"description":"Start of the period, ISO 8601 such as 2025-01-01T00:00:00Z.","maxLength":40,"title":"Start","type":"string"},"end":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"End of the period, ISO 8601; must be within 31 days of start. Give either `end` or `duration`.","title":"End"},"duration":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Length of the period as an ISO 8601 duration such as P7D; at most 31 days. Give either `end` or `duration`.","title":"Duration"},"period":{"anyOf":[{"enum":["PT5M","PT10M","PT15M","PT20M","PT30M","PT60M"],"type":"string"},{"type":"null"}],"default":null,"description":"Averaging period of each row as an ISO 8601 duration: PT5M, PT10M, PT15M, PT20M, PT30M (default) or PT60M.","title":"Period"},"output_parameters":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated output parameters to return, for example 'ghi,dni,dhi,air_temp,cloud_opacity'. Other keys include gti, clearsky_ghi, precipitation_rate, relative_humidity, wind_speed_10m, surface_pressure, zenith and azimuth; the service returns a default set if omitted.","title":"Output Parameters"},"time_zone":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Time zone of the rows: utc, longitudinal, or an offset from -13 to 13.","title":"Time Zone"},"tilt":{"anyOf":[{"maximum":90,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Tilt of the PV system from horizontal in degrees (0 flat, 90 vertical); the service picks a default for the latitude if omitted.","title":"Tilt"},"azimuth":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Direction the PV system faces in degrees from true north (0 north, -90 east, 90 west, 180 south).","title":"Azimuth"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["latitude","longitude","start"],"title":"get_historic_irradianceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_forecast_rooftop_pv":{"post":{"operationId":"get_forecast_rooftop_pv","summary":"Get a basic rooftop PV power forecast (kW) for a location and system size, from now up to 14 days ahead. Use for \"How mu","description":"Get a basic rooftop PV power forecast (kW) for a location and system size, from now up to 14 days ahead. Use for \"How much power will a 5 kW rooftop system in Sydney produce over the next 3 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"capacity":{"description":"Capacity of the PV system in kilowatts: the larger of inverter AC and module DC capacity.","maximum":1000000,"minimum":0.01,"title":"Capacity","type":"number"},"tilt":{"anyOf":[{"maximum":90,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Tilt of the PV system from horizontal in degrees (0 flat, 90 vertical); the service picks a default for the latitude if omitted.","title":"Tilt"},"azimuth":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Direction the PV system faces in degrees from true north (0 north, -90 east, 90 west, 180 south).","title":"Azimuth"},"install_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Installation date of the PV system, yyyy-MM-dd; used to estimate ageing losses.","title":"Install Date"},"loss_factor":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Factor from 0 to 1 applied to output to account for losses (the service default is 0.9).","title":"Loss Factor"},"hours":{"anyOf":[{"maximum":336,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many hours of data to return ahead (1 to 336).","title":"Hours"},"period":{"anyOf":[{"enum":["PT5M","PT10M","PT15M","PT20M","PT30M","PT60M"],"type":"string"},{"type":"null"}],"default":null,"description":"Averaging period of each row as an ISO 8601 duration: PT5M, PT10M, PT15M, PT20M, PT30M (default) or PT60M.","title":"Period"},"output_parameters":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Output parameter to return; for rooftop PV this is pv_power_rooftop (forecasts also allow pv_power_rooftop10 and pv_power_rooftop90 for the 10th and 90th percentile).","title":"Output Parameters"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["latitude","longitude","capacity"],"title":"get_forecast_rooftop_pvArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_live_rooftop_pv":{"post":{"operationId":"get_live_rooftop_pv","summary":"Get estimated actual rooftop PV power (kW) for a location and system size over the last 7 days up to now. Use for \"How m","description":"Get estimated actual rooftop PV power (kW) for a location and system size over the last 7 days up to now. Use for \"How much did a 5 kW rooftop system in Sydney generate yesterday\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"capacity":{"description":"Capacity of the PV system in kilowatts: the larger of inverter AC and module DC capacity.","maximum":1000000,"minimum":0.01,"title":"Capacity","type":"number"},"tilt":{"anyOf":[{"maximum":90,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Tilt of the PV system from horizontal in degrees (0 flat, 90 vertical); the service picks a default for the latitude if omitted.","title":"Tilt"},"azimuth":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Direction the PV system faces in degrees from true north (0 north, -90 east, 90 west, 180 south).","title":"Azimuth"},"install_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Installation date of the PV system, yyyy-MM-dd; used to estimate ageing losses.","title":"Install Date"},"loss_factor":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Factor from 0 to 1 applied to output to account for losses (the service default is 0.9).","title":"Loss Factor"},"hours":{"anyOf":[{"maximum":168,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many hours of data to return back from now (1 to 168).","title":"Hours"},"period":{"anyOf":[{"enum":["PT5M","PT10M","PT15M","PT20M","PT30M","PT60M"],"type":"string"},{"type":"null"}],"default":null,"description":"Averaging period of each row as an ISO 8601 duration: PT5M, PT10M, PT15M, PT20M, PT30M (default) or PT60M.","title":"Period"},"output_parameters":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Output parameter to return; for rooftop PV this is pv_power_rooftop (forecasts also allow pv_power_rooftop10 and pv_power_rooftop90 for the 10th and 90th percentile).","title":"Output Parameters"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["latitude","longitude","capacity"],"title":"get_live_rooftop_pvArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_historic_rooftop_pv":{"post":{"operationId":"get_historic_rooftop_pv","summary":"Get historical estimated rooftop PV power (kW) for a location and system size, up to 31 days per call, from 2007 up to 7","description":"Get historical estimated rooftop PV power (kW) for a location and system size, up to 31 days per call, from 2007 up to 7 days ago. Use for \"How much would a 5 kW rooftop system in Sydney have produced in January 2025\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"capacity":{"description":"Capacity of the PV system in kilowatts: the larger of inverter AC and module DC capacity.","maximum":1000000,"minimum":0.01,"title":"Capacity","type":"number"},"start":{"description":"Start of the period, ISO 8601 such as 2025-01-01T00:00:00Z.","maxLength":40,"title":"Start","type":"string"},"end":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"End of the period, ISO 8601; within 31 days of start. Give either `end` or `duration`.","title":"End"},"duration":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Length of the period as an ISO 8601 duration such as P7D; at most 31 days.","title":"Duration"},"tilt":{"anyOf":[{"maximum":90,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Tilt of the PV system from horizontal in degrees (0 flat, 90 vertical); the service picks a default for the latitude if omitted.","title":"Tilt"},"azimuth":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Direction the PV system faces in degrees from true north (0 north, -90 east, 90 west, 180 south).","title":"Azimuth"},"install_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Installation date of the PV system, yyyy-MM-dd; used to estimate ageing losses.","title":"Install Date"},"loss_factor":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Factor from 0 to 1 applied to output to account for losses (the service default is 0.9).","title":"Loss Factor"},"period":{"anyOf":[{"enum":["PT5M","PT10M","PT15M","PT20M","PT30M","PT60M"],"type":"string"},{"type":"null"}],"default":null,"description":"Averaging period of each row as an ISO 8601 duration: PT5M, PT10M, PT15M, PT20M, PT30M (default) or PT60M.","title":"Period"},"time_zone":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Time zone of the rows: utc, longitudinal, or an offset from -13 to 13.","title":"Time Zone"},"output_parameters":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Output parameter to return; for rooftop PV this is pv_power_rooftop (forecasts also allow pv_power_rooftop10 and pv_power_rooftop90 for the 10th and 90th percentile).","title":"Output Parameters"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["latitude","longitude","capacity","start"],"title":"get_historic_rooftop_pvArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_horizon_angles":{"post":{"operationId":"get_horizon_angles","summary":"Get the terrain horizon profile of a location: the angle to the horizon for evenly spaced compass directions, useful for","description":"Get the terrain horizon profile of a location: the angle to the horizon for evenly spaced compass directions, useful for shading estimates. Use for \"What does the horizon look like from latitude -33.86 longitude 151.21 in 8 directions\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"latitude":{"description":"Latitude in decimal degrees (-90 to 90).","maximum":90,"minimum":-90,"title":"Latitude","type":"number"},"longitude":{"description":"Longitude in decimal degrees (-180 to 180).","maximum":180,"minimum":-180,"title":"Longitude","type":"number"},"azimuth_intervals":{"description":"Number of equal compass sections to divide the circle into (more gives more rows).","maximum":360,"minimum":1,"title":"Azimuth Intervals","type":"integer"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["latitude","longitude","azimuth_intervals"],"title":"get_horizon_anglesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_pv_sites":{"post":{"operationId":"list_pv_sites","summary":"List the PV power sites saved in your Solcast account with location, capacity, tilt, azimuth and install date. Use for \"","description":"List the PV power sites saved in your Solcast account with location, capacity, tilt, azimuth and install date. Use for \"Which PV sites do I have in Solcast\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"entitlement":{"anyOf":[{"enum":["advanced","premium"],"type":"string"},{"type":"null"}],"default":null,"description":"Only sites with this entitlement: advanced or premium.","title":"Entitlement"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Text to look for in the site name or resource ID.","title":"Query"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"title":"list_pv_sitesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_pv_site":{"post":{"operationId":"get_pv_site","summary":"Get one saved PV power site by resource ID: location, capacity, tilt, azimuth, tracking type, install date and loss sett","description":"Get one saved PV power site by resource ID: location, capacity, tilt, azimuth, tracking type, install date and loss settings. Use for \"Show the configuration of my Solcast site ba75-e17a-7374-95ed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"resource_id":{"description":"Resource ID of the site, for example 'ba75-e17a-7374-95ed'.","maxLength":60,"title":"Resource Id","type":"string"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["resource_id"],"title":"get_pv_siteArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_forecast_premium_pv":{"post":{"operationId":"get_forecast_premium_pv","summary":"Get the premium PV power forecast (kW) of a saved site by resource ID. Needs a premium plan with the site set up. Use fo","description":"Get the premium PV power forecast (kW) of a saved site by resource ID. Needs a premium plan with the site set up. Use for \"What is the premium power forecast for my Solcast site ba75-e17a-7374-95ed over the next 24 hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"resource_id":{"description":"Resource ID of the saved site, for example 'ba75-e17a-7374-95ed'.","maxLength":60,"title":"Resource Id","type":"string"},"hours":{"anyOf":[{"maximum":336,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many hours of data to return ahead (1 to 336).","title":"Hours"},"period":{"anyOf":[{"enum":["PT5M","PT10M","PT15M","PT20M","PT30M","PT60M"],"type":"string"},{"type":"null"}],"default":null,"description":"Averaging period of each row as an ISO 8601 duration: PT5M, PT10M, PT15M, PT20M, PT30M (default) or PT60M.","title":"Period"},"output_parameters":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated output parameters: power, curtailed_power, availability or curtailment.","title":"Output Parameters"},"format":{"anyOf":[{"const":"json","type":"string"},{"type":"null"}],"default":"json","description":"Response format; only json is supported here (the service default is HTML).","title":"Format"}},"required":["resource_id"],"title":"get_forecast_premium_pvArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}