naftiko: 1.0.0-alpha2 info: label: Solcast API — Historic Data description: 'Solcast API — Historic Data. 5 operations. Lead operation: Get Historic Advanced PV Power. Self-contained Naftiko capability covering one Solcast business surface.' tags: - Solcast - Historic Data created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SOLCAST_API_KEY: SOLCAST_API_KEY capability: consumes: - type: http namespace: solcast-historic-data baseUri: https://api.solcast.com.au description: Solcast API — Historic Data business capability. Self-contained, no shared references. resources: - name: data-historic-advanced_pv_power path: /data/historic/advanced_pv_power operations: - name: gethistoricadvancedpvpower method: GET description: Get Historic Advanced PV Power outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resource_id in: query type: string description: Unique resource identifier for a registered Solcast PV power site. required: true - name: start in: query type: string description: Start of requested period (ISO 8601 date or datetime). required: true - name: end in: query type: string description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string description: ISO 8601 duration within 31 days of start (mutually exclusive with end). - name: period in: query type: string description: Time period between data points in ISO 8601 duration format. - name: format in: query type: string description: Response format. - name: data-historic-radiation_and_weather path: /data/historic/radiation_and_weather operations: - name: gethistoricradiationandweather method: GET description: Get Historic Radiation and Weather outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: latitude in: query type: number description: Latitude in decimal degrees, between -90 and 90 (north positive). required: true - name: longitude in: query type: number description: Longitude in decimal degrees, between -180 and 180 (east positive). required: true - name: start in: query type: string description: Start of requested period (ISO 8601 date or datetime, e.g., 2023-01-01 or 2023-01-01T00:00Z). required: true - name: end in: query type: string description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string description: ISO 8601 duration for the historic data, within 31 days of start (mutually exclusive with end). E.g., P7D for 7 days. - name: output_parameters in: query type: string description: Comma-separated list of output parameters. - name: period in: query type: string description: Time period between data points in ISO 8601 duration format. - name: format in: query type: string description: Response format. - name: data-historic-rooftop_pv_power path: /data/historic/rooftop_pv_power operations: - name: gethistoricrooftoppvpower method: GET description: Get Historic Rooftop PV Power outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: latitude in: query type: number description: Latitude in decimal degrees, between -90 and 90 (north positive). required: true - name: longitude in: query type: number description: Longitude in decimal degrees, between -180 and 180 (east positive). required: true - name: start in: query type: string description: Start of requested period (ISO 8601 date or datetime). required: true - name: end in: query type: string description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string description: ISO 8601 duration within 31 days of start (mutually exclusive with end). - name: capacity in: query type: number description: System capacity in kilowatts. - name: tilt in: query type: number description: Panel tilt in degrees from horizontal. - name: azimuth in: query type: number description: Panel azimuth in degrees. - name: period in: query type: string description: Time period between data points in ISO 8601 duration format. - name: format in: query type: string description: Response format. - name: data-historic-soiling-hsu path: /data/historic/soiling/hsu operations: - name: gethistoricsoilinghsu method: GET description: Get Historic Soiling (HSU Model) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: latitude in: query type: number description: Latitude in decimal degrees, between -90 and 90 (north positive). required: true - name: longitude in: query type: number description: Longitude in decimal degrees, between -180 and 180 (east positive). required: true - name: start in: query type: string description: Start of requested period (ISO 8601 date or datetime). required: true - name: end in: query type: string description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string description: ISO 8601 duration within 31 days of start (mutually exclusive with end). - name: depo_veloc_pm10 in: query type: number description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number description: Initial soiling fraction (0.0 = clean, 1.0 = fully soiled). - name: format in: query type: string description: Response format. - name: data-historic-soiling-kimber path: /data/historic/soiling/kimber operations: - name: gethistoricsoilingkimber method: GET description: Get Historic Soiling (Kimber Model) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: latitude in: query type: number description: Latitude in decimal degrees, between -90 and 90 (north positive). required: true - name: longitude in: query type: number description: Longitude in decimal degrees, between -180 and 180 (east positive). required: true - name: start in: query type: string description: Start of requested period (ISO 8601 date or datetime). required: true - name: end in: query type: string description: End of requested period (mutually exclusive with duration). - name: duration in: query type: string description: ISO 8601 duration within 31 days of start (mutually exclusive with end). - name: depo_veloc_pm10 in: query type: number description: Deposition velocity for PM10 particles (m/s). - name: initial_soiling in: query type: number description: Initial soiling fraction (0.0 = clean, 1.0 = fully soiled). - name: format in: query type: string description: Response format. authentication: type: bearer token: '{{env.SOLCAST_API_KEY}}' exposes: - type: rest namespace: solcast-historic-data-rest port: 8080 description: REST adapter for Solcast API — Historic Data. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/data/historic/advanced-pv-power name: data-historic-advanced-pv-power description: REST surface for data-historic-advanced_pv_power. operations: - method: GET name: gethistoricadvancedpvpower description: Get Historic Advanced PV Power call: solcast-historic-data.gethistoricadvancedpvpower with: resource_id: rest.resource_id start: rest.start end: rest.end duration: rest.duration period: rest.period format: rest.format outputParameters: - type: object mapping: $. - path: /v1/data/historic/radiation-and-weather name: data-historic-radiation-and-weather description: REST surface for data-historic-radiation_and_weather. operations: - method: GET name: gethistoricradiationandweather description: Get Historic Radiation and Weather call: solcast-historic-data.gethistoricradiationandweather with: latitude: rest.latitude longitude: rest.longitude start: rest.start end: rest.end duration: rest.duration output_parameters: rest.output_parameters period: rest.period format: rest.format outputParameters: - type: object mapping: $. - path: /v1/data/historic/rooftop-pv-power name: data-historic-rooftop-pv-power description: REST surface for data-historic-rooftop_pv_power. operations: - method: GET name: gethistoricrooftoppvpower description: Get Historic Rooftop PV Power call: solcast-historic-data.gethistoricrooftoppvpower with: latitude: rest.latitude longitude: rest.longitude start: rest.start end: rest.end duration: rest.duration capacity: rest.capacity tilt: rest.tilt azimuth: rest.azimuth period: rest.period format: rest.format outputParameters: - type: object mapping: $. - path: /v1/data/historic/soiling/hsu name: data-historic-soiling-hsu description: REST surface for data-historic-soiling-hsu. operations: - method: GET name: gethistoricsoilinghsu description: Get Historic Soiling (HSU Model) call: solcast-historic-data.gethistoricsoilinghsu with: latitude: rest.latitude longitude: rest.longitude start: rest.start end: rest.end duration: rest.duration depo_veloc_pm10: rest.depo_veloc_pm10 initial_soiling: rest.initial_soiling format: rest.format outputParameters: - type: object mapping: $. - path: /v1/data/historic/soiling/kimber name: data-historic-soiling-kimber description: REST surface for data-historic-soiling-kimber. operations: - method: GET name: gethistoricsoilingkimber description: Get Historic Soiling (Kimber Model) call: solcast-historic-data.gethistoricsoilingkimber with: latitude: rest.latitude longitude: rest.longitude start: rest.start end: rest.end duration: rest.duration depo_veloc_pm10: rest.depo_veloc_pm10 initial_soiling: rest.initial_soiling format: rest.format outputParameters: - type: object mapping: $. - type: mcp namespace: solcast-historic-data-mcp port: 9090 transport: http description: MCP adapter for Solcast API — Historic Data. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-historic-advanced-pv-power description: Get Historic Advanced PV Power hints: readOnly: true destructive: false idempotent: true call: solcast-historic-data.gethistoricadvancedpvpower with: resource_id: tools.resource_id start: tools.start end: tools.end duration: tools.duration period: tools.period format: tools.format outputParameters: - type: object mapping: $. - name: get-historic-radiation-and-weather description: Get Historic Radiation and Weather hints: readOnly: true destructive: false idempotent: true call: solcast-historic-data.gethistoricradiationandweather with: latitude: tools.latitude longitude: tools.longitude start: tools.start end: tools.end duration: tools.duration output_parameters: tools.output_parameters period: tools.period format: tools.format outputParameters: - type: object mapping: $. - name: get-historic-rooftop-pv-power description: Get Historic Rooftop PV Power hints: readOnly: true destructive: false idempotent: true call: solcast-historic-data.gethistoricrooftoppvpower with: latitude: tools.latitude longitude: tools.longitude start: tools.start end: tools.end duration: tools.duration capacity: tools.capacity tilt: tools.tilt azimuth: tools.azimuth period: tools.period format: tools.format outputParameters: - type: object mapping: $. - name: get-historic-soiling-hsu-model description: Get Historic Soiling (HSU Model) hints: readOnly: true destructive: false idempotent: true call: solcast-historic-data.gethistoricsoilinghsu with: latitude: tools.latitude longitude: tools.longitude start: tools.start end: tools.end duration: tools.duration depo_veloc_pm10: tools.depo_veloc_pm10 initial_soiling: tools.initial_soiling format: tools.format outputParameters: - type: object mapping: $. - name: get-historic-soiling-kimber-model description: Get Historic Soiling (Kimber Model) hints: readOnly: true destructive: false idempotent: true call: solcast-historic-data.gethistoricsoilingkimber with: latitude: tools.latitude longitude: tools.longitude start: tools.start end: tools.end duration: tools.duration depo_veloc_pm10: tools.depo_veloc_pm10 initial_soiling: tools.initial_soiling format: tools.format outputParameters: - type: object mapping: $.