openapi: 3.0.3
info:
title: 'GivEnergy API Documentation (v1.24.0)'
description: ''
version: 1.0.0
servers:
-
url: 'https://api.givenergy.cloud/v1'
paths:
/account:
get:
summary: 'Get Your Account Information'
operationId: getYourAccountInformation
description: 'Retrieves your account information'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 2
name: frank28.203
role: OWNER
email: kelly44@allen.co.uk
address: "Flat 60\nKyle Lights"
postcode: 'SP1 1NE'
country: UNITED_KINGDOM
telephone_number: '0738 286 7656'
timezone: GMT
standard_timezone: Europe/London
properties:
data:
type: object
properties:
id:
type: integer
example: 2
name:
type: string
example: frank28.203
role:
type: string
example: OWNER
email:
type: string
example: kelly44@allen.co.uk
address:
type: string
example: "Flat 60\nKyle Lights"
postcode:
type: string
example: 'SP1 1NE'
country:
type: string
example: UNITED_KINGDOM
telephone_number:
type: string
example: '0738 286 7656'
timezone:
type: string
example: GMT
standard_timezone:
type: string
example: Europe/London
tags:
- Account
'/account/{user_id}':
get:
summary: 'Get Account Information by ID'
operationId: getAccountInformationByID
description: 'Retrieves the information of a specific account by its ID'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 3
name: patel.joshua.941
role: EXTERNAL
email: wright.dylan@clark.net
address: '84 John Lake'
postcode: 'AB22 8ZW'
country: UNITED_KINGDOM
telephone_number: '+44(0)0083 429653'
timezone: GMT
standard_timezone: Europe/London
properties:
data:
type: object
properties:
id:
type: integer
example: 3
name:
type: string
example: patel.joshua.941
role:
type: string
example: EXTERNAL
email:
type: string
example: wright.dylan@clark.net
address:
type: string
example: '84 John Lake'
postcode:
type: string
example: 'AB22 8ZW'
country:
type: string
example: UNITED_KINGDOM
telephone_number:
type: string
example: '+44(0)0083 429653'
timezone:
type: string
example: GMT
standard_timezone:
type: string
example: Europe/London
tags:
- Account
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: '1234'
required: true
schema:
type: string
'/account/{user_username}/devices':
get:
summary: 'Get Account Dongles by ID'
operationId: getAccountDonglesByID
description: 'Retrieves a list of dongles for an account by its ID'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
serial_number: 49niih5fqc
firmware_version: null
type: GPRS
commission_date: '1997-05-02T22:20:47Z'
inverter:
serial: BA2061Q787
status: ERROR
last_online: '2022-08-24T23:58:28Z'
last_updated: '2019-04-04T13:10:44Z'
commission_date: '1972-12-05T03:35:26Z'
info:
battery_type: LITHIUM
battery:
nominal_capacity: 0
nominal_voltage: 0
model: 'Commercial EMS'
max_charge_rate: 0
warranty:
type: 'Standard Legacy'
expiry_date: '1977-12-05T03:35:26Z'
firmware_version:
ARM: null
DSP: null
connections:
batteries: []
flags: []
-
serial_number: 14jsne0awg
firmware_version: null
type: WIFI
commission_date: '2014-11-13T10:45:01Z'
inverter:
serial: NF8687R802
status: LOST
last_online: '1996-02-07T13:04:11Z'
last_updated: '2023-06-06T12:52:27Z'
commission_date: '1992-10-26T22:36:33Z'
info:
battery_type: LITHIUM
battery:
nominal_capacity: 100
nominal_voltage: 51.2
model: 'Plant EMS'
max_charge_rate: 2560
warranty:
type: 'Standard Legacy'
expiry_date: '1997-10-26T22:36:33Z'
firmware_version:
ARM: null
DSP: null
connections:
batteries:
-
module_number: 13
serial: az9114w183
firmware_version: 46919
capacity:
full: 109.81
design: 102
cell_count: 16
has_usb: false
nominal_voltage: 51.2
flags: []
properties:
data:
type: array
example:
-
serial_number: 49niih5fqc
firmware_version: null
type: GPRS
commission_date: '1997-05-02T22:20:47Z'
inverter:
serial: BA2061Q787
status: ERROR
last_online: '2022-08-24T23:58:28Z'
last_updated: '2019-04-04T13:10:44Z'
commission_date: '1972-12-05T03:35:26Z'
info:
battery_type: LITHIUM
battery:
nominal_capacity: 0
nominal_voltage: 0
model: 'Commercial EMS'
max_charge_rate: 0
warranty:
type: 'Standard Legacy'
expiry_date: '1977-12-05T03:35:26Z'
firmware_version:
ARM: null
DSP: null
connections:
batteries: []
flags: []
-
serial_number: 14jsne0awg
firmware_version: null
type: WIFI
commission_date: '2014-11-13T10:45:01Z'
inverter:
serial: NF8687R802
status: LOST
last_online: '1996-02-07T13:04:11Z'
last_updated: '2023-06-06T12:52:27Z'
commission_date: '1992-10-26T22:36:33Z'
info:
battery_type: LITHIUM
battery:
nominal_capacity: 100
nominal_voltage: 51.2
model: 'Plant EMS'
max_charge_rate: 2560
warranty:
type: 'Standard Legacy'
expiry_date: '1997-10-26T22:36:33Z'
firmware_version:
ARM: null
DSP: null
connections:
batteries:
-
module_number: 13
serial: az9114w183
firmware_version: 46919
capacity:
full: 109.81
design: 102
cell_count: 16
has_usb: false
nominal_voltage: 51.2
flags: []
items:
type: object
properties:
serial_number:
type: string
example: 49niih5fqc
firmware_version:
type: string
example: null
type:
type: string
example: GPRS
commission_date:
type: string
example: '1997-05-02T22:20:47Z'
inverter:
type: object
properties:
serial:
type: string
example: BA2061Q787
status:
type: string
example: ERROR
last_online:
type: string
example: '2022-08-24T23:58:28Z'
last_updated:
type: string
example: '2019-04-04T13:10:44Z'
commission_date:
type: string
example: '1972-12-05T03:35:26Z'
info:
type: object
properties:
battery_type:
type: string
example: LITHIUM
battery:
type: object
properties:
nominal_capacity:
type: integer
example: 0
nominal_voltage:
type: integer
example: 0
model:
type: string
example: 'Commercial EMS'
max_charge_rate:
type: integer
example: 0
warranty:
type: object
properties:
type:
type: string
example: 'Standard Legacy'
expiry_date:
type: string
example: '1977-12-05T03:35:26Z'
firmware_version:
type: object
properties:
ARM:
type: string
example: null
DSP:
type: string
example: null
connections:
type: object
properties:
batteries:
type: array
example: []
flags:
type: array
example: []
tags:
- Account
parameters:
-
in: path
name: user_username
description: 'The username of the user.'
example: qkunze
required: true
schema:
type: string
'/account/search/{user_username}':
get:
summary: 'Get Account Information by Username'
operationId: getAccountInformationByUsername
description: 'Retrieves the information of a specific account by its username'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 12
name: lmartin.14
role: VIEWER
email: noah.phillips@rogers.biz
address: "Flat 31\nKing Lake"
postcode: 'AB11 5QE'
country: UNITED_KINGDOM
telephone_number: '(0064) 295 7686'
timezone: GMT
standard_timezone: Europe/London
properties:
data:
type: object
properties:
id:
type: integer
example: 12
name:
type: string
example: lmartin.14
role:
type: string
example: VIEWER
email:
type: string
example: noah.phillips@rogers.biz
address:
type: string
example: "Flat 31\nKing Lake"
postcode:
type: string
example: 'AB11 5QE'
country:
type: string
example: UNITED_KINGDOM
telephone_number:
type: string
example: '(0064) 295 7686'
timezone:
type: string
example: GMT
standard_timezone:
type: string
example: Europe/London
tags:
- Account
parameters:
-
in: path
name: user_username
description: 'The username of the user.'
example: qkunze
required: true
schema:
type: string
/account-children:
get:
summary: 'Get Your Account Children Information'
operationId: getYourAccountChildrenInformation
description: 'Retrieves a list of accounts that your account has access to'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 13
name: wright.dylan.123
role: SUB_CONTRACTOR
email: stephanie07@gmail.com
address: '84 Alexandra Square'
postcode: 'WS11 1ZY'
country: UNITED_KINGDOM
telephone_number: '04527298086'
timezone: GMT
standard_timezone: Europe/London
-
id: 14
name: michael37.776
role: SUB_CONTRACTOR
email: jmorgan@gmail.com
address: '39 Grace Ferry'
postcode: 'LE4 4JR'
country: UNITED_KINGDOM
telephone_number: '0047 3552779'
timezone: 'GMT -1'
standard_timezone: Atlantic/Azores
properties:
data:
type: array
example:
-
id: 13
name: wright.dylan.123
role: SUB_CONTRACTOR
email: stephanie07@gmail.com
address: '84 Alexandra Square'
postcode: 'WS11 1ZY'
country: UNITED_KINGDOM
telephone_number: '04527298086'
timezone: GMT
standard_timezone: Europe/London
-
id: 14
name: michael37.776
role: SUB_CONTRACTOR
email: jmorgan@gmail.com
address: '39 Grace Ferry'
postcode: 'LE4 4JR'
country: UNITED_KINGDOM
telephone_number: '0047 3552779'
timezone: 'GMT -1'
standard_timezone: Atlantic/Azores
items:
type: object
properties:
id:
type: integer
example: 13
name:
type: string
example: wright.dylan.123
role:
type: string
example: SUB_CONTRACTOR
email:
type: string
example: stephanie07@gmail.com
address:
type: string
example: '84 Alexandra Square'
postcode:
type: string
example: 'WS11 1ZY'
country:
type: string
example: UNITED_KINGDOM
telephone_number:
type: string
example: '04527298086'
timezone:
type: string
example: GMT
standard_timezone:
type: string
example: Europe/London
tags:
- Account
'/account-children/{user_id}':
get:
summary: 'Get Account Children Information by ID'
operationId: getAccountChildrenInformationByID
description: 'Retrieves a list of accounts that the specified account has access to'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 15
name: rose.phoebe.616
role: VIEWER
email: jackson.amy@owen.com
address: '80 Collins Land'
postcode: 'MK9 2AD'
country: UNITED_KINGDOM
telephone_number: +44(0)316836121
timezone: GMT
standard_timezone: Europe/London
-
id: 16
name: molly.watson.814
role: OWNER
email: wilkinson.zach@smith.info
address: '33 Sean Valley'
postcode: 'TW15 3EQ'
country: UNITED_KINGDOM
telephone_number: '0975301722'
timezone: 'GMT +6'
standard_timezone: Asia/Qostanay
properties:
data:
type: array
example:
-
id: 15
name: rose.phoebe.616
role: VIEWER
email: jackson.amy@owen.com
address: '80 Collins Land'
postcode: 'MK9 2AD'
country: UNITED_KINGDOM
telephone_number: +44(0)316836121
timezone: GMT
standard_timezone: Europe/London
-
id: 16
name: molly.watson.814
role: OWNER
email: wilkinson.zach@smith.info
address: '33 Sean Valley'
postcode: 'TW15 3EQ'
country: UNITED_KINGDOM
telephone_number: '0975301722'
timezone: 'GMT +6'
standard_timezone: Asia/Qostanay
items:
type: object
properties:
id:
type: integer
example: 15
name:
type: string
example: rose.phoebe.616
role:
type: string
example: VIEWER
email:
type: string
example: jackson.amy@owen.com
address:
type: string
example: '80 Collins Land'
postcode:
type: string
example: 'MK9 2AD'
country:
type: string
example: UNITED_KINGDOM
telephone_number:
type: string
example: +44(0)316836121
timezone:
type: string
example: GMT
standard_timezone:
type: string
example: Europe/London
tags:
- Account
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: '1234'
required: true
schema:
type: string
/communication-device:
get:
summary: 'Get Your Communication Devices'
operationId: getYourCommunicationDevices
description: 'View a collection of communication devices you have access to'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
serial_number: WF2345G123
type: WIFI
commission_date: '2021-01-01T00:00:00Z'
inverter:
serial: CE2345G123
status: WAITING
last_online: '2023-01-01T00:00:00Z'
last_updated: '2023-01-01T00:00:00Z'
commission_date: '2021-01-01T00:00:00Z'
info:
battery_type: LITHIUM
battery:
nominal_capacity: 110
nominal_voltage: 51.2
model: GIV-AC-3.0
max_charge_rate: 2560
warranty:
type: Standard
expiry_date: '2033-01-01T00:00:00Z'
firmware_version:
ARM: 420
DSP: 426
connections:
batteries:
-
module_number: 1
serial: BB2345G123
firmware_version: '1035'
capacity:
full: 110
design: 110
cell_count: 16
has_usb: true
nominal_voltage: 51.2
meters:
-
address: 1
serial_number: 212345678
manufacturer_code: '0000'
type_code: 1500
hardware_version: 1000
software_version: 1000
baud_rate: 9600
flags: []
properties:
data:
type: array
example:
-
serial_number: WF2345G123
type: WIFI
commission_date: '2021-01-01T00:00:00Z'
inverter:
serial: CE2345G123
status: WAITING
last_online: '2023-01-01T00:00:00Z'
last_updated: '2023-01-01T00:00:00Z'
commission_date: '2021-01-01T00:00:00Z'
info:
battery_type: LITHIUM
battery:
nominal_capacity: 110
nominal_voltage: 51.2
model: GIV-AC-3.0
max_charge_rate: 2560
warranty:
type: Standard
expiry_date: '2033-01-01T00:00:00Z'
firmware_version:
ARM: 420
DSP: 426
connections:
batteries:
-
module_number: 1
serial: BB2345G123
firmware_version: '1035'
capacity:
full: 110
design: 110
cell_count: 16
has_usb: true
nominal_voltage: 51.2
meters:
-
address: 1
serial_number: 212345678
manufacturer_code: '0000'
type_code: 1500
hardware_version: 1000
software_version: 1000
baud_rate: 9600
flags: []
items:
type: object
properties:
serial_number:
type: string
example: WF2345G123
type:
type: string
example: WIFI
commission_date:
type: string
example: '2021-01-01T00:00:00Z'
inverter:
type: object
properties:
serial:
type: string
example: CE2345G123
status:
type: string
example: WAITING
last_online:
type: string
example: '2023-01-01T00:00:00Z'
last_updated:
type: string
example: '2023-01-01T00:00:00Z'
commission_date:
type: string
example: '2021-01-01T00:00:00Z'
info:
type: object
properties:
battery_type:
type: string
example: LITHIUM
battery:
type: object
properties:
nominal_capacity:
type: integer
example: 110
nominal_voltage:
type: number
example: 51.2
model:
type: string
example: GIV-AC-3.0
max_charge_rate:
type: integer
example: 2560
warranty:
type: object
properties:
type:
type: string
example: Standard
expiry_date:
type: string
example: '2033-01-01T00:00:00Z'
firmware_version:
type: object
properties:
ARM:
type: integer
example: 420
DSP:
type: integer
example: 426
connections:
type: object
properties:
batteries:
type: array
example:
-
module_number: 1
serial: BB2345G123
firmware_version: '1035'
capacity: { full: 110, design: 110 }
cell_count: 16
has_usb: true
nominal_voltage: 51.2
items:
type: object
properties:
module_number: { type: integer, example: 1 }
serial: { type: string, example: BB2345G123 }
firmware_version: { type: string, example: '1035' }
capacity: { type: object, properties: { full: { type: integer, example: 110 }, design: { type: integer, example: 110 } } }
cell_count: { type: integer, example: 16 }
has_usb: { type: boolean, example: true }
nominal_voltage: { type: number, example: 51.2 }
meters:
type: array
example:
-
address: 1
serial_number: 212345678
manufacturer_code: '0000'
type_code: 1500
hardware_version: 1000
software_version: 1000
baud_rate: 9600
items:
type: object
properties:
address: { type: integer, example: 1 }
serial_number: { type: integer, example: 212345678 }
manufacturer_code: { type: string, example: '0000' }
type_code: { type: integer, example: 1500 }
hardware_version: { type: integer, example: 1000 }
software_version: { type: integer, example: 1000 }
baud_rate: { type: integer, example: 9600 }
flags:
type: array
example: []
tags:
- 'Communication Device'
'/communication-device/{communicationDevice_serial_number}':
get:
summary: 'Get Communication Device Information by Serial Number'
operationId: getCommunicationDeviceInformationBySerialNumber
description: "Get a communication device's information by serial number"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
serial_number: WF2345G123
type: WIFI
commission_date: '2021-01-01T00:00:00Z'
inverter:
serial: CE2345G123
status: WAITING
last_online: '2023-01-01T00:00:00Z'
last_updated: '2023-01-01T00:00:00Z'
commission_date: '2021-01-01T00:00:00Z'
info:
battery_type: LITHIUM
battery:
nominal_capacity: 110
nominal_voltage: 51.2
model: GIV-AC-3.0
max_charge_rate: 2560
warranty:
type: Standard
expiry_date: '2033-01-01T00:00:00Z'
firmware_version:
ARM: 420
DSP: 426
connections:
batteries:
-
module_number: 1
serial: BB2345G123
firmware_version: '1035'
capacity:
full: 110
design: 110
cell_count: 16
has_usb: true
nominal_voltage: 51.2
meters:
-
address: 1
serial_number: 212345678
manufacturer_code: '0000'
type_code: 1500
hardware_version: 1000
software_version: 1000
baud_rate: 9600
flags: []
properties:
data:
type: object
properties:
serial_number:
type: string
example: WF2345G123
type:
type: string
example: WIFI
commission_date:
type: string
example: '2021-01-01T00:00:00Z'
inverter:
type: object
properties:
serial:
type: string
example: CE2345G123
status:
type: string
example: WAITING
last_online:
type: string
example: '2023-01-01T00:00:00Z'
last_updated:
type: string
example: '2023-01-01T00:00:00Z'
commission_date:
type: string
example: '2021-01-01T00:00:00Z'
info:
type: object
properties:
battery_type:
type: string
example: LITHIUM
battery:
type: object
properties:
nominal_capacity:
type: integer
example: 110
nominal_voltage:
type: number
example: 51.2
model:
type: string
example: GIV-AC-3.0
max_charge_rate:
type: integer
example: 2560
warranty:
type: object
properties:
type:
type: string
example: Standard
expiry_date:
type: string
example: '2033-01-01T00:00:00Z'
firmware_version:
type: object
properties:
ARM:
type: integer
example: 420
DSP:
type: integer
example: 426
connections:
type: object
properties:
batteries:
type: array
example:
-
module_number: 1
serial: BB2345G123
firmware_version: '1035'
capacity:
full: 110
design: 110
cell_count: 16
has_usb: true
nominal_voltage: 51.2
items:
type: object
properties:
module_number:
type: integer
example: 1
serial:
type: string
example: BB2345G123
firmware_version:
type: string
example: '1035'
capacity:
type: object
properties: { full: { type: integer, example: 110 }, design: { type: integer, example: 110 } }
cell_count:
type: integer
example: 16
has_usb:
type: boolean
example: true
nominal_voltage:
type: number
example: 51.2
meters:
type: array
example:
-
address: 1
serial_number: 212345678
manufacturer_code: '0000'
type_code: 1500
hardware_version: 1000
software_version: 1000
baud_rate: 9600
items:
type: object
properties:
address:
type: integer
example: 1
serial_number:
type: integer
example: 212345678
manufacturer_code:
type: string
example: '0000'
type_code:
type: integer
example: 1500
hardware_version:
type: integer
example: 1000
software_version:
type: integer
example: 1000
baud_rate:
type: integer
example: 9600
flags:
type: array
example: []
tags:
- 'Communication Device'
parameters:
-
in: path
name: communicationDevice_serial_number
description: 'The serial number of the communicationDevice.'
example: consequatur
required: true
schema:
type: string
'/ems/{inverter_serial_number}/system-data/latest':
get:
summary: 'Get Latest EMS System Data'
operationId: getLatestEMSSystemData
description: ''
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
battery_power: 9214
battery_wh_remaining: 58276
calculated_load_power: 15168
car_power: -27828
error_code: 40330
grid_power: 16772
measured_load_power: 19053
status: 3
time: null
total_generation: 8035
warning_code: 48384
inverters:
-
active_power: -8597
number: 1
serial_number: il6029p206
soc: 88
status: 4
temperature: 3.2
-
active_power: -2221
number: 2
serial_number: nl3168l361
soc: 79
status: 4
temperature: 10.3
-
active_power: 24191
number: 3
serial_number: uy0262d251
soc: 43
status: 2
temperature: 28.4
-
active_power: null
number: 4
serial_number: null
soc: null
status: 0
temperature: null
meters:
-
active_power: null
number: 1
status: 0
type: 0
-
active_power: null
number: 2
status: 2
type: 1
-
active_power: null
number: 3
status: 0
type: 3
-
active_power: null
number: 4
status: 2
type: 2
-
active_power: null
number: 5
status: 0
type: 0
-
active_power: null
number: 6
status: 0
type: 0
-
active_power: null
number: 7
status: 0
type: 0
-
active_power: null
number: 8
status: 0
type: 0
properties:
data:
type: object
properties:
battery_power:
type: integer
example: 9214
battery_wh_remaining:
type: integer
example: 58276
calculated_load_power:
type: integer
example: 15168
car_power:
type: integer
example: -27828
error_code:
type: integer
example: 40330
grid_power:
type: integer
example: 16772
measured_load_power:
type: integer
example: 19053
status:
type: integer
example: 3
time:
type: string
example: null
total_generation:
type: integer
example: 8035
warning_code:
type: integer
example: 48384
inverters:
type: array
example:
-
active_power: -8597
number: 1
serial_number: il6029p206
soc: 88
status: 4
temperature: 3.2
-
active_power: -2221
number: 2
serial_number: nl3168l361
soc: 79
status: 4
temperature: 10.3
-
active_power: 24191
number: 3
serial_number: uy0262d251
soc: 43
status: 2
temperature: 28.4
-
active_power: null
number: 4
serial_number: null
soc: null
status: 0
temperature: null
items:
type: object
properties:
active_power:
type: integer
example: -8597
number:
type: integer
example: 1
serial_number:
type: string
example: il6029p206
soc:
type: integer
example: 88
status:
type: integer
example: 4
temperature:
type: number
example: 3.2
meters:
type: array
example:
-
active_power: null
number: 1
status: 0
type: 0
-
active_power: null
number: 2
status: 2
type: 1
-
active_power: null
number: 3
status: 0
type: 3
-
active_power: null
number: 4
status: 2
type: 2
-
active_power: null
number: 5
status: 0
type: 0
-
active_power: null
number: 6
status: 0
type: 0
-
active_power: null
number: 7
status: 0
type: 0
-
active_power: null
number: 8
status: 0
type: 0
items:
type: object
properties:
active_power:
type: string
example: null
number:
type: integer
example: 1
status:
type: integer
example: 0
type:
type: integer
example: 0
tags:
- 'EMS Data'
parameters:
-
in: path
name: inverter_serial_number
description: 'Optional parameter. The serial number of the EMS'
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: consequatur
/ev-charger:
get:
summary: 'Get Your EV Chargers'
operationId: getYourEVChargers
description: 'Return a list of EV chargers registered to your account'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
uuid: 5d120e4c-8389-4b59-a257-276d48231231
serial_number: '02622517580214'
type: GivEnergy
alias: Garage
online: false
went_offline_at: null
status: Charging
-
uuid: 0d99cda9-a2d6-46de-8681-c62809b94231
serial_number: '96893553879883'
type: GivEnergy
alias: 'EV Charger 1'
online: false
went_offline_at: null
status: Unavailable
properties:
data:
type: array
example:
-
uuid: 5d120e4c-8389-4b59-a257-276d48231231
serial_number: '02622517580214'
type: GivEnergy
alias: Garage
online: false
went_offline_at: null
status: Charging
-
uuid: 0d99cda9-a2d6-46de-8681-c62809b94231
serial_number: '96893553879883'
type: GivEnergy
alias: 'EV Charger 1'
online: false
went_offline_at: null
status: Unavailable
items:
type: object
properties:
uuid:
type: string
example: 5d120e4c-8389-4b59-a257-276d48231231
serial_number:
type: string
example: '02622517580214'
type:
type: string
example: GivEnergy
alias:
type: string
example: Garage
online:
type: boolean
example: false
went_offline_at:
type: string
example: null
status:
type: string
example: Charging
tags:
- 'EV Charger'
'/ev-charger/{charger_uuid}':
get:
summary: 'Get EV Charger by UUID'
operationId: getEVChargerByUUID
description: 'Return information about a single EV charger by its UUID'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 80ade732-f700-4401-82fb-b8c7e4349163
serial_number: '70458130637647'
type: GivEnergy
alias: Garage
online: false
went_offline_at: null
status: Preparing
properties:
data:
type: object
properties:
uuid:
type: string
example: 80ade732-f700-4401-82fb-b8c7e4349163
serial_number:
type: string
example: '70458130637647'
type:
type: string
example: GivEnergy
alias:
type: string
example: Garage
online:
type: boolean
example: false
went_offline_at:
type: string
example: null
status:
type: string
example: Preparing
tags:
- 'EV Charger'
parameters:
-
in: path
name: charger_uuid
description: 'The UUID of the charger.'
example: 66529e01-d113-3473-8d6f-9e11e09332ea
required: true
schema:
type: string
'/ev-charger/{charger_uuid}/meter-data':
get:
summary: 'Get Data Points'
operationId: getDataPoints
description: ''
parameters:
-
in: query
name: start_time
description: 'The time of the earliest data point. Must be a valid date. Must be a date before now
.'
example: '2023-06-01T00:00:00Z'
required: true
schema:
type: string
description: 'The time of the earliest data point. Must be a valid date. Must be a date before now
.'
example: '2023-06-01T00:00:00Z'
-
in: query
name: end_time
description: 'The time of the latest data point. Must be a valid date. Must be a date after start_time
.'
example: '2023-06-02T00:00:00Z'
required: true
schema:
type: string
description: 'The time of the latest data point. Must be a valid date. Must be a date after start_time
.'
example: '2023-06-02T00:00:00Z'
-
in: query
name: measurands
description: 'One or more measurands to filter by.'
example:
- 1
required: true
schema:
type: array
description: 'One or more measurands to filter by.'
example:
- 1
items:
type: string
-
in: query
name: meter_ids
description: 'The IDs of the measuring devices to fetch data for.'
example:
- 1
required: true
schema:
type: array
description: 'The IDs of the measuring devices to fetch data for.'
example:
- 1
items:
type: integer
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
meter_id: 0
timestamp: '2023-06-01 08:00:00'
measurements:
-
measurand: 13
value: 1145.0
unit: 4
-
measurand: 11
value: 50.2
unit: null
-
measurand: 21
value: 230.5
unit: 11
properties:
data:
type: array
example:
-
meter_id: 0
timestamp: '2023-06-01 08:00:00'
measurements:
-
measurand: 13
value: 1145
unit: 4
-
measurand: 11
value: 50.2
unit: null
-
measurand: 21
value: 230.5
unit: 11
items:
type: object
properties:
meter_id:
type: integer
example: 0
timestamp:
type: string
example: '2023-06-01 08:00:00'
measurements:
type: array
example:
-
measurand: 13
value: 1145
unit: 4
-
measurand: 11
value: 50.2
unit: null
-
measurand: 21
value: 230.5
unit: 11
items:
type: object
properties:
measurand:
type: integer
example: 13
value:
type: number
example: 1145.0
unit:
type: integer
example: 4
tags:
- 'EV Charger'
parameters:
-
in: path
name: charger_uuid
description: 'The UUID of the charger.'
example: 66529e01-d113-3473-8d6f-9e11e09332ea
required: true
schema:
type: string
'/ev-charger/{charger_uuid}/commands':
get:
summary: 'Get Supported Commands'
operationId: getSupportedCommands
description: 'Fetch a list of all commands that are supported for the given EV charger'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
- start-charge
- stop-charge
- set-plug-and-go
- set-session-energy-limit
- set-schedule
- change-mode
properties:
data:
type: array
example:
- start-charge
- stop-charge
- set-plug-and-go
- set-session-energy-limit
- set-schedule
- change-mode
items:
type: string
tags:
- 'EV Charger'
parameters:
-
in: path
name: charger_uuid
description: 'The UUID of the charger.'
example: 66529e01-d113-3473-8d6f-9e11e09332ea
required: true
schema:
type: string
'/ev-charger/{charger_uuid}/commands/{command_id}':
get:
summary: 'Get Command Data'
operationId: getCommandData
description: "Fetch the current data for the given command and EV Charger\n\n\n\nThe below response example is for the change-mode
command"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
active: EcoPlus
available:
- Eco
- EcoPlus
- Boost
properties:
data:
type: object
properties:
active:
type: string
example: EcoPlus
available:
type: array
example:
- Eco
- EcoPlus
- Boost
items:
type: string
tags:
- 'EV Charger'
post:
summary: 'Send Command'
operationId: sendCommand
description: 'Send a command to an EV Charger'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
code: 0
success: true
message: Accepted
properties:
data:
type: object
properties:
code:
type: integer
example: 0
success:
type: boolean
example: true
message:
type: string
example: Accepted
tags:
- 'EV Charger'
parameters:
-
in: path
name: charger_uuid
description: 'The UUID of the charger.'
example: 66529e01-d113-3473-8d6f-9e11e09332ea
required: true
schema:
type: string
-
in: path
name: command_id
description: 'The ID of the command.'
example: setup-version
required: true
schema:
type: string
'/ev-charger/{charger_uuid}/charging-sessions':
get:
summary: 'Get Charging Sessions'
operationId: getChargingSessions
description: 'Fetch a list of all charging sessions for the given EV charger'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
started_by: 9f42852
meter_start: 933.4
started_at: '2000-04-07T09:11:08Z'
stopped_by: null
meter_stop: null
stopped_at: null
stop_reason: null
-
started_by: 54bd6d5
meter_start: 1423.7
started_at: '1981-01-08T16:56:53Z'
stopped_by: null
meter_stop: null
stopped_at: null
stop_reason: null
properties:
data:
type: array
example:
-
started_by: 9f42852
meter_start: 933.4
started_at: '2000-04-07T09:11:08Z'
stopped_by: null
meter_stop: null
stopped_at: null
stop_reason: null
-
started_by: 54bd6d5
meter_start: 1423.7
started_at: '1981-01-08T16:56:53Z'
stopped_by: null
meter_stop: null
stopped_at: null
stop_reason: null
items:
type: object
properties:
started_by:
type: string
example: 9f42852
meter_start:
type: number
example: 933.4
started_at:
type: string
example: '2000-04-07T09:11:08Z'
stopped_by:
type: string
example: null
meter_stop:
type: string
example: null
stopped_at:
type: string
example: null
stop_reason:
type: string
example: null
tags:
- 'EV Charger'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
start_time:
type: string
description: 'Must be a valid date. Must be a date before or equal to end_time
.'
example: '2018-08-28'
end_time:
type: string
description: 'Must be a valid date. Must be a date after or equal to start_time
.'
example: '2105-06-01'
parameters:
-
in: path
name: charger_uuid
description: 'The UUID of the charger.'
example: 66529e01-d113-3473-8d6f-9e11e09332ea
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/energy-flows':
post:
summary: 'Get Energy Flow Data'
operationId: getEnergyFlowData
description: 'Fetches the energy flow data for a given inverter between 2 times'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n \"start_time\": \"2022-01-01 00:00\",\n \"end_time\": \"2022-01-01 00:30\",\n \"data\": [\n \"0\": 4.5,\n \"1\": 8.3,\n \"2\": 1.2,\n \"5\": 7.3\n ],\n ...\n ]\n }"
tags:
- 'Energy Flow Data'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
start_time:
type: datetime
description: "The start time of the query. Based on the inverter's local time"
example: '2022-01-01'
end_time:
type: datetime
description: "The end time of the query. Based on the inverter's local time"
example: '2022-01-01'
grouping:
type: integer
description: 'The way in which to group the data. See the above table for a complete list of grouping IDs'
example: 0
types:
type: array
description: 'An array of type IDs. See the above table for a complete list of type IDs. Leave blank to fetch all types'
example:
- 0
- 1
- 2
- 5
items:
type: integer
required:
- start_time
- end_time
- grouping
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/presets':
get:
summary: 'Get Setting Presets'
operationId: getSettingPresets
description: 'Retrieves a list of available setting presets for a given inverter'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"id\": 0,\n \"name\": \"Eco\",\n \"description\": \"This mode will dynamically charge and discharge your batteries to minimise your import from the grid\",\n \"parameters\": {\n \"enabled\": {\n \"description\": \"Enable or disable the preset\",\n \"validation\": [\n \"required\",\n \"boolean\"\n ]\n }\n }\n },\n ...\n ]\n}"
tags:
- 'Inverter Control'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/presets/{preset}':
post:
summary: 'Modify Preset'
operationId: modifyPreset
description: 'Modify one or more inverter settings using a given preset'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Read Successfully'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Read Successfully'
tags:
- 'Inverter Control'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
-
in: path
name: preset
description: 'The preset.'
example: consequatur
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/settings':
get:
summary: 'Get Settings List'
operationId: getSettingsList
description: 'Returns a set of inverter settings available to your account'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 266
name: 'DC Discharge 3 End Time'
validation: 'Value format should be HH:mm. Use correct time range for hour and minutes'
validation_rules:
- 'date_format:H:i'
properties:
data:
type: array
example:
-
id: 266
name: 'DC Discharge 3 End Time'
validation: 'Value format should be HH:mm. Use correct time range for hour and minutes'
validation_rules:
- 'date_format:H:i'
items:
type: object
properties:
id:
type: integer
example: 266
name:
type: string
example: 'DC Discharge 3 End Time'
validation:
type: string
example: 'Value format should be HH:mm. Use correct time range for hour and minutes'
validation_rules:
type: array
example:
- 'date_format:H:i'
items:
type: string
tags:
- 'Inverter Control'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/settings/{setting_id}/read':
post:
summary: 'Read Setting'
operationId: readSetting
description: 'Read a specific setting on the inverter'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
value: 326.13
properties:
data:
type: object
properties:
value:
type: number
example: 326.13
tags:
- 'Inverter Control'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
context:
type: string
description: "Additional context to record against this command. Appears on the remote control history in 'via'"
example: consequatur
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
-
in: path
name: setting_id
description: 'The ID of the setting.'
example: 17
required: true
schema:
type: integer
'/inverter/{inverter_serial_number}/settings/{setting_id}/write':
post:
summary: 'Modify Setting'
operationId: modifySetting
description: 'Write a value to the setting on the inverter'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
value: '32:613'
success: true
message: 'Read Successfully'
properties:
data:
type: object
properties:
value:
type: string
example: '32:613'
success:
type: boolean
example: true
message:
type: string
example: 'Read Successfully'
tags:
- 'Inverter Control'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
value:
type: mixed
description: 'The value of the setting'
example: consequatur
context:
type: string
description: "Additional context to record against this command. Appears on the remote control history in 'via'"
example: consequatur
required:
- value
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
-
in: path
name: setting_id
description: 'The ID of the setting.'
example: 17
required: true
schema:
type: integer
/multi-control/write:
post:
summary: 'Modify Setting (Multiple)'
operationId: modifySettingMultiple
description: "Write a value to a setting on multiple inverters\n"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"SERIAL_1\": {\n \"response\": 1,\n },\n \"SERIAL_2\": {\n \"response\": -2,\n }\n}"
tags:
- 'Inverter Control'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
inverter_serials:
type: array
description: 'An array of inverter serial numbers to send the command to with a maximum length of 1000'
example:
- SERIAL_1
- SERIAL_2
items:
type: string
setting_id:
type: integer
description: 'The ID of the setting to modify'
example: 17
value:
type: mixed
description: 'The value of the setting'
example: '1'
required:
- inverter_serials
- setting_id
- value
/multi-control/read:
post:
summary: 'Read Setting (Multiple)'
operationId: readSettingMultiple
description: "Read a specific setting on multiple inverters\n"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"SERIAL_1\": {\n \"response\": 1,\n },\n \"SERIAL_2\": {\n \"response\": -2,\n }\n }"
tags:
- 'Inverter Control'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
inverter_serials:
type: array
description: 'An array of inverter serial numbers to send the command to with a maximum length of 1000'
example:
- SERIAL_1
- SERIAL_2
items:
type: string
setting_id:
type: integer
description: 'The ID of the setting to modify'
example: 17
required:
- inverter_serials
- setting_id
'/inverter/{inverter_serial_number}/request-data':
get:
summary: 'Request Inverter Data'
operationId: requestInverterData
description: "Sends a command to the inverter to force it to persist a data point\n\n"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: failure
content:
application/json:
schema:
type: object
example:
success: false
properties:
success:
type: boolean
example: false
tags:
- 'Inverter Data'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/system-data/latest':
get:
summary: 'Get Latest System Data'
operationId: getLatestSystemData
description: 'Retrieves the latest system data from the inverter'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
time: '1973-02-07T11:42:22Z'
status: Normal
solar:
power: 3889
arrays:
-
array: 1
voltage: 177.6
current: 457.8
power: 1717
-
array: 2
voltage: 335.1
current: 366.9
power: 921
grid:
voltage: 2124.3
current: 4173.5
power: 2969
frequency: 479.5
battery:
percent: 15
power: -2317
temperature: 50.3
inverter:
temperature: 30.3
power: 92077
output_voltage: 235.6
output_frequency: 50.49
eps_power: 3556
consumption: 38158
properties:
data:
type: object
properties:
time:
type: string
example: '1973-02-07T11:42:22Z'
status:
type: string
example: Normal
solar:
type: object
properties:
power:
type: integer
example: 3889
arrays:
type: array
example:
-
array: 1
voltage: 177.6
current: 457.8
power: 1717
-
array: 2
voltage: 335.1
current: 366.9
power: 921
items:
type: object
properties:
array:
type: integer
example: 1
voltage:
type: number
example: 177.6
current:
type: number
example: 457.8
power:
type: integer
example: 1717
grid:
type: object
properties:
voltage:
type: number
example: 2124.3
current:
type: number
example: 4173.5
power:
type: integer
example: 2969
frequency:
type: number
example: 479.5
battery:
type: object
properties:
percent:
type: integer
example: 15
power:
type: integer
example: -2317
temperature:
type: number
example: 50.3
inverter:
type: object
properties:
temperature:
type: number
example: 30.3
power:
type: integer
example: 92077
output_voltage:
type: number
example: 235.6
output_frequency:
type: number
example: 50.49
eps_power:
type: integer
example: 3556
consumption:
type: integer
example: 38158
tags:
- 'Inverter Data'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/meter-data/latest':
get:
summary: 'Get Latest Meter Data'
operationId: getLatestMeterData
description: 'Retrieves the latest meter data from the inverter'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
time: '1973-02-07T11:42:22Z'
today:
solar: 1569.2
grid:
import: 5938.9
export: 7484.8
battery:
charge: 80870.2
discharge: 69077.6
consumption: 1140.7
ac_charge: 182588.7
total:
solar: 25973.1
grid:
import: 9508.1
export: 1564.4
battery:
charge: 2693.9
discharge: 2693.9
consumption: 9491
ac_charge: 8216
is_metered: true
properties:
data:
type: object
properties:
time:
type: string
example: '1973-02-07T11:42:22Z'
today:
type: object
properties:
solar:
type: number
example: 1569.2
grid:
type: object
properties:
import:
type: number
example: 5938.9
export:
type: number
example: 7484.8
battery:
type: object
properties:
charge:
type: number
example: 80870.2
discharge:
type: number
example: 69077.6
consumption:
type: number
example: 1140.7
ac_charge:
type: number
example: 182588.7
total:
type: object
properties:
solar:
type: number
example: 25973.1
grid:
type: object
properties:
import:
type: number
example: 9508.1
export:
type: number
example: 1564.4
battery:
type: object
properties:
charge:
type: number
example: 2693.9
discharge:
type: number
example: 2693.9
consumption:
type: integer
example: 9491
ac_charge:
type: integer
example: 8216
is_metered:
type: boolean
example: true
tags:
- 'Inverter Data'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/events':
get:
summary: 'Get Events'
operationId: getEvents
description: 'Retrieves a list of faults that were triggered from the inverter and when they were cleared'
parameters:
-
in: query
name: start
description: 'ISO8601-datetime Start time'
example: consequatur
required: false
schema:
type: string
description: 'ISO8601-datetime Start time'
example: consequatur
-
in: query
name: end
description: 'ISO8601-datetime End time'
example: consequatur
required: false
schema:
type: string
description: 'ISO8601-datetime End time'
example: consequatur
-
in: query
name: cleared
description: "Whether 'cleared' events should be included with the data. Default is false"
example: false
required: false
schema:
type: boolean
description: "Whether 'cleared' events should be included with the data. Default is false"
example: false
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
event: 'Parallel communication failure'
start_time: '2003-10-20T21:15:16Z'
end_time: null
-
event: 'PV Over Voltage'
start_time: '2003-10-02T15:31:04Z'
end_time: null
properties:
data:
type: array
example:
-
event: 'Parallel communication failure'
start_time: '2003-10-20T21:15:16Z'
end_time: null
-
event: 'PV Over Voltage'
start_time: '2003-10-02T15:31:04Z'
end_time: null
items:
type: object
properties:
event:
type: string
example: 'Parallel communication failure'
start_time:
type: string
example: '2003-10-20T21:15:16Z'
end_time:
type: string
example: null
tags:
- 'Inverter Data'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
cleared:
type: boolean
description: ''
example: false
start:
type: string
description: 'Must be a valid date. Must be a date before tomorrow
.'
example: '2018-08-29'
end:
type: string
description: 'Must be a valid date. Must be a date after start
.'
example: '2105-06-01'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
'/inverter/{inverter_serial_number}/data-points/{date}':
get:
summary: 'Get Data Points'
operationId: getDataPoints
description: 'Displays the entire data packet set from the chosen date'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
time: '1996-12-02T18:23:47Z'
status: LOST
power:
solar:
power: 4703
arrays:
-
array: 1
voltage: 198.6
current: 3.3
power: 491
-
array: 2
voltage: 170.8
current: 10
power: 2806
grid:
voltage: 128.3
current: 98.1
power: 19821
frequency: 49.25
battery:
percent: 79
power: -2289
temperature: 12
consumption:
power: 22636
inverter:
temperature: 50
power: -9476
output_voltage: 144.7
output_frequency: 49.69
eps_power: 24672
today:
solar: 4373.9
grid:
import: 3168.4
export: 5384.4
battery:
charge: 8691.3
discharge: 4350.4
consumption: 5673.7
ac_charge: 8021.5
total:
solar: 4353.3
grid:
import: 4625.8
export: 7045.8
battery:
charge: 1034.1
discharge: 1034.1
consumption: 7757.1
ac_charge: 9568.8
is_metered: true
-
time: '1973-09-11T22:06:53Z'
status: ERROR
power:
solar:
power: 474
arrays:
-
array: 1
voltage: 445.9
current: 5.6
power: 913
-
array: 2
voltage: 181.9
current: 8.1
power: 3556
grid:
voltage: 220.1
current: 72.7
power: 21045
frequency: 50.09
battery:
percent: 58
power: -1396
temperature: 54.6
consumption:
power: 46156
inverter:
temperature: 33.3
power: -6539
output_voltage: 81.3
output_frequency: 50.14
eps_power: 20810
today:
solar: 2203.6
grid:
import: 3698.5
export: 4130.6
battery:
charge: 3814.8
discharge: 7184.3
consumption: 5190.3
ac_charge: 311.5
total:
solar: 1408.5
grid:
import: 8257.5
export: 7734.8
battery:
charge: 3362.7
discharge: 3362.7
consumption: 8763.8
ac_charge: 8626.8
is_metered: true
properties:
data:
type: array
example:
-
time: '1996-12-02T18:23:47Z'
status: LOST
power:
solar:
power: 4703
arrays:
-
array: 1
voltage: 198.6
current: 3.3
power: 491
-
array: 2
voltage: 170.8
current: 10
power: 2806
grid:
voltage: 128.3
current: 98.1
power: 19821
frequency: 49.25
battery:
percent: 79
power: -2289
temperature: 12
consumption:
power: 22636
inverter:
temperature: 50
power: -9476
output_voltage: 144.7
output_frequency: 49.69
eps_power: 24672
today:
solar: 4373.9
grid:
import: 3168.4
export: 5384.4
battery:
charge: 8691.3
discharge: 4350.4
consumption: 5673.7
ac_charge: 8021.5
total:
solar: 4353.3
grid:
import: 4625.8
export: 7045.8
battery:
charge: 1034.1
discharge: 1034.1
consumption: 7757.1
ac_charge: 9568.8
is_metered: true
-
time: '1973-09-11T22:06:53Z'
status: ERROR
power:
solar:
power: 474
arrays:
-
array: 1
voltage: 445.9
current: 5.6
power: 913
-
array: 2
voltage: 181.9
current: 8.1
power: 3556
grid:
voltage: 220.1
current: 72.7
power: 21045
frequency: 50.09
battery:
percent: 58
power: -1396
temperature: 54.6
consumption:
power: 46156
inverter:
temperature: 33.3
power: -6539
output_voltage: 81.3
output_frequency: 50.14
eps_power: 20810
today:
solar: 2203.6
grid:
import: 3698.5
export: 4130.6
battery:
charge: 3814.8
discharge: 7184.3
consumption: 5190.3
ac_charge: 311.5
total:
solar: 1408.5
grid:
import: 8257.5
export: 7734.8
battery:
charge: 3362.7
discharge: 3362.7
consumption: 8763.8
ac_charge: 8626.8
is_metered: true
items:
type: object
properties:
time:
type: string
example: '1996-12-02T18:23:47Z'
status:
type: string
example: LOST
power:
type: object
properties:
solar:
type: object
properties:
power:
type: integer
example: 4703
arrays:
type: array
example:
-
array: 1
voltage: 198.6
current: 3.3
power: 491
-
array: 2
voltage: 170.8
current: 10
power: 2806
items:
type: object
properties:
array: { type: integer, example: 1 }
voltage: { type: number, example: 198.6 }
current: { type: number, example: 3.3 }
power: { type: integer, example: 491 }
grid:
type: object
properties:
voltage:
type: number
example: 128.3
current:
type: number
example: 98.1
power:
type: integer
example: 19821
frequency:
type: number
example: 49.25
battery:
type: object
properties:
percent:
type: integer
example: 79
power:
type: integer
example: -2289
temperature:
type: integer
example: 12
consumption:
type: object
properties:
power:
type: integer
example: 22636
inverter:
type: object
properties:
temperature:
type: integer
example: 50
power:
type: integer
example: -9476
output_voltage:
type: number
example: 144.7
output_frequency:
type: number
example: 49.69
eps_power:
type: integer
example: 24672
today:
type: object
properties:
solar:
type: number
example: 4373.9
grid:
type: object
properties:
import:
type: number
example: 3168.4
export:
type: number
example: 5384.4
battery:
type: object
properties:
charge:
type: number
example: 8691.3
discharge:
type: number
example: 4350.4
consumption:
type: number
example: 5673.7
ac_charge:
type: number
example: 8021.5
total:
type: object
properties:
solar:
type: number
example: 4353.3
grid:
type: object
properties:
import:
type: number
example: 4625.8
export:
type: number
example: 7045.8
battery:
type: object
properties:
charge:
type: number
example: 1034.1
discharge:
type: number
example: 1034.1
consumption:
type: number
example: 7757.1
ac_charge:
type: number
example: 9568.8
is_metered:
type: boolean
example: true
tags:
- 'Inverter Data'
parameters:
-
in: path
name: inverter_serial_number
description: 'The serial number of the inverter.'
example: CE1234G567
required: true
schema:
type: string
-
in: path
name: date
description: "Optional parameter. ISO8601-date required The date to fetch the data. This assumes the date at the system's local time"
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: consequatur
/notification/send:
post:
summary: 'Send Notification'
operationId: sendNotification
description: "Sends a notification to your account on the specified platforms\n\nA failure indicates that the notification could not be sent to one or more of the specified platforms\n\nTo help prevent misuse of this endpoint, the values of `body` and `title` must meet the following requirements:\n\n- They must not include any email addresses\n- They must not include any telephone numbers\n- They must not include any URLs (with or without `http(s)://` prefix)\n\nAs this endpoint is used and user behaviour patterns are analyzed,\nthe validation rules may change over time without warning to keep users safe.\nIf modifications to this endpoint's validation rules are made, this endpoint's documentation will be updated\nand details of the change will be included in the changelog found at the bottom of this document\n\nTo help users identify the origin of notifications sent via this endpoint,\na message will be included at the end of the notification body that either states\nthe name of the third-party application that sent the notification or the name of the token used, whichever is applicable\n\nUsers and third-party applications found to be abusing this endpoint will have their API access revoked"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: failure
content:
application/json:
schema:
type: object
example:
success: false
properties:
success:
type: boolean
example: false
tags:
- Notifications
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
platforms:
type: array
description: 'One or more platforms to send the notification to.'
example:
- persist
items:
type: string
title:
type: string
description: 'Title of the notification. Must meet the API requirements for notification content. Must be at least 10 characters.'
example: 'Something amazing has happened!'
body:
type: string
description: 'Body of the notification. Must meet the API requirements for notification content. Must be at least 20 characters.'
example: 'Here is some information about the amazing thing that has happened'
icon:
type: string
description: "The notification's icon. Must be a valid [material design icon](https://pictogrammers.com/library/mdi/?welcome) prefixed with `mdi-`. Must start with one of mdi-
."
example: mdi-account-outline
required:
- platforms
- title
- body
- icon
/site:
get:
summary: 'Get Your Sites'
operationId: getYourSites
description: 'Retrieves a list of your sites'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 7
name: 'Jeremy Hill'
account: yreynolds.814
date_created: '1987-12-27'
country: FAROE_IS
timezone: GMT
tz_timezone: Europe/Astrakhan
latitude: 79.284177
longitude: 1.10994
type: SINGLE_PHASE
products: []
-
id: 8
name: 'Riley Adams'
account: rlewis.7
date_created: '2022-05-26'
country: NIUE
timezone: GMT
tz_timezone: Pacific/Honolulu
latitude: -77.744751
longitude: -175.172025
type: SINGLE_PHASE
products: []
properties:
data:
type: array
example:
-
id: 7
name: 'Jeremy Hill'
account: yreynolds.814
date_created: '1987-12-27'
country: FAROE_IS
timezone: GMT
tz_timezone: Europe/Astrakhan
latitude: 79.284177
longitude: 1.10994
type: SINGLE_PHASE
products: []
-
id: 8
name: 'Riley Adams'
account: rlewis.7
date_created: '2022-05-26'
country: NIUE
timezone: GMT
tz_timezone: Pacific/Honolulu
latitude: -77.744751
longitude: -175.172025
type: SINGLE_PHASE
products: []
items:
type: object
properties:
id:
type: integer
example: 7
name:
type: string
example: 'Jeremy Hill'
account:
type: string
example: yreynolds.814
date_created:
type: string
example: '1987-12-27'
country:
type: string
example: FAROE_IS
timezone:
type: string
example: GMT
tz_timezone:
type: string
example: Europe/Astrakhan
latitude:
type: number
example: 79.284177
longitude:
type: number
example: 1.10994
type:
type: string
example: SINGLE_PHASE
products:
type: array
example: []
tags:
- Site
'/site/{site_plant_id}':
get:
summary: 'Get Single Site by ID'
operationId: getSingleSiteByID
description: "Gather a single site's information"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 9
name: 'Jeremy Hill'
account: arthur94.60
date_created: '1987-12-27'
country: FAROE_IS
timezone: GMT
tz_timezone: Europe/Astrakhan
latitude: 79.284177
longitude: 1.10994
type: SINGLE_PHASE
products: []
properties:
data:
type: object
properties:
id:
type: integer
example: 9
name:
type: string
example: 'Jeremy Hill'
account:
type: string
example: arthur94.60
date_created:
type: string
example: '1987-12-27'
country:
type: string
example: FAROE_IS
timezone:
type: string
example: GMT
tz_timezone:
type: string
example: Europe/Astrakhan
latitude:
type: number
example: 79.284177
longitude:
type: number
example: 1.10994
type:
type: string
example: SINGLE_PHASE
products:
type: array
example: []
tags:
- Site
parameters:
-
in: path
name: site_plant_id
description: 'The ID of the site plant.'
example: 17
required: true
schema:
type: integer
/smart-device:
get:
summary: 'Get Your Smart Devices'
operationId: getYourSmartDevices
description: 'List the smart devices registered to your account'
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
uuid: 09de2b72-f203-42e2-9798-6a133f23237c
alias: veniam
other_data:
graph_color: '#f0c27c'
hardware_id: P
local_key: J
-
uuid: c1f10ffa-3213-4fae-a509-9cdd2df8f12d
alias: in
other_data:
graph_color: '#433b77'
hardware_id: J
local_key: V
properties:
data:
type: array
example:
-
uuid: 09de2b72-f203-42e2-9798-6a133f23237c
alias: veniam
other_data:
graph_color: '#f0c27c'
hardware_id: P
local_key: J
-
uuid: c1f10ffa-3213-4fae-a509-9cdd2df8f12d
alias: in
other_data:
graph_color: '#433b77'
hardware_id: J
local_key: V
items:
type: object
properties:
uuid:
type: string
example: 09de2b72-f203-42e2-9798-6a133f23237c
alias:
type: string
example: veniam
other_data:
type: object
properties:
graph_color:
type: string
example: '#f0c27c'
hardware_id:
type: string
example: P
local_key:
type: string
example: J
tags:
- 'Smart Device'
post:
summary: 'Create Smart Device'
operationId: createSmartDevice
description: 'Register a new smart device to your account'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
uuid: 21d03f41-4295-4ffd-ba21-253cd6938f5f
alias: iste
other_data:
graph_color: '#22c331'
hardware_id: e
local_key: /
-
uuid: d613b87a-fc7c-4ca8-b1e8-b8acecf5100b
alias: ut
other_data:
graph_color: '#913ee5'
hardware_id: '#'
local_key: l
properties:
data:
type: array
example:
-
uuid: 21d03f41-4295-4ffd-ba21-253cd6938f5f
alias: iste
other_data:
graph_color: '#22c331'
hardware_id: e
local_key: /
-
uuid: d613b87a-fc7c-4ca8-b1e8-b8acecf5100b
alias: ut
other_data:
graph_color: '#913ee5'
hardware_id: '#'
local_key: l
items:
type: object
properties:
uuid:
type: string
example: 21d03f41-4295-4ffd-ba21-253cd6938f5f
alias:
type: string
example: iste
other_data:
type: object
properties:
graph_color:
type: string
example: '#22c331'
hardware_id:
type: string
example: e
local_key:
type: string
example: /
tags:
- 'Smart Device'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
serial_number:
type: string
description: 'The serial number of the smart device.'
example: consequatur
alias:
type: string
description: 'An alternate name for the smart device.'
example: consequatur
product_name:
type: string
description: 'The model name of the product.'
example: consequatur
manufacturer:
type: string
description: "The name of the product's manufacturer."
example: consequatur
other_data:
type: object
description: ''
example: []
properties: []
required:
- serial_number
'/smart-device/{smartDevice_uuid}':
get:
summary: 'Get Smart Device by ID'
operationId: getSmartDeviceByID
description: "Get a smart device's information"
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
uuid: 1f92a864-242e-43cb-b064-da98e70b8cfe
alias: veniam
other_data:
graph_color: '#f0c27c'
hardware_id: P
local_key: J
-
uuid: 5e0ebbca-65fb-4117-a8c3-0060e5995765
alias: ea
other_data:
graph_color: '#6e7655'
hardware_id: p
local_key: '!'
properties:
data:
type: array
example:
-
uuid: 1f92a864-242e-43cb-b064-da98e70b8cfe
alias: veniam
other_data:
graph_color: '#f0c27c'
hardware_id: P
local_key: J
-
uuid: 5e0ebbca-65fb-4117-a8c3-0060e5995765
alias: ea
other_data:
graph_color: '#6e7655'
hardware_id: p
local_key: '!'
items:
type: object
properties:
uuid:
type: string
example: 1f92a864-242e-43cb-b064-da98e70b8cfe
alias:
type: string
example: veniam
other_data:
type: object
properties:
graph_color:
type: string
example: '#f0c27c'
hardware_id:
type: string
example: P
local_key:
type: string
example: J
tags:
- 'Smart Device'
parameters:
-
in: path
name: smartDevice_uuid
description: 'The UUID of the smartDevice.'
example: 66529e01-d113-3473-8d6f-9e11e09332ea
required: true
schema:
type: string
'/smart-device/{smartDevice_uuid}/data':
get:
summary: 'Get Smart Device Data Points by ID'
operationId: getSmartDeviceDataPointsByID
description: "Get a list of a smart device's data points"
parameters:
-
in: query
name: page
description: 'Page number to return'
example: 1
required: false
schema:
type: integer
description: 'Page number to return'
example: 1
-
in: query
name: pageSize
description: 'Number of items to return in a page. Defaults to 15'
example: null
required: false
schema:
type: integer
description: 'Number of items to return in a page. Defaults to 15'
example: null
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
time: '1987-01-22T22:42:24Z'
power: 509
-
time: '1994-01-08T20:25:29Z'
power: 262
properties:
data:
type: array
example:
-
time: '1987-01-22T22:42:24Z'
power: 509
-
time: '1994-01-08T20:25:29Z'
power: 262
items:
type: object
properties:
time:
type: string
example: '1987-01-22T22:42:24Z'
power:
type: integer
example: 509
tags:
- 'Smart Device'
post:
summary: 'Create Smart Device Data Point'
operationId: createSmartDeviceDataPoint
description: 'Store a data point against a smart device'
parameters:
-
in: header
name: Authorization
description: ''
example: 'Bearer {YOUR_API_KEY}'
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
time: '1980-02-22T17:48:08Z'
power: 622
-
time: '1971-06-05T10:50:02Z'
power: 567
properties:
data:
type: array
example:
-
time: '1980-02-22T17:48:08Z'
power: 622
-
time: '1971-06-05T10:50:02Z'
power: 567
items:
type: object
properties:
time:
type: string
example: '1980-02-22T17:48:08Z'
power:
type: integer
example: 622
tags:
- 'Smart Device'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
time:
type: ISO8601-datetime
description: 'The date & time that the data point was created'
example: consequatur
power:
type: integer
description: ''
example: 17
required:
- time
- power
parameters:
-
in: path
name: smartDevice_uuid
description: 'The UUID of the smartDevice.'
example: 66529e01-d113-3473-8d6f-9e11e09332ea
required: true
schema:
type: string
tags:
-
name: Account
description: ''
-
name: 'Communication Device'
description: ''
-
name: 'EMS Data'
description: ''
-
name: 'EV Charger'
description: ''
-
name: 'Energy Flow Data'
description: ''
-
name: 'Inverter Control'
description: ''
-
name: 'Inverter Data'
description: ''
-
name: Notifications
description: ''
-
name: Site
description: ''
-
name: 'Smart Device'
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: ''
security:
-
default: []