{"openapi":"3.0.1","info":{"title":"API Reference","description":"Integrate the VPP API into your application","version":"1.1.0"},"servers":[{"url":"https://vpp.enphaseenergy.com"}],"paths":{"/api/v1/vpps/{vpp_id}":{"get":{"tags":["Manage VPPs"],"summary":"Retrieve details of a VPP","description":"Returns details of a VPP based on the inputted vpp_id.\nThe API provides information on VPP created and update time along with the systems count,\nsystems list, total energy in kWh and total power in kW.\nIf no VPP is associated with the id, a 404 will be returned.\n","operationId":"getVPPByKey","parameters":[{"name":"fetchLatestValues","in":"query","description":"Set to true to fetch the latest values for available_power and available_energy.Defaults to false.","required":false,"schema":{"type":"boolean","default":false}},{"name":"vpp_id","in":"path","description":"Unique ID of the VPP","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"VPP retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GsApiVPP"},"example":{"name":"All Systems*","query":{"tags":{"POSTAL_CODE":["T3L 2G9"],"STATE":["RI"]},"operator":"AND"},"vpp_id":"All Systems*_Demo_Test_Program_Demo_Utility_MA","created_at":"2022-02-17T12:59:32.161+00:00","updated_at":"2022-04-19T17:00:00.768+00:00","total_energy_kwh":0,"total_power_kw":0,"available_energy_kwh":0,"available_power_kw":0,"site_ids":[]}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"VPP not found with key XYZ\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Account Id does not match with VPP Creator\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"put":{"tags":["Manage VPPs"],"summary":"Update an existing VPP in a program","description":"Update an existing VPP in a program based on the inputted VPP_ID.\nThe update can be done by grouping sites based on system-defined parameters\nsuch as STATE, CITY, SITE_IDS, and ZIP/POSTAL_CODE (only one of ZIP or postal code).\nFor each parameter, if multiple values are specified, 'OR' is used as the operator.\nFor example, if multiple ZIP/POSTAL_CODE values are specified, all sites in those areas\nwill be part of the VPP. 'All systems' VPP that is created by default during program\ncreation cannot be updated.\n","operationId":"updateVPP","parameters":[{"name":"vpp_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPPUpdateRequest"},"examples":{"example-0":{"value":"{\n \"query\": {\n \"tags\": {\n \"STATE\": [\n \"RI\"\n ],\n \"POSTAL_CODE\" : [\"T3L 2G9\"]\n },\n \"operator\": \"AND\"\n }\n}\n"},"example-1":{"value":"{\n \"query\": {\n \"tags\": {\n \"STATE\": [\n \"RI\"\n ],\n \"ZIP\" : [\"T3L 2G9\"]\n },\n \"operator\": \"AND\"\n }\n}\n"},"example-2":{"value":"{\n\t\"query\": {\n\t\t\"tags\": {\n\t\t\t\"SITE_IDS\": [\n\t\t\t\t\"13487\",\n\t\t\t\t\"54688\",\n\t\t\t\t\"954859\"\n\t\t\t]\n\t\t},\n\t\t\"operator\": \"OR\"\n\t}\n}\n"}}}},"required":true},"responses":{"200":{"description":"VPP updated successfully","content":{"*/*":{"schema":{"type":"string"},"example":"VPP: {test} updated successfully!"}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Query cannot be empty\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"VPP state: XYZ is outside the progam state: XY\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Tags in Query aren't valid. Valid tags are [STATE, CITY, ZIP, POSTAL_CODE, SITE_IDS]\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"VPP not found with key XYZ\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Account Id does not match with VPP Creator\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Permission Denied to update the VPP\",\r\n \"additionalInfo\": \"You are not allowed to update All Systems* VPP. Please contact your service provider.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"delete":{"tags":["Manage VPPs"],"summary":"Delete VPP by vpp id","description":"Delete an existing VPP in a program based on the inputted VPP_ID.\n'All systems' VPP that is created by default during program creation cannot be deleted.\n","operationId":"deleteVPPByKey","parameters":[{"name":"vpp_id","in":"path","description":"Unique ID of the VPP","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"VPP deleted successfully","content":{"*/*":{"schema":{"type":"string"},"example":"VPP with id ABC test vpp ABC_Test_Program_ABC deleted successfully"}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Permission Denied to delete the VPP\",\r\n \"additionalInfo\": \"You are not allowed to delete All Systems* VPP. Please contact your service provider.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"VPP not found with key XYZ\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Account Id does not match with VPP Creator\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/stop_live_stream":{"put":{"tags":["System and Device Configuration"],"summary":"Stop the live stream for an enrolled site","operationId":"stopStream","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Stopped stream for the site","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StopStreamResponse"}},"example":[{"serial_number":"122116009243","status":"DEREGISTRATION_INITIATION_SUCCESSFUL"},{"serial_number":"122116009245","status":"DEREGISTRATION_INITIATION_SUCCESSFUL"}]}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Site eSW version does not support live telemetry data\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/start_live_stream":{"put":{"tags":["System and Device Configuration"],"summary":"Start the live stream for an enrolled site","operationId":"startStream","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Started stream for the site","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StartStreamResponse"}},"example":[{"serial_number":"122116009243","status":"REGISTRATION_INITIATION_SUCCESSFUL"},{"serial_number":"122116009245","status":"REGISTRATION_INITIATION_SUCCESSFUL"}]}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Live telemetry data is not enabled for this program\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Site eSW version does not support live telemetry data\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/settings":{"get":{"tags":["System and Device Configuration"],"summary":"Fetch site settings for an enrolled site","operationId":"getSiteSettings","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Fetched site settings for an enrolled site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SiteSettingsResponseDTO"},"example":{"vpp_event_reserve_soc":20}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"put":{"tags":["System and Device Configuration"],"summary":"Update site settings for an enrolled site","operationId":"updateSiteSettings","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReservedSOCUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Update site settings for an enrolled site","content":{"*/*":{"example":"Enrolled site's settings updated successfully\n"}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Bad Request\",\r\n \"additionalInfo\": \"reserved_soc: must be less than or equal to 100\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Bad Request\",\r\n \"additionalInfo\": \"reserved_soc: must be greater than or equal to 0\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Bad Request\",\r\n \"additionalInfo\": \"Site is enrolled in a program in which settings update is not allowed.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/events/{event_id}":{"get":{"tags":["Events"],"summary":"Retrieve details of a specific event","description":"Returns event details based on the inputted event_id. The API will return event status, command delivery status along with all the parameters specified as inputs during event creation","operationId":"getEventDetails","parameters":[{"name":"event_id","in":"path","description":"Unique Id of the event","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Event details retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GsApiVppEventResponse"},"examples":{"EventDetailExample":{"summary":"Sample event detail response","description":"EventDetailExample","value":{"event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202203241315","program_id":"test","events":[{"site_id":"698934045","event_status":"completed","start_time":"2022-03-24T13:15:00.000+00:00","end_time":"2022-03-24T13:30:00.000+00:00","created_at":"2022-03-24T11:15:00.000+00:00","completed_at":"2022-03-24T13:30:00.000+00:00","function":"BATTERY","mode":"Discharge_To_Load_Grid","target_soc":10,"rate_watt":1200,"command_delivery_status":"Delivered","superseded":false}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You cannot access this event\",\r\n \"additionalInfo\": \"This event is not belongs to programs which are mapped to your account\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No events found\",\r\n \"additionalInfo\": \"No events found for event_id:f75b0ada-ee9b-4cdb-b0f1-b915267d203c\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"put":{"tags":["Events"],"summary":"Update an existing Event in a program","description":"Update an existing event in a program based on the inputted event_id. For an event, only rate_watt and target_soc are allowed to be updated and updation of an event is allowed only upto 1 minute before event start time.","operationId":"updateEvent","parameters":[{"name":"event_id","in":"path","description":"Unique ID of the Event","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventUpdateRequest"},"examples":{"example-0":{"value":"{\n \"target_soc\":10,\n \"rate_watt\": 3000\n}\n"}}}},"required":true},"responses":{"200":{"description":"Event updated successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventResponse"},"examples":{"SuccessfulUpdate":{"summary":"Sample response for updated event","description":"SuccessfulUpdate","value":{"message":"Event updated successfully","event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202204061130","no_of_sites":1,"program_id":"test","total_watts":1200}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"rate_watt out of range\",\r\n \"additionalInfo\": \"rate_watt cannot be less than 0 when its value is provided\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event cannot be updated right now because site info is not available for some site\",\r\n \"additionalInfo\": \"Event cannot be updated right now because site info is not available for some site. Gateways list is null or blank site_id 12345\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Target SOC : xx is less than minimum target SOC for abcd. Minimum target SOC = yy\",\r\n \"additionalInfo\": \"Target SOC : xx is less than minimum target SOC for abcd. Minimum target SOC = yy\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Target SOC : xx is more than maximum target SOC for abcd. Maximum target SOC = zz\",\r\n \"additionalInfo\": \"Target SOC : xx is more than maximum target SOC for abcd. Maximum target SOC = zz\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Default target_soc is xx for this program with no option to override\",\r\n \"additionalInfo\": \"Default target_soc is xx for this program with no option to override\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"rate_watt needs to be at least 20% of total available power for the selected VPPs/Site group. Total available power = xxxx W\",\r\n \"additionalInfo\": \"rate_watt needs to be at least 20% of total available power for the selected VPPs/Site group. Total available power = xxxx W\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"rate_watt should be less than total available VPPs/Site group's cumulative Power. Total available power = xxxx W\",\r\n \"additionalInfo\": \"rate_watt should be less than total available VPPs/Site group's cumulative Power. Total available power = xxxx W\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Default rate_watt is xxxx W with no option to override\",\r\n \"additionalInfo\": \"Default rate_watt is xxxx W with no option to override\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-12":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You cannot access this event\",\r\n \"additionalInfo\": \"This event is not belongs to programs which are mapped to your account\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No events found\",\r\n \"additionalInfo\": \"No events found for event_id:f75b0ada-ee9b-4cdb-b0f1-b915267d203c\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Only scheduled events can be updated\",\r\n \"additionalInfo\": \"Only scheduled events can be updated. This event status is xyz\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"delete":{"tags":["Events"],"summary":"Cancel or End Event","description":"The API can be used to cancel a scheduled event or end an ongoing event in a program. An event that is either completed or already cancelled cannot be cancelled or ended.","operationId":"cancelEvent","parameters":[{"name":"event_id","in":"path","description":"Unique ID of the event","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Event cancelled successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventResponse"},"examples":{"successExample":{"summary":"Sample response","description":"successExample","value":{"message":"Event cancelled successfully","event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202204061130","no_of_sites":1,"program_id":"test","total_watts":1200}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Only scheduled or in_progress events can be deleted\",\r\n \"additionalInfo\": \"Only scheduled or in_progress events can be deleted. This event status is xyz\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Cancellation request is already submitted/in_progress/completed for this event\",\r\n \"additionalInfo\": \"Cancellation request is already submitted/in_progress/completed for this event. Cancellation request status is xyz\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You cannot access this event\",\r\n \"additionalInfo\": \"This event is not belongs to programs which are mapped to your account\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Upcoming event cancellation is not allowed for this program\",\r\n \"additionalInfo\": \"Upcoming event cancellation is not allowed for this program. Please check program feature flags\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Ongoing event ending is not allowed for this program\",\r\n \"additionalInfo\": \"Ongoing event ending is not allowed for this program. Please check program feature flags\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No events found\",\r\n \"additionalInfo\": \"No events found for event_id:f75b0ada-ee9b-4cdb-b0f1-b915267d203c\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/events/optout/{event_id}":{"put":{"tags":["Events"],"summary":"Optout-Optin site from the event","description":"Optout/Optin site from the event. Site can be opted out only for the scheduled events.\nOptout/Optin is allowed only up to 1 minute before the event start time.\n","operationId":"optOutOptInEvent","parameters":[{"name":"event_id","in":"path","description":"Unique ID of the Event","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"description":"Optout-Optin event details","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventOptoutOptinRequest"},"examples":{"example-0":{"value":"{\n \"site_id\": 12345,\n \"optout\":true\n}\n"}}}},"required":true},"responses":{"200":{"description":"Site Opted Out successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventOptoutOptinResponse"},"examples":{"OptoutSuccessExample":{"description":"OptoutSuccessExample","value":{"message":"Site Opted Out successfully","event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","site_id":12345}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"site_id cannot be null\",\r\n \"additionalInfo\": \"site_id cannot be null. please provide site_id which needs to be opt out/opt in from the event\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"optout cannot be null\",\r\n \"additionalInfo\": \"optout cannot be null. please provide true for optout site from the event and false for optin site to the event\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You cannot access this event\",\r\n \"additionalInfo\": \"This event is not belongs to programs which are mapped to your account\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No events found\",\r\n \"additionalInfo\": \"No events found for event_id:f75b0ada-ee9b-4cdb-b0f1-b915267d203c\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No event found for this site_id\",\r\n \"additionalInfo\": \"No events found for event_id:f75b0ada-ee9b-4cdb-b0f1-b915267d203c and site_id:12345\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Only scheduled events can be opted out or opted in\",\r\n \"additionalInfo\": \"Only scheduled events can be opted out or opted in. This event status is xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"This site is already opted out\",\r\n \"additionalInfo\": \"This site is already opted out\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"This site is already opted in\",\r\n \"additionalInfo\": \"This site is already opted in\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Event cannot be opted out/opted in because its start time is within x minutes from current time\",\r\n \"additionalInfo\": \"Event cannot be opted out/opted in because its start time is within x minutes from current time\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/applications/{site_id}":{"get":{"tags":["Applications"],"summary":"Retrieve an application","description":"Returns application based on the inputted site_id. Provides details of the application along with the application status. The forms sent while creation of the application will not be returned.","operationId":"getApplicationBySiteId","parameters":[{"name":"site_id","in":"path","description":"site_id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Application details retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GsApiApplication"},"examples":{"Sample Response":{"description":"Sample Response","value":{"site_id":698933755,"program_id":"test","application_id":10130,"application_status":"Application_Submitted","created_at":"2022-03-24T06:47:37.000+00:00","application_type":"unenrollment","site_info":{"city":"Newport","state":"RI","ean":"12345","zip":2840,"first_name":"TestUser","last_name":"S","country":"USA","postal_code":"2840"}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No applications found\",\r\n \"additionalInfo\": \"There is no application found for the site_id : 12345\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"put":{"tags":["Applications"],"summary":"Update a rejected application","description":"Updates a rejected application based on the inputted site_id. Application will be rejected if the site's state is different from the program state or if the site is enrolled in another program or if there is incorrect information in the application form. The API can be used to re apply by sending updated application forms. Application body in string is mandatory. It needs to be in format {\"site_id\":site_id_value as integer, \"program_id\":\"program_id_value as string\", \"ean\":\"electric account number as string optional\"}","operationId":"updateApplication","parameters":[{"name":"site_id","in":"path","description":"Site Id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"application_form":{"type":"string","description":"Application Body as a String. Format {\"site_id\":12345, \"program_id\":\"test\", \"ean\":\"112233\"}"},"signed_enrollment_form":{"type":"string","description":"Signed Enrollment Form URL","format":"binary"},"signed_tandc_form":{"type":"string","description":"Signed TandC Form URL","format":"binary"},"signed_form1":{"type":"string","description":"Signed Form1","format":"binary"},"signed_form2":{"type":"string","description":"Signed Form2","format":"binary"}}}}}},"responses":{"200":{"description":"Application updated successfully","content":{"*/*":{"schema":{"type":"string"},"examples":{"Success":{"description":"Success","value":"Application ID : 12345 for site with site_id = 658967 updated successfully!"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Multipart File Upload Error\",\r\n \"additionalInfo\": \"the request was rejected because no multipart boundary was found\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Bad request, File format is not supported\",\r\n \"additionalInfo\": \"File Format Not Allowed\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Bad request, Not enough details in Application body\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"request is invalid with user mail XXXX and application: XXXX\",\r\n \"additionalInfo\": \"Request is malformed.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"User with user_email xxxxx not found or user not part of account with XXXX\",\r\n \"additionalInfo\": \"Error while creating new application\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input application object or forms format check failed.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Max Upload Size Exceeded\",\r\n \"additionalInfo\": \"Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field xxxxx exceeds its maximum permitted size of nnnnnn bytes.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Only rejected applications can be updated\",\r\n \"additionalInfo\": \"Update not feasible as application is in status : XYZ\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Program does not have a workflow attached , application creation not possible for xxxxx\",\r\n \"additionalInfo\": \"Error while creating new application\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No Persmission to access application with ID: XXX by accountId: XXXX\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No Persmission to udpate application with ID: XXXX and status: XXXX\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Application not found with site_id xxxxx in your account\",\r\n \"additionalInfo\": \"Application not found with site_id xxxxx in your account\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No site found for xxxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No Application available with Id : XXXX\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Application update not possible, no such element found\",\r\n \"additionalInfo\": \"User info error : couldn’t find user obj for usermail: XXXX and accountID: XXXX\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/applications/{site_id}/withdraw":{"put":{"tags":["Applications"],"summary":"Withdraw an application that is not yet approved","description":"Withdraw an application from a program based on the inputted site_id.\n\n Applications that are already approved cannot be withdrawn.\n","operationId":"withdrawApplication","parameters":[{"name":"site_id","in":"path","description":"Site Id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"program_id","in":"query","description":"Unique ID of the program","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Application withdrawn successfully","content":{"*/*":{"schema":{"type":"string"},"examples":{"Success":{"description":"Success","value":"Application ID : 12345 for site with site_id = 658967 withdrawn successfully!"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application Withdraw not possible for siteId xxxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application Update not possible for siteId xxxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No Application available for site with Id: xxxxxin program : xxxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/auth/oauth2/token":{"post":{"tags":["Auth"],"summary":"Generate OAuth 2.0 access token","description":"Pass clientId:clientSecret as Base64 encoded value in Authorization header, grant type as client_credentials, Content-Type as application/x-www-form-urlencoded and Accept as application/json . Access token expire 3600 seconds after they are created and must be regenerated through the same process","operationId":"getToken","parameters":[{"name":"Authorization","in":"header","description":"clientId:clientSecret Base64 encoded value","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"application/x-www-form-urlencoded","required":true,"schema":{"type":"string","default":"application/x-www-form-urlencoded"}},{"name":"Accept","in":"header","description":"application/json","required":true,"schema":{"type":"string","default":"application/json"}},{"name":"grant_type","in":"query","description":"client_credentials","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Access Token generated successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AccessTokenResponse"},"examples":{"Sample Access Token":{"description":"Sample Access Token","value":{"access_token":"eyJraWQiOiJDOVVLejVySmlZZWlYc1MxWHk4b2MxUUxTZ1c3KzN0bm1PdUFSdlRmSVp3PSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI3aGVsZmVsY3Nh","expires_in":3600,"token_type":"Bearer"}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid parameter or headers\",\r\n \"additionalInfo\": \"Query parameter grant_type must be client_credentials. Request header Content-Type must be application/x-www-form-urlencoded. Request header Accept must be application/json. Request header Authorization must be Base64 encoded value of clientId:clientSecret. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"grant_type is not provided or invalid\",\r\n \"additionalInfo\": \"grant_type is not provided or invalid. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v2/events":{"get":{"tags":["Events"],"summary":"Retrieve all events in a program","description":"Returns a paginated list of all events in a program and total count of events based on the inputted program_id","operationId":"getEvents","parameters":[{"name":"program_id","in":"query","description":"Unique ID of the program","required":true,"schema":{"type":"string"}},{"name":"page_no","in":"query","description":"Page to be returned. Default=1, Min=1. For example, if page_no is set to 2, 2nd page is returned","required":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":1}},{"name":"page_size","in":"query","description":"Maximum number of records shown per page. Default=10, Min=1, Max=100. For example, if max is set to 5, 5 records are shown per page","required":false,"schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","default":10}},{"name":"start_date","in":"query","description":"Start date for fetching the events list in yyyy-MM-dd format. If start_date is not specified, will be defaulted to today's date","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date for fetching the events list in yyyy-MM-dd format. If end_date is not specified, will be defaulted to start_date + 7 days. Date range is restricted to a maximum of 30 days","required":false,"schema":{"type":"string"}},{"name":"site_id","in":"query","description":"Site Id to fetch corresponding events","required":false,"schema":{"type":"string"}},{"name":"event_status","in":"query","description":"Event Status to fetch corresponding events. Event statuses can be one of them: scheduled, in_progress, completed, stopped, failed, deleted, optedout","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"All the events are retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventsListResponse"},"examples":{"EventsListExample":{"summary":"Sample events list","description":"EventsListExample","value":{"program_id":"test","total_count":3,"eventList":[{"event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202403241315","program_id":"test","events":[{"site_id":"698934045","event_status":"scheduled","start_time":"2024-03-24T13:15:00.000+00:00","end_time":"2024-03-24T13:30:00.000+00:00","created_at":"2024-03-24T11:15:00.000+00:00","functions":["BATTERY"],"duration":15,"mode":"Discharge_To_Load_Grid","target_soc":10,"rate_watt":1200,"command_delivery_status":"Scheduled","measuring_reference":"ASSET"}]},{"event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203d","name":"Event 202403241315","program_id":"test","events":[{"site_id":"698934046","event_status":"scheduled","start_time":"2024-03-24T13:15:00.000+00:00","end_time":"2024-03-24T13:30:00.000+00:00","created_at":"2024-03-24T11:15:00.000+00:00","functions":["BATTERY"],"duration":15,"mode":"Discharge_To_Load_Grid","target_soc":10,"rate_watt":1200,"command_delivery_status":"Scheduled","measuring_reference":"ASSET"}]},{"event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203d","name":"Event 202403241315","program_id":"test","events":[{"site_id":"698934046","evse_serial_no":"7345120","event_status":"scheduled","start_time":"2024-03-24T13:15:00.000+00:00","end_time":"2024-03-24T13:30:00.000+00:00","created_at":"2024-03-24T11:15:00.000+00:00","functions":["EVSE"],"duration":15,"mode":"Charge","rate_watt":1200,"command_delivery_status":"Scheduled","measuring_reference":"ASSET"}]}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Pagination variables are incorrect\",\r\n \"additionalInfo\": \"Pagination variables are incorrect. Page number should starts from 1 and page size should be between 1 and 100\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid start_date format\",\r\n \"additionalInfo\": \"start_date format is invalid. start_date must be in yyyy-MM-dd format\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid end_date format\",\r\n \"additionalInfo\": \"end_date format is invalid. end_date must be in yyyy-MM-dd format\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid date range\",\r\n \"additionalInfo\": \"Date range is invalid. end_date must be after start_date\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid date range\",\r\n \"additionalInfo\": \"Date range is invalid. end_date cannot be more than 30 days from start_date\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid siteId\",\r\n \"additionalInfo\": \"Site Id must be an integer\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid event status\",\r\n \"additionalInfo\": \"Event statuses can be scheduled, in_progress, completed, stopped, failed, deleted, optedout\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"post":{"tags":["Events"],"summary":"Create a new Event in a program","description":"Create a new event for a site with function as either PV or BATTERY or HP or EVSE.\nThe current version only supports the ability to create an event for single site.\nIf function is PV, PV curtailment can be done on the site.\nIf the function is BATTERY, the battery can be charged or discharged or set to Idle.\nIf the function is HP, SG ready mode 1, 2, 3 or 4 can be configured for the heat pump.\nIf the function is EVSE, charge mode can be configured for the EVSE.\nSuperseded flag can be used for site level events to override existing site level events. If superseded is false and there is an overlap with existing event, the new event will not be considered.\n","operationId":"createEvent","parameters":[{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventCreateRequestV2"},"examples":{"example-0":{"value":"{\n \"program_id\":\"test\",\n \"site_ids\": [12345],\n \"measuring_reference\":\"ASSET\",\n \"functions\": [\"PV\"],\n \"rate_watt\": 1000,\n \"start_time\" : \"2022-04-08 06:00\",\n \"end_time\" : \"2022-04-08 08:00\"\n}\n"},"example-1":{"value":"{\n \"program_id\": \"test\",\n \"site_ids\": [12345],\n \"measuring_reference\":\"ASSET\",\n \"functions\": [\"PV\"],\n \"rate_watt\": 1000,\n \"duration\": 30\n}\n"},"example-2":{"value":"{\n \"program_id\": \"test\",\n \"site_ids\": [12345],\n \"measuring_reference\":\"ASSET\",\n \"functions\": [\"EVSE\"],\n \"mode\": \"Charge\",\n \"evse_serial_no\": \"23412313\",\n \"rate_watt\": -1000,\n \"duration\": 30\n}\n"},"example-3":{"value":"{\n \"program_id\": \"test\",\n \"site_ids\": [12345],\n \"measuring_reference\":\"ASSET\",\n \"functions\": [\"HP\"],\n \"mode\": \"MODE_2\",\n \"duration\": 30\n}\n"},"example-4":{"value":"{\n \"program_id\": \"test\",\n \"site_ids\": [12345],\n \"measuring_reference\":\"ASSET\",\n \"functions\": [\"BATTERY\"],\n \"mode\": \"Discharge_To_Load_Grid\",\n \"target_soc\": 10,\n \"rate_watt\": 3000,\n \"start_time\": \"2022-04-08 06:00\",\n \"duration\": 30\n}\n"},"example-5":{"value":"{\n \"program_id\": \"test\",\n \"site_ids\": [12345],\n \"measuring_reference\":\"ASSET\",\n \"functions\": [\"BATTERY\"],\n \"target_soc\": 100,\n \"rate_watt\": -3000,\n \"duration\": 30\n}\n"},"example-6":{"value":"{\n \"program_id\": \"test\",\n \"site_ids\": [12345],\n \"measuring_reference\":\"ASSET\",\n \"functions\": [\"BATTERY\"],\n \"target_soc\": 100,\n \"rate_watt\": -3000,\n \"duration\": 30,\n \"superseded\": true\n}\n"}}}},"required":true},"responses":{"200":{"description":"Event created successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventResponse"},"examples":{"EventCreationResponse":{"summary":"Successful event creation response","description":"EventCreationResponse","value":{"message":"Event created successfully","event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202204061130","no_of_sites":1,"program_id":"test","total_watts":1200}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"program_id cannot be null\",\r\n \"additionalInfo\": \"program_id cannot be null. please provide program_id of the event\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"start_time format should be yyyy-MM-dd HH:mm\",\r\n \"additionalInfo\": \"start_time format should be yyyy-MM-dd HH:mm\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"end_time format should be yyyy-MM-dd HH:mm\",\r\n \"additionalInfo\": \"end_time format should be yyyy-MM-dd HH:mm\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"End time must be greater than start time\",\r\n \"additionalInfo\": \"End time must be greater than start time\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Start time cannot be in the past\",\r\n \"additionalInfo\": \"Start time cannot be in the past. Event start time 2022-04-26 09:30 current time Wed Apr 27 12:18:05 GMT 2022\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"start time needs to be minimum after xx seconds from current time\",\r\n \"additionalInfo\": \"start time needs to be minimum after xx seconds from current time\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event duration out of range\",\r\n \"additionalInfo\": \"Event duration should not exceed x Hours y Mins\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event duration out of range\",\r\n \"additionalInfo\": \"Event duration should not be less than x Mins\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event start time can be maximum x days from current time\",\r\n \"additionalInfo\": \"Event start time can be maximum x days from current time\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"either end_time or duration must be passed. Both cannot be passed\",\r\n \"additionalInfo\": \"either end_time or duration must be passed. Both cannot be passed\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"either site_ids or vpp_ids must be passed. Both cannot be passed\",\r\n \"additionalInfo\": \"either site_ids or vpp_ids must be passed. Both cannot be passed\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"functions cannot be null\",\r\n \"additionalInfo\": \"functions cannot be null\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-12":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"measuring_reference cannot be null\",\r\n \"additionalInfo\": \"measuring_reference cannot be null\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-13":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"multiple functions are not supported currently. Provide only one function\",\r\n \"additionalInfo\": \"multiple functions are not supported currently. Provide only one function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-14":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"program does not support this function\",\r\n \"additionalInfo\": \"program does not support this function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-15":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"multiple site ids are not supported currently\",\r\n \"additionalInfo\": \"multiple site ids are not supported currently\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-16":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"vpp ids not supported currently. Provide only site ids\",\r\n \"additionalInfo\": \"vpp ids not supported currently. Provide only site ids\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-17":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Mode is applicable only if functions is BATTERY or EVSE or HP\",\r\n \"additionalInfo\": \"Mode is applicable only if functions is BATTERY or EVSE or HP\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-18":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"rate_watt must be positive for discharge events and negative for charge events\",\r\n \"additionalInfo\": \"rate_watt must be positive for discharge events and negative for charge events\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-19":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid request. For charge events, rate_watt should be negative value (non-zero)\",\r\n \"additionalInfo\": \"Invalid request. For charge events, rate_watt should be negative value (non-zero)\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-20":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Rate watt should be null when function is HP\",\r\n \"additionalInfo\": \"Rate watt should be null when function is HP\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-21":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Rate watt should be null when measuring reference is Site\",\r\n \"additionalInfo\": \"Rate watt should be null when measuring reference is Site\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-22":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Rate watt should be null when mode is Dont_Charge\",\r\n \"additionalInfo\": \"Rate watt should be null when mode is Dont_Charge\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-23":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Export limit should be null when measuring reference is Asset\",\r\n \"additionalInfo\": \"Export limit should be null when measuring reference is Asset\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-24":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid mode for BATTERY function\",\r\n \"additionalInfo\": \"Invalid mode for BATTERY function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-25":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid mode for EVSE function\",\r\n \"additionalInfo\": \"Invalid mode for EVSE function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-26":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid mode for HP function\",\r\n \"additionalInfo\": \"Invalid mode for HP function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-27":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"mode is required for EVSE function\",\r\n \"additionalInfo\": \"mode is required for EVSE function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-28":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"mode is required for HP function\",\r\n \"additionalInfo\": \"mode is required for HP function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-29":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"evse_serial_no is required for EVSE function\",\r\n \"additionalInfo\": \"evse_serial_no is required for EVSE function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-30":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"evse_serial_no should be null when function is not EVSE\",\r\n \"additionalInfo\": \"evse_serial_no should be null when function is not EVSE\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-31":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Either mode or rate_watt is required for BATTERY function\",\r\n \"additionalInfo\": \"Either mode or rate_watt is required for BATTERY function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-32":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"target_soc is required for BATTERY charge or discharge event\",\r\n \"additionalInfo\": \"target_soc is required for BATTERY charge or discharge event\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-33":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"target_soc should be between 10 and 100 for BATTERY charge or discharge event\",\r\n \"additionalInfo\": \"target_soc should be between 10 and 100 for BATTERY charge or discharge event\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-34":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"target_soc is not applicable for PV or EVSE or HP function\",\r\n \"additionalInfo\": \"target_soc is not applicable for PV or EVSE or HP function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-35":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"No enrollments found for the given program for some sites out of: [123]\",\r\n \"additionalInfo\": \"No enrollments found for the given program for some sites out of: [123]\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-36":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"The site does not support the requested function\",\r\n \"additionalInfo\": \"The site does not support the requested function\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-37":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Site does not have a production meter. PV curtailment to a specific value is not supported. Only PV shutdown is supported\",\r\n \"additionalInfo\": \"Site does not have a production meter. PV curtailment to a specific value is not supported. Only PV shutdown is supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-38":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Site does not have a production meter or consumption meter. Export limiting is not supported\",\r\n \"additionalInfo\": \"Site does not have a production meter or consumption meter. Export limiting is not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-39":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-40":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-41":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-42":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-43":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/vpps":{"get":{"tags":["Manage VPPs"],"summary":"Retrieve all VPPs of a program","description":"Returns a paginated list of all the VPPs of a program based on the inputted program_id.\nThe API provides information on VPP created and update time along with the systems count,\ntotal energy in kWh and total power in kW. 'All systems' VPP that is created by default\nduring program creation is always retrieved.\n","operationId":"getAllVPPByKey","parameters":[{"name":"program_id","in":"query","description":"Unique ID of the program","required":true,"schema":{"type":"string"}},{"name":"page_no","in":"query","description":"Page to be returned. Default=1, Min=1. For example, if page_no is set to 2, 2nd page is returned","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"page_size","in":"query","description":"Maximum number of records shown per page. Default=10, Min=1, Max=100. For example, if max is set to 5, 5 records are shown per page","required":false,"schema":{"type":"integer","format":"int32","default":10}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"All VPPs in the program retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/VPPsListResponse"},"example":{"total":1,"vpps":[{"name":"All Systems*","query":{"tags":{"POSTAL_CODE":["T3L 2G9"],"STATE":["RI"]},"operator":"AND"},"vpp_id":"All Systems*_Demo_Test_Program_Demo_Utility_MA","created_at":"2022-02-17T12:59:32.161+00:00","updated_at":"2022-04-19T17:00:00.768+00:00","total_systems":0,"total_energy_kwh":0,"total_power_kw":0}]}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Pagination Variables are incorrect. Page number starts from 1 and page size must be less than 101\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"post":{"tags":["Manage VPPs"],"summary":"Create a new VPP in a program","description":"Create a new VPP in a program by grouping sites based on system-defined parameters such as\nSTATE, CITY, SITE_IDS, and ZIP/POSTAL_CODE (only one of ZIP or postal code).\nFor each parameter, if multiple values are specified, 'OR' is used as the operator.\nFor example, if multiple ZIP/POSTAL_CODE values are specified, all sites in those areas\nwill be part of the VPP. VPP name can contain only space, underscore (_), hyphen (-), asterisk (*) as\n special characters along with any alphanumeric characters.\n","operationId":"createVPP","parameters":[{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPPCreateRequest"},"examples":{"example-0":{"value":"{\n \"program_id\":\"test\",\n \"name\": \"Test VPP22\",\n \"query\": {\n \"tags\": {\n \"STATE\": [\n \"RI\"\n ],\n \"POSTAL_CODE\" : [\"T3L 2G9\"]\n },\n \"operator\": \"AND\"\n }\n}\n"},"example-1":{"value":"{\n \"program_id\":\"test\",\n \"name\": \"Test VPP22\",\n \"query\": {\n \"tags\": {\n \"STATE\": [\n \"RI\"\n ],\n \"ZIP\": [\"T3L 2G9\"]\n },\n \"operator\": \"AND\"\n }\n}\n"},"example-2":{"value":"{\n\t\"program_id\": \"test\",\n\t\"name\": \"Test VPP22\",\n\t\"query\": {\n\t\t\"tags\": {\n\t\t\t\"SITE_IDS\": [\n\t\t\t\t\"13487\",\n\t\t\t\t\"54688\",\n\t\t\t\t\"954859\"\n\t\t\t]\n\t\t},\n\t\t\"operator\": \"OR\"\n\t}\n}\n"}}}},"required":true},"responses":{"200":{"description":"VPP created successfully","content":{"*/*":{"schema":{"type":"string"},"example":"VPP: {test} created successfully in Program with program_id = {test}!"}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Name,Query or Program_id were not appropriate\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Tags in Query aren't valid. Valid tags are [STATE, CITY, ZIP, POSTAL_CODE, SITE_IDS]\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"VPP state is outside the progam state: XY\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Zip code was not in accepted format. It must be a 5 character length string with only numeric values.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"VPP name can contain only space, underscore (_), hyphen (-), asterisk (*) as special characters\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/register_live_stream":{"post":{"tags":["System and Device Configuration"],"summary":"Register Site for live stream","operationId":"registerSiteForLiveStream","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"serial_number","in":"query","description":"Envoy Serial Number if registering for particular envoy","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"List of Status of Registration for each Envoy of Site","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegisterLiveStreamStatusResponse"}},"example":[{"serial_number":"122116009243","status":"IN_PROGRESS"},{"serial_number":"122116009245","status":"COMPLETED"}]}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Not Found\",\r\n \"additionalInfo\": \"Envoy not found with serial number: \"12345\"\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/devices/gateway/{serial_no}/local_api_token":{"post":{"tags":["System and Device Configuration"],"summary":"Generate access token for IQ gateway local api. This token will be valid for 12 hours and can be generated any number of times once the site is enrolled.","operationId":"generateLocalApiToken","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"Serial Number of the Envoy","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Generated access token for IQ gateway.","content":{"*/*":{"example":{"access_token":"eyJraWQiOiJjNzFmYjdmMy04OTVkLTRlYTktYjQ2MC00MmM4M2Y5ZmE0YTMiLCJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJhdWQiOiIxMjIxMTYwMDkyNDMiLCJpc3MiOiJFbnRyZXoiLCJlbnBoYXNlVXNlciI6ImVucGhhc2UiLCJleHAiOjE3NTA4MTAxNzYsImlhdCI6MTc1MDc2Njk3NiwianRpIjoiZTQyNzAyOGItNDVkZi00YmYwLWI3OGMtY2VkZDM4NjRjZDFjIiwidXNlcm5hbWUiOiJnc19lbmxpZ2h0ZW5AZW5waGFzZWVuZXJneS5jb20ifQ.mOXDHDHK7OaKrW0uckNeca91hMsgUZgApRfKVNYyQfQ0W1Bqy8-suGCjpGG-k4OWfEhGTKJnoN_K0XpbSL9jQg"}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/devices/evse/{serial_no}/ocpp_reset":{"post":{"tags":["System and Device Configuration"],"summary":"API to reset the communication between the charger and partner’s CSMS","operationId":"resetEvse","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"Serial Number of the EV Charger","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"ocpp reset request accepted","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OCPPResetResponse"},"example":"{\n\t\"message\": \"ocpp reset request accepted\",\n}\n"}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/devices/evse/{serial_no}/ocpp_configuration":{"post":{"tags":["System and Device Configuration"],"summary":"API to initiate the establishment of communication between the charger and partner’s CSMS","operationId":"registerEvse","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"Serial Number of the EV Charger","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OCPPConfigurationRequest"},"examples":{"example-0":{"value":"\t{\n\t \"connectionUrl\" : \"ws://ocpp.chargehq.net/ocpp16/30239503\",\n\t \"securityProfile\" : \"1\",\n\t \"authKey\" : \"213qdsa64564\"\n\t}\n"}}}},"required":true},"responses":{"200":{"description":"ocpp configuration request accepted","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OCPPConfigurationResponse"},"example":{"status":"ocpp configuration request accepted"}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Program is not set for EVSE Control type as OCPP\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/forecast":{"post":{"tags":["Forecast"],"summary":"API to fetch energy forecasts and respective accuracy percentages","description":"The API provides energy forecast for PV production, Consumption, Grid Energy, Battery Energy, and Battery SOC. Along with the forecast, the API also provides the estimate accuracy %. The forecast is available for individual VPPs or list of sites.\n","operationId":"getForecast","parameters":[{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForecastRequest"},"examples":{"example-0":{"value":" {\n \"site_ids\" : [6993,67011,1234,7213],\n \"granularity\" : \"15mins\",\n \"duration\" : \"4H\"\n }\n"},"example-1":{"value":" {\n \"vpp_id\" : \"Test_VPP_AZ\",\n \"granularity\" : \"15mins\",\n \"duration\" : \"13H\"\n }\n"}}}},"required":true},"responses":{"200":{"description":"Successfully retrieved battery lifetime values","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ForecastResponse"},"examples":{"ForecastResponseExample":{"summary":"Example of forecast data for site_list/vpp","description":"ForecastResponseExample","value":"{\n \"vpp_id\": null,\n \"valid_sites_list\": [\n 6993\n ],\n \"granularity\": \"15mins\",\n \"duration\": \"3.25H\",\n \"forecastData\": {\n \"battery_capacity_wh\": 1100,\n \"intervals\": [\n {\n \"timestamp\": \"2025-12-03T18:15:00+00:00\",\n \"cons_forecast_uncontrolled_wh\": 0.0,\n \"evse_forecast_wh\": 0.0,\n \"water_heater_forecast_wh\": 0.0,\n \"heat_pump_forecast_wh\": 0.0,\n \"pv_forecast_wh\": 237.15,\n \"battery_soc_percent_forecast\": 0.0,\n \"available_battery_energy_wh\": 0.0,\n \"available_battery_power_w\": 0.0,\n \"battery_charging_forecast_wh\": 237.15,\n \"battery_discharging_forecast_wh\": 0.0,\n \"grid_import_forecast_wh\": 0.0,\n \"grid_export_forecast_wh\": 0.0,\n \"cons_forecast_uncontrolled_accuracy_percent\": 0.0,\n \"evse_forecast_accuracy_percent\": 100.0,\n \"water_heater_forecast_accuracy_percent\": 100.0,\n \"heat_pump_forecast_accuracy_percent\": 46.2,\n \"pv_forecast_accuracy_percent\": 86.56,\n \"battery_soc_percent_forecast_accuracy_percent\": 100,\n \"battery_charging_forecast_accuracy_percent\": 91.98,\n \"grid_import_forecast_accuracy_percent\": 91.98\n },\n {\n \"timestamp\": \"2025-12-03T18:30:00+00:00\",\n \"cons_forecast_uncontrolled_wh\": 0.0,\n \"evse_forecast_wh\": 0.0,\n \"water_heater_forecast_wh\": 0.0,\n \"heat_pump_forecast_wh\": 0.0,\n \"pv_forecast_wh\": 225.74,\n \"battery_soc_percent_forecast\": 0.0,\n \"available_battery_energy_wh\": 0.0,\n \"available_battery_power_w\": 0.0,\n \"battery_charging_forecast_wh\": 225.74,\n \"battery_discharging_forecast_wh\": 0.0,\n \"grid_import_forecast_wh\": 0.0,\n \"grid_export_forecast_wh\": 0.0,\n \"cons_forecast_uncontrolled_accuracy_percent\": 0.0,\n \"evse_forecast_accuracy_percent\": 100.0,\n \"water_heater_forecast_accuracy_percent\": 100.0,\n \"heat_pump_forecast_accuracy_percent\": 46.2,\n \"pv_forecast_accuracy_percent\": 86.56,\n \"battery_soc_percent_forecast_accuracy_percent\": 51.12,\n \"battery_charging_forecast_accuracy_percent\": 91.98,\n \"grid_import_forecast_accuracy_percent\": 91.98\n },\n {\n \"timestamp\": \"2025-12-03T18:45:00+00:00\",\n \"cons_forecast_uncontrolled_wh\": 0.0,\n \"evse_forecast_wh\": 0.0,\n \"water_heater_forecast_wh\": 0.0,\n \"heat_pump_forecast_wh\": 1720.21,\n \"pv_forecast_wh\": 214.34,\n \"battery_soc_percent_forecast\": 0.01,\n \"available_battery_energy_wh\": 0.0,\n \"available_battery_power_w\": 0.0,\n \"battery_charging_forecast_wh\": 214.34,\n \"battery_discharging_forecast_wh\": 0.0,\n \"grid_import_forecast_wh\": 0.0,\n \"grid_export_forecast_wh\": 0.0,\n \"cons_forecast_uncontrolled_accuracy_percent\": 0.0,\n \"evse_forecast_accuracy_percent\": 100.0,\n \"water_heater_forecast_accuracy_percent\": 100.0,\n \"heat_pump_forecast_accuracy_percent\": 78,\n \"pv_forecast_accuracy_percent\": 86.6,\n \"battery_soc_percent_forecast_accuracy_percent\": 51.12,\n \"battery_charging_forecast_accuracy_percent\": 98.0,\n \"grid_import_forecast_accuracy_percent\": 91.98\n }...\n ]\n },\n \"forecast_unavailable_sites_list\": [\n 6989\n ],\n \"invalid_sites_list\": [\n 1234\n ]\n }\n"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Only one of the site_ids and vpp_id must be passed\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Either a list of site_ids or vpp_id is required\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Granularity is invalid. Granularity should be one of 15mins\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Duration is invalid. Duration should be in between 3H to 24H\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"VPP is not eligible for forecast.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Account Id does not match with VPP Creator\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"VPP not found with id 692807cd\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No forecast data found for provided site IDs\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Sites provided in site_ids list are either empty (or) does not belong to your account (or) are not enrolled in a forecast enabled program\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/events":{"get":{"tags":["Events"],"summary":"Retrieve all events in a program","description":"Returns a paginated list of all events in a program and total count of events based on the inputted program_id","operationId":"getEvents_1","parameters":[{"name":"program_id","in":"query","description":"Unique ID of the program","required":true,"schema":{"type":"string"}},{"name":"page_no","in":"query","description":"Page to be returned. Default=1, Min=1. For example, if page_no is set to 2, 2nd page is returned","required":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":1}},{"name":"page_size","in":"query","description":"Maximum number of records shown per page. Default=10, Min=1, Max=100. For example, if max is set to 5, 5 records are shown per page","required":false,"schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","default":10}},{"name":"start_date","in":"query","description":"Start date for fetching the events list in yyyy-MM-dd format. If start_date is not specified, will be defaulted to today's date","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date for fetching the events list in yyyy-MM-dd format. If end_date is not specified, will be defaulted to start_date + 7 days. Date range is restricted to a maximum of 30 days","required":false,"schema":{"type":"string"}},{"name":"site_id","in":"query","description":"Site Id to fetch corresponding events","required":false,"schema":{"type":"string"}},{"name":"event_status","in":"query","description":"Event Status to fetch corresponding events. Event statuses can be one of them: scheduled, in_progress, completed, stopped, failed, deleted, optedout","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"All the events are retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventsListResponse"},"examples":{"Example Response":{"summary":"Sample event list","description":"Example Response","value":{"program_id":"test","total_count":2,"eventList":[{"event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202203241315","program_id":"test","events":[{"site_id":"698934045","event_status":"completed","start_time":"2022-03-24T13:15:00.000+00:00","end_time":"2022-03-24T13:30:00.000+00:00","created_at":"2022-03-24T11:15:00.000+00:00","completed_at":"2022-03-24T13:30:00.000+00:00","function":"BATTERY","mode":"Discharge_To_Load_Grid","target_soc":10,"rate_watt":1200,"command_delivery_status":"Delivered","superseded":false}]}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Pagination variables are incorrect\",\r\n \"additionalInfo\": \"Pagination variables are incorrect. Page number should starts from 1 and page size should be between 1 and 100\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid start_date format\",\r\n \"additionalInfo\": \"start_date format is invalid. start_date must be in yyyy-MM-dd format\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid end_date format\",\r\n \"additionalInfo\": \"end_date format is invalid. end_date must be in yyyy-MM-dd format\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid date range\",\r\n \"additionalInfo\": \"Date range is invalid. end_date must be after start_date\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid date range\",\r\n \"additionalInfo\": \"Date range is invalid. end_date cannot be more than 30 days from start_date\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid siteId\",\r\n \"additionalInfo\": \"Site Id must be an integer\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid event status\",\r\n \"additionalInfo\": \"Event statuses can be scheduled, in_progress, completed, stopped, failed, deleted, optedout\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"post":{"tags":["Events"],"summary":"Create a new Event in a program","description":"Create a new event in a program. Event start time must be at least 1 minute from the current time. Event Start time can be a maximum of 7 days from the current time.\n\nEvent Duration (Event End Time - Event Start Time) must be a minimum of 5 minutes and a maximum of 5 hours.\n\nEvents can be created for a single site or a list of sites or a list of VPPs and hence either Site ID or Site IDs or VPP IDs must be passed. Batteries will function as per the mode specified in the request till either the target SOC is reached or event duration has passed. Depending on the mode specified, the battery will charge or discharge based on various parameters such as rate_watt, PV generation, Load, and rated power of the battery. If the mode is IDLE, battery will neither discharge or charge. For events created for a VPP or list of sites, rate_watt will be distributed across sites.\n\nSuperseded flag can be used for site level events to override existing site level events. If superseded is false and there is an overlap with existing event, the new event will not be considered.\n\nRecommendation: When events are created for a list of sites or VPPs, ensure that the number of sites are less than 500. As the number of sites increase, the latency of the API increases and might result in failure of event creation. If the number of sites are more than 500, recommendation is to split the VPP into smaller VPPs with each VPP size less than 500 sites.\n","operationId":"createEvent_1","parameters":[{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"description":"JSON request to create an event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventCreateRequest"},"examples":{"example-0":{"value":"{\n \"program_id\":\"test\",\n \"site_id\": 12345,\n \"function\":\"BATTERY\",\n \"mode\":\"Discharge_To_Load_Grid\",\n \"target_soc\":10,\n \"rate_watt\": 3000,\n \"start_time\" : \"2022-04-08 06:00\",\n \"end_time\" : \"2022-04-08 08:00\",\n \"superseded\": false\n}\n"},"example-1":{"value":"{\n \"program_id\": \"test\",\n \"site_ids\": [12345,96789,45320],\n \"function\": \"BATTERY\",\n \"mode\": \"Discharge_To_Load_Grid\",\n \"target_soc\": 10,\n \"rate_watt\": 3000,\n \"start_time\": \"2022-04-08 06:00\",\n \"end_time\": \"2022-04-08 08:00\",\n \"superseded\": false\n}\n"},"example-2":{"value":"{\n \"program_id\": \"test\",\n \"vpp_ids\": [\"testvpp1\",\"testvpp2\"],\n \"function\": \"BATTERY\",\n \"mode\": \"Discharge_To_Load_Grid\",\n \"target_soc\": 10,\n \"rate_watt\": 3000,\n \"start_time\": \"2022-04-08 06:00\",\n \"end_time\": \"2022-04-08 08:00\",\n \"superseded\": false\n}\n"}}}},"required":true},"responses":{"200":{"description":"Event created successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventResponse"},"examples":{"SuccessfulEventCreation":{"summary":"Sample response after creating an event","description":"SuccessfulEventCreation","value":{"message":"Event created successfully","event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202204061130","no_of_sites":1,"program_id":"test","total_watts":1200}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"program_id cannot be null\",\r\n \"additionalInfo\": \"program_id cannot be null. please provide program_id of the event\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"start_time format should be yyyy-MM-dd HH:mm\",\r\n \"additionalInfo\": \"start_time format should be yyyy-MM-dd HH:mm\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"end_time format should be yyyy-MM-dd HH:mm\",\r\n \"additionalInfo\": \"end_time format should be yyyy-MM-dd HH:mm\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"End time must be greater than start time\",\r\n \"additionalInfo\": \"End time must be greater than start time\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Start time must be future time\",\r\n \"additionalInfo\": \"Start time must be future time. Event start time 2022-04-26 09:30 current time Wed Apr 27 12:18:05 GMT 2022\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"start time needs to be minimum after xx seconds from current time\",\r\n \"additionalInfo\": \"start time needs to be minimum after xx seconds from current time\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event duration out of range\",\r\n \"additionalInfo\": \"Event duration should not exceed x Hours y Mins\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event duration out of range\",\r\n \"additionalInfo\": \"Event duration should not be less than x Mins\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event start time can be maximum x days from current time\",\r\n \"additionalInfo\": \"Event start time can be maximum x days from current time\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"One of vpp_ids, site_id or site_ids needs to be provided\",\r\n \"additionalInfo\": \"One of vpp_ids, site_id or site_ids needs to be provided\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"One of vpp_ids, site_id or site_ids needs to be provided. More than one cannot be provided\",\r\n \"additionalInfo\": \"One of vpp_ids, site_id or site_ids needs to be provided. More than one cannot be provided\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"rate_watt out of range\",\r\n \"additionalInfo\": \"rate_watt cannot be less than 0 when its value is provided\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-12":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"No enrollments found for the given program for site: 12345\",\r\n \"additionalInfo\": \"No enrollments found for the given program for site: 12345\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-13":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"No enrollments found for the given program for some sites out of: [123, 456]\",\r\n \"additionalInfo\": \"No enrollments found for the given program for some sites out of: [123, 456]\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-14":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event not created\",\r\n \"additionalInfo\": \"No sites matching to any given VPP Query for vpp level event. Or site id is not provided for site level event. Event not created for program_id test1\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-15":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Already event is scheduled/ongoing. If needed, cancel existing and create new event. Event time is conflicting with an existing event time.\",\r\n \"additionalInfo\": \"VppEvent could not be processed\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-16":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Event cannot be created right now because site info is not available for some site\",\r\n \"additionalInfo\": \"Event cannot be created right now because site info is not available for some site. Gateways list is null or blank site_id 12345\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-17":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"abcd mode is not supported for this program\",\r\n \"additionalInfo\": \"abcd mode is not supported for this program\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-18":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Target SOC : xx is less than minimum target SOC for abcd. Minimum target SOC = yy\",\r\n \"additionalInfo\": \"Target SOC : xx is less than minimum target SOC for abcd. Minimum target SOC = yy\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-19":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Target SOC : xx is more than maximum target SOC for abcd. Maximum target SOC = zz\",\r\n \"additionalInfo\": \"Target SOC : xx is more than maximum target SOC for abcd. Maximum target SOC = zz\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-20":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Default target_soc is xx for this program with no option to override\",\r\n \"additionalInfo\": \"Default target_soc is xx for this program with no option to override\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-21":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"rate_watt needs to be at least 20% of total available power for the selected VPPs/Site group. Total available power = xxxx W\",\r\n \"additionalInfo\": \"rate_watt needs to be at least 20% of total available power for the selected VPPs/Site group. Total available power = xxxx W\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-22":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"rate_watt should be less than total available VPPs/Site group's cumulative Power. Total available power = xxxx W\",\r\n \"additionalInfo\": \"rate_watt should be less than total available VPPs/Site group's cumulative Power. Total available power = xxxx W\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-23":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Default rate_watt is xxxx W with no option to override\",\r\n \"additionalInfo\": \"Default rate_watt is xxxx W with no option to override\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-24":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"only BATTERY function is supported in v1 api\",\r\n \"additionalInfo\": \"only BATTERY function is supported in v1 api\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-25":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-26":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-27":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-28":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-29":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/applications":{"get":{"tags":["Applications"],"summary":"Retrieve all applications of a program","description":"Returns a paginated list of all the applications of a program based on the inputted program_id. By default, 10 applications are returned in a page.","operationId":"getApplications","parameters":[{"name":"program_id","in":"query","description":"Unique ID of the program","required":true,"schema":{"type":"string"}},{"name":"site_id","in":"query","description":"Unique ID of the Site","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"page_no","in":"query","description":"Page to be returned. Default=1, Min=1. For example, if page_no is set to 2, 2nd page is returned","required":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":1}},{"name":"page_size","in":"query","description":"Maximum number of records shown per page. Default=10, Min=1, Max=100. For example, if max is set to 5, 5 records are shown per page","required":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":10}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved Application details","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GsApiListApplicationResponse"},"examples":{"Sample Response":{"description":"Sample Response","value":{"page_no":1,"page_size":10,"count":2,"total_count":2,"applications":[{"site_id":123456,"program_id":"test","application_id":10130,"application_status":"Application_Submitted","application_type":"enrollment","created_at":"2022-03-24T06:47:37.000+00:00","site_info":{"city":"Newport","state":"RI","zip":0,"ean":"12345","first_name":"TestUser","last_name":"S","country":"USA","postal_code":"T3L 2G9"}},{"site_id":9876987,"program_id":"test","application_id":10157,"application_status":"Application_Submitted","application_type":"unenrollment","created_at":"2022-04-06T04:46:56.000+00:00","site_info":{"city":"Williston","state":"VT","zip":5495,"ean":"112233","first_name":"Test123","last_name":"xyz","country":"USA","postal_code":"5495"}}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Pagination Variables are incorrect. Page number should starts from 1 and page size should be between 1 and 100\",\r\n \"additionalInfo\": \"Pagination Variables are incorrect. Page number should starts from 1 and page size should be between 1 and 100\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"post":{"tags":["Applications"],"summary":"Create new application","description":"Create a new application to enroll or unenroll a site into a program. The site must belong to the same state as the program's state and must not be enrolled in any other program.\nThe API will also support users to send up to 4 application forms in PDF format with a file size limit of 1MB. Applications when created will be in submitted state and after approval, the state gets updated to approved.\nApplications that are rejected will get updated to rejected state.\n\nApplication body in string is mandatory. It needs to be in format {\"site_id\":site_id_value as integer, \"program_id\":\"program_id_value as string\", \"ean\":\"electric account number as string optional\"}.\n\napplication_type can be enrollment or unenrollment. It needs to be in format {\"application_type\":\"unenrollment\"}. If not provided then it is considered as enrollment\n","operationId":"createApplication","parameters":[{"name":"ho-access-token","in":"header","description":"Access token generated through oAuth for program enrollment","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"application_form":{"type":"string","description":"Application Body as a String. Format {\"site_id\":12345, \"program_id\":\"test\", \"ean\":\"112233\"}"},"application_type":{"type":"string","description":"Application Type as a String. Format {\"application_type\":\"enrollment\"}"},"signed_enrollment_form":{"type":"string","description":"Signed Enrollment Form URL","format":"binary"},"signed_tandc_form":{"type":"string","description":"Signed TandC Form URL","format":"binary"},"signed_form1":{"type":"string","description":"Signed Form1","format":"binary"},"signed_form2":{"type":"string","description":"Signed Form2","format":"binary"}}}}}},"responses":{"200":{"description":"Various possible success responses","content":{"*/*":{"schema":{"type":"string"},"examples":{"ApprovalSuccess":{"description":"ApprovalSuccess","value":"Application for site_id = 658967 approved successfully !"},"ApplicationCreated":{"description":"ApplicationCreated","value":"Application ID : 12345 for site with site_id = 658967 created successfully!"},"SiteUnenrolled":{"description":"SiteUnenrolled","value":"Site with Site ID : 12345 unenrolled successfully!"},"UnenrollmentSubmitted":{"description":"UnenrollmentSubmitted","value":"Unenrollment application id: 20212 for Site with Site ID : 12345 submitted successfully. The unenrollment requests will be processed in 3 business days, please contact gridservicessupport@enphaseenergy.com in case of any issues."}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Multipart File Upload Error\",\r\n \"additionalInfo\": \"the request was rejected because no multipart boundary was found\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Application Form is not provided\",\r\n \"additionalInfo\": \"Application Form is mandatory. Please provide required details\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Bad request, File format is not supported\",\r\n \"additionalInfo\": \"File Format Not Allowed\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Bad request, Not enough details in Application body\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Application could not be processed, Please retry again\",\r\n \"additionalInfo\": \"Program feature flags not set. Program: XXXX\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Application could not be processed, Please retry again\",\r\n \"additionalInfo\": \"Site object not found with site_id: XXXX\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Application could not be processed, Please retry again\",\r\n \"additionalInfo\": \"Home owner or address details is not available for given site, contact Enphase Customer Care\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"request is invalid with user mail XXXX and application: XXXX\",\r\n \"additionalInfo\": \"Request is malformed.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"User with user_email xxxxx not found or user not part of account with XXXX\",\r\n \"additionalInfo\": \"Error while creating new application\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input application object or forms format check failed.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Max Upload Size Exceeded\",\r\n \"additionalInfo\": \"Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field xxxxx exceeds its maximum permitted size of nnnnnn bytes.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Please provide valid application type\",\r\n \"additionalInfo\": \"Valid application_type are enrollment or unenrollment. provided application type is abcd\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-12":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Site is not enrolled in this program.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-13":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Site is already enrolled in program xxxx\",\r\n \"additionalInfo\": \"Site xxxx is already enrolled with enrollmentId xxxx in program xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-14":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Program and site state should match. Program state is xxxx and site state is xxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-15":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Program and site country should match. Program country is xxxx and site country is xxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-16":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-17":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-18":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-19":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-20":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Provided Home Owner access token expired\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Provided Home Owner access token is null, empty or whitespace\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Provided Home Owner access token is invalid\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Provided Home Owner access token is not supported\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Home Owner access token signature validation failed\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Program does not have a workflow attached , application creation not possible for xxxxx\",\r\n \"additionalInfo\": \"Error while creating new application\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Portal in application object is different from GSP\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"There already exists an application with this Site ID\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Not a valid ProgramApplicationWorkflow\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Enrollment File is empty\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-6":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Enrollment Form could not be uploaded to S3 bucket\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-7":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Tandc File is empty\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-8":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Tandc Form could not be uploaded to S3 bucket\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-9":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Signed Form1 File is empty\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-10":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Signed Form1 could not be uploaded to S3 bucket\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-11":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Signed Form2 File is empty\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-12":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Application status or details update not possible, Application Details are correct but not processable furthur, please contact customer support\",\r\n \"additionalInfo\": \"Signed Form2 could not be uploaded to S3 bucket\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-13":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No Persmission to access application with ID: XXX by accountId: XXXX\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-14":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No Persmission to udpate application with ID: XXXX and status: XXXX\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-15":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Not authorized to enroll this site\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-16":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Home Owner Access Token missing\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-17":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Provided Home Owner Access Token does not match with Program ID\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-18":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Provided Home Owner Access Token does not match with Site ID\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-19":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Pre Approved Auth String is missing\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-20":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"There already exists an unenrollment application with the site ID 12345. Please withdraw the unenrollment application to submit a new application\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-21":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-22":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-23":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-24":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-25":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No site found for xxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Error While sending mail to salesforce with account: XXXX and program : XXXX\",\r\n \"additionalInfo\": \"No account found with account id : XXXX\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No Application available with Id : XXXX\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Application update not possible, no such element found\",\r\n \"additionalInfo\": \"User info error : couldn’t find user obj for usermail: XXXX and accountID: XXXX\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"409":{"description":"Conflict","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"409\",\r\n \"displayMessage\": \"Application ID: xxxx for site_id = xxxx processed successfully but Enrollment creation rejected. Reason - xxxx\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Server side error\",\r\n \"additionalInfo\": \"Please contact customer support for further assistance\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v2/events/{event_id}":{"get":{"tags":["Events"],"summary":"Retrieve details of a specific event","description":"Returns event details based on the inputted event_id. The API will return event status, command delivery status along with all the parameters specified as inputs during event creation","operationId":"getEventDetails_1","parameters":[{"name":"event_id","in":"path","description":"Unique Id of the event","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Event details retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GsApiVppEventResponse"},"examples":{"BatteryEvent":{"summary":"Battery function event detail","description":"BatteryEvent","value":{"event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202403241315","program_id":"test","events":[{"site_id":"698934045","event_status":"completed","start_time":"2024-03-24T13:15:00.000+00:00","end_time":"2024-03-24T13:30:00.000+00:00","created_at":"2024-03-24T11:15:00.000+00:00","functions":["BATTERY"],"duration":15,"mode":"Discharge_To_Load_Grid","target_soc":10,"rate_watt":1200,"command_delivery_status":"Scheduled","measuring_reference":"ASSET"}]}},"EVSEEvent":{"summary":"EVSE function event detail","description":"EVSEEvent","value":{"event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202403241315","program_id":"test","events":[{"site_id":"698934045","evse_serial_no":"7345120","event_status":"completed","start_time":"2024-03-24T13:15:00.000+00:00","end_time":"2024-03-24T13:30:00.000+00:00","created_at":"2024-03-24T11:15:00.000+00:00","functions":["EVSE"],"duration":15,"mode":"Charge","rate_watt":1200,"command_delivery_status":"Scheduled","measuring_reference":"ASSET"}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You cannot access this event\",\r\n \"additionalInfo\": \"This event is not belongs to programs which are mapped to your account\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No events found\",\r\n \"additionalInfo\": \"No events found for event_id:f75b0ada-ee9b-4cdb-b0f1-b915267d203c\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}},"delete":{"tags":["Events"],"summary":"Cancel or End Event","description":"The API can be used to cancel a scheduled event or end an ongoing event in a program. An event that is either completed or already cancelled cannot be cancelled or ended.","operationId":"cancelEvent_1","parameters":[{"name":"event_id","in":"path","description":"Unique ID of the event","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Event cancelled successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventResponse"},"examples":{"EventCancellationResponse":{"summary":"Successful event cancellation response","description":"EventCancellationResponse","value":{"message":"Event cancelled successfully","event_id":"f75b0ada-ee9b-4cdb-b0f1-b915267d203c","name":"Event 202204061130","no_of_sites":1,"program_id":"test","total_watts":1200}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/{serial_no}/evse_telemetry":{"get":{"tags":["System Details And Telemetry"],"summary":"Retrieves telemetry data of the EVSE charger at regular intervals","description":"Retrieves telemetry data of the EVSE charger at regular intervals.\nIf no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.\nThe end_at is calculated as the minimum of the time of the request and (start time + granularity).\nThe meaning of granularity is as follow:\nIf granularity is 15mins, maximum 1 intervals will appear in response. If granularity is day, maximum 96 intervals will appear in response where each interval is of 15 mins duration.\nThe requested start date must be within 2 years from current date.\n","operationId":"getDeviceLevelEVSETelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"Serial Number of the EV Charger","required":true,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Start time for fetching the telemetry data in Epoch time format. Defaults to midnight\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"start_date","in":"query","description":"Start date for fetching the telemetry data in yyyy-mm-dd format\n If no start_date is specified, defaults to midnight today, in the timezone of the system.\n","required":false,"schema":{"type":"string"}},{"name":"interval_duration","in":"query","description":"Size of the interval. Can be 5mins, or 15mins. Site must be configured to 5 min telemetry for this to be supported. Defaults to 15mins\n","required":false,"schema":{"type":"string","default":"15mins"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins', '5mins'. Default is 'day'\n","required":false,"schema":{"type":"string","default":"day"}},{"name":"end_date","in":"query","description":"End Date in YYYY-MM-DD format. If granularity is not provided, then defaults to current date\n","required":false,"schema":{"type":"string"}},{"name":"end_at","in":"query","description":"End time for fetching the telemetry data in Epoch time format.\nOne can also use end_date in place of end_at for passing the end date as String date format YYYY-MM-DD.\nOnly one of granularity and end_at/end_date should be passed.\nIf granularity is not provided, then defaults to current time.\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved device level EVSE telemetry data","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeviceLevelEVSETelemetryResponse"},"examples":{"EVSETelemetryExample":{"summary":"Response with 5-minute interval energy data","description":"EVSETelemetryExample","value":{"system_id":698905955,"granularity":"day","interval_duration":"5mins","start_at":1496526300,"end_at":1496527320,"items":"intervals","intervals":[{"end_at":1496527200,"wh_consumed":40.2},{"end_at":1496527260,"wh_consumed":30.8},{"end_at":1496527320,"wh_consumed":10.1}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Granularity value must be one of 'week', 'day', '15mins', '5mins'\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Interval duration must be one of '5mins', '15mins'\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/{serial_no}/evse_lifetime":{"get":{"tags":["System Details And Telemetry"],"summary":"Retrieves daily time-series telemetry data of the EVSE charger","description":"Retrieves daily time-series telemetry data of the EVSE charger\nThe number of data points returned in the response corresponds to days spanned between the start_date and end_date parameter mentioned in the request.\nRequested start_date of the time series data defaults to the system’s operational date. If the start_date is earlier than the system’s operational_date, then the response data begins with the system operational_date as start_date.\nPass as String date format YYYY-MM-DD.If end_date is not specified, then it defaults to today.\n","operationId":"getDeviceLevelEVSELifeTimeTelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"Serial Number of the EV Charger","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date for fetching the daily time-series data. Pass as String date format yyyy-mm-dd. Defaults to the system’s operational date\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date for fetching the daily time-series data. Pass as String date format yyyy-mm-dd. Defaults to today.\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved daily time-series telemetry data of the EVSE charger","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EVSELifeTimeTelemetryResponse"},"examples":{"EVSELifeTimeExample":{"summary":"Daily EVSE energy consumption data","description":"EVSELifeTimeExample","value":{"system_id":698905955,"start_date":"2024-11-22","end_date":"2024-11-28","consumption":[40.1,35.3,40.4,20.6,15.2,10.3,2.9]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/production_micro":{"get":{"tags":["System Details And Telemetry"],"summary":"Get telemetry for all production micros for a site","description":"Retrieves telemetry for all the production micros of a system.\nIf no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system's first reported date, then midnight of the system's first reported date is considered as start_at.\nThe end_at is calculated as the minimum of the time of the request and (start time + granularity).\nThe meaning of granularity is as follow:\nIf granularity is 15mins, maximum 3 intervals will appear in response. If granularity is day, maximum 288 intervals will appear in response where each interval is of 5 mins duration.\nDefault interval duration is 5mins. 15mins interval duration is also supported.\nThe requested start date must be within 2 years from current date.\nBy default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.\nBy default end_at will appear in response. If end_date parameter is passed in the url then end_date field will appear in response.\n","operationId":"getProductionMicroTelemetry","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Start time for fetching the telemetry data in Epoch time format. Alternatively one can use start_date in place of start_at for passing the start date as String in YYYY-MM-DD format. By default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_at","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins'. Default is 'day'\nAvailable values : 15mins, day, week\n","required":false,"schema":{"type":"string"}},{"name":"interval_duration","in":"query","description":"Size of the interval. Possible values are '5mins', '15mins'. Defaults to '5mins'\n","required":false,"schema":{"type":"string","default":"5mins"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Telemetry for all production micros","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsProductionMicroResponse"},"examples":{"UnixTimestampExample":{"summary":"Example using start_at and end_at timestamps","description":"UnixTimestampExample","value":{"system_id":698905955,"granularity":"day","total_devices":9,"start_at":1496526300,"end_at":1496528300,"items":"intervals","intervals":[{"end_at":1384122700,"devices_reporting":1,"powr":30,"enwh":40},{"end_at":1384122740,"devices_reporting":1,"powr":20,"enwh":40}],"meta":{"status":"normal","last_report_at":1445619615,"last_energy_at":1445619033,"operational_at":1357023600}}},"ISODateExample":{"summary":"Example using ISO date fields","description":"ISODateExample","value":{"system_id":698905955,"granularity":"day","total_devices":9,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","items":"intervals","intervals":[{"end_at":1384122700,"devices_reporting":1,"powr":30,"enwh":40},{"end_at":1384122740,"devices_reporting":1,"powr":20,"enwh":40}],"meta":{"status":"normal","last_report_at":1445619615,"last_energy_at":1445619033,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/production_meter_readings":{"get":{"tags":["System Details And Telemetry"],"summary":"To retrieve the last known reading of each production meter on the system as of the requested time","description":"Returns the last known reading of each production meter on the system as of the requested time,\nregardless of whether the meter is currently in service or retired. Read_at is the time at which the reading was taken,\nand is always less than or equal to the requested end_at. Commonly, the reading will be within 30 minutes of the requested end_at.\nHowever, larger deltas can occur and do not necessarily mean there is a problem with the meter or the system.\nSystems that are configured to report infrequently can show large deltas on all meters, especially when end_at is close to the current time.\nMeters that have been retired from a system will show an end_at that doesn’t change, and that eventually is far away from the current time.\n","operationId":"getProductionMeterReadings","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"end_at","in":"query","description":"End of reporting period in Unix epoch time. If no end is specified, defaults to the time of the request.\nIf the end is later than the last reported interval the response data ends with the last reported interval\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved the last known reading of each production meter on the system as of the requested time.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProductionMeterReadings"},"examples":{"ProductionMeterReadingsExample":{"summary":"List of last known reading of each production meter on the system as of the requested time.","description":"ProductionMeterReadingsExample","value":{"system_id":66,"meter_readings":[{"serial_num":"123123123123EIM2","value":6180635,"read_at":1473901200}],"meta":{"status":"normal","last_report_at":1473902079,"last_energy_at":1473901200,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Not Authorized\",\r\n \"additionalInfo\": \"System not found for {:id=>\"1\"}\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Failed to parse date 1613543106\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/production_meter":{"get":{"tags":["System Details And Telemetry"],"summary":"Get telemetry for all production meters for a site","description":"Retrieves telemetry for all the production meters of a system.\nIf no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system's first reported date, then midnight of the system's first reported date is considered as start_at.\nThe end_at is calculated as the minimum of the time of the request and (start time + granularity).\nThe meaning of granularity is as follow:\nIf granularity is 15mins, maximum 1 intervals will appear in response. If granularity is day, maximum 96 intervals will appear in response where each interval is of 15 mins duration.\nThe requested start date must be within 2 years from current date.\nBy default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.\nBy default end_at will appear in response. If end_date parameter is passed in the url then end_date field will appear in response.\"\n","operationId":"getProductionMeterTelemetry","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Start time for fetching the telemetry data in Epoch time format. Alternatively one can use start_date in place of start_at for passing the start date as String date format YYYY-MM-DD. By default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_at","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"interval_duration","in":"query","description":"Possible values are 5mins & 15mins. 5 mins interval_duration is supported only for the sites that are configured for 5 mins telemetry","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins'. Default is 'day'\nAvailable values : 15mins, day, week\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Telemetry for all production meters","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsProductionMeterResponse"},"examples":{"UnixTimestampExample":{"summary":"Example using Unix timestamps","description":"UnixTimestampExample","value":{"system_id":698905955,"granularity":"day","total_devices":9,"start_at":1496526300,"end_at":1496529300,"items":"intervals","intervals":[{"end_at":1384122700,"devices_reporting":1,"wh_del":40},{"end_at":1384122740,"devices_reporting":1,"wh_del":40}]}},"ISODateExample":{"summary":"Example using ISO 8601 date fields","description":"ISODateExample","value":{"system_id":698905955,"granularity":"day","total_devices":9,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","items":"intervals","intervals":[{"end_at":1384122700,"devices_reporting":1,"wh_del":40},{"end_at":1384122740,"devices_reporting":1,"wh_del":40}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/import":{"get":{"tags":["System Details And Telemetry"],"summary":"Get the import telemetry data per interval for a given site","description":"Retrieves energy imported from grid in regular intervals.\n If no start_at is specified, defaults to midnight today, in the timezone of the system.\n If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.\n The end_at is calculated as the minimum of the time of the request and (start time + granularity). The meaning of granularity is as follow: If granularity is 15mins, maximum 1 intervals will appear in response.\n If granularity is day, maximum 96 intervals will appear in response where each interval is of 15 mins duration.\n The requested start date must be within 2 years from current date. Empty list will be returned if the last interval < requested start time < current time.","operationId":"getImportTelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique id of the site or site_id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"start_at","in":"query","description":"Start time in epoch format","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start date in yyyy-mm-dd format","required":false,"schema":{"type":"string"}},{"name":"end_at","in":"query","description":"End time in epoch format","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_date","in":"query","description":"End date in yyyy-mm-dd format","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"Granularity - week, day, 15mins","required":false,"schema":{"type":"string","default":"day"}},{"name":"interval_duration","in":"query","description":"interval duration - 15mins, 5mins","required":false,"schema":{"type":"string","default":"15mins"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Import telemetry data for site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsTelemetryImportResponse"},"examples":{"ImportTelemetryEpochExample":{"summary":"Epoch timestamp-based telemetry","description":"ImportTelemetryEpochExample","value":{"site_id":1,"start_at":1720190600,"end_at":1820190600,"granularity":"week","total_devices":2,"intervals":[{"end_at":1720190615,"wh_imported":2},{"end_at":1720190630,"wh_imported":4}]}},"ImportTelemetryDateExample":{"summary":"ISO 8601 date-based telemetry","description":"ImportTelemetryDateExample","value":{"site_id":1,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","granularity":"week","total_devices":2,"intervals":[{"end_at":1720190615,"wh_imported":2},{"end_at":1720190630,"wh_imported":4}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/export":{"get":{"tags":["System Details And Telemetry"],"summary":"Get the export telemetry data per interval for a given site","description":"Retrieves energy exported to grid in regular intervals.\n If no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.\n The end_at is calculated as the minimum of the time of the request and (start time + granularity). The meaning of granularity is as follow: If granularity is 15mins, maximum 1 intervals will appear in response.\n If granularity is day, maximum 96 intervals will appear in response where each interval is of 15 mins duration. The requested start date must be within 2 years from current date. Empty list will be returned if the last interval < requested start time < current time.","operationId":"getExportTelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique id of the site or site_id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"start_at","in":"query","description":"Start time in epoch format","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Start date in yyyy-mm-dd format","required":false,"schema":{"type":"string"}},{"name":"end_at","in":"query","description":"End time in epoch format","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_date","in":"query","description":"End date in yyyy-mm-dd format","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"Granularity - week, day, 15mins","required":false,"schema":{"type":"string","default":"day"}},{"name":"interval_duration","in":"query","description":"interval duration - 15mins, 5mins","required":false,"schema":{"type":"string","default":"15mins"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Export telemetry data for site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsTelemetryExportResponse"},"examples":{"ExportTelemetryEpochExample":{"summary":"Epoch timestamp-based export telemetry","description":"ExportTelemetryEpochExample","value":{"site_id":1,"start_at":1720190600,"end_at":1820190600,"granularity":"week","total_devices":2,"intervals":[{"end_at":1720190615,"wh_exported":2},{"end_at":1720190630,"wh_exported":4}]}},"ExportTelemetryDateExample":{"summary":"ISO 8601 date-based export telemetry","description":"ExportTelemetryDateExample","value":{"site_id":1,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","granularity":"week","total_devices":2,"intervals":[{"end_at":1720190615,"wh_exported":2},{"end_at":1720190630,"wh_exported":4}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/consumption_meter_readings":{"get":{"tags":["System Details And Telemetry"],"summary":"To retrieve the last known reading of each consumption meter on the system as of the requested time","description":"Returns the last known reading of each consumption meter on the system as of the requested time,\nregardless of whether the meter is currently in service or retired. Read_at is the time at which the reading was taken,\nand is always less than or equal to the requested end_at. Commonly, the reading will be within 30 minutes of the requested end_at.\nHowever, larger deltas can occur and do not necessarily mean there is a problem with the meter or the system.\nSystems that are configured to report infrequently can show large deltas on all meters, especially when end_at is close to the current time.\nMeters that have been retired from a system will show an end_at that doesn’t change, and that eventually is far away from the current time.\n","operationId":"getConsumptionMeterReadings","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"end_at","in":"query","description":"End of reporting period in Unix epoch time. If no end is specified, defaults to the time of the request.\nIf the end is later than the last reported interval the response data ends with the last reported interval\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved the last known reading of each consumption meter on the system as of the requested time.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConsumptionMeterReadings"},"examples":{"ConsumptionMeterReadingsExample":{"summary":"List of last known reading of each consumption meter on the system as of the requested time.","description":"ConsumptionMeterReadingsExample","value":{"system_id":66,"meter_readings":[{"serial_num":"123123123123EIM2","value":6180635,"read_at":1473901200}],"meta":{"status":"normal","last_report_at":1473902079,"last_energy_at":1473901200,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Not Authorized\",\r\n \"additionalInfo\": \"System not found for {:id=>\"1\"}\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Failed to parse date 1613543106\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/consumption_meter":{"get":{"tags":["System Details And Telemetry"],"summary":"Get telemetry for all consumption meters for a site","description":"Retrieves telemetry for all the consumption meters of a system. If the start_at specified is earlier than the system's first reported date, then midnight of the system's first reported date is considered as start_at. The end_at is calculated as the minimum of the time of the request and (start time + granularity).\nThe meaning of granularity is as follow: If granularity is 15mins, maximum 1 interval will appear in response.\nIf granularity is day, maximum 96 intervals will appear in response where each interval is of 15 mins duration.\nThe requested start date must be within 2 years from current date. By default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response. By default end_at will appear in response. If end_date parameter is passed in the url then end_date field will appear in response.\n","operationId":"getConsumptionMeterTelemetry","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Requested start time for telemetry data in Epoch time format. Alternatively one can use start_date in place of start_at for passing the start date as String in YYYY-MM-DD format. If no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system's first reported date, then the system first reported date is considered as start_at. By default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_at","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"interval_duration","in":"query","description":"Possible values are 5mins & 15mins. 5 mins interval_duration is supported only for the sites that are configured for 5 mins telemetry","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins'. Default is 'day'\nAvailable values : 15mins, day, week\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved consumption telemetry details","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsConsumptionMeterResponse"},"examples":{"UnixTimestampExample":{"summary":"Example with Unix timestamps","description":"UnixTimestampExample","value":{"system_id":698905955,"granularity":"day","total_devices":9,"start_at":1496526300,"end_at":1496529300,"items":"intervals","intervals":[{"end_at":1384122700,"devices_reporting":1,"enwh":40},{"end_at":1384122740,"devices_reporting":1,"enwh":40}],"meta":{"status":"normal","last_report_at":1445619615,"last_energy_at":1445619033,"operational_at":1357023600}}},"ISODateExample":{"summary":"Example with ISO 8601 date-time fields","description":"ISODateExample","value":{"system_id":698905955,"granularity":"day","total_devices":9,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","items":"intervals","intervals":[{"end_at":1384122700,"devices_reporting":1,"enwh":40},{"end_at":1384122740,"devices_reporting":1,"enwh":40}],"meta":{"status":"normal","last_report_at":1445619615,"last_energy_at":1445619033,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/telemetry/battery":{"get":{"tags":["System Details And Telemetry"],"summary":"Get telemetry for all batteries for a site","description":"Retrieves telemetry for all the batteries of a system.\nIf no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system's first reported date, then midnight of the system's first reported date is considered as start_at.\nThe end_at is calculated as the minimum of the time of the request and (start time + granularity).\nThe meaning of granularity is as follow:\nIf granularity is 15mins, maximum 1 interval will appear in response. If granularity is day, maximum 96 intervals will appear in response where each interval is of 15 mins duration.\nThe requested start date must be within 2 years from current date.\nBy default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.\nBy default end_at will appear in response. If end_date parameter is passed in the url then end_date field will appear in response.\"\n","operationId":"getBatteryTelemetry","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Start time for fetching the telemetry data in Epoch time format. Alternatively one can use start_date in place of start_at for passing the start date as String date format YYYY-MM-DD. By default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_at","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"}},{"name":"interval_duration","in":"query","description":"Possible values are 5mins & 15mins. 5 mins interval_duration is supported only for the sites that are configured for 5 mins telemetry","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins'. Default is 'day'\nAvailable values : 15mins, day, week\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Telemetry for batteries","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsBatteryTelemetryResponse"},"examples":{"UnixTimestampExample":{"summary":"Example using start_at and end_at timestamps","description":"UnixTimestampExample","value":{"system_id":698905955,"soc":89.5,"soh":99.1,"capacity_wh":3720,"last_report_at":1496526300,"granularity":"day","total_devices":9,"start_at":1496526300,"end_at":1496529300,"items":"intervals","intervals":[{"end_at":1384122700,"charge":{"enwh":40,"devices_reporting":1},"discharge":{"enwh":0,"devices_reporting":4},"soc":{"percent":25.0,"devices_reporting":4}}]}},"ISODateExample":{"summary":"Example using ISO start_date and end_date fields","description":"ISODateExample","value":{"system_id":698905955,"soc":89.5,"soh":99.1,"capacity_wh":3720,"last_report_at":1496526300,"granularity":"day","total_devices":9,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","items":"intervals","intervals":[{"end_at":1384122700,"charge":{"enwh":40,"devices_reporting":1},"discharge":{"enwh":0,"devices_reporting":4},"soc":{"percent":25.0,"devices_reporting":4}}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/summary":{"get":{"tags":["System Details And Telemetry"],"summary":"Get a site summary","description":"Retrieves site summary for a given system. Only site summary of active enrollments will be returned in the response.","operationId":"getSiteSummary","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved site summary","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemSummaryResponse"},"examples":{"Site Summary Example":{"description":"Site Summary Example","value":{"system_id":701045938,"current_power":0,"energy_lifetime":0,"energy_today":0,"last_interval_end_at":1699574281,"last_report_at":1699574290,"modules":10,"operational_at":1696851428,"size_w":3490,"source":"microinverters","status":"normal","summary_date":"2023-11-21","battery_charge_w":1280,"battery_discharge_w":1280,"battery_capacity_wh":3360}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid site id. Please enter correct site id.\",\r\n \"additionalInfo\": \"For input string: XXX\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/storm_guard_settings":{"get":{"tags":["System Details And Telemetry"],"summary":"Get the current storm guard settings of a site","description":"Returns the current storm guard settings of a system\n\n","operationId":"getStormGuardSettings","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Storm Guard settings for the site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StormGuardSettingsResponse"},"examples":{"StormGuardExample":{"summary":"Example Storm Guard settings response","description":"StormGuardExample","value":{"system_id":1765,"storm_guard_status":"enabled","storm_alert":"false"}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/storage_meter_readings":{"get":{"tags":["System Details And Telemetry"],"summary":"To retrieve the last known reading of each storage meter on the system as of the requested time","description":"Returns the last known reading of each storage meter on the system as of the requested time,\nregardless of whether the meter is currently in service or retired. Read_at is the time at which the reading was taken,\nand is always less than or equal to the requested end_at. Commonly, the reading will be within 30 minutes of the\nrequested end_at. However, larger deltas can occur and do not necessarily mean there is a problem with the meter or the system.\nSystems that are configured to report infrequently can show large deltas on all meters, especially when end_at is close to the current time.\nMeters that have been retired from a system will show an end_at that doesn’t change, and that eventually is far away from the current time.\n","operationId":"getStorageMeterReadings","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"end_at","in":"query","description":"End of reporting period in Unix epoch time. If no end is specified, defaults to the time of the request.\nIf the end is later than the last reported interval the response data ends with the last reported interval\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved the last known reading of each storage meter on the system as of the requested time.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StorageMeterReadings"},"examples":{"StorageMeterReadingsExample":{"summary":"List of last known reading of each storage meter on the system as of the requested time.","description":"StorageMeterReadingsExample","value":{"system_id":66,"meter_readings":[{"serial_num":"123123123123EIM4","value_charged":724234,"value_discharged":387700,"read_at":1473901200}],"meta":{"status":"normal","last_report_at":1473902079,"last_energy_at":1473901200,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Not Authorized\",\r\n \"additionalInfo\": \"System not found for {:id=>\"1\"}\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Failed to parse date 1613543106\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/site_open_events":{"get":{"tags":["System Details And Telemetry"],"summary":"To retrieve the list of open events for a site","description":"This endpoint is used to retrieve all the open events of a site.\n","operationId":"getSiteOpenEvents","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved the list of open events for a site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SiteOpenEventsResponse"},"examples":{"SiteOpenEventsResponseExample":{"summary":"Example list of enlighten open events over a site","description":"SiteOpenEventsResponseExample","value":{"system_id":2112736,"events":[{"event_type_id":1234,"status":"open","event_start_time":1707389440,"event_end_time":null,"serial_number":"4394829382398"},{"event_type_id":1234,"status":"open","event_start_time":1707389440,"event_end_time":null,"serial_number":"4394829382398"}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/site_events":{"get":{"tags":["System Details And Telemetry"],"summary":"To retrieve the list of events for a site","description":"This endpoint is used to retrieve the events for a site. start_time is mandatory and cannot be older than 6 months from the current time.\nMaximum 1 week of data can be retrieved in a single call.An Event is triggered when a site/device meets a pre-defined set of conditions.\nEach of these pre-defined set of conditions is called an “Event type”. There are more than 1k+ event types in Enlighten.\nThese conditions are defined at both site and device level, therefore events can be triggered at both site and device level. Each event is associated with an event type.\nMost Event types (not all) further have pre-defined configurations. Whenever an Event of a given Event type meets these pre-defined configurations,\nthen the Event triggers an Alarm. An example of pre-defined configuration for an event type is - Event status is “Open” beyond a certain time limit.\n","operationId":"getSiteEvents","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"start_time","in":"query","description":"Requested start time of the events data in Epoch time format.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"end_time","in":"query","description":"Requested end time of the events data in Epoch time format. Defaults to minimum of (start time + 1 day, current time)\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved the list of events for a site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SiteEventsResponse"},"examples":{"SiteEventsResponseExample":{"summary":"List of enlighten events over a site","description":"SiteEventsResponseExample","value":{"system_id":2112736,"events":[{"event_type_id":1234,"status":"open","event_start_time":1707389440,"event_end_time":1707475840,"serial_number":"4394829382398"},{"event_type_id":1234,"status":"open","event_start_time":1707389440,"event_end_time":1707475840,"serial_number":"4394829382398"}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"start_time is required\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/site_alarms":{"get":{"tags":["System Details And Telemetry"],"summary":"To retrieve the list of alarms for a site","description":"This endpoint is used to retrieve the alarms for a site. start_time is mandatory and cannot be older than 6 months from the current time.\nMaximum 1 week of data can be retrieved in a single call.An Alarm is always associated with an Event.\nAlarm and events can have one to one or one to many mapping. For ex - If a site has one battery unit and the SOC of the battery falls below a pre-defined limit,\nthen an event will be created for that battery. If the battery SOC remains below this pre-defined SOC beyond a certain period of time (pre-defined for an alarm),\nthen an alarm will be created for that battery. Similarly, if the site has multiple batteries and the SOC of all the batteries is below the pre-defined level, then individual event will be created for each battery.\nIf all the batteries remain below this SOC beyond a certain period of time, then a single alarm will be created for all the batteries.\nTherefore, an alarm may be associated with multiple events but the reverse is not true.\n","operationId":"getSiteAlarms","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"start_time","in":"query","description":"Requested start time of the events data in Epoch time format.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"end_time","in":"query","description":"Requested end time of the events data in Epoch time format. Defaults to minimum of (start time + 1 day, current time)\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"cleared","in":"query","description":"Filters alarms based on their status. Set to true to return cleared alarms. Defaults to false to return active alarms.","required":false,"schema":{"type":"boolean"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved the list of alarms for a site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SiteAlarmsResponse"},"examples":{"SiteAlarmsResponseExample":{"summary":"List of alarms over a site","description":"SiteAlarmsResponseExample","value":{"system_id":2112736,"alarms":[{"id":"112957209","event_type_id":1234,"cleared":true,"alarm_start_time":1707389440,"alarm_end_time":1707475840,"severity":5,"events":[{"start_date":1707389440,"end_date":1707389440,"serial_number":"4394829382398"}]}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"start_time is required\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/register_live_stream_status":{"get":{"tags":["System and Device Configuration"],"summary":"Get Live Stream Registration status for a site","operationId":"getLiveStreamRegistrationStatus","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"List of Status of Registration for each Envoy of Site","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegisterLiveStreamStatusResponse"}},"example":[{"serial_number":"122116009243","status":"IN_PROGRESS"},{"serial_number":"122116009245","status":"FAILED"}]}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/production_lifetime":{"get":{"tags":["System Details And Telemetry"],"summary":"production_lifetime","description":"Returns a daily time series of energy produced by the system over its lifetime. All measurements are in Watt hours.\n\nThe time series includes one entry for each day from the start_date to the end_date with no gaps in the time series.\nIf the response includes trailing zeroes, such as [909, 4970, 0, 0, 0], then no energy has been reported for the last days in the series.\n\nIf the system has a meter, the time series includes data as measured by the micro inverters until the first full day after the meter has been installed.\nLater, it switches to using the data as measured by the meter.\nThis is called the \"merged time series\".\nThe attribute \"meter_start_date\" indicates the time when the meter measurements begin to be used.\nYou can retrieve the complete time series from the meter and from the micro inverters by adding the parameter production=all to the request.","operationId":"getProductionLifeTime","parameters":[{"name":"site_id","in":"path","description":"Unique ID of the site","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date of the time series data. Defaults to the system's operational date.\n If the start_date is earlier than the system's operational_date, then the response data begins with the system operational_date as start_date.\n Pass as String date format YYYY-MM-DD.\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date of the time series data. Defaults to yesterday.\n Pass as String date format YYYY-MM-DD\n","required":false,"schema":{"type":"string"}},{"name":"production","in":"query","description":"When \"all\", returns the merged time series plus the time series as reported by the micro inverters and the meter on the system.\n Other values are ignored.\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved lifetime production values","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsProductionLifeTimeResponse"},"examples":{"ProductionLifetimeExample":{"summary":"Example of lifetime production values","description":"ProductionLifetimeExample","value":{"system_id":66,"start_date":"2013-01-01","meter_start_date":"2013-01-04","production":[15422,15421,17118,18505,18511,18487],"micro_production":[15422,15421,17118,18513,18520,18494],"meter_production":[0,0,11388,18505,18511,18487],"meta":{"status":"normal","last_report_at":1445619615,"last_energy_at":1445619033,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/pel_pcs_settings":{"get":{"tags":["System Details And Telemetry"],"summary":"API to show the export limit, import limit, and PCS limit of a site","description":"Retrieves PEL PCS & Main fuse Rating values for the site.\nShows data only if site is enrolled. PEL/PCS & Main Fuse Rating values are only available if they are enabled on the site. PEL is in watts and PCS & Main fuse rating are in amperes.\n","operationId":"getPELPCSSettings","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"PEL/PCS values for the site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsPELPCSResponse"},"examples":{"PELPCSExample":{"summary":"Sample response for PEL/PCS settings","description":"PELPCSExample","value":{"pel_enabled":true,"pel":1000.0,"pcs_limit_enabled":true,"pcs_limt":10.0,"main_fuse_rating_amp":7.0}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/latest_telemetry":{"get":{"tags":["System Details And Telemetry"],"summary":"Returns a system's last reported PV Power, Consumption Power and Battery Power in Watts. Returns the operational mode for Battery, HP, and EVSE.","description":"Returns a system's last reported PV Power, Consumption Power and Battery Power in Watts. Returns the operational mode for Battery, HP, and EVSE.\n\nHP Modes:\n\nMode_1 - Blocked Operation
\nMode_2 - Normal Operation
\nMode_3 - Power Consumption Recommended
\nMode_4 - Power Consumption Enforced\n\nEVSE Modes:\n\nPLUGGED_OUT - EVSE is not plugged in
\nIDLE - EVSE is plugged in but, EV is not charging
\nCHARGING - EVSE is plugged in and EV is charging
\nFAULTED - The EVSE connector is faulted\n\nIf the last_report_at is older than 7 days, \"last_report_at\", \"power\" and \"operational_mode\" parameters will be returned in the response with the value as null.\n\n","operationId":"getLatestTelemetry","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved all devices","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsLatestTelemetryResponse"},"examples":{"DevicesTelemetryExample":{"summary":"Example latest telemetry of all devices in the system","description":"DevicesTelemetryExample","value":"{\n \"system_id\": 698910067,\n \"items\": \"devices\",\n \"devices\": {\n \"meters\": [\n {\n \"id\": 1059640322,\n \"name\": \"production\",\n \"channel\": 1,\n \"last_report_at\": 1508174262,\n \"power\": 10\n },\n {\n \"id\": 1059640322,\n \"name\": \"production\",\n \"channel\": 2,\n \"last_report_at\": 1508174262,\n \"power\": 10\n },\n {\n \"id\": 1059640322,\n \"name\": \"production\",\n \"channel\": 3,\n \"last_report_at\": 1508174262,\n \"power\": 10\n },\n {\n \"id\": 1059640323,\n \"name\": \"consumption\",\n \"channel\": 1,\n \"last_report_at\": 1508174262,\n \"power\": 20\n },\n {\n \"id\": 1059640323,\n \"name\": \"consumption\",\n \"channel\": 2,\n \"last_report_at\": 1508174262,\n \"power\": 20\n },\n {\n \"id\": 1059640324,\n \"name\": \"storage\",\n \"channel\": 1,\n \"last_report_at\": 1508174262,\n \"power\": 20\n },\n {\n \"id\": 1059640324,\n \"name\": \"storage\",\n \"channel\": 2,\n \"last_report_at\": 1508174262,\n \"power\": 20\n }\n ],\n \"encharges\": [\n {\n \"id\": 1059640295,\n \"name\": \"Encharge 121593621979\",\n \"channel\": 1,\n \"last_report_at\": 1508174262,\n \"power\": 20,\n \"operational_mode\": \"Charging\"\n },\n {\n \"id\": 1059640296,\n \"name\": \"Encharge 121593621980\",\n \"channel\": 1,\n \"last_report_at\": 1508174262,\n \"power\": -10,\n \"operational_mode\": \"Discharging\"\n }\n ],\n \"heat-pump\": [\n {\n \"serial_number\": \"\",\n \"name\": \"Viessmann VitoCal 300G\",\n \"last_report_at\": 1508174262,\n \"operational_mode\": \"Mode_2\" //supported value are \"Mode_1\", \"Mode_2\", \"Mode_3\", and \"Mode_4\"\n }\n ],\n \"evse\": [\n {\n \"serial_number\": \"25901946\",\n \"name\": \"EV Charger_1\",\n \"last_report_at\": 1508174262,\n \"operational_mode\": \"CHARGING\" //supported values are \"PLUGGED_OUT\",\"IDLE\",\"CHARGING\",\"FAULTED\"\n }\n ]\n }\n}\n"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/import_lifetime":{"get":{"tags":["System Details And Telemetry"],"summary":"import_lifetime","description":"Returns a daily time series of energy imported to the grid by the system over its lifetime. All measurements are in Watt hours.\n The time series includes one entry for each day from the start_date to the end_date with no gaps in the time series.\n If the response contains trailing zeroes, such as [909, 4970, 0, 0, 0], then no energy has been imported for the last days in the series.\n","operationId":"getLifeTimeImport","parameters":[{"name":"site_id","in":"path","description":"Unique ID of the site","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date of the time series data. Defaults to the system's operational date.\n If the start_date is earlier than the system's operational_date, then the response data begins with the system operational_date as start_date.\n Pass as String date format YYYY-MM-DD.\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date of the time series data. Defaults to yesterday.\n Pass as String date format YYYY-MM-DD\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved lifetime import values","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsImportLifeTimeResponse"},"examples":{"ImportLifetimeExample":{"summary":"Example of import lifetime values","description":"ImportLifetimeExample","value":{"system_id":66,"start_date":"2016-08-01","import":[15422,15421,17118,18505,18511,18487],"meta":{"status":"normal","last_report_at":1470087000,"last_energy_at":1470086106,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/hp_telemetry":{"get":{"tags":["System Details And Telemetry"],"summary":"Retrieves energy consumed by HP in regular intervals.","description":"Retrieves energy consumed by HP in regular intervals.\nIf no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.\nThe end_at is calculated as the minimum of the time of the request and (start time + granularity).The meaning of granularity is as follow:\nIf granularity is 15mins, maximum 1 intervals will appear in response. If granularity is day, maximum 96 intervals will appear in response where each interval is of 15 mins duration.\nThe requested start date must be within 2 years from current date.\n","operationId":"getDeviceLevelHPTelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Start time for fetching the telemetry data in Epoch time format. Defaults to midnight\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"start_date","in":"query","description":"Start date for fetching the telemetry data in yyyy-mm-dd format\n If no start_date is specified, defaults to midnight today, in the timezone of the system.\n","required":false,"schema":{"type":"string"}},{"name":"interval_duration","in":"query","description":"Size of the interval. Can be 5mins, or 15mins. Site must be configured to 5 min telemetry for this to be supported. Defaults to 15mins\n","required":false,"schema":{"type":"string","default":"15mins"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins', '5mins'. Default is 'day'\n","required":false,"schema":{"type":"string","default":"day"}},{"name":"end_date","in":"query","description":"End Date in YYYY-MM-DD format. If granularity is not provided, then defaults to current date\n","required":false,"schema":{"type":"string"}},{"name":"end_at","in":"query","description":"End time for fetching the telemetry data in Epoch time format.\nOne can also use end_date in place of end_at for passing the end date as String date format YYYY-MM-DD.\nOnly one of granularity and end_at/end_date should be passed.\nIf granularity is not provided, then defaults to current time.\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved energy consumed by HP in regular intervals.","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeviceLevelHPTelemetryResponse"},"examples":{"HPTelemetryExample":{"summary":"Heat Pump energy consumption intervals","description":"HPTelemetryExample","value":{"system_id":698905955,"granularity":"day","intervals":[{"end_at":1496526600,"wh_consumed":40.1},{"end_at":1496526900,"wh_consumed":40.2},{"end_at":1496527200,"wh_consumed":40.3}],"start_at":1496526300,"end_at":1496528100,"items":"intervals"}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Granularity value must be one of 'week', 'day', '15mins', '5mins'\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Interval duration must be one of '5mins', '15mins'\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/hp_lifetime":{"get":{"tags":["System Details And Telemetry"],"summary":"Retrieves daily time-series telemetry data of the HP","description":"Retrieves daily time-series telemetry data of the HP\nThe number of data points returned in the response corresponds to days spanned between the start_date and end_date\nparameter mentioned in the request.Requested start_date of the time series data defaults to the system’s operational date.\nIf the start_date is earlier than the system’s operational_date, then the response data begins with the system operational_date as start_date.\nPass as String date format YYYY-MM-DD.If end_date is not specified, then it defaults to today.\n","operationId":"getDeviceLevelHPLifeTimeTelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date for fetching the daily time-series data. Pass as String date format yyyy-mm-dd. Defaults to the system’s operational date.\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date for fetching the daily time-series data. Pass as String date format yyyy-mm-dd. Defaults to today.\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved daily time-series telemetry data of the HP","content":{"*/*":{"schema":{"$ref":"#/components/schemas/HPLifeTimeTelemetryResponse"},"examples":{"HPLifeTimeTelemetryExample":{"summary":"Heat Pump daily consumption","description":"HPLifeTimeTelemetryExample","value":{"system_id":698905955,"start_date":"2024-11-22","end_date":"2024-11-28","consumption":[40.1,35.2,40.3,20.4,15.5,0.6,5.7]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/grid_status_settings":{"get":{"tags":["System Details And Telemetry"],"summary":"Get the current grid status settings of a site","description":"Returns the current grid status settings of a system\n\n","operationId":"getGridStatusSettings","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Grid Status settings for the site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GridStatusSettingsResponse"},"examples":{"GridStatusExample":{"summary":"Example grid status response","description":"GridStatusExample","value":{"system_id":1765,"grid_state":"On Grid","last_report_date":1676029267}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/export_lifetime":{"get":{"tags":["System Details And Telemetry"],"summary":"export_lifetime","description":"Returns a daily time series of energy exported to the grid by the system over its lifetime. All measurements are in Watt-hours.\n The time series includes one entry for each day from the start_date to the end_date with no gaps in the time series.\n If the response contains trailing zeroes, such as [909, 4970, 0, 0, 0], then no energy has been exported for the last days in the series.\n","operationId":"getLifeTimeExport","parameters":[{"name":"site_id","in":"path","description":"Unique ID of the site","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date of the time series data. Defaults to the system's operational date.\n If the start_date is earlier than the system's operational_date, then the response data begins with the system operational_date as start_date.\n Pass as String date format YYYY-MM-DD.\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date of the time series data. Defaults to yesterday.\n Pass as String date format YYYY-MM-DD\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved export lifetime values","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsExportLifeTimeResponse"},"examples":{"ExportLifetimeExample":{"summary":"Example of export lifetime values","description":"ExportLifetimeExample","value":{"system_id":66,"start_date":"2016-08-01","export":[15422,15421,17118,18505,18511,18487],"meta":{"status":"normal","last_report_at":1470087000,"last_energy_at":1470086106,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/devices":{"get":{"tags":["System Details And Telemetry"],"summary":"Get all devices for a system","description":"Retrieves devices for a given system. Only devices that are active will be returned in the response.","operationId":"getDevices","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Succesfully retrieved all devices","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsDevicesResponse"},"example":{"system_id":698910067,"total_devices":11,"items":"devices","devices":{"micros":[{"id":1023273222,"last_report_at":1508174262,"name":"Microinverter 902167438951","serial_number":"902167438951","part_number":"800-01333-r01","sku":"IQ8A-72-2-US","model":"M250","status":"normal","active":true,"product_name":"M250"},{"id":1023273243,"last_report_at":1508174262,"name":"Microinverter 902372021616","serial_number":"902372021616","part_number":"800-01333-r01","sku":"IQ8A-72-2-US","model":"M250","status":"normal","active":true,"product_name":"M250"}],"meters":[{"id":1059640322,"last_report_at":1508174262,"name":"production","serial_number":"901553005272EIM1","part_number":"800-00655-r08","sku":null,"model":"Envoy S","status":"normal","active":true,"state":"enabled","config_type":"Net","product_name":"RGM"},{"id":1059640322,"last_report_at":1508174262,"name":"production","serial_number":"901553005272EIM2","part_number":"800-00655-r08","sku":null,"model":"Envoy S","status":"normal","active":true,"state":"enabled","config_type":"Production","product_name":"RGM"}],"gateways":[{"id":1059563029,"last_report_at":1508174262,"name":"Envoy 901553005272","serial_number":"901553005272","part_number":"800-00655-r08","sku":"ENV-IQ-AM1-240","model":"Envoy-S-Standard-NA","status":"normal","active":true,"cellular_modem":{"imei":"352009112238477","part_num":"860-00157-r01","sku":"CELLMODEM-M1","plan_start_date":1614796200,"plan_end_date":1772562600},"product_name":"Envoy-S-Metered-EU"}],"q_relays":[{"id":1059640316,"last_report_at":1508174262,"name":"Q Relay 912158973973","serial_number":"912158973973","part_number":"800-00595-r01","sku":"Q-RELAY-1P-INT","model":"","status":"normal","active":true,"product_name":"IQ Relay"},{"id":1059640326,"last_report_at":1508174262,"name":"Q Relay 912163603334","serial_number":"912163603334","part_number":"800-00595-r01","sku":"Q-RELAY-1P-INT","model":"","status":"normal","active":true,"product_name":"IQ Relay"}],"acbs":[{"id":1059640321,"last_report_at":1508174262,"name":"AC Battery 911364446952","serial_number":"911364446952","part_number":"800-00560-r03","sku":"IQ7-B1200-LN-I-INT01-RV0","model":"","status":"normal","active":true,"product_name":"ACB"},{"id":1059640321,"last_report_at":1508174262,"name":"AC Battery 911499228280","serial_number":"911499228280","part_number":"800-00560-r03","sku":"IQ7-B1200-LN-I-INT01-RV0","model":"","status":"normal","active":true,"product_name":"ACB"}],"encharges":[{"id":1059640295,"last_report_at":1508174262,"name":"Encharge 121593621979","serial_number":"121593621979","part_number":"800-00562-r01","sku":"B03-A01-US00-1-3","model":"","status":"normal","active":true,"product_name":"IQ Battery R3 - 5P"}],"enpowers":[{"id":1059640294,"last_report_at":1508174262,"name":"Enpower 121245173988","serial_number":"121245173988","part_number":"800-01135-r02","sku":"EP200G101-M240US00","model":"","status":"normal","active":true,"product_name":"IQ System Controller"}],"ev_chargers":[{"id":"","sku":"","status":"normal","serial_number":"25901946","name":"EV Charger_1","model":"Keba_P30","part_number":"","last_report_at":1700074065,"firmware":"","active":true}],"heat_pump":[{"id":"","SKU":"","status":"normal","serial_number":"","name":"Viessmann VitoCal 300G","model":"Expert Net Control 2302","part_number":"","last_report_at":1700074065,"firmware":"","sg_ready_relay":"Expert net control 2302","iq_er":"Nano hub 2","active":true}],"iq_collars":[{"id":1085310043,"last_report_at":1757523711,"name":"IQ Meter Collar 482443008618","serial_number":"482443008618","part_number":"865-00401-r01","sku":"MC-200-011-V01","model":"","status":"normal","active":true,"product_name":"IQ Meter Collar"}]}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Invalid site id. Please enter correct site id.\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/devices/micros/{serial_no}/telemetry":{"get":{"tags":["System Details And Telemetry"],"summary":"Retrieves telemetry for single micro/pcu.","description":"Retrieves telemetry for single micro/pcu.\nIf no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system's first reported date, then midnight of the system's first reported date is considered as start_at.\nThe end_at is calculated as the minimum of the time of the request and (start time + granularity).\n\nThe meaning of granularity is as follow:\nIf granularity is 15 mins, maximum 3 intervals will appear in response. If granularity is day, maximum 288 intervals will appear in response where each interval is of 5 mins duration.\n\nThe requested start date must be within 2 years from current date.\nBy default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.\nBy default end_at will appear in response. If end_date parameter is passed in the url then end_date field will appear in response. Empty list will be returned if the last interval < requested start time < current time.\n","operationId":"getDeviceLevelPVProductionTelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique ID of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"The device serial number","required":true,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Start time for fetching the telemetry data in Epoch time format.\n If no start_at is specified, defaults to midnight today, in the timezone of the system.\n If the start_at specified is earlier than the system's first reported date, then midnight of the system's first reported date is considered as start_at.\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"end_at","in":"query","description":"The end_at is calculated as the minimum of the time of the request and (start time + granularity)\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"start_date","in":"query","description":"Start date for fetching the telemetry data in yyyy-mm-dd format\n If no start_date is specified, defaults to midnight today, in the timezone of the system.\n If the start_date specified is earlier than the system's first reported date, then midnight of the system's first reported date is considered as start_date\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"The end_at is calculated as the minimum of the time of the request and (start time + granularity)\n","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data.\n Possible values are 'week', 'day', '15mins', '5mins'. Default is 'day'\n","required":false,"schema":{"type":"string","default":"day"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved device level PV production telemetry data","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeviceLevelPVProductionResponse"},"examples":{"EpochTimestampExample":{"summary":"Response with epoch timestamps","description":"EpochTimestampExample","value":{"system_id":1765,"serial_number":"12345","granularity":"day","total_devices":1,"start_at":1496526300,"end_at":1496529300,"items":"intervals","intervals":[{"end_at":1496526300,"powr":30,"enwh":40},{"end_at":1496526600,"powr":20,"enwh":40}]}},"ISODateExample":{"summary":"Response with ISO 8601 date format","description":"ISODateExample","value":{"system_id":1765,"serial_number":"12345","granularity":"day","total_devices":1,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","items":"intervals","intervals":[{"end_at":1496526300,"powr":30,"enwh":40},{"end_at":1496526600,"powr":20,"enwh":40}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"start_date can't be before 2 years of current date\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"start_at can't be before 2 years of current date\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Granularity value must be one of 'week', 'day', '15mins', '5mins'\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/devices/evse/{serial_no}/ocpp_configuration/status":{"get":{"tags":["System and Device Configuration"],"summary":"API to fetch the current enrollment configuration of a charger that has been onboarded","operationId":"getEVSEConfigurationStatus","parameters":[{"name":"site_id","in":"path","description":"Unique Id of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"Serial Number of the EV Charger","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved EVSE charger configuration","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OCPPConfigurationStatusResponse"},"example":{"connectionStatus":"CONNECTED","connectionUrl":"ws://ocpp.chargehq.net/ocpp16/12345","securityProfile":"0","authKey":"aaaaa","configurationStatus":"ACTIVE","configurationStatusFailureReason":""}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/devices/encharges/{serial_no}/telemetry":{"get":{"tags":["System Details And Telemetry"],"summary":"Device level encharge telemetry data","description":"Retrieves telemetry for single encharge.\nIf no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.\nThe end_at is calculated as the minimum of the time of the request and (start time + granularity).\nThe meaning of granularity is as follow:\nIf granularity is 15mins, maximum 3 intervals will appear in response. If granularity is day, maximum 288 intervals will appear in response where each interval is of 5 mins duration.\nThe requested start date must be within 2 years from current date.\nBy default start_at will appear in response. If start_date parameter is passed in the url, then start_date field will appear in response.\nBy default end_at will appear in response. If end_date parameter is passed in the url then end_date field will appear in response. Empty list will be returned if the last interval < requested start time < current time.\n","operationId":"getDeviceLevelEnchargeTelemetry","parameters":[{"name":"site_id","in":"path","description":"Unique ID of the site","required":true,"schema":{"type":"string"}},{"name":"serial_no","in":"path","description":"The device serial number","required":true,"schema":{"type":"string"}},{"name":"start_at","in":"query","description":"Start time for fetching the telemetry data in Epoch time format. If no start_at is specified, defaults to midnight today, in the timezone of the system.\n If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"end_at","in":"query","description":"The end_at is calculated as the minimum of the time of the request and (start time + granularity)\n","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"start_date","in":"query","description":"Start date for fetching the telemetry data in yyyy-mm-dd format\nIf no start_date is specified, defaults to midnight today, in the timezone of the system.\n If the start_date specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_date\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"The end_date is calculated as the minimum of the time of the request and (start date + granularity)\n","required":false,"schema":{"type":"string"}},{"name":"granularity","in":"query","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins', '5mins'. Default is 'day'\n","required":false,"schema":{"type":"string","default":"day"}},{"name":"interval_duration","in":"query","description":"Duration of each interval. Possible values are '5mins' and '15mins'. Default is '15mins'\n","required":false,"schema":{"type":"string","default":"15mins"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved device level encharge telemetry data","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeviceLevelEnchargeTelemetryResponse"},"examples":{"EpochTimestampExample":{"summary":"Response with epoch timestamps","description":"EpochTimestampExample","value":{"system_id":701648236,"serial_number":"492213004816","granularity":"day","total_devices":1,"start_at":1725260400,"end_at":1725346799,"items":"intervals","intervals":[{"end_at":1725261300,"charge":{"enwh":0},"discharge":{"enwh":0},"soc":{"percent":0.0}},{"end_at":1725262200,"charge":{"enwh":0},"discharge":{"enwh":0},"soc":{"percent":0.0}}],"last_reported_time":1725264584,"last_reported_soc":null}},"ISODateExample":{"summary":"Response with ISO 8601 date format","description":"ISODateExample","value":{"system_id":701648236,"serial_number":"492213004816","granularity":"day","total_devices":1,"start_date":"2024-09-22T00:00:00-04:00","end_date":"2024-09-23T00:00:00-04:00","items":"intervals","intervals":[{"end_at":1725261300,"charge":{"enwh":0},"discharge":{"enwh":0},"soc":{"percent":0.0}},{"end_at":1725262200,"charge":{"enwh":0},"discharge":{"enwh":0},"soc":{"percent":0.0}}],"last_reported_time":1725264584,"last_reported_soc":null}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"start_date can't be before 2 years of current date\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"start_at can't be before 2 years of current date\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Granularity value must be one of 'week', 'day', '15mins', '5mins'\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Interval Duration must be one of '5min', '15mins'\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/consumption_lifetime":{"get":{"tags":["System Details And Telemetry"],"summary":"consumption_lifetime","description":"Returns a daily time series of energy consumption as measured by the consumption meter installed on the specified system. All measurements are in Watt hours.\nThe time series includes one entry for each day from the start_date to the end_date.\n There are no gaps in the time series. If the response includes trailing zeroes, such as [909, 4970, 0, 0, 0], then no data has been reported for the last three days.\n","operationId":"getConsumptionLifeTime","parameters":[{"name":"site_id","in":"path","description":"Unique ID of the site","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date of the time series data. Defaults to the system's operational date.\n If the start_date is earlier than the system's operational_date, then the response data begins with the system operational_date as start_date.\n Pass as String date format YYYY-MM-DD.\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date of the time series data. Defaults to yesterday.\n Pass as String date format YYYY-MM-DD.\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved consumption lifetime values","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsConsumptionLifeTimeResponse"},"examples":{"ConsumptionLifetimeExample":{"summary":"Example of lifetime consumption values","description":"ConsumptionLifetimeExample","value":{"system_id":66,"start_date":"2016-08-01","consumption":[15422,15421,17118,18505,18511,18487],"meta":{"status":"normal","last_report_at":1470087000,"last_energy_at":1470086106,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/battery_settings":{"get":{"tags":["System Details And Telemetry"],"summary":"Returns the current battery settings of a system\n\n","description":"Get the current battery settings of a site","operationId":"getBatterySettings","parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Battery settings for the site","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsBatterySettingsResponse"},"examples":{"BatterySettingsExample":{"summary":"Example battery settings for a system","description":"BatterySettingsExample","value":{"system_id":1765,"battery_mode":"Self - Consumption","reserve_soc":95,"energy_independence":"enabled","charge_from_grid":"disabled","battery_shutdown_level":13}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/{site_id}/battery_lifetime":{"get":{"tags":["System Details And Telemetry"],"summary":"battery_lifetime","description":"Returns a daily time series of energy charged into the batteries and energy discharged from the batteries for a system over its lifetime.\n All measurements are in Watt hours. The time series includes one entry for each day from the start_date to the end_date with no gaps in the time series.\n If the response includes trailing zeroes, such as [909, 4970, 0, 0, 0], then no energy has been charged/discharged for the last days in the series.\n\n","operationId":"getBatteryLifeTime","parameters":[{"name":"site_id","in":"path","description":"Unique ID of the site","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Start date of the time series data. Defaults to the system's operational date.\n If the start_date is earlier than the system's operational_date, then the response data begins with the system operational_date as start_date.\n Pass as String date format YYYY-MM-DD.\n","required":false,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date of the time series data.\n Defaults to yesterday. Pass as String date format YYYY-MM-DD\n","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved battery lifetime values","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsBatteryLifeTimeResponse"},"examples":{"BatteryLifetimeExample":{"summary":"Example of battery lifetime charge/discharge data","description":"BatteryLifetimeExample","value":{"system_id":66,"start_date":"2016-08-01","discharge":[15422,15421,17118,18505,18511,18487],"charge":[15422,15421,17118,18505,18511,18487],"meta":{"status":"normal","last_report_at":1470087000,"last_energy_at":1470086106,"operational_at":1357023600}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Input date is incorrect. Date must be in yyyy-mm-dd format and must be a valid one.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"additionalInfo\": \"Site is not enrolled in any program which belongs to your account.\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Error occurred while getting response from downstream server. Please refer to additionalInfo section for more details.\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/search/{program_id}":{"get":{"tags":["System Details And Telemetry"],"summary":"Get all systems enrolled into the program with details","description":"Returns a list of systems for which the user can make API requests. By default, systems are returned in batches of 10. The maximum size is 100.","operationId":"getSystems","parameters":[{"name":"page","in":"query","description":"The page to be returned. Default=1, Min=1. For example, if page is set to 2, 2nd page is returned","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"size","in":"query","description":"Maximum number of records shown per page. Default=10, Min=1, Max=100. For example, if max is set to 5, 5 records are shown per page","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"sort_by","in":"query","description":"Returns list of systems sorted by field. To get ASC order sorted list, use sort_by = . To get DESC order sorted list, use sort_by = (-).\nThe currently supported sort key is \"id\". By default the list is sorted by decreasing system ID.\nAvailable values : id, -id\n","required":false,"schema":{"type":"string"}},{"name":"program_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Successfully retrieved systems in the program","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SystemsDetailsResponse"},"examples":{"SystemsDetailsExample":{"summary":"Sample response for list of systems in a program","description":"SystemsDetailsExample","value":{"total":28,"current_page":1,"size":2,"count":2,"items":"systems","systems":[{"system_id":698910067,"name":"Enphase System","public_name":"Residential System","timezone":"Australia/Sydney","address":{"state":"NSW","country":"AU","postal_code":"2127"},"connection_type":"ethernet","status":"micro","last_report_at":1508174262,"last_energy_at":1508174172,"operational_at":1497445200,"attachment_type":null,"interconnect_date":null},{"system_id":698906018,"name":"Enphase Public System","public_name":"Residential System","timezone":"US/Pacific","address":{"state":"CA","country":"US","postal_code":"94954"},"connection_type":"ethernet","status":"normal","last_report_at":1508174262,"last_energy_at":1508174172,"operational_at":1497445200,"attachment_type":null,"interconnect_date":null}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"No sites were found to be enrolled in the program: XYZ\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/systems/event_types":{"get":{"tags":["System Details And Telemetry"],"summary":"To retrieve the list of event_type_id along with event_description and recommended_action","description":"This endpoint is used to retrieve the list of all available event_types. The endpoint will return list of event_type_id along with the\nevent_description and recommended_action. If an event_type_id is passed, this endpoint will return the detail of specific event_type\n","operationId":"getEventTypes","parameters":[{"name":"event_type_id","in":"query","description":"The unique numeric ID of the event type.","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"Retrieved the list of event_type_id along with event_description and recommended_action","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventTypesResponse"},"examples":{"EventTypesResponseExample":{"summary":"List of event_type_id along with event_description and recommended_action","description":"EventTypesResponseExample","value":{"event_types":[{"event_type_id":1234,"event_type_key":"env_rpt_issue","stateful":true,"event_name":"Envoy issue","event_description":"Envoy not reporting","recommended_action":"Restart envoy"},{"event_type_id":4781,"event_type_key":"acb_sleeping","stateful":false,"event_name":"AC Battery Sleeping","event_description":"AC Battery has entered the target state of charge band. Cleared when the battery exits the state of charge target, or sleep mode is removed.","recommended_action":"No action is required."},{"event_type_id":28,"event_type_key":"envoy_no_report","stateful":true,"event_name":"Gateway not reporting","event_description":"The broadband Internet connection that the Enphase gateway uses to communicate to the Enphase servers is experiencing a problem.","recommended_action":"Check that your gateway and Internet router are plugged in and that the site's Internet service is not experiencing an outage."}]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-1":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Not Found\",\r\n \"additionalInfo\": \"Event type not found for {:id=>\"12345\"}\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/programs":{"get":{"tags":["Programs"],"summary":"Retrieve all programs under an account","description":"Returns a paginated list of all programs under an account and total count of programs","operationId":"getAllPrograms","parameters":[{"name":"page_no","in":"query","description":"Page to be returned. Default=1, Min=1. For example, if page_no is set to 2, 2nd page is returned","required":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":1}},{"name":"page_size","in":"query","description":"Maximum number of records shown per page. Default=10, Min=1, Max=100. For example, if max is set to 5, 5 records are shown per page","required":false,"schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","default":10}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"All the programs are retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProgramsListResponse"},"example":{"total_count":1,"programs":[{"name":"test program","description":"This is a test program","program_status":"approved","program_id":"test","state":"VT","utility_name":"test","incentive_structure":{"UPFRONT_DISCOUNT":"10"}}]}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Pagination Variables are incorrect. Page number should starts from 1 and page size should be between 1 and 100\",\r\n \"additionalInfo\": \"Pagination Variables are incorrect. Page number should starts from 1 and page size should be between 1 and 100\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Retrieval of programs causing error, check correctness of data\",\r\n \"additionalInfo\": null,\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}},"/api/v1/programs/{program_id}":{"get":{"tags":["Programs"],"summary":"Retrieve individual program details by program_id","description":"Returns program details based on the inputted program_id","operationId":"getProgramByKey","parameters":[{"name":"program_id","in":"path","description":"Unique identifier for a program","required":true,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"Unique API Key of your account","required":true,"schema":{"type":"string"},"example":"your-api-key-here"},{"name":"Authorization","in":"header","description":"access_token generated from auth API must be passed as Authorization header","required":true,"schema":{"type":"string"},"example":"Bearer your-access-token"}],"responses":{"200":{"description":"All the programs are retrieved successfully","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GsApiProgram"},"example":{"event_cancellation_allowed_for_upcoming_events":false,"event_ending_allowed_for_ongoing_event":false,"name":"test program","description":"This is a test program","program_end_date":"2025-05-21","min_envoyversion":"D7.3.120","program_status":"approved","program_id":"test","program_types":["DISPATCH"],"state":"VT","utility_name":"test","incentive_structure":{"UPFRONT_DISCOUNT":"10"},"seasons":[{"frequency":60,"name":"summer","duration":"Jan to Jun","start_month":"JAN","end_month":"JUN","performance_incentives_per_kw":225}],"asset_type":["PV","BATTERY"],"min_allowed_soc":10,"creation_date_time":"02/17/2022 12:39:01 PM"}}}},"400":{"description":"Bad Request","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Type Mismatch\",\r\n \"additionalInfo\": \"Cannot cast the parameter to required type xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Missing Parameter\",\r\n \"additionalInfo\": \"Required xxx parameter abc is not present\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-2":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Constraint Violation\",\r\n \"additionalInfo\": \"xxxx\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Content-Type invalid\",\r\n \"additionalInfo\": \"Content type xxx not supported\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"400\",\r\n \"displayMessage\": \"Request headers or parameters are not appropriate\",\r\n \"additionalInfo\": \"Request headers or parameters are not appropriate. Please check request headers and parameters\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"401":{"description":"Unauthorized","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"Authorization is not provided or invalid\",\r\n \"additionalInfo\": \"Authorization is not provided or invalid. Please check your Authorization\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"401\",\r\n \"displayMessage\": \"You are not authorized for this access\",\r\n \"additionalInfo\": \"You are not authorized for this access. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"403":{"description":"Forbidden","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"message\": \"Forbidden\"\r\n}"},"case-2":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not provided or invalid\",\r\n \"additionalInfo\": \"x-api-key is not provided or invalid. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-3":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"No account found for specified Authorization\",\r\n \"additionalInfo\": \"No account found for specified Authorization. Please check your access_token\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-4":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"x-api-key is not valid for this account\",\r\n \"additionalInfo\": \"x-api-key is not valid for this account. Please check your x-api-key\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-5":{"value":"{\r\n \"code\": \"403\",\r\n \"displayMessage\": \"You do not have access to this resource\",\r\n \"additionalInfo\": \"You do not have access to this resource. Please check your access\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"404":{"description":"Not Found","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Please provide valid Program ID\",\r\n \"additionalInfo\": \"Please provide valid Program ID\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"},"case-1":{"value":"{\r\n \"code\": \"404\",\r\n \"displayMessage\": \"Requested resource Not Found\",\r\n \"additionalInfo\": \"Requested resource Not Found. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}},"422":{"description":"Unprocessable Entity","content":{"*/*":{"examples":{"case-0":{"value":"{\r\n \"code\": \"422\",\r\n \"displayMessage\": \"Unprocessable Entity\",\r\n \"additionalInfo\": \"Unprocessable Entity. Please check your request\",\r\n \"errorRefNo\": \"e20fdf9aa241bea9\",\r\n}"}}}}}}}}},"components":{"schemas":{"SitesQuery":{"required":["operator","tags"],"type":"object","properties":{"tags":{"type":"object","additionalProperties":{"type":"array","description":"System defined parameters on which the VPP is filtered. Possible values are STATE, CITY, SITE_IDS and ZIP/POSTAL_CODE","items":{"type":"string","description":"System defined parameters on which the VPP is filtered. Possible values are STATE, CITY, SITE_IDS and ZIP/POSTAL_CODE"}},"description":"System defined parameters on which the VPP is filtered. Possible values are STATE, CITY, SITE_IDS and ZIP/POSTAL_CODE"},"operator":{"type":"string","description":"LogicalOperator Enum - Enrollment Manager | Grid Services","enum":["AND","OR"]}},"description":"Sites Query Model - VPP Manager | Grid Services"},"VPPUpdateRequest":{"type":"object","properties":{"query":{"$ref":"#/components/schemas/SitesQuery"}}},"StopStreamResponse":{"type":"object","properties":{"serial_number":{"type":"string","description":"Envoy Serial Number"},"status":{"type":"string","description":"Command Status"}}},"StartStreamResponse":{"type":"object","properties":{"serial_number":{"type":"string","description":"Envoy serial number"},"status":{"type":"string","description":"Command status"}}},"ReservedSOCUpdateRequest":{"required":["vpp_event_reserve_soc"],"type":"object","properties":{"vpp_event_reserve_soc":{"maximum":100,"minimum":0,"type":"integer","description":"VPP Event's reserved SOC %. Value should be between 0 and 100 (Integers only)","format":"int32"}}},"EventUpdateRequest":{"type":"object","properties":{"target_soc":{"type":"integer","description":"% SOC at which event should end. Upper limit for charge modes and lower limit for discharge modes. Not applicable for Idle mode","format":"int32"},"rate_watt":{"type":"integer","description":"Charge or discharge rate; Not Applicable only in case of Idle mode","format":"int32"}},"description":"Update event details "},"EventResponse":{"type":"object","properties":{"message":{"type":"string"},"event_id":{"type":"string"},"name":{"type":"string"},"no_of_sites":{"type":"integer","format":"int32"},"program_id":{"type":"string"},"total_watts":{"type":"integer","format":"int32"}}},"EventOptoutOptinRequest":{"required":["optout","site_id"],"type":"object","properties":{"site_id":{"type":"integer","description":"Site id which needs to be opted out/in from the event","format":"int32"},"optout":{"type":"boolean","description":"optout flag for the request. true for optout and false for optin"}}},"EventOptoutOptinResponse":{"type":"object","properties":{"message":{"type":"string"},"event_id":{"type":"string"},"site_id":{"type":"integer","format":"int32"}}},"AccessTokenResponse":{"type":"object","properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"token_type":{"type":"string"}}},"EventCreateRequestV2":{"required":["functions","measuring_reference","program_id"],"type":"object","properties":{"program_id":{"type":"string","description":"Unique ID of the program\n"},"vpp_ids":{"uniqueItems":true,"type":"array","description":"List of VPP IDs; Only one of the site_ids and vpp_ids must be passed\n","items":{"type":"string","description":"List of VPP IDs; Only one of the site_ids and vpp_ids must be passed\n"}},"measuring_reference":{"type":"string","description":"measuring reference of the event; Supported values are {ASSET, SITE}\nmeasuring reference SITE is required in case of export limiting.\nFor individual Asset/Function level control, measuring reference is ASSET\n","enum":["ASSET","SITE"]},"functions":{"type":"array","description":"List of supported functions; Supported values are {BATTERY, PV, HP, EVSE}\nFor individual Asset/Function level control, measuring reference is ASSET\n","items":{"type":"string","description":"List of supported functions; Supported values are {BATTERY, PV, HP, EVSE}\nFor individual Asset/Function level control, measuring reference is ASSET\n","enum":["BATTERY","PV","EVSE","HP"]}},"rate_watt":{"type":"integer","description":"If functions is PV, specifies the PV curtailment level; If rate_watt is negative or 0, PV curtailment will be set to 0; If rate_watt is positive, PV curtailment will be set to min (PV capacity, rate_watt)\n\t\nIf functions is BATTERY, specifies the battery power; Positive for discharge events, Negative for charge events, and 0 for Idle event; If rate_watt is greater than rated power, it will be set to rated power\n\t\nIf function is HP, this is not applicable\n\t\nIf function is EVSE, specifies the charge rate for EV; Negative or zero for Charge mode, limits charging to set rate_watt; not required for Dont_Charge mode;If rate_watt value is greater than EV's rated power, then charging is limited to rated power;\n","format":"int32"},"mode":{"type":"string","description":"\tMode for the event; Mandatory if functions is HP/EVSE, optional in case of Battery and not applicable in case of PV\n\n\tIf function is BATTERY,\n\t\t1. If mode is not passed, it is set to 'Discharge to Load and Grid' if rate_watt is positive\n\t\t2. If mode is not passed, it is set to 'Charge from PV and Grid' if rate_watt is negative\n\t\t3. If mode is not passed, it is set to 'Idle' if rate_watt is 0\n\t\t4. If mode is passed, rate_watt must be positive for discharge events, negative for charge events, 0 for Idle event\n\n\tIf function is BATTERY, supported modes are:\n\t\tIdle\n\t\tCharge_From_PV\n\t\tCharge_From_NetPV\n\t\tCharge_From_PV_Grid\n\t\tDischarge_To_Load\n\t\tDischarge_To_NetLoad\n\t\tDischarge_To_Load_Grid\n\n\tIf function is HP, supported modes are as per SG ready modes:\n\t\tMODE_1\n\t\tMODE_2\n\t\tMODE_3\n\t\tMODE_4\n\n\tIf function is EVSE, supported mode are:\n\t\tCharge\n\t\tDont_Charge\n","enum":["Charge_From_PV","Charge_From_NetPV","Charge_From_PV_Grid","Discharge_To_Load","Discharge_To_NetLoad","Discharge_To_Load_Grid","Idle","Charge","Dont_Charge","MODE_1","MODE_2","MODE_3","MODE_4"]},"target_soc":{"type":"integer","description":"\tApplicable if functions is BATTERY\n\t% SOC at which event should end.\n\tIt is the upper limit for charge modes.\n\tIt is the lower limit for discharge modes.\n\tIt is not applicable for Idle mode\n","format":"int32"},"start_time":{"type":"string","description":"\tStart time of the event;\n\tIf it not sent, it is set to the current time rounded to the next minute\n\tStart time must be within 7 days\n"},"end_time":{"type":"string","description":"\tEnd time of the event;\n\tOptional but one of end_time or duration must be passed\n\tMaximum supported event duration is 300 mins and minimum supported event duration is 5 mins\n"},"duration":{"type":"integer","description":"\tOptional but one of end_time or duration must be passed; Value in minutes\n\tMaximum supported event duration is 300 mins and minimum supported event duration is 1 mins\n","format":"int32"},"superseded":{"type":"boolean","description":"Overrides an existing event if true in case of timing overlap\n"},"evse_serial_no":{"type":"string","description":"\tSerial Number of the individual EVSE\n"},"site_ids":{"uniqueItems":true,"type":"array","description":"List of all the Site IDs in the event; Only one of the site_ids and vpp_ids must be passed\n","items":{"type":"integer","description":"List of all the Site IDs in the event; Only one of the site_ids and vpp_ids must be passed\n","format":"int32"}},"export_limit":{"minimum":0,"type":"integer","description":"When measuring reference is SITE, this field specifies the site export limit; it should be zero or positive only\n","format":"int32"}},"description":"New event details"},"VPPCreateRequest":{"type":"object","properties":{"name":{"type":"string","description":"name of the VPP"},"query":{"$ref":"#/components/schemas/SitesQuery"},"program_id":{"type":"string","description":"unique ID of the program"}}},"RegisterLiveStreamStatusResponse":{"type":"object","properties":{"serial_number":{"type":"string","description":"Envoy serial number"},"status":{"type":"string","description":"Registration status","enum":["IN_PROGRESS","COMPLETED","FAILED"]}}},"OCPPResetResponse":{"type":"object","properties":{"message":{"type":"string"}}},"OCPPConfigurationRequest":{"required":["connectionUrl"],"type":"object","properties":{"connectionUrl":{"type":"string","description":"Partner’s CSMS url to which the charger will establish communication "},"securityProfile":{"type":"string","description":"Partner’s CSMS security profile"},"authKey":{"type":"string","description":"Partner's CSMS one time token to be used for authorizing charger's communication with the CSMS that is supplied at the time of registration"}}},"OCPPConfigurationResponse":{"type":"object","properties":{"status":{"type":"string"}}},"ForecastRequest":{"type":"object","properties":{"site_ids":{"uniqueItems":true,"type":"array","description":"List of all the Site IDs; Only one of the siteList and vpp_id must be passed","items":{"type":"integer","description":"List of all the Site IDs; Only one of the siteList and vpp_id must be passed","format":"int32"}},"vpp_id":{"type":"string","description":"vpp_id; Only one of the siteList and vpp_id must be passed"},"granularity":{"type":"string","description":"Required interval size of the forecast data in minutes. Possible values are ‘15mins’.","default":"15mins"},"duration":{"type":"string","description":"Required duration of forecast in hours. Possible values are 3H to 24H. Duration should be multiple of granularity.","default":"3H"}}},"ForecastData":{"type":"object","properties":{"battery_capacity_wh":{"type":"number","description":"Total usable battery capacity in watt-hours (Wh). Indicates the maximum energy storage of the on-site battery.","format":"double"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/ForecastTimeSeries"}}},"description":"aggregated forecast data for the sites"},"ForecastResponse":{"type":"object","properties":{"vpp_id":{"type":"string","description":"VPP Id passed in the request"},"valid_sites_list":{"type":"array","description":"sites enrolled in a program related to the user account and with forecast data","items":{"type":"integer","description":"sites enrolled in a program related to the user account and with forecast data","format":"int32"}},"granularity":{"type":"string","description":"Granularity passed in the request"},"duration":{"type":"string","description":"Duration passed in the request"},"forecastData":{"$ref":"#/components/schemas/ForecastData"},"forecast_unavailable_sites_list":{"type":"array","description":"sites enrolled in a program related to the user account and with no available forecast data","items":{"type":"integer","description":"sites enrolled in a program related to the user account and with no available forecast data","format":"int32"}},"invalid_sites_list":{"type":"array","description":"sites not enrolled in any program related to the user account","items":{"type":"integer","description":"sites not enrolled in any program related to the user account","format":"int32"}}}},"ForecastTimeSeries":{"type":"object","properties":{"timestamp":{"type":"string","description":"The start_at timestamp representing the forecast time interval."},"cons_forecast_uncontrolled_wh":{"type":"number","description":"Forecasted uncontrolled energy consumption during this interval, in watt-hours.","format":"double"},"evse_forecast_wh":{"type":"number","description":"Forecasted controlled evse energy consumption in watt-hours.","format":"double"},"water_heater_forecast_wh":{"type":"number","description":"Forecasted controlled water_heater energy consumption in watt-hours.","format":"double"},"heat_pump_forecast_wh":{"type":"number","description":"Forecasted controlled heat_pump energy consumption in watt-hours.","format":"double"},"pv_forecast_wh":{"type":"number","description":"Forecasted solar PV production for the interval, in watt-hours.","format":"double"},"battery_soc_percent_forecast":{"type":"number","description":"Forecasted battery state of charge (SOC), as a percentage of total capacity. (0% = empty, 100% = full).","format":"double"},"available_battery_energy_wh":{"type":"number","description":"Forecasted energy available in the batteries in Wh","format":"double"},"available_battery_power_w":{"type":"number","description":"Maximum power available to be fetched from batteries in W","format":"double"},"battery_charging_forecast_wh":{"type":"number","description":"Forecasted battery charge energy change in Wh for the interval.","format":"double"},"battery_discharging_forecast_wh":{"type":"number","description":"Forecasted battery discharge energy change in Wh for the interval.","format":"double"},"grid_import_forecast_wh":{"type":"number","description":"Forecasted net energy import from the grid for the interval.","format":"double"},"grid_export_forecast_wh":{"type":"number","description":"Forecasted net energy export from the grid for the interval.","format":"double"},"cons_forecast_uncontrolled_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the uncontrolled consumption forecast.","format":"double"},"evse_forecast_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the evse consumption forecast.","format":"double"},"water_heater_forecast_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the water_heater consumption forecast.","format":"double"},"heat_pump_forecast_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the heat_pump consumption forecast.","format":"double"},"pv_forecast_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the PV generation forecast.","format":"double"},"battery_soc_percent_forecast_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the battery SOC percent forecast.","format":"double"},"battery_charging_forecast_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the Battery charge & discharge forecast.","format":"double"},"grid_import_forecast_accuracy_percent":{"type":"number","description":"Estimated accuracy or confidence level of the Grid import & export forecast.","format":"double"}}},"EventCreateRequest":{"required":["end_time","function","mode","program_id","start_time","superseded"],"type":"object","properties":{"program_id":{"type":"string","description":"unique id of the program"},"site_id":{"type":"integer","description":"Site id for the event. One of site_id, vpp_ids or site_ids is required","format":"int32"},"vpp_ids":{"uniqueItems":true,"type":"array","description":"Vpp ids for the event. One of site_id, vpp_ids or site_ids is required","items":{"type":"string","description":"Vpp ids for the event. One of site_id, vpp_ids or site_ids is required"}},"function":{"type":"string","description":"List of supported functions","enum":["BATTERY"]},"mode":{"type":"string","description":"Battery mode for the event","enum":["Charge_From_PV","Charge_From_NetPV","Charge_From_PV_Grid","Discharge_To_Load","Discharge_To_NetLoad","Discharge_To_Load_Grid","Idle"]},"target_soc":{"type":"integer","description":"% SOC at which event should end. Upper limit for charge modes and lower limit for discharge modes. Not applicable for Idle mode","format":"int32"},"rate_watt":{"type":"integer","description":"Charge or discharge rate; Not Applicable only in case of Idle mode","format":"int32"},"start_time":{"type":"string","description":"Date and time at which the event starts. The format is yyyy-MM-dd HH:mm and time zone is iso time in UTC"},"end_time":{"type":"string","description":"Date and time at which the event ends. The format is yyyy-MM-dd HH:mm and time zone is iso time in UTC"},"superseded":{"type":"boolean","description":"Overrides an existing event if true in case of timing overlap"},"site_ids":{"uniqueItems":true,"type":"array","description":"List of site ids for the event. One of site_id, vpp_ids or site_ids is required","items":{"type":"integer","description":"List of site ids for the event. One of site_id, vpp_ids or site_ids is required","format":"int32"}}},"description":"New event details"},"EventsListResponse":{"type":"object","properties":{"program_id":{"type":"string"},"total_count":{"type":"integer","format":"int32"},"eventList":{"type":"array","items":{"$ref":"#/components/schemas/GsApiVppEventResponse"}}}},"GsApiEventResponse":{"type":"object","properties":{"site_id":{"type":"string","description":"Unique ID of the site"},"evse_serial_no":{"type":"string","description":"Serial Number of the individual EVSE"},"event_status":{"type":"string","description":"current status of the event\n\t\n-scheduled : Event created and is yet to start\n\t\n-in_progress : Event created and has started\n\t\n-completed : Event started and end time has passed\n\t\n-stopped : Event stopped by creator after it has started\n\t\n-failed : Command not acknowledged by the gateway. VPP API cloud sends a command and waits for the status from gateway. If it expires, a retry is done; Retries are done up to 5 minutes from the event start time. If the command still does not succeed after 5 minutes, then it will be marked as failed\n\t\n-deleted : Event cancelled by creator before start time or Event cancelled by the system due to a completely overlapping event\n\t\n-optedout : HO opted out of the event\n"},"failure_code":{"type":"string","description":"Event failure code"},"failure_reason":{"type":"string","description":"Reason for the event failure"},"start_time":{"type":"string","description":"Date and time at which the event starts","format":"date-time"},"end_time":{"type":"string","description":"Date and time at which the event ends","format":"date-time"},"created_at":{"type":"string","description":"Date and time at which the event is created","format":"date-time"},"completed_at":{"type":"string","description":"Date and time at which the event is completed","format":"date-time"},"cancelled_at":{"type":"string","description":"Date and time on which the event is cancelled","format":"date-time"},"cancellation_request":{"type":"string"},"function":{"type":"string","description":"supported function for v1 api"},"functions":{"type":"array","description":"List of supported functions","items":{"type":"string","description":"List of supported functions","enum":["BATTERY","PV","EVSE","HP"]}},"duration":{"type":"integer","description":"Event duration in minutes","format":"int32"},"mode":{"type":"string","description":"\tMode for the event; Mandatory if functions is HP/EVSE, optional in case of BATTERY and not applicable in case of PV\n\n\tIf function is BATTERY,\n\t\t1. If mode is not passed, it is set to 'Discharge to Load and Grid' if rate_watt is positive\n\t\t2. If mode is not passed, it is set to 'Charge from PV and Grid' if rate_watt is negative\n\t\t3. If mode is not passed, it is set to 'Idle' if rate_watt is 0\n\t\t4. If mode is passed, rate_watt must be positive for discharge events, negative for charge events, 0 for Idle event\n\n\tIf function is BATTERY, supported modes are:\n\t\tIdle\n\t\tCharge_From_PV\n\t\tCharge_From_NetPV\n\t\tCharge_From_PV_Grid\n\t\tDischarge_To_Load\n\t\tDischarge_To_NetLoad\n\t\tDischarg_To_Load_Grid\n\n\tIf function is HP, supported modes are as per SG ready modes:\n\t\tMODE_1\n\t\tMODE_2\n\t\tMODE_3\n\t\tMODE_4\n\n\tIf function is EVSE, supported mode are:\n\t\tCharge\n\t\tDont_Charge\n"},"target_soc":{"type":"integer","description":"\tApplicable if functions is BATTERY\n\t\t% SOC at which event should end.\n\t\tIt is the upper limit for charge modes.\n\t\tIt is the lower limit for discharge modes.\n\t\tIt is not applicable for Idle mode\n","format":"int32"},"rate_watt":{"type":"integer","description":"Charge or discharge rate if functions is BATTERY. Not applicable for Idle mode\n\t\nSpecifies the curtailment level if functions is PV.\n\t\nNot applicable if functions is HP.\n\t\nNot applicable if functions is EVSE and mode is Dont_Charge.\n","format":"int32"},"superseded":{"type":"boolean","description":"Overrides an existing event if true in case of timing overlap"},"command_delivery_status":{"type":"string","description":"delivery status of the command sent to Envoy.\n\t\n-Scheduled : Command is not sent yet or sent to envoy or sent to envoy but not completed yet by envoy\n\t\n-Delivered : Command is completed by envoy\n\t\n-Failed : Command is sent to envoy but expired at envoy\n\t\n-Cancelled : Command is not sent to envoy (for example, service is down or event is deleted etc\n","enum":["Scheduled","Delivered","Failed","Cancelled"]},"measuring_reference":{"type":"string","description":"Measuring Reference","enum":["ASSET","SITE"]},"export_limit":{"type":"integer","description":"Export limit for PV","format":"int32"}}},"GsApiVppEventResponse":{"type":"object","properties":{"event_id":{"type":"string","description":"unique id of the event"},"name":{"type":"string","description":"name of the event"},"program_id":{"type":"string","description":"unique id of the program"},"events":{"type":"array","items":{"$ref":"#/components/schemas/GsApiEventResponse"}}}},"GsApiVPP":{"type":"object","properties":{"name":{"type":"string","description":"name of the VPP"},"query":{"$ref":"#/components/schemas/SitesQuery"},"vpp_id":{"type":"string","description":"unique id of the VPP"},"created_at":{"type":"string","description":"date and time at which the VPP is created","format":"date-time"},"updated_at":{"type":"string","description":"date and time at which the VPP is updated","format":"date-time"},"program_id":{"type":"string","description":"unique ID of the program"},"total_systems":{"type":"integer","description":"total count of the systems in the VPP","format":"int32"},"total_energy_kwh":{"type":"number","description":"total energy of the VPP aggregated across the systems in it","format":"double"},"total_power_kw":{"type":"number","description":"total power of the VPP aggregated across the systems in it","format":"double"},"available_energy_kwh":{"type":"number","description":"available energy of the VPP aggregated across the systems in it","format":"double"},"available_power_kw":{"type":"number","description":"available power of the VPP aggregated across the systems in it","format":"double"},"site_ids":{"type":"array","items":{"type":"integer","format":"int32"}}}},"VPPsListResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int32"},"vpps":{"type":"array","items":{"$ref":"#/components/schemas/GsApiVPP"}}}},"APIResponse":{"type":"object","properties":{"meta":{"type":"object","additionalProperties":{"type":"object"}},"data":{"type":"object"},"error":{"type":"object","additionalProperties":{"type":"object"}}}},"GsApiUtility":{"type":"object","properties":{"country":{"type":"string"},"name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}}}},"DeviceLevelEVSETelemetryResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"Unique ID of the site"},"granularity":{"type":"string","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins', '5mins'. Default is 'day'"},"interval_duration":{"type":"string","description":"Size of the interval. Can be 5mins, or 15mins. Site must be configured to 5 min telemetry for this to be supported"},"start_at":{"type":"integer","description":"Start Time of the data series.","format":"int64"},"end_at":{"type":"integer","description":"End Time of the telemetry data.","format":"int64"},"items":{"type":"string","description":"The list key 'intervals'"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/EVSETelemetryInterval"}}}},"EVSETelemetryInterval":{"type":"object","properties":{"end_at":{"type":"integer","description":"End time of the telemetry interval.","format":"int64"},"wh_consumed":{"type":"number","description":"Energy units consumed per interval (positive will correspond to EV charge, negative will correspond to EV discharge)","format":"double"}}},"EVSELifeTimeTelemetryResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"Unique ID of the site"},"start_date":{"type":"string","description":"Start Date of the daily time-series data series."},"end_date":{"type":"string","description":"End Date of the daily time-series data series."},"consumption":{"type":"array","description":"Energy units consumed per day (positive will correspond to EV charge, negative will correspond to EV discharge). The time series includes one entry for each day from the start_date to the end_date with no gaps in the time series. If the response contains trailing zeroes, such as [909, 4970, 0, 0, 0], then there is not charge/discharge of the EV during those days.","items":{"type":"number","description":"Energy units consumed per day (positive will correspond to EV charge, negative will correspond to EV discharge). The time series includes one entry for each day from the start_date to the end_date with no gaps in the time series. If the response contains trailing zeroes, such as [909, 4970, 0, 0, 0], then there is not charge/discharge of the EV during those days.","format":"double"}}}},"Meta":{"type":"object","properties":{"status":{"type":"string","description":"System's status"},"last_report_at":{"type":"integer","description":"Timestamp (in epoch format) at which the system's Envoy last submitted a report","format":"int64"},"last_energy_at":{"type":"integer","description":"Timestamp (in epoch format) at which the system's produced energy was last reported.\n Even if the last produced energy is 0, its timestamp will be returned.","format":"int64"},"operational_at":{"type":"integer","description":"Timestamp (in epoch format) at which this system became operational.\n Corresponds to the system’s interconnect time, if one is specified. Otherwise, it is the system’s first reported interval end time.","format":"int64"}},"description":"Information about the system such as its status, when it became operational and last reported to Envoy."},"ProductionMicroInterval":{"type":"object","properties":{"end_at":{"type":"integer","format":"int64"},"devices_reporting":{"type":"integer","format":"int32"},"enwh":{"type":"integer","format":"int32"},"powr":{"type":"integer","format":"int32"}}},"SystemsProductionMicroResponse":{"type":"object","properties":{"system_id":{"type":"integer","format":"int32"},"total_devices":{"type":"integer","format":"int32"},"start_at":{"type":"integer","format":"int64"},"end_at":{"type":"integer","format":"int64"},"items":{"type":"string"},"granularity":{"type":"string"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/ProductionMicroInterval"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"MeterReadings":{"type":"object","properties":{"serial_num":{"type":"string","description":"The serial number of the meter"},"value":{"type":"integer","description":"The meter reading, in Wh","format":"int32"},"read_at":{"type":"integer","description":"The time when the reading was taken, always prior or equal to the requested 'end_at'","format":"int32"}}},"MeterReadingsMeta":{"type":"object","properties":{"status":{"type":"string","description":"System's status. Corresponding Enlighten values can be found in table added at the end of page."},"last_report_at":{"type":"integer","description":"Timestamp (in epoch format) at which the system's Envoy last submitted a report","format":"int64"},"last_energy_at":{"type":"integer","description":"Timestamp (in epoch format) at which the systems's production energy was last reported. Even if the last production energy is 0, its timestamp will be returned.","format":"int64"},"operational_at":{"type":"integer","description":"Corresponds to the system’s interconnect time, if one is specified. Otherwise, it is the system’s first reported interval end time.","format":"int64"}}},"ProductionMeterReadings":{"type":"object","properties":{"system_id":{"type":"integer","description":"The unique numeric ID of the system","format":"int32"},"meter_readings":{"type":"array","items":{"$ref":"#/components/schemas/MeterReadings"}},"meta":{"$ref":"#/components/schemas/MeterReadingsMeta"}}},"ProductionMeterInterval":{"type":"object","properties":{"end_at":{"type":"integer","format":"int64"},"devices_reporting":{"type":"integer","format":"int32"},"wh_del":{"type":"integer","format":"int32"}}},"SystemsProductionMeterResponse":{"type":"object","properties":{"system_id":{"type":"integer","format":"int32"},"total_devices":{"type":"integer","format":"int32"},"start_at":{"type":"integer","format":"int64"},"end_at":{"type":"integer","format":"int64"},"items":{"type":"string"},"granularity":{"type":"string"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/ProductionMeterInterval"}}}},"ImportInterval":{"type":"object","properties":{"end_at":{"type":"integer","description":"End time of the telemetry interval","format":"int32"},"wh_imported":{"type":"integer","description":"Energy imported per interval","format":"int32"}}},"SystemsTelemetryImportResponse":{"type":"object","properties":{"granularity":{"type":"string","description":"The granularity of the telemetry data. Default is 'day'","enum":["week","day","15mins"]},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/ImportInterval"}},"site_id":{"type":"integer","description":"Unique ID of the site","format":"int32"},"start_at":{"type":"integer","description":"Start time for fetching the telemetry data in Epoch time format. If no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.","format":"int32"},"start_date":{"type":"string","description":"Start date for fetching the telemetry data in yyyy-mm-dd format.\nIf no start_date is specified, defaults to midnight today, in the timezone of the system. If the start_date specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_date","format":"date-time"},"end_at":{"type":"integer","description":"End Time of the data series","format":"int32"},"end_date":{"type":"string","description":"End Date of the data series","format":"date-time"},"total_devices":{"type":"integer","description":"Number of Production meters in the site","format":"int32"}}},"ExportInterval":{"type":"object","properties":{"end_at":{"type":"integer","description":"End time of the telemetry interval","format":"int32"},"wh_exported":{"type":"integer","description":"Energy exported per interval","format":"int32"}}},"SystemsTelemetryExportResponse":{"type":"object","properties":{"granularity":{"type":"string","description":"The granularity of the telemetry data. Default is 'day'","enum":["week","day","15mins"]},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/ExportInterval"}},"site_id":{"type":"integer","description":"Unique ID of the site","format":"int32"},"start_at":{"type":"integer","description":"Start time for fetching the telemetry data in Epoch time format. If no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.","format":"int32"},"start_date":{"type":"string","description":"Start date for fetching the telemetry data in yyyy-mm-dd format.\nIf no start_date is specified, defaults to midnight today, in the timezone of the system. If the start_date specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_date","format":"date-time"},"end_at":{"type":"integer","description":"End Time of the data series","format":"int32"},"end_date":{"type":"string","description":"End Date of the data series","format":"date-time"},"total_devices":{"type":"integer","description":"Number of Production meters in the site","format":"int32"}}},"ConsumptionMeterReadings":{"type":"object","properties":{"system_id":{"type":"integer","description":"The unique numeric ID of the system","format":"int32"},"meter_readings":{"type":"array","items":{"$ref":"#/components/schemas/MeterReadings"}},"meta":{"$ref":"#/components/schemas/MeterReadingsMeta"}}},"ConsumptionMeterInterval":{"type":"object","properties":{"end_at":{"type":"integer","format":"int64"},"devices_reporting":{"type":"integer","format":"int32"},"enwh":{"type":"integer","format":"int32"}}},"SystemsConsumptionMeterResponse":{"type":"object","properties":{"system_id":{"type":"integer","format":"int32"},"total_devices":{"type":"integer","format":"int32"},"start_at":{"type":"integer","format":"int64"},"end_at":{"type":"integer","format":"int64"},"items":{"type":"string"},"granularity":{"type":"string"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/ConsumptionMeterInterval"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"BatteryTelemetryInterval":{"type":"object","properties":{"end_at":{"type":"integer","format":"int64"},"charge":{"$ref":"#/components/schemas/Charge"},"discharge":{"$ref":"#/components/schemas/DisCharge"},"soc":{"$ref":"#/components/schemas/SOC"}}},"Charge":{"type":"object","properties":{"enwh":{"type":"integer","format":"int32"},"devices_reporting":{"type":"integer","format":"int32"}}},"DisCharge":{"type":"object","properties":{"enwh":{"type":"integer","format":"int32"},"devices_reporting":{"type":"integer","format":"int32"}}},"SOC":{"type":"object","properties":{"percent":{"type":"number","format":"double"},"devices_reporting":{"type":"integer","format":"int32"}}},"SystemsBatteryTelemetryResponse":{"type":"object","properties":{"system_id":{"type":"integer","format":"int32"},"total_devices":{"type":"integer","format":"int32"},"start_at":{"type":"integer","format":"int64"},"end_at":{"type":"integer","format":"int64"},"items":{"type":"string"},"granularity":{"type":"string"},"soc":{"type":"number","format":"double"},"soh":{"type":"number","format":"double"},"last_report_at":{"type":"integer","format":"int64"},"capacity_wh":{"type":"integer","format":"int32"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/BatteryTelemetryInterval"}}}},"SystemSummaryResponse":{"type":"object","properties":{"system_id":{"type":"integer","description":"The unique numeric ID of the system","format":"int32"},"current_power":{"type":"integer","description":"Current power production of the system in Watts","format":"int32"},"energy_lifetime":{"type":"integer","description":"Energy generated by the system during its lifetime in Wh","format":"int32"},"energy_today":{"type":"integer","description":"Energy generated by the system today in Wh","format":"int32"},"last_interval_end_at":{"type":"string","description":"The last known time that the system produced energy. When a system has not been communicating for a length of time, the last_report_at can be recent, whereas the last_interval_end_at may be further back."},"last_report_at":{"type":"integer","description":"Timestamp (in epoch format) at which the system's Envoy last submitted a report","format":"int32"},"modules":{"type":"integer","description":"Total number of modules in the system","format":"int32"},"operational_at":{"type":"integer","description":"Timestamp (in epoch format) at which this system became operational. Corresponds to the system’s interconnect time, if one is specified. Otherwise, it is the system’s first reported interval end time.","format":"int32"},"size_w":{"type":"integer","description":"System size in watts","format":"int32"},"source":{"type":"string","description":"Source of energy measurement"},"status":{"type":"string","description":"Current status of the system"},"summary_date":{"type":"string","description":"Summary date"},"battery_charge_w":{"type":"integer","description":"Maximum charge power of all the batteries of the system","format":"int32"},"battery_discharge_w":{"type":"integer","description":"Maximum discharge power of all the batteries of the system","format":"int32"},"battery_capacity_wh":{"type":"integer","description":"Total capacity of all the batteries of the system","format":"int32"}}},"StormGuardSettingsResponse":{"type":"object","properties":{"system_id":{"type":"integer","description":"Unique ID of the site","format":"int32"},"storm_guard_status":{"type":"string","description":"Current storm guard status of the system. Possible values are Enabled, Disabled. Overrides your battery profile to full backup mode when a severe weather condition alert is issued in the locality."},"storm_alert":{"type":"string","description":"Storm alert of the system. Possible values are true, false. True if severe weather condition alert is issued in the locality"}}},"StorageMeter":{"type":"object","properties":{"serial_num":{"type":"string","description":"The serial number of the meter"},"value_charged":{"type":"integer","description":"The meter reading for energy charged, in Wh","format":"int32"},"value_discharged":{"type":"integer","description":"The meter reading for energy discharged, in Wh","format":"int32"},"read_at":{"type":"integer","description":"The time when the reading was taken, always prior or equal to the requested 'end_at'","format":"int32"}}},"StorageMeterReadings":{"type":"object","properties":{"system_id":{"type":"integer","description":"The unique numeric ID of the system","format":"int32"},"meter_readings":{"type":"array","items":{"$ref":"#/components/schemas/StorageMeter"}},"meta":{"$ref":"#/components/schemas/MeterReadingsMeta"}}},"SiteEvent":{"type":"object","properties":{"status":{"type":"string"},"event_type_id":{"type":"integer","format":"int32"},"event_start_time":{"type":"integer","format":"int64"},"event_end_time":{"type":"integer","format":"int64"},"serial_number":{"type":"string"}},"description":"List of events over the system"},"SiteOpenEventsResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"The unique numeric ID of the system"},"events":{"type":"array","description":"List of events over the system","items":{"$ref":"#/components/schemas/SiteEvent"}}}},"SiteEventsResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"The unique numeric ID of the system"},"events":{"type":"array","description":"List of events over the system","items":{"$ref":"#/components/schemas/SiteEvent"}}}},"Alarm":{"type":"object","description":"List of alarms over the system"},"SiteAlarmsResponse":{"type":"object","properties":{"systems_id":{"type":"string","description":"The unique numeric ID of the system"},"alarms":{"type":"array","description":"List of alarms over the system","items":{"$ref":"#/components/schemas/Alarm"}}}},"SiteSettingsResponseDTO":{"type":"object","properties":{"vpp_event_reserve_soc":{"type":"integer","format":"int32"}}},"SystemsProductionLifeTimeResponse":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/Meta"},"system_id":{"type":"string","description":"Unique ID of the site"},"start_date":{"type":"string","description":"When no start_date parameter is specified on the request, this is the operational_date of the system.\n May be null if system has never produced.\n When a start_date parameter is included in the request, it is included here in the response."},"meter_start_date":{"type":"string","description":"The first day in the time series when measurements are taken from a meter instead of from micro inverters.\n This field is not present unless the system has a meter"},"production":{"type":"array","description":"An array of production measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty.","items":{"type":"integer","description":"An array of production measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty.","format":"int32"}},"micro_production":{"type":"array","items":{"type":"integer","format":"int32"}},"meter_production":{"type":"array","items":{"type":"integer","format":"int32"}}}},"SystemsPELPCSResponse":{"type":"object","properties":{"pcs_limit_enabled":{"type":"boolean"},"pcs_limt":{"type":"number","format":"double"},"pel_enabled":{"type":"boolean"},"pel":{"type":"number","format":"double"}}},"DeviceLatestTelemetry":{"type":"object","properties":{"id":{"type":"integer","description":"Device ID","format":"int64"},"name":{"type":"string","description":"Device Name"},"serial_number":{"type":"string","description":"Serial Number"},"channel":{"type":"integer","description":"The reporting channel ID (applicable only in case of meters)","format":"int32"},"last_report_at":{"type":"integer","description":"Timestamp at which the device last reported","format":"int64"},"power":{"type":"integer","description":"power reading at the last reported time","format":"int32"},"operational_mode":{"type":"string","description":"Battery mode. Possible values are Idle, Charging, Discharging
EVSE mode. Possible values are PLUGGED_OUT,IDLE,CHARGING,FAULTED
HP mode. Possible values are Mode_1,Mode_2,Mode_3,Mode_4."}}},"SystemsLatestTelemetryResponse":{"type":"object","properties":{"system_id":{"type":"integer","description":"The unique numeric ID of the system","format":"int32"},"items":{"type":"string","description":"Named key of the list data. In this endpoint, it is devices"},"devices":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/DeviceLatestTelemetry"}}}}},"SystemsImportLifeTimeResponse":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/Meta"},"system_id":{"type":"integer","description":"Unique ID of the site","format":"int32"},"start_date":{"type":"string","description":"When no start_date parameter is specified on the request, this is the operational_date of the system. May be null if system has never produced.\n When a start_date parameter is included in the request, it is included here in the response.\n"},"meter_start_date":{"type":"string","description":"The first day in the time series when measurements are taken from a meter instead of from micro inverters.\n This field is not present unless the system has a meter\n"},"import":{"type":"array","description":"An array of import measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty\n","items":{"type":"integer","description":"An array of import measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty\n","format":"int32"}}}},"DeviceLevelHPTelemetryResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"Unique ID of the site"},"granularity":{"type":"string","description":"The granularity of the telemetry data. Possible values are 'week', 'day', '15mins', '5mins'. Default is 'day'"},"interval_duration":{"type":"string","description":"Size of the interval. Can be 5mins, or 15mins. Site must be configured to 5 min telemetry for this to be supported"},"start_at":{"type":"integer","description":"Start Time of the data series.","format":"int64"},"end_at":{"type":"integer","description":"End Time of the telemetry data.","format":"int64"},"items":{"type":"string","description":"The list key 'intervals'"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/HPTelemetryInterval"}}}},"HPTelemetryInterval":{"type":"object","properties":{"end_at":{"type":"integer","description":"End time of the telemetry interval.","format":"int64"},"wh_consumed":{"type":"number","description":"Units consumed per interval. This value can only be zero or positive","format":"double"}}},"HPLifeTimeTelemetryResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"Unique ID of the site"},"start_date":{"type":"string","description":"Start Date of the daily time-series data series."},"end_date":{"type":"string","description":"End Date of the daily time-series data series."},"consumption":{"type":"array","description":"Energy units consumed per day (positive will correspond to energy consumption, negative will correspond to zero consumption). The time series includes one entry for each day from the start_date to the end_date with no gaps in the time series. If the response contains trailing zeroes, such as [909, 4970, 0, 0, 0], then there is no consumption by the HP","items":{"type":"number","description":"Energy units consumed per day (positive will correspond to energy consumption, negative will correspond to zero consumption). The time series includes one entry for each day from the start_date to the end_date with no gaps in the time series. If the response contains trailing zeroes, such as [909, 4970, 0, 0, 0], then there is no consumption by the HP","format":"double"}}}},"GridStatusSettingsResponse":{"type":"object","properties":{"system_id":{"type":"integer","description":"Unique ID of the site","format":"int32"},"grid_status":{"type":"string","description":"Indicates whether the site is On Grid, Off Grid or grid status of site is Unknown"},"last_report_date":{"type":"integer","description":"Timestamp (in epoch format) at which the system's Envoy last submitted a report","format":"int32"}}},"SystemsExportLifeTimeResponse":{"type":"object","properties":{"export":{"type":"array","description":"An array of export measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty\n","items":{"type":"integer","description":"An array of export measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty\n","format":"int32"}},"meta":{"$ref":"#/components/schemas/Meta"},"system_id":{"type":"integer","description":"Unique ID of the site","format":"int32"},"start_date":{"type":"string","description":"When no start_date parameter is specified on the request, this is the operational_date of the system.\n May be null if system has never produced. When a start_date parameter is included in the request, it is included here in the response.\n"},"meter_start_date":{"type":"string","description":"The first day in the time series when measurements are taken from a meter instead of from micro inverters.\n This field is not present unless the system has a meter.\n"}}},"DeviceStatus":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"last_report_at":{"type":"integer","format":"int64"},"name":{"type":"string"},"serial_number":{"type":"string"},"part_number":{"type":"string"},"sku":{"type":"string"},"model":{"type":"string"},"status":{"type":"string"},"active":{"type":"boolean"},"state":{"type":"string"},"product_name":{"type":"string"}},"description":"Hash keys include all the possible device types: micros, meters, gateways,
q_relays, ACBs, Encharges, Enpowers, ev_chargers, heat_pump, iq_collars, iq_air,
generators (if the devices of this type are present). For all the device types,
the object will contain the serial_number and model with some additional information pertaining to the device type."},"SystemsDevicesResponse":{"type":"object","properties":{"system_id":{"type":"integer","format":"int32"},"total_devices":{"type":"integer","format":"int32"},"items":{"type":"string"},"devices":{"type":"object","additionalProperties":{"type":"array","description":"Hash keys include all the possible device types: micros, meters, gateways,
q_relays, ACBs, Encharges, Enpowers, ev_chargers, heat_pump, iq_collars, iq_air,
generators (if the devices of this type are present). For all the device types,
the object will contain the serial_number and model with some additional information pertaining to the device type.","items":{"$ref":"#/components/schemas/DeviceStatus"}},"description":"Hash keys include all the possible device types: micros, meters, gateways,
q_relays, ACBs, Encharges, Enpowers, ev_chargers, heat_pump, iq_collars, iq_air,
generators (if the devices of this type are present). For all the device types,
the object will contain the serial_number and model with some additional information pertaining to the device type."}}},"DeviceLevelPVProductionResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"Unique ID of the site"},"serial_number":{"type":"string","description":"The device serial number"},"start_at":{"type":"integer","description":"Start time for fetching the telemetry data in Epoch time format. If no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.","format":"int64"},"start_date":{"type":"string","description":"Start date for fetching the telemetry data in yyyy-mm-dd format\nIf no start_date is specified, defaults to midnight today, in the timezone of the system. If the start_date specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_date"},"end_at":{"type":"integer","description":"End Time of the data series","format":"int64"},"end_date":{"type":"string","description":"End Date of the data series"},"granularity":{"type":"string","description":"The granularity of the telemetry data. Default is 'day'"},"total_devices":{"type":"integer","description":"Number of Production meters in the site","format":"int32"},"items":{"type":"string"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/PVProductionInterval"}}}},"PVProductionInterval":{"type":"object","properties":{"end_at":{"type":"integer","description":"End time of the telemetry interval","format":"int64"},"enwh":{"type":"integer","description":"Energy produced (in Watt-Hours) from all the micro inverters combined during that period","format":"int32"},"pwr":{"type":"integer","description":"Average power (in Watt) produced by all the micro inverters during this interval, measured in Watts.","format":"int32"}}},"OCPPConfigurationStatusResponse":{"type":"object","properties":{"configurationStatus":{"type":"string","description":"Charger status for the enrollment. Allowed values:
\n\tACTIVATION_IN_PROGRESS - Registration has been initiated and its in progress
\n\tDEACTIVATION_IN_PROGRESS - Revocation has been initiated and its in progress
\n\tACTIVATION_FAILED - Registration was initaited but it failed
\n\tDEACTIVATION_FAILED - Revocation was initiated but it failed
\n\tACTIVE - Registration successful
\n\tDEACTIVATED - Revocation successful"},"connectionUrl":{"type":"string","description":"Partner's CSMS Url that is supplied by partner at the time of registration"},"securityProfile":{"type":"string","description":"Partner's CSMS's security profile that is supplued by partner at the time of registration "},"authKey":{"type":"string","description":"Partner's CSMS one time token to be used for authorising charger's communication with the CSMS that is supplied at the time of registration"},"connectionStatus":{"type":"string","description":"Indicates whether the charger has made successful connection with partner CSMS. Allowed values:
\n\tNOT_CONNECTED - Indicates that connection has not happened even once
\n\tCONNECTED - Indicates that connection is successful
\n\tDISCONNECTED - Indicates that connection was successful but currently its not connected"},"configurationStatusFailureReason":{"type":"string","description":"Reason for ACTIVATION_FAILED or DEACTIVATION_FAILED"}}},"ChargeDischargeValue":{"type":"object","properties":{"enwh":{"type":"integer","format":"int32"}}},"DeviceLevelEnchargeTelemetryResponse":{"type":"object","properties":{"system_id":{"type":"string","description":"Unique ID of the site"},"serial_number":{"type":"string","description":"The device serial number"},"start_at":{"type":"integer","description":"Start time for fetching the telemetry data in Epoch time format. If no start_at is specified, defaults to midnight today, in the timezone of the system. If the start_at specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_at.","format":"int64"},"start_date":{"type":"string","description":"Start date for fetching the telemetry data in yyyy-mm-dd format\nIf no start_date is specified, defaults to midnight today, in the timezone of the system. If the start_date specified is earlier than the system’s first reported date, then midnight of the system’s first reported date is considered as start_date"},"end_at":{"type":"integer","description":"End Time of the data series","format":"int64"},"end_date":{"type":"string","description":"End Date of the data series"},"granularity":{"type":"string","description":"The granularity of the telemetry data. Default is 'day'"},"total_devices":{"type":"integer","description":"Number of Production meters in the site","format":"int32"},"items":{"type":"string"},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/EnchargeInterval"}},"last_reported_time":{"type":"integer","description":"Last reported timestamp","format":"int64"},"last_reported_soc":{"type":"string","description":"Last reported soc percentage"}}},"EnchargeInterval":{"type":"object","properties":{"end_at":{"type":"integer","description":"End time of the telemetry interval.","format":"int64"},"charge":{"$ref":"#/components/schemas/ChargeDischargeValue"},"discharge":{"$ref":"#/components/schemas/ChargeDischargeValue"},"soc":{"$ref":"#/components/schemas/SocPercent"}}},"SocPercent":{"type":"object","properties":{"percent":{"type":"integer","description":"Battery soc percentage","format":"int32"}}},"SystemsConsumptionLifeTimeResponse":{"type":"object","properties":{"consumption":{"type":"array","description":"An array of consumption measurements in Wh, one for each day since consumption metering began, or one for each day of the requested period","items":{"type":"integer","description":"An array of consumption measurements in Wh, one for each day since consumption metering began, or one for each day of the requested period","format":"int32"}},"meta":{"$ref":"#/components/schemas/Meta"},"system_id":{"type":"string","description":"Unique ID of the site"},"start_date":{"type":"string","description":"When no start_date parameter is specified on the request, this is the operational_date of the system.\n May be null if system has never produced.\n When a start_date parameter is included in the request, it is included here in the response."},"meter_start_date":{"type":"string","description":"The first day in the time series when measurements are taken from a meter instead of from micro inverters.\n This field is not present unless the system has a meter"}}},"SystemsBatterySettingsResponse":{"type":"object","properties":{"system_id":{"type":"integer","description":"Unique ID of the site","format":"int32"},"battery_mode":{"type":"string","description":"Current battery mode of the system. Possible values are Savings Mode, Full Backup, and Self - Consumption"},"reserve_soc":{"type":"integer","description":"Reserve soc for the current mode","format":"int32"},"energy_independence":{"type":"string","description":"Energy independence after peak hours enabled/disabled . Enabled: Battery will discharge to save money during peak hours when electricity rates are high. Once that is done, energy independence is prioritized. This will increase the energy self-sufficiency until the reserve soc is hit. Battery will charge from solar in the morning to get ready for the next period Disabled: Battery will discharge only during peak hours when electricity rates are high. During other times, battery will be idle or will charge from solar in the morning to get ready for the next period"},"charge_from_grid":{"type":"string","description":"Charge battery from grid enabled/disabled. Enabled: Battery may also charge from the grid when in full backup mode or when battery charge is below the reserve capacity in savings or self-consumption mode"},"battery_shutdown_level":{"type":"integer","description":"Level at which battery shutdowns to conserve energy. Battery restarts by using the conserved energy when the utility grid restores power or solar panels start producing energy","format":"int32"}}},"SystemsBatteryLifeTimeResponse":{"type":"object","properties":{"charge":{"type":"array","description":"An array of charge measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty","items":{"type":"integer","description":"An array of charge measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty","format":"int32"}},"discharge":{"type":"array","description":"An array of discharge measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty","items":{"type":"integer","description":"An array of discharge measurements, one for each day since the system started producing, or one for each day of the requested period.\n If the system has never produced energy, the array may be empty","format":"int32"}},"meta":{"$ref":"#/components/schemas/Meta"},"system_id":{"type":"string","description":"Unique ID of the site"},"start_date":{"type":"string","description":"When no start_date parameter is specified on the request, this is the operational_date of the system.\n May be null if system has never produced. When a start_date parameter is included in the request, it is included here in the response."}}},"SystemsAddress":{"type":"object","properties":{"state":{"type":"string"},"country":{"type":"string"},"postal_code":{"type":"string"}}},"SystemsDetails":{"type":"object","properties":{"system_id":{"type":"integer","description":"The unique numeric ID of the system","format":"int32"},"name":{"type":"string","description":"Name of the system"},"public_name":{"type":"string","description":"Name displayed on the public system page. Available values are All, Residential System, Commercial etc. Default='Residential System'. Only for systems that allow public access"},"timezone":{"type":"string","description":"Timezone to which the system belongs"},"connection_type":{"type":"string","description":"connection Type of the system. Available values are ethernet, Wi-Fi, Cellular"},"status":{"type":"string","description":"System's status. Corresponding Enlighten values can be found in table added at the end of page"},"attachment_type":{"type":"string","description":"Micro inverter attachment type. Available values are rack_mount, zep, acm, bipv, frame_mount, railless_mount"},"interconnect_date":{"type":"string","description":"Date on which the system was approved to connect to the grid"},"last_energy_at":{"type":"integer","description":"Timestamp (in epoch format) at which the systems's produced energy was last reported. Even if the last produced energy is 0, its timestamp will be returned","format":"int64"},"last_report_at":{"type":"integer","description":"Timestamp (in epoch format) at which the system's Envoy last submitted a report","format":"int64"},"operational_at":{"type":"integer","description":"Timestamp (in epoch format) at which this system became operational. Corresponds to the system’s interconnect time, if one is specified. Otherwise, it is the system’s first reported interval end time","format":"int64"},"address":{"$ref":"#/components/schemas/SystemsAddress"}}},"SystemsDetailsResponse":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of systems","format":"int32"},"current_page":{"type":"integer","description":"page number of the current page fetched","format":"int32"},"size":{"type":"integer","description":"Maximum number of records shown per page. Default=10, Min=1, Max=100.","format":"int32"},"count":{"type":"integer","description":"Total number of systems returned for the current page","format":"int32"},"items":{"type":"string","description":"Named key of the list data. In this endpoint, it is systems"},"systems":{"type":"array","items":{"$ref":"#/components/schemas/SystemsDetails"}}}},"EnlightenEventType":{"type":"object","properties":{"event_type_id":{"type":"integer","description":"The unique numeric ID of the event type.","format":"int32"},"event_type_key":{"type":"string"},"stateful":{"type":"boolean"},"event_name":{"type":"string"},"event_description":{"type":"string"},"recommended_action":{"type":"string"}},"description":"List of event_type_id along with event_description and recommended_action"},"EventTypesResponse":{"type":"object","properties":{"event_types":{"type":"array","description":"List of event_type_id along with event_description and recommended_action","items":{"$ref":"#/components/schemas/EnlightenEventType"}}}},"CountryResponse":{"type":"object","properties":{"country":{"type":"object","additionalProperties":{"type":"string"}},"states":{"type":"object","additionalProperties":{"type":"string"}}}},"GsApiListProgram":{"type":"object","properties":{"description":{"type":"string","description":"description of the program"},"name":{"type":"string","description":"name of the program"},"program_status":{"type":"string","description":"ProgramApplicationStatus Enum - Program Manager | Grid Services","enum":["pending","rejected","approved"]},"program_id":{"type":"string","description":"unique id of the program"},"state":{"type":"string","description":"state code of the program"},"utility_name":{"type":"string","description":"name of utility administering the program"},"incentive_structure":{"type":"object","additionalProperties":{"type":"string","description":"incentive structure of the program"},"description":"incentive structure of the program"}}},"ProgramsListResponse":{"type":"object","properties":{"total_count":{"type":"integer","format":"int32"},"programs":{"type":"array","items":{"$ref":"#/components/schemas/GsApiListProgram"}}}},"GsApiProgram":{"type":"object","properties":{"description":{"type":"string","description":"description of the program"},"program_end_date":{"type":"string","description":"end date of the program"},"event_cancellation_allowed_for_upcoming_events":{"type":"boolean","description":"Program config that specifies if upcoming events can be cancelled"},"event_ending_allowed_for_ongoing_event":{"type":"boolean","description":"Program config that specifies if ongoing events can be stopped"},"min_envoyversion":{"type":"string","description":"minimum supported version"},"name":{"type":"string","description":"name of the program"},"program_status":{"type":"string","description":"ProgramApplicationStatus Enum - Program Manager | Grid Services","enum":["pending","rejected","approved"]},"program_id":{"type":"string","description":"unique id of the program"},"program_types":{"type":"array","description":"type of program","items":{"type":"string","description":"ProgramApplicationStatus Enum - Program Manager | Grid Services","enum":["DATA_ONLY","DATA_AND_DISPATCH","DISPATCH","SELF_CONSUMPTION"]}},"seasons":{"type":"array","description":"list of seasons","items":{"$ref":"#/components/schemas/Season"}},"state":{"type":"string","description":"state code of the program"},"utility_name":{"type":"string","description":"name of utility administering the program"},"incentive_structure":{"type":"object","additionalProperties":{"type":"string","description":"incentive structure of the program"},"description":"incentive structure of the program"},"creation_date_time":{"type":"string","description":"date and time at which the program is created"},"asset_type":{"type":"array","description":"Supported asset types under the program; Possible values are \"PV\", \"BATTERY\"\n","items":{"type":"string","description":"Supported asset types under the program; Possible values are \"PV\", \"BATTERY\"\n","enum":["BATTERY","PV","EVSE","HP"]}},"min_allowed_soc":{"type":"integer","description":"min allowed soc for event creation","format":"int32","default":10}}},"Season":{"required":["duration","name"],"type":"object","properties":{"frequency":{"type":"integer","format":"int32"},"name":{"type":"string"},"duration":{"type":"string"},"start_month":{"type":"string","description":"Month Enum - Enrollment Manager | Grid Services","enum":["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"]},"end_month":{"type":"string","description":"Month Enum - Enrollment Manager | Grid Services","enum":["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"]},"performance_incentives_per_kw":{"type":"number","format":"double"}},"description":"list of seasons"},"GsApiApplication":{"required":["program_id","site_id","site_info"],"type":"object","properties":{"site_id":{"type":"integer","format":"int32"},"program_id":{"type":"string"},"application_id":{"type":"integer","description":"application_id - String | Starts from 10,000 | uniquely identifies an application in logical manner","format":"int64"},"application_status":{"type":"string","description":"ApplicationStatus Enum - Enrollment Manager | Grid Services","enum":["Application_Drafted","Application_Submitted","Application_Rejected","Application_Approved","Site_Submitted","Site_Rejected","Site_Approved","Application_Withdrawn"]},"created_at":{"type":"string","description":"created_at - String | Timestamp of when application was created","format":"date-time"},"approved_at":{"type":"string","description":"approved_at - String | Timestamp of when application was approved","format":"date-time"},"rejected_at":{"type":"string","description":"rejected_at - String | Timestamp of when application was rejected","format":"date-time"},"withdrawn_at":{"type":"string","description":"withdrawn_at - String | Timestamp of when application was withdrawn","format":"date-time"},"site_info":{"$ref":"#/components/schemas/GsApiApplicationFormFields"},"application_type":{"type":"string","description":"application_type - ApplicationType | enrollment or unenrollment"}}},"GsApiApplicationFormFields":{"required":["city","country","first_name","postal_code","state","zip"],"type":"object","properties":{"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"zip":{"type":"integer","format":"int32"},"ean":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"siteState":{"type":"string","writeOnly":true},"postal_code":{"type":"string"}},"description":"form_fields - GsApiApplicationFormFields | Fields that were filled in application form"},"GsApiListApplicationResponse":{"type":"object","properties":{"page_no":{"type":"integer","format":"int32"},"page_size":{"type":"integer","format":"int32"},"count":{"type":"integer","format":"int32"},"total_count":{"type":"integer","format":"int32"},"applications":{"type":"array","items":{"$ref":"#/components/schemas/GsApiApplication"}}}}}},"tags":[{"name":"Auth","description":"Auth Controller"},{"name":"Programs","description":"Programs API"},{"name":"Applications","description":"Applications API"},{"name":"Manage VPPs","description":"Manage VPPs API"},{"name":"Events","description":"Events API"},{"name":"System and Device Configuration","description":"System and Device Configuration API"},{"name":"System Details And Telemetry","description":"System Details And Telemetry API"},{"name":"Forecast","description":"Forecast API (Contact us if you are interested in using this endpoint)"}]}