Solaredge Sites API
Site-level list, details, energy, power and environmental data.
Site-level list, details, energy, power and environmental data.
openapi: 3.1.0
info:
title: SolarEdge Monitoring Account Sites API
version: '1.0'
description: Read-only REST API over the SolarEdge monitoring platform. Exposes photovoltaic site inventory, energy and power production, storage/battery data, environmental benefits, equipment telemetry, meters and sensors for sites the calling account can access. Authentication is by an api_key issued in the SolarEdge monitoring platform (Admin > Site Access > API Access). Responses default to JSON; several endpoints also support CSV and XML via the format/Accept negotiation documented by SolarEdge.
contact:
name: SolarEdge Support
url: https://www.solaredge.com/us/service/support
termsOfService: https://www.solaredge.com/us/legal/eula
servers:
- url: https://monitoringapi.solaredge.com
description: SolarEdge Monitoring API production host
security:
- api_key: []
tags:
- name: Sites
description: Site-level list, details, energy, power and environmental data.
paths:
/sites/list:
get:
operationId: getSitesList
summary: Site List
description: Returns a list of sites related to the given token, with basic data per site.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/startIndex'
- name: searchText
in: query
schema:
type: string
- name: sortProperty
in: query
schema:
type: string
- name: sortOrder
in: query
schema:
type: string
enum:
- ASC
- DESC
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/details:
get:
operationId: getSiteDetails
summary: Site Details
description: Displays the site details, such as name, location, status, etc.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/dataPeriod:
get:
operationId: getSiteDataPeriod
summary: Site Data - Start and End Dates
description: Returns the energy production start and end dates of the site.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/energy:
get:
operationId: getSiteEnergy
summary: Site Energy
description: Returns the site energy measurements over a time range at a given resolution.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
- $ref: '#/components/parameters/startDate'
- $ref: '#/components/parameters/endDate'
- $ref: '#/components/parameters/timeUnit'
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/timeFrameEnergy:
get:
operationId: getSiteTimeFrameEnergy
summary: Site Energy - Time Period
description: Returns the total energy produced for a given period.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
- $ref: '#/components/parameters/startDate'
- $ref: '#/components/parameters/endDate'
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/power:
get:
operationId: getSitePower
summary: Site Power
description: Returns the site power measurements in 15-minute resolution over a time range.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/overview:
get:
operationId: getSiteOverview
summary: Site Overview
description: Returns the site overview data (current power, day/month/year/lifetime energy and revenue).
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/powerDetails:
get:
operationId: getSitePowerDetails
summary: Site Power - Detailed
description: Returns detailed site power measurements including meters such as consumption and self-consumption.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
- name: meters
in: query
schema:
type: string
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/energyDetails:
get:
operationId: getSiteEnergyDetails
summary: Site Energy - Detailed
description: Returns detailed site energy measurements including meters such as consumption and self-consumption.
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
- $ref: '#/components/parameters/timeUnit'
- name: meters
in: query
schema:
type: string
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/currentPowerFlow:
get:
operationId: getSiteCurrentPowerFlow
summary: Site Power Flow
description: Retrieves the current power flow between all elements of the site (PV array, load, grid, storage).
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/site/{siteId}/envBenefits:
get:
operationId: getSiteEnvBenefits
summary: Site Environmental Benefits
description: Returns all environmental benefits based on site energy production (CO2 saved, trees planted, light bulbs).
tags:
- Sites
parameters:
- $ref: '#/components/parameters/siteId'
- name: systemUnits
in: query
schema:
type: string
enum:
- Metrics
- Imperial
responses:
'200':
$ref: '#/components/responses/OK'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
responses:
OK:
description: Successful response.
content:
application/json:
schema:
type: object
Unauthorized:
description: Authentication failed (missing or invalid api_key).
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
example:
type: https://se-api.stoplight.io/docs/monitoring
title: Unauthorized - Authentication Failed
status: 401
detail: Invalid API key
instance: null
properties:
traceId: 6a5f1ad81a5cfa8cd685fc4401bd7770
TooManyRequests:
description: The api_key/site daily query quota has been exceeded.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
Forbidden:
description: The account is not permitted to access the requested resource.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
parameters:
siteId:
name: siteId
in: path
required: true
description: The site identifier.
schema:
type: integer
startDate:
name: startDate
in: query
required: true
description: Start date in yyyy-MM-dd format.
schema:
type: string
format: date
startIndex:
name: startIndex
in: query
description: The first item index to return (zero-based), for pagination.
schema:
type: integer
default: 0
endDate:
name: endDate
in: query
required: true
description: End date in yyyy-MM-dd format.
schema:
type: string
format: date
timeUnit:
name: timeUnit
in: query
description: Aggregation granularity.
schema:
type: string
enum:
- QUARTER_OF_AN_HOUR
- HOUR
- DAY
- WEEK
- MONTH
- YEAR
startTime:
name: startTime
in: query
required: true
description: Start timestamp in yyyy-MM-dd HH:mm:ss format.
schema:
type: string
endTime:
name: endTime
in: query
required: true
description: End timestamp in yyyy-MM-dd HH:mm:ss format.
schema:
type: string
size:
name: size
in: query
description: The maximum number of items returned in a page (max 100).
schema:
type: integer
default: 100
maximum: 100
schemas:
Problem:
type: object
description: RFC 9457 problem details envelope returned by the SolarEdge Monitoring API on errors.
properties:
type:
type: string
format: uri
title:
type: string
status:
type: integer
detail:
type: string
instance:
type:
- string
- 'null'
properties:
type: object
properties:
traceId:
type: string
securitySchemes:
api_key:
type: apiKey
in: query
name: api_key
description: API key generated in the SolarEdge monitoring platform under Admin > Site Access > API Access. Passed as the api_key query parameter on every request.