openapi: 3.0.3 info: title: SolarEdge Monitoring Accounts Power API description: The SolarEdge Monitoring API provides programmatic access to data from SolarEdge solar energy systems. It delivers site energy measurements, power flow data, inverter technical telemetry, battery storage status, equipment inventory, and environmental benefit metrics for SolarEdge-connected systems. Authentication is via an API key passed as a query parameter. All requests are made over HTTPS with responses returned in JSON format. version: 1.0.0 contact: name: SolarEdge Developer Support url: https://developers.solaredge.com license: name: Proprietary url: https://www.solaredge.com/us/commercial/developer x-api-id: solar-edge:solar-edge-monitoring-api servers: - url: https://monitoringapi.solaredge.com description: SolarEdge Monitoring API production server security: - ApiKeyQuery: [] tags: - name: Power description: Power measurements and power flow paths: /site/{siteId}/power: get: operationId: getSitePower summary: Get Site Power description: Returns power measurements at 15-minute resolution for the specified time frame. Maximum date range is 1 month (31 days). tags: - Power parameters: - $ref: '#/components/parameters/siteId' - name: startTime in: query required: true description: Start date-time in "YYYY-MM-DD HH:MM:SS" format schema: type: string example: '2024-01-01 00:00:00' - name: endTime in: query required: true description: End date-time in "YYYY-MM-DD HH:MM:SS" format schema: type: string example: '2024-01-31 23:59:59' responses: '200': description: Power measurements at 15-minute intervals content: application/json: schema: $ref: '#/components/schemas/PowerResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /site/{siteId}/powerDetails: get: operationId: getSitePowerDetails summary: Get Site Power Details description: Returns detailed power measurements including individual meter types (production, consumption, self-consumption, feed-in, purchased). Maximum date range is 1 month (31 days). tags: - Power parameters: - $ref: '#/components/parameters/siteId' - name: startTime in: query required: true description: Start date-time in "YYYY-MM-DD HH:MM:SS" format schema: type: string - name: endTime in: query required: true description: End date-time in "YYYY-MM-DD HH:MM:SS" format schema: type: string - $ref: '#/components/parameters/meters' responses: '200': description: Detailed power measurements content: application/json: schema: $ref: '#/components/schemas/PowerDetailsResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /site/{siteId}/currentPowerFlow: get: operationId: getSiteCurrentPowerFlow summary: Get Current Power Flow description: Returns the current power flow for a site, showing who is producing, consuming, and exporting power (PV, Load, Grid, Storage). tags: - Power parameters: - $ref: '#/components/parameters/siteId' responses: '200': description: Current power flow data content: application/json: schema: $ref: '#/components/schemas/CurrentPowerFlowResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: PowerDetailsResponse: type: object properties: powerDetails: type: object properties: timeUnit: type: string unit: type: string meters: type: array items: $ref: '#/components/schemas/MeterValues' MeterValues: type: object properties: type: type: string enum: - Production - Consumption - SelfConsumption - FeedIn - Purchased description: Meter type values: type: array items: $ref: '#/components/schemas/TimedValue' CurrentPowerFlowResponse: type: object properties: siteCurrentPowerFlow: type: object properties: updateRefreshRate: type: integer description: Suggested client refresh rate in seconds unit: type: string description: Power unit (e.g., kW) connections: type: array description: List of active power flow connections items: type: object properties: from: type: string description: Source node (PV, LOAD, GRID, STORAGE) to: type: string description: Destination node (PV, LOAD, GRID, STORAGE) GRID: $ref: '#/components/schemas/PowerFlowNode' LOAD: $ref: '#/components/schemas/PowerFlowNode' PV: $ref: '#/components/schemas/PowerFlowNode' STORAGE: $ref: '#/components/schemas/StorageFlowNode' StorageFlowNode: allOf: - $ref: '#/components/schemas/PowerFlowNode' - type: object properties: chargeLevel: type: number format: float description: Battery charge level percentage critical: type: boolean description: Whether the battery is in a critical state ErrorResponse: type: object properties: code: type: integer description: HTTP status code message: type: string description: Human-readable error message TimedValue: type: object properties: date: type: string description: Measurement date/time value: type: number format: float nullable: true description: Measured value (null if no data) PowerFlowNode: type: object properties: status: type: string description: Node status (Active, Idle, Disabled) currentPower: type: number format: float description: Current power in the specified unit PowerResponse: type: object properties: power: type: object properties: timeUnit: type: string unit: type: string measuredBy: type: string values: type: array items: $ref: '#/components/schemas/TimedValue' parameters: meters: name: meters in: query description: Comma-separated list of meter types to include in the response schema: type: string example: Production,Consumption,SelfConsumption,FeedIn,Purchased siteId: name: siteId in: path required: true description: Unique numeric identifier for the site. Supports comma-separated values for bulk requests (up to 100 site IDs). schema: type: string example: '12345' responses: NotFound: description: Site or resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Missing or invalid API key content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: ApiKeyQuery: type: apiKey in: query name: api_key description: API key generated through the SolarEdge monitoring portal