openapi: 3.0.3 info: title: 'GivEnergy API Documentation (v1.38.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 first_name: Maisie surname: Walker role: VIEWER email: morgan.kelly@hotmail.com address: '18 Hunt Landing' postcode: 'CT6 9AR' country: UNITED_KINGDOM telephone_number: '+44(0)7559 260236' timezone: GMT standard_timezone: Europe/London company: null flags: [] properties: data: type: object properties: id: type: integer example: 2 name: type: string example: frank28.203 first_name: type: string example: Maisie surname: type: string example: Walker role: type: string example: VIEWER email: type: string example: morgan.kelly@hotmail.com address: type: string example: '18 Hunt Landing' postcode: type: string example: 'CT6 9AR' country: type: string example: UNITED_KINGDOM telephone_number: type: string example: '+44(0)7559 260236' timezone: type: string example: GMT standard_timezone: type: string example: Europe/London company: type: string example: null flags: type: array example: [] 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 first_name: Gordon surname: Thompson role: VIEWER email: william.evans@yahoo.com address: '64 Eden Glen' postcode: 'NW6 9FA' country: UNITED_KINGDOM telephone_number: '0889 226 1330' timezone: GMT standard_timezone: Europe/London company: null flags: [] properties: data: type: object properties: id: type: integer example: 3 name: type: string example: patel.joshua.941 first_name: type: string example: Gordon surname: type: string example: Thompson role: type: string example: VIEWER email: type: string example: william.evans@yahoo.com address: type: string example: '64 Eden Glen' postcode: type: string example: 'NW6 9FA' country: type: string example: UNITED_KINGDOM telephone_number: type: string example: '0889 226 1330' timezone: type: string example: GMT standard_timezone: type: string example: Europe/London company: type: string example: null flags: type: array example: [] 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: WI2314H470 firmware_version: null type: GPRS commission_date: '1997-10-25T23:47:37Z' inverter: serial: SC1825W887 status: WAITING last_online: '2004-12-20T13:25:28Z' last_updated: '2021-08-16T04:58:37Z' commission_date: '1988-07-14T00:04:54Z' info: battery_type: LEAD_ACID battery: nominal_capacity: 210 nominal_voltage: 51.2 depth_of_discharge: 1 model: GIV-BR-4.6-G4 max_charge_rate: 0 warranty: type: 'Standard Legacy' expiry_date: '1993-07-14T00:04:54Z' firmware_version: ARM: 420 DSP: 426 connections: batteries: - module_number: 11 serial: ck9864a377 firmware_version: 65288 capacity: full: 165.98 design: 160 cell_count: 16 has_usb: true nominal_voltage: 51.2 flags: - is-controllable site_id: 1 - serial_number: WT6227N765 firmware_version: null type: GPRS commission_date: '1981-11-15T00:07:14Z' inverter: serial: WJ9321X012 status: ERROR last_online: '2016-03-06T02:35:05Z' last_updated: '1993-10-25T00:43:54Z' commission_date: '2017-04-09T09:58:08Z' info: battery_type: LEAD_ACID battery: nominal_capacity: 0 nominal_voltage: 0 depth_of_discharge: 1 model: Gateway max_charge_rate: 0 warranty: type: 'Standard Legacy' expiry_date: '2022-04-09T09:58:08Z' firmware_version: ARM: 420 DSP: 426 connections: datalog: serial_number: WT6227N765 firmware_version: null type: GPRS commission_date: '1981-11-15T00:07:14Z' site_id: 4 batteries: [] flags: - is-controllable site_id: 4 properties: data: type: array example: - serial_number: WI2314H470 firmware_version: null type: GPRS commission_date: '1997-10-25T23:47:37Z' inverter: serial: SC1825W887 status: WAITING last_online: '2004-12-20T13:25:28Z' last_updated: '2021-08-16T04:58:37Z' commission_date: '1988-07-14T00:04:54Z' info: battery_type: LEAD_ACID battery: nominal_capacity: 210 nominal_voltage: 51.2 depth_of_discharge: 1 model: GIV-BR-4.6-G4 max_charge_rate: 0 warranty: type: 'Standard Legacy' expiry_date: '1993-07-14T00:04:54Z' firmware_version: ARM: 420 DSP: 426 connections: batteries: - module_number: 11 serial: ck9864a377 firmware_version: 65288 capacity: full: 165.98 design: 160 cell_count: 16 has_usb: true nominal_voltage: 51.2 flags: - is-controllable site_id: 1 - serial_number: WT6227N765 firmware_version: null type: GPRS commission_date: '1981-11-15T00:07:14Z' inverter: serial: WJ9321X012 status: ERROR last_online: '2016-03-06T02:35:05Z' last_updated: '1993-10-25T00:43:54Z' commission_date: '2017-04-09T09:58:08Z' info: battery_type: LEAD_ACID battery: nominal_capacity: 0 nominal_voltage: 0 depth_of_discharge: 1 model: Gateway max_charge_rate: 0 warranty: type: 'Standard Legacy' expiry_date: '2022-04-09T09:58:08Z' firmware_version: ARM: 420 DSP: 426 connections: datalog: serial_number: WT6227N765 firmware_version: null type: GPRS commission_date: '1981-11-15T00:07:14Z' site_id: 4 batteries: [] flags: - is-controllable site_id: 4 items: type: object properties: serial_number: type: string example: WI2314H470 firmware_version: type: string example: null type: type: string example: GPRS commission_date: type: string example: '1997-10-25T23:47:37Z' inverter: type: object properties: serial: type: string example: SC1825W887 status: type: string example: WAITING last_online: type: string example: '2004-12-20T13:25:28Z' last_updated: type: string example: '2021-08-16T04:58:37Z' commission_date: type: string example: '1988-07-14T00:04:54Z' info: type: object properties: battery_type: type: string example: LEAD_ACID battery: type: object properties: nominal_capacity: type: integer example: 210 nominal_voltage: type: number example: 51.2 depth_of_discharge: type: integer example: 1 model: type: string example: GIV-BR-4.6-G4 max_charge_rate: type: integer example: 0 warranty: type: object properties: type: type: string example: 'Standard Legacy' expiry_date: type: string example: '1993-07-14T00:04:54Z' 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: 11 serial: ck9864a377 firmware_version: 65288 capacity: { full: 165.98, design: 160 } cell_count: 16 has_usb: true nominal_voltage: 51.2 items: type: object properties: module_number: { type: integer, example: 11 } serial: { type: string, example: ck9864a377 } firmware_version: { type: integer, example: 65288 } capacity: { type: object, properties: { full: { type: number, example: 165.98 }, design: { type: integer, example: 160 } } } cell_count: { type: integer, example: 16 } has_usb: { type: boolean, example: true } nominal_voltage: { type: number, example: 51.2 } flags: type: array example: - is-controllable items: type: string site_id: type: integer example: 1 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: 18 name: lmartin.14 first_name: Kyle surname: Hunt role: VIEWER email: hall.noah@gmail.co.uk address: '27 Jessica Lake' postcode: 'WF4 3QZ' country: UNITED_KINGDOM telephone_number: +44(0)3688240058 timezone: GMT standard_timezone: Europe/London company: null flags: [] properties: data: type: object properties: id: type: integer example: 18 name: type: string example: lmartin.14 first_name: type: string example: Kyle surname: type: string example: Hunt role: type: string example: VIEWER email: type: string example: hall.noah@gmail.co.uk address: type: string example: '27 Jessica Lake' postcode: type: string example: 'WF4 3QZ' country: type: string example: UNITED_KINGDOM telephone_number: type: string example: +44(0)3688240058 timezone: type: string example: GMT standard_timezone: type: string example: Europe/London company: type: string example: null 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-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: 19 name: wright.dylan.123 first_name: Julie surname: Scott role: VIEWER email: maisie88@gmail.com address: '44 King Orchard' postcode: 'NG17 1BH' country: UNITED_KINGDOM telephone_number: '0345 083 0684' timezone: GMT standard_timezone: Europe/London company: null flags: [] - id: 20 name: lcollins.705 first_name: Amanda surname: White role: VIEWER email: owen67@watson.net address: '59 Emma Lakes' postcode: 'LS17 8LP' country: UNITED_KINGDOM telephone_number: +44(0)9949575698 timezone: 'GMT +8' standard_timezone: Asia/Makassar company: null flags: [] properties: data: type: array example: - id: 19 name: wright.dylan.123 first_name: Julie surname: Scott role: VIEWER email: maisie88@gmail.com address: '44 King Orchard' postcode: 'NG17 1BH' country: UNITED_KINGDOM telephone_number: '0345 083 0684' timezone: GMT standard_timezone: Europe/London company: null flags: [] - id: 20 name: lcollins.705 first_name: Amanda surname: White role: VIEWER email: owen67@watson.net address: '59 Emma Lakes' postcode: 'LS17 8LP' country: UNITED_KINGDOM telephone_number: +44(0)9949575698 timezone: 'GMT +8' standard_timezone: Asia/Makassar company: null flags: [] items: type: object properties: id: type: integer example: 19 name: type: string example: wright.dylan.123 first_name: type: string example: Julie surname: type: string example: Scott role: type: string example: VIEWER email: type: string example: maisie88@gmail.com address: type: string example: '44 King Orchard' postcode: type: string example: 'NG17 1BH' country: type: string example: UNITED_KINGDOM telephone_number: type: string example: '0345 083 0684' timezone: type: string example: GMT standard_timezone: type: string example: Europe/London company: type: string example: null flags: type: array example: [] 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: 21 name: rose.phoebe.616 first_name: John surname: King role: VIEWER email: adams.scott@gmail.com address: "Flat 56a\nWilliams Creek" postcode: 'S72 7HG' country: UNITED_KINGDOM telephone_number: '07887 301432' timezone: GMT standard_timezone: Europe/London company: null flags: [] - id: 22 name: imogen.russell.678 first_name: Archie surname: Jones role: VIEWER email: jmorgan@gmail.com address: '39 Grace Ferry' postcode: 'LE4 4JR' country: UNITED_KINGDOM telephone_number: '0047 3552779' timezone: 'GMT +6' standard_timezone: Asia/Qostanay company: null flags: [] properties: data: type: array example: - id: 21 name: rose.phoebe.616 first_name: John surname: King role: VIEWER email: adams.scott@gmail.com address: "Flat 56a\nWilliams Creek" postcode: 'S72 7HG' country: UNITED_KINGDOM telephone_number: '07887 301432' timezone: GMT standard_timezone: Europe/London company: null flags: [] - id: 22 name: imogen.russell.678 first_name: Archie surname: Jones role: VIEWER email: jmorgan@gmail.com address: '39 Grace Ferry' postcode: 'LE4 4JR' country: UNITED_KINGDOM telephone_number: '0047 3552779' timezone: 'GMT +6' standard_timezone: Asia/Qostanay company: null flags: [] items: type: object properties: id: type: integer example: 21 name: type: string example: rose.phoebe.616 first_name: type: string example: John surname: type: string example: King role: type: string example: VIEWER email: type: string example: adams.scott@gmail.com address: type: string example: "Flat 56a\nWilliams Creek" postcode: type: string example: 'S72 7HG' country: type: string example: UNITED_KINGDOM telephone_number: type: string example: '07887 301432' timezone: type: string example: GMT standard_timezone: type: string example: Europe/London company: type: string example: null flags: type: array example: [] tags: - Account parameters: - in: path name: user_id description: 'The ID of the user.' example: '1234' required: true schema: type: string /sso/me/accounts: get: summary: 'Get List Of Accounts Associated With Your SSO Identity' operationId: getListOfAccountsAssociatedWithYourSSOIdentity description: 'Retrieves all accounts that have been associated with your SSO identity' 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: 23 name: anna00.369 first_name: Samuel surname: King role: VIEWER email: owen.jack@gmail.co.uk address: '9 Michael Light' postcode: 'CM3 3AE' country: UNITED_KINGDOM telephone_number: '04373 93377' timezone: GMT standard_timezone: Europe/London company: null flags: [] - id: 24 name: yreynolds.814 first_name: Lauren surname: Jones role: VIEWER email: tom.bell@hotmail.co.uk address: '35 Harley Trail' postcode: 'W10 6DY' country: UNITED_KINGDOM telephone_number: '00844462704' timezone: 'GMT -3' standard_timezone: Atlantic/Stanley company: null flags: [] properties: data: type: array example: - id: 23 name: anna00.369 first_name: Samuel surname: King role: VIEWER email: owen.jack@gmail.co.uk address: '9 Michael Light' postcode: 'CM3 3AE' country: UNITED_KINGDOM telephone_number: '04373 93377' timezone: GMT standard_timezone: Europe/London company: null flags: [] - id: 24 name: yreynolds.814 first_name: Lauren surname: Jones role: VIEWER email: tom.bell@hotmail.co.uk address: '35 Harley Trail' postcode: 'W10 6DY' country: UNITED_KINGDOM telephone_number: '00844462704' timezone: 'GMT -3' standard_timezone: Atlantic/Stanley company: null flags: [] items: type: object properties: id: type: integer example: 23 name: type: string example: anna00.369 first_name: type: string example: Samuel surname: type: string example: King role: type: string example: VIEWER email: type: string example: owen.jack@gmail.co.uk address: type: string example: '9 Michael Light' postcode: type: string example: 'CM3 3AE' country: type: string example: UNITED_KINGDOM telephone_number: type: string example: '04373 93377' timezone: type: string example: GMT standard_timezone: type: string example: Europe/London company: type: string example: null flags: type: array example: [] tags: - Account /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: 03d160dd-8796-4408-91ec-f168234f2096 serial_number: '80214764595687' type: GivEnergy alias: Garage online: false went_offline_at: null status: Finishing - uuid: b662a466-a9cd-4407-8cc2-1b9d8eaeb230 serial_number: '62278359595880' type: GivEnergy alias: Garage online: false went_offline_at: null status: Unavailable properties: data: type: array example: - uuid: 03d160dd-8796-4408-91ec-f168234f2096 serial_number: '80214764595687' type: GivEnergy alias: Garage online: false went_offline_at: null status: Finishing - uuid: b662a466-a9cd-4407-8cc2-1b9d8eaeb230 serial_number: '62278359595880' type: GivEnergy alias: Garage online: false went_offline_at: null status: Unavailable items: type: object properties: uuid: type: string example: 03d160dd-8796-4408-91ec-f168234f2096 serial_number: type: string example: '80214764595687' 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: Finishing 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: 24dc0c1d-3afb-4c88-a25b-d1cf7d992e81 serial_number: '46257660070458' type: GivEnergy alias: Garage online: false went_offline_at: null status: Preparing properties: data: type: object properties: uuid: type: string example: 24dc0c1d-3afb-4c88-a25b-d1cf7d992e81 serial_number: type: string example: '46257660070458' 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: set-plug-and-go 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: start_time description: 'Must be a valid date. Must be a date before or equal to end_time.' example: '2019-08-13' required: false schema: type: string description: 'Must be a valid date. Must be a date before or equal to end_time.' example: '2019-08-13' - in: query name: end_time description: 'Must be a valid date. Must be a date after or equal to start_time.' example: '2106-05-16' required: false schema: type: string description: 'Must be a valid date. Must be a date after or equal to start_time.' example: '2106-05-16' - 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-10-19T07:40:28Z' stopped_by: null meter_stop: null stopped_at: null stop_reason: null - started_by: 54bd6d5 meter_start: 1423.7 started_at: '1981-03-20T16:43:36Z' 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-10-19T07:40:28Z' stopped_by: null meter_stop: null stopped_at: null stop_reason: null - started_by: 54bd6d5 meter_start: 1423.7 started_at: '1981-03-20T16:43:36Z' 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-10-19T07:40:28Z' 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' 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}/debug/transparent/send': post: summary: 'Send Custom Command to Inverter' operationId: sendCustomCommandToInverter description: "Transparently sends the given hexadecimal string to the inverter\n\n\n\nSee [Remote Control Codes](#remote-control-codes) for all possible response codes" 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 code: -1 properties: success: type: boolean example: false code: type: integer example: -1 tags: - 'Inverter Control' requestBody: required: true content: application/json: schema: type: object properties: hex: type: string description: 'The hex command to send to the inverter' example: consequatur required: - hex 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 \"identifier\": \"eco-mode\",\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/{id}': get: summary: 'Get Preset Values' operationId: getPresetValues description: "Get a preset's current values\n\nThe returned data will be formatted in the same way as the preset's parameters. Examples can be found on the right\n\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 // timed-charge, 1 slot\n \"data\": {\n \"enabled\": true,\n \"slots\": [\n {\n \"start_time\": \"00:00\",\n \"end_time\": \"06:00\",\n \"percent_limit\": 50\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 - in: path name: id description: 'The preset ID (`identifier`), as returned by the API or defined in the documentation' example: consequatur 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' 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: preset description: 'The preset ID (`identifier`) or Legacy ID (`id`), as returned by the API or defined in the documentation' 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: 32613 success: true message: 'Read Successfully' properties: data: type: object properties: value: type: integer example: 32613 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: '2003-02-17T04:49:26Z' status: Normal solar: power: 1675 arrays: - array: 1 voltage: 632.4 current: 825.8 power: 3735 - array: 2 voltage: 703.4 current: 773.5 power: 605 grid: voltage: 1005.5 current: 724.8 power: -1611 frequency: 117.1 battery: percent: 68 power: 414 temperature: 65.8 inverter: temperature: 42.9 power: 47094 output_voltage: 227 output_frequency: 50.98 eps_power: 2830 consumption: 18492 properties: data: type: object properties: time: type: string example: '2003-02-17T04:49:26Z' status: type: string example: Normal solar: type: object properties: power: type: integer example: 1675 arrays: type: array example: - array: 1 voltage: 632.4 current: 825.8 power: 3735 - array: 2 voltage: 703.4 current: 773.5 power: 605 items: type: object properties: array: type: integer example: 1 voltage: type: number example: 632.4 current: type: number example: 825.8 power: type: integer example: 3735 grid: type: object properties: voltage: type: number example: 1005.5 current: type: number example: 724.8 power: type: integer example: -1611 frequency: type: number example: 117.1 battery: type: object properties: percent: type: integer example: 68 power: type: integer example: 414 temperature: type: number example: 65.8 inverter: type: object properties: temperature: type: number example: 42.9 power: type: integer example: 47094 output_voltage: type: integer example: 227 output_frequency: type: number example: 50.98 eps_power: type: integer example: 2830 consumption: type: integer example: 18492 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 Energy Data' operationId: getLatestEnergyData description: 'Retrieves the latest energy 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: '1988-09-27T10:00:11Z' today: solar: 1752.7 grid: import: 8.3 export: 271.4 battery: charge: 98808.7 discharge: 42946.2 consumption: 8257.5 ac_charge: 269251.3 total: solar: 41291.2 grid: import: 3175.5 export: 8763.8 battery: charge: 11613.25 discharge: 11613.25 consumption: 14244 ac_charge: 1848.7 is_metered: true properties: data: type: object properties: time: type: string example: '1988-09-27T10:00:11Z' today: type: object properties: solar: type: number example: 1752.7 grid: type: object properties: import: type: number example: 8.3 export: type: number example: 271.4 battery: type: object properties: charge: type: number example: 98808.7 discharge: type: number example: 42946.2 consumption: type: number example: 8257.5 ac_charge: type: number example: 269251.3 total: type: object properties: solar: type: number example: 41291.2 grid: type: object properties: import: type: number example: 3175.5 export: type: number example: 8763.8 battery: type: object properties: charge: type: number example: 11613.25 discharge: type: number example: 11613.25 consumption: type: integer example: 14244 ac_charge: type: number example: 1848.7 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: 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: start description: 'Must be a valid date. Must be a date before tomorrow.' example: '2019-08-14' required: false schema: type: string description: 'Must be a valid date. Must be a date before tomorrow.' example: '2019-08-14' - in: query name: end description: 'Must be a valid date. Must be a date after start.' example: '2106-05-16' required: false schema: type: string description: 'Must be a valid date. Must be a date after start.' example: '2106-05-16' - 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 nullable: 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}/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: '1997-05-25T03:52:01Z' 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: '1984-11-20T17:39:05Z' status: NORMAL power: solar: power: 3106 arrays: - array: 1 voltage: 480 current: 13.6 power: 224 - array: 2 voltage: 331.5 current: 11.7 power: 155 grid: voltage: 170.3 current: 26.1 power: 22825 frequency: 50.55 battery: percent: 96 power: -347 temperature: -29.4 consumption: power: 32605 inverter: temperature: 59 power: 2542 output_voltage: 128.6 output_frequency: 49.4 eps_power: 27800 today: solar: 31.4 grid: import: 8899.6 export: 6006.6 battery: charge: 1836.2 discharge: 452 consumption: 4574.4 ac_charge: 5510.6 total: solar: 9389.9 grid: import: 9962.2 export: 5934.1 battery: charge: 2401.1 discharge: 2401.1 consumption: 6372.2 ac_charge: 9864.4 is_metered: true properties: data: type: array example: - time: '1997-05-25T03:52:01Z' 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: '1984-11-20T17:39:05Z' status: NORMAL power: solar: power: 3106 arrays: - array: 1 voltage: 480 current: 13.6 power: 224 - array: 2 voltage: 331.5 current: 11.7 power: 155 grid: voltage: 170.3 current: 26.1 power: 22825 frequency: 50.55 battery: percent: 96 power: -347 temperature: -29.4 consumption: power: 32605 inverter: temperature: 59 power: 2542 output_voltage: 128.6 output_frequency: 49.4 eps_power: 27800 today: solar: 31.4 grid: import: 8899.6 export: 6006.6 battery: charge: 1836.2 discharge: 452 consumption: 4574.4 ac_charge: 5510.6 total: solar: 9389.9 grid: import: 9962.2 export: 5934.1 battery: charge: 2401.1 discharge: 2401.1 consumption: 6372.2 ac_charge: 9864.4 is_metered: true items: type: object properties: time: type: string example: '1997-05-25T03:52:01Z' 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 /lock: get: summary: 'Get Locking Config' operationId: getLockingConfig description: 'Returns the locking configuration for the currently authenticated actor' 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: priority: 1000000000 properties: data: type: object properties: priority: type: integer example: 1000000000 tags: - Locking '/lock/{lock_id}': delete: summary: 'Delete Lock' operationId: deleteLock description: 'Delete a lock by its ID. Locks may only be deleted by the actor that created them' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_API_KEY}' schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: success: true properties: success: type: boolean example: true tags: - Locking parameters: - in: path name: lock_id description: 'The ID of the lock.' example: consequatur required: true schema: type: string '/lock/{type}/{id}': get: summary: 'Get Locks' operationId: getLocks description: 'Get all locks for a given lockable' 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: 9eb250c3-bbfd-477e-847f-2d42e47f0b24 priority: 1000000000 reason: 'Molestias ipsam sit veniam sed fuga aspernatur.' expires_at: '2025-05-04T10:49:23Z' created_by_you: false - id: 9eb250c3-c512-4e51-93fb-fdc7adb3566e priority: 1000000000 reason: 'Similique sint et libero consequatur enim ab.' expires_at: '2025-04-22T10:49:23Z' created_by_you: false properties: data: type: array example: - id: 9eb250c3-bbfd-477e-847f-2d42e47f0b24 priority: 1000000000 reason: 'Molestias ipsam sit veniam sed fuga aspernatur.' expires_at: '2025-05-04T10:49:23Z' created_by_you: false - id: 9eb250c3-c512-4e51-93fb-fdc7adb3566e priority: 1000000000 reason: 'Similique sint et libero consequatur enim ab.' expires_at: '2025-04-22T10:49:23Z' created_by_you: false items: type: object properties: id: type: string example: 9eb250c3-bbfd-477e-847f-2d42e47f0b24 priority: type: integer example: 1000000000 reason: type: string example: 'Molestias ipsam sit veniam sed fuga aspernatur.' expires_at: type: string example: '2025-05-04T10:49:23Z' created_by_you: type: boolean example: false tags: - Locking parameters: - in: path name: type description: '' example: consequatur required: true schema: type: string - in: path name: id description: 'The ID of the {type}.' example: consequatur required: true schema: type: string '/lock/{type}/{id}/create': post: summary: 'Create Lock' operationId: createLock description: 'Create a lock against the given lockable' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_API_KEY}' schema: type: string responses: 200: description: 'already locked' content: application/json: schema: type: object example: message: 'The given data was invalid.' errors: id: - 'You have already locked this lockable. The lock must be deleted before a new one can be created.' properties: message: type: string example: 'The given data was invalid.' errors: type: object properties: id: type: array example: - 'You have already locked this lockable. The lock must be deleted before a new one can be created.' items: type: string tags: - Locking requestBody: required: false content: application/json: schema: type: object properties: expires_at: type: string description: 'Must be a valid date. Must be a valid date in the format Y-m-d\TH:i:s\Z. Must be a date after now.' example: '2106-05-17' reason: type: string description: '' example: consequatur parameters: - in: path name: type description: '' example: consequatur required: true schema: type: string - in: path name: id description: 'The ID of the {type}.' example: consequatur required: true schema: type: string '/lock/{type}/{id}/cleanup': post: summary: 'Cleanup Locks' operationId: cleanupLocks description: 'Delete and returns all expired locks for a given lockable' 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: 9eb250c3-db36-451a-9c1a-d1766f16323e reason: 'Molestias ipsam sit veniam sed fuga aspernatur.' expires_at: '2025-05-04T10:49:23Z' - id: 9eb250c3-e2e5-4c1d-a53c-f22f8d9a79f0 reason: 'Libero consequatur enim ab qui et omnis.' expires_at: '2025-05-13T10:49:23Z' properties: data: type: array example: - id: 9eb250c3-db36-451a-9c1a-d1766f16323e reason: 'Molestias ipsam sit veniam sed fuga aspernatur.' expires_at: '2025-05-04T10:49:23Z' - id: 9eb250c3-e2e5-4c1d-a53c-f22f8d9a79f0 reason: 'Libero consequatur enim ab qui et omnis.' expires_at: '2025-05-13T10:49:23Z' items: type: object properties: id: type: string example: 9eb250c3-db36-451a-9c1a-d1766f16323e reason: type: string example: 'Molestias ipsam sit veniam sed fuga aspernatur.' expires_at: type: string example: '2025-05-04T10:49:23Z' tags: - Locking parameters: - in: path name: type description: '' example: consequatur required: true schema: type: string - in: path name: id description: 'The ID of the {type}.' example: consequatur required: true schema: type: string '/inverter/{inverter_serial_number}/meter/data': get: summary: 'Get Historic Meter Data' operationId: getHistoricMeterData description: 'Retrieve all historic meter data between the given start and end date for the given inverter and meter' 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: '1997-07-08T13:00:43.000000Z' voltage_1: 186.6 voltage_2: 56 voltage_3: 167.1 current_1: 6120.5 current_2: 2171.8 current_3: 7712.8 current_ln: 7799 current_total: 1357.8 active_power_1: 463.8 active_power_2: -698.7 active_power_3: 440 active_power_total: 595.9 reactive_power_1: -595.2 reactive_power_2: 630.3 reactive_power_3: 916.3 reactive_power_total: 673.8 apparent_power_1: -760.4 apparent_power_2: -767.7 apparent_power_3: 289.5 apparent_power_total: -974.2 power_factor_1: 0.4955 power_factor_2: 0.5087 power_factor_3: 0.314 power_factor_total: 0.331 frequency: 49.57 import_active_energy: 202.9 import_reactive_energy: 626.5 export_active_energy: 98.3 export_reactive_energy: 561.2 active_energy_net: 940.5 active_energy_total: 503.1 - time: '2017-09-13T07:02:02.000000Z' voltage_1: 69.7 voltage_2: 0.2 voltage_3: 8.1 current_1: 8256.7 current_2: 7734.1 current_3: 3175.2 current_ln: 8762.9 current_total: 4371.6 active_power_1: -649.5 active_power_2: 976.2 active_power_3: -141.1 active_power_total: -812.3 reactive_power_1: 315.5 reactive_power_2: -963 reactive_power_3: 131.8 reactive_power_total: 113.8 apparent_power_1: 138.1 apparent_power_2: 837 apparent_power_3: 308.4 apparent_power_total: 341.1 power_factor_1: 0.3686 power_factor_2: 0.2693 power_factor_3: 0.0521 power_factor_total: 0.1424 frequency: 50.6 import_active_energy: 552.5 import_reactive_energy: 849.9 export_active_energy: 732.2 export_reactive_energy: 44.8 active_energy_net: 31 active_energy_total: 621.2 properties: data: type: array example: - time: '1997-07-08T13:00:43.000000Z' voltage_1: 186.6 voltage_2: 56 voltage_3: 167.1 current_1: 6120.5 current_2: 2171.8 current_3: 7712.8 current_ln: 7799 current_total: 1357.8 active_power_1: 463.8 active_power_2: -698.7 active_power_3: 440 active_power_total: 595.9 reactive_power_1: -595.2 reactive_power_2: 630.3 reactive_power_3: 916.3 reactive_power_total: 673.8 apparent_power_1: -760.4 apparent_power_2: -767.7 apparent_power_3: 289.5 apparent_power_total: -974.2 power_factor_1: 0.4955 power_factor_2: 0.5087 power_factor_3: 0.314 power_factor_total: 0.331 frequency: 49.57 import_active_energy: 202.9 import_reactive_energy: 626.5 export_active_energy: 98.3 export_reactive_energy: 561.2 active_energy_net: 940.5 active_energy_total: 503.1 - time: '2017-09-13T07:02:02.000000Z' voltage_1: 69.7 voltage_2: 0.2 voltage_3: 8.1 current_1: 8256.7 current_2: 7734.1 current_3: 3175.2 current_ln: 8762.9 current_total: 4371.6 active_power_1: -649.5 active_power_2: 976.2 active_power_3: -141.1 active_power_total: -812.3 reactive_power_1: 315.5 reactive_power_2: -963 reactive_power_3: 131.8 reactive_power_total: 113.8 apparent_power_1: 138.1 apparent_power_2: 837 apparent_power_3: 308.4 apparent_power_total: 341.1 power_factor_1: 0.3686 power_factor_2: 0.2693 power_factor_3: 0.0521 power_factor_total: 0.1424 frequency: 50.6 import_active_energy: 552.5 import_reactive_energy: 849.9 export_active_energy: 732.2 export_reactive_energy: 44.8 active_energy_net: 31 active_energy_total: 621.2 items: type: object properties: time: type: string example: '1997-07-08T13:00:43.000000Z' voltage_1: type: number example: 186.6 voltage_2: type: integer example: 56 voltage_3: type: number example: 167.1 current_1: type: number example: 6120.5 current_2: type: number example: 2171.8 current_3: type: number example: 7712.8 current_ln: type: integer example: 7799 current_total: type: number example: 1357.8 active_power_1: type: number example: 463.8 active_power_2: type: number example: -698.7 active_power_3: type: integer example: 440 active_power_total: type: number example: 595.9 reactive_power_1: type: number example: -595.2 reactive_power_2: type: number example: 630.3 reactive_power_3: type: number example: 916.3 reactive_power_total: type: number example: 673.8 apparent_power_1: type: number example: -760.4 apparent_power_2: type: number example: -767.7 apparent_power_3: type: number example: 289.5 apparent_power_total: type: number example: -974.2 power_factor_1: type: number example: 0.4955 power_factor_2: type: number example: 0.5087 power_factor_3: type: number example: 0.314 power_factor_total: type: number example: 0.331 frequency: type: number example: 49.57 import_active_energy: type: number example: 202.9 import_reactive_energy: type: number example: 626.5 export_active_energy: type: number example: 98.3 export_reactive_energy: type: number example: 561.2 active_energy_net: type: number example: 940.5 active_energy_total: type: number example: 503.1 404: description: '' content: application/json: schema: type: object example: message: 'Meter not found' properties: message: type: string example: 'Meter not found' tags: - Meter requestBody: required: true content: application/json: schema: type: object properties: address: type: integer description: 'Must be between 1 and 8.' example: 2 start_time: type: string description: 'Must be a date before or equal to end_time.' example: '2019-08-13' end_time: type: string description: 'Must be a date after or equal to start_time.' example: '2106-05-16' required: - address - start_time - end_time parameters: - in: path name: inverter_serial_number description: 'The serial number of the inverter.' example: CE1234G567 required: true schema: type: string /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: 'Jamie Moore' account: spowell.396 date_created: '2024-09-30' country: VIETNAM timezone: GMT tz_timezone: Etc/GMT+12 latitude: -42.755053 longitude: 134.846755 type: SINGLE_PHASE products: [] - id: 8 name: 'Adrian Walsh' account: steve.thomas.678 date_created: '1998-12-10' country: ARUBA timezone: GMT tz_timezone: America/Manaus latitude: -16.733343 longitude: -58.486123 type: THREE_PHASE products: [] properties: data: type: array example: - id: 7 name: 'Jamie Moore' account: spowell.396 date_created: '2024-09-30' country: VIETNAM timezone: GMT tz_timezone: Etc/GMT+12 latitude: -42.755053 longitude: 134.846755 type: SINGLE_PHASE products: [] - id: 8 name: 'Adrian Walsh' account: steve.thomas.678 date_created: '1998-12-10' country: ARUBA timezone: GMT tz_timezone: America/Manaus latitude: -16.733343 longitude: -58.486123 type: THREE_PHASE products: [] items: type: object properties: id: type: integer example: 7 name: type: string example: 'Jamie Moore' account: type: string example: spowell.396 date_created: type: string example: '2024-09-30' country: type: string example: VIETNAM timezone: type: string example: GMT tz_timezone: type: string example: Etc/GMT+12 latitude: type: number example: -42.755053 longitude: type: number example: 134.846755 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: michael37.776 date_created: '1988-04-21' 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: michael37.776 date_created: type: string example: '1988-04-21' 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 '/site/{site_plant_id}/status': get: summary: 'Get Site Status' operationId: getSiteStatus 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: status: vacant properties: status: type: string example: vacant tags: - Site post: summary: 'Update Site Status' operationId: updateSiteStatus description: "Update the status of a site. Provide a status of `null` to delete the status.\n\nModifying the site status will automatically perform any modifications to any hardware on that site as required." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_API_KEY}' schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: success: true properties: success: type: boolean example: true tags: - Site requestBody: required: false content: application/json: schema: type: object properties: status: type: string description: '' example: null 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: fbac5eb6-746a-402e-877e-3ce89c7634df alias: veniam other_data: graph_color: '#f0c27c' hardware_id: P local_key: J - uuid: 647ef222-49d9-4aa2-acaa-6b55962a9358 alias: in other_data: graph_color: '#433b77' hardware_id: J local_key: V properties: data: type: array example: - uuid: fbac5eb6-746a-402e-877e-3ce89c7634df alias: veniam other_data: graph_color: '#f0c27c' hardware_id: P local_key: J - uuid: 647ef222-49d9-4aa2-acaa-6b55962a9358 alias: in other_data: graph_color: '#433b77' hardware_id: J local_key: V items: type: object properties: uuid: type: string example: fbac5eb6-746a-402e-877e-3ce89c7634df 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: 23469ddf-1155-40c0-9a4a-b069eda3a04b alias: iste other_data: graph_color: '#22c331' hardware_id: e local_key: / - uuid: 4cc5bd7f-4090-4d41-b64a-a7aed8a4367d alias: ipsam other_data: graph_color: '#6f5eb1' hardware_id: V local_key: '#' properties: data: type: array example: - uuid: 23469ddf-1155-40c0-9a4a-b069eda3a04b alias: iste other_data: graph_color: '#22c331' hardware_id: e local_key: / - uuid: 4cc5bd7f-4090-4d41-b64a-a7aed8a4367d alias: ipsam other_data: graph_color: '#6f5eb1' hardware_id: V local_key: '#' items: type: object properties: uuid: type: string example: 23469ddf-1155-40c0-9a4a-b069eda3a04b 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: fe9f10e1-75d0-4747-b72f-a140eb315538 alias: veniam other_data: graph_color: '#f0c27c' hardware_id: P local_key: J - uuid: 171deb3c-821f-4fc1-92ce-df70fd34787e alias: aut other_data: graph_color: '#712dff' hardware_id: V local_key: '?' properties: data: type: array example: - uuid: fe9f10e1-75d0-4747-b72f-a140eb315538 alias: veniam other_data: graph_color: '#f0c27c' hardware_id: P local_key: J - uuid: 171deb3c-821f-4fc1-92ce-df70fd34787e alias: aut other_data: graph_color: '#712dff' hardware_id: V local_key: '?' items: type: object properties: uuid: type: string example: fe9f10e1-75d0-4747-b72f-a140eb315538 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-05-12T19:47:51Z' power: 509 - time: '2001-03-21T07:52:38Z' power: 442 properties: data: type: array example: - time: '1987-05-12T19:47:51Z' power: 509 - time: '2001-03-21T07:52:38Z' power: 442 items: type: object properties: time: type: string example: '1987-05-12T19:47:51Z' 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-04-28T01:44:27Z' power: 622 - time: '1981-06-08T17:39:33Z' power: 789 properties: data: type: array example: - time: '1980-04-28T01:44:27Z' power: 622 - time: '1981-06-08T17:39:33Z' power: 789 items: type: object properties: time: type: string example: '1980-04-28T01:44:27Z' 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: Locking description: '' - name: Meter description: '' - name: Notifications description: '' - name: Site description: '' - name: 'Smart Device' description: '' components: securitySchemes: default: type: http scheme: bearer description: '' security: - default: []