SolarEdge Equipment API
Inverters, batteries, meters, sensors, and inventory
Inverters, batteries, meters, sensors, and inventory
openapi: 3.0.3
info:
title: SolarEdge Monitoring Accounts Equipment 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: Equipment
description: Inverters, batteries, meters, sensors, and inventory
paths:
/site/{siteId}/inventory:
get:
operationId: getSiteInventory
summary: Get Site Inventory
description: Returns the inventory of SolarEdge equipment at the site, including inverters/SMIs, batteries, meters, gateways, and sensors with their serial numbers and status.
tags:
- Equipment
parameters:
- $ref: '#/components/parameters/siteId'
responses:
'200':
description: Site equipment inventory
content:
application/json:
schema:
$ref: '#/components/schemas/InventoryResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/equipment/{siteId}/list:
get:
operationId: getComponentsList
summary: Get Components List
description: Returns a list of inverters and SMIs in the specified site.
tags:
- Equipment
parameters:
- name: siteId
in: path
required: true
description: Unique identifier for the site
schema:
type: integer
responses:
'200':
description: List of site components
content:
application/json:
schema:
$ref: '#/components/schemas/ComponentsListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/site/{siteId}/inverter/{serialNumber}/data:
get:
operationId: getInverterTechnicalData
summary: Get Inverter Technical Data
description: Returns technical performance data for a specific inverter over a given time period. Maximum date range is 1 week (7 days).
tags:
- Equipment
parameters:
- $ref: '#/components/parameters/siteId'
- name: serialNumber
in: path
required: true
description: Inverter serial number
schema:
type: string
- 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
responses:
'200':
description: Inverter technical performance data
content:
application/json:
schema:
$ref: '#/components/schemas/InverterTechnicalDataResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/site/{siteId}/{serialNumber}/changeLog:
get:
operationId: getEquipmentChangeLog
summary: Get Equipment Change Log
description: Returns a list of equipment component replacements ordered by date. Applicable to inverters, optimizers, batteries, and gateways.
tags:
- Equipment
parameters:
- $ref: '#/components/parameters/siteId'
- name: serialNumber
in: path
required: true
description: Serial number of the equipment component
schema:
type: string
responses:
'200':
description: Equipment change log
content:
application/json:
schema:
$ref: '#/components/schemas/EquipmentChangeLogResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/site/{siteId}/meters:
get:
operationId: getSiteMeters
summary: Get Site Meters
description: Returns meter data for the site including lifetime energy reading, metadata, and the device to which each meter is connected.
tags:
- Equipment
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/timeUnit'
- name: meters
in: query
description: Comma-separated list of meter types to include
schema:
type: string
example: Production,Consumption,FeedIn,Purchased
responses:
'200':
description: Meter data for the site
content:
application/json:
schema:
$ref: '#/components/schemas/MetersResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/equipment/{siteId}/sensors:
get:
operationId: getSensorList
summary: Get Sensor List
description: Returns a list of all sensors at the site and the device to which they are connected.
tags:
- Equipment
parameters:
- name: siteId
in: path
required: true
description: Unique identifier for the site
schema:
type: integer
- name: startTime
in: query
description: Start date-time for sensor data (ISO 8601 format YYYY-MM-DDTHH:MM:SS); if provided returns sensor data
schema:
type: string
- name: endTime
in: query
description: End date-time for sensor data (ISO 8601 format YYYY-MM-DDTHH:MM:SS); if provided returns sensor data
schema:
type: string
responses:
'200':
description: Sensor list or sensor data
content:
application/json:
schema:
$ref: '#/components/schemas/SensorListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
PhaseData:
type: object
properties:
acCurrent:
type: number
format: float
description: AC current in A
acVoltage:
type: number
format: float
description: AC voltage in V
acFrequency:
type: number
format: float
description: AC frequency in Hz
apparentPower:
type: number
format: float
description: Apparent power in VA
activePower:
type: number
format: float
description: Active power in W
reactivePower:
type: number
format: float
description: Reactive power in VAR
cosPhi:
type: number
format: float
description: Power factor (cos phi)
ComponentsListResponse:
type: object
properties:
list:
type: object
properties:
count:
type: integer
list:
type: array
items:
type: object
properties:
name:
type: string
manufacturer:
type: string
model:
type: string
serialNumber:
type: string
kWpDC:
type: number
format: float
InverterTechnicalDataResponse:
type: object
properties:
data:
type: object
properties:
count:
type: integer
telemetries:
type: array
items:
$ref: '#/components/schemas/InverterTelemetry'
InventoryResponse:
type: object
properties:
Inventory:
type: object
properties:
inverters:
type: array
items:
$ref: '#/components/schemas/Inverter'
batteries:
type: array
items:
$ref: '#/components/schemas/InventoryBattery'
meters:
type: array
items:
$ref: '#/components/schemas/Meter'
gateways:
type: array
items:
$ref: '#/components/schemas/Gateway'
sensors:
type: array
items:
$ref: '#/components/schemas/Sensor'
ErrorResponse:
type: object
properties:
code:
type: integer
description: HTTP status code
message:
type: string
description: Human-readable error message
SensorListResponse:
type: object
properties:
SiteSensors:
type: object
properties:
count:
type: integer
list:
type: array
items:
type: object
properties:
connectedSolaredgeDeviceSN:
type: string
count:
type: integer
sensors:
type: array
items:
$ref: '#/components/schemas/Sensor'
InventoryBattery:
type: object
properties:
name:
type: string
serialNumber:
type: string
model:
type: string
manufacturer:
type: string
firmwareVersion:
type: string
connectedInverterSn:
type: string
nameplateCapacity:
type: number
format: float
EquipmentChangeLogResponse:
type: object
properties:
ChangeLog:
type: object
properties:
count:
type: integer
list:
type: array
items:
type: object
properties:
date:
type: string
format: date
description: Date of equipment change
serialNumber:
type: string
description: Serial number of replacement component
partNumber:
type: string
description: Part number of replacement component
Inverter:
type: object
properties:
name:
type: string
manufacturer:
type: string
model:
type: string
serialNumber:
type: string
kWpDC:
type: number
format: float
communicationMethod:
type: string
cpuVersion:
type: string
SN:
type: string
connectedOptimizers:
type: integer
Meter:
type: object
properties:
name:
type: string
manufacturer:
type: string
model:
type: string
firmwareVersion:
type: string
connectedSolaredgeDeviceSN:
type: string
type:
type: string
form:
type: string
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)
Gateway:
type: object
properties:
name:
type: string
serialNumber:
type: string
firmwareVersion:
type: string
InverterTelemetry:
type: object
properties:
date:
type: string
description: Measurement timestamp
totalActivePower:
type: number
format: float
description: Total active power in W
dcVoltage:
type: number
format: float
description: DC voltage in V
groundFaultResistance:
type: number
format: float
description: Ground fault resistance
powerLimit:
type: number
format: float
description: Power limit percentage
totalEnergy:
type: number
format: float
description: Total lifetime energy in Wh
temperature:
type: number
format: float
description: Inverter temperature in Celsius
inverterMode:
type: string
description: Current inverter operating mode
operationMode:
type: integer
description: Numeric operation mode code
L1Data:
$ref: '#/components/schemas/PhaseData'
L2Data:
$ref: '#/components/schemas/PhaseData'
L3Data:
$ref: '#/components/schemas/PhaseData'
Sensor:
type: object
properties:
connectedSolaredgeDeviceSN:
type: string
id:
type: string
connectedTo:
type: string
category:
type: string
type:
type: string
MetersResponse:
type: object
properties:
meterEnergyDetails:
type: object
properties:
timeUnit:
type: string
unit:
type: string
meterSerialNumber:
type: string
connectedSolaredgeDeviceSN:
type: string
model:
type: string
meterType:
type: string
values:
type: array
items:
$ref: '#/components/schemas/TimedValue'
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'
parameters:
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'
timeUnit:
name: timeUnit
in: query
description: Time aggregation unit for energy data
schema:
type: string
enum:
- QUARTER_OF_AN_HOUR
- HOUR
- DAY
- WEEK
- MONTH
- YEAR
default: DAY
securitySchemes:
ApiKeyQuery:
type: apiKey
in: query
name: api_key
description: API key generated through the SolarEdge monitoring portal