The official API for ev.energy, version 2.
ev.energy v2 API (2.0)
Return results from the page after this ID.
Return results from the page before this ID.
Specify the number of results to return per page.
Specify a url field to expand into a nested resource.
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays
- Live API for both production and sandbox requests.https://api.ev.energy/v2/solar_arrays
- Staging server for internal testing only.https://api-staging.ev.energy/v2/solar_arrays
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays?page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_size=10&expand=user&vehicle_id=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Returns a list of solar arrays.
Provides links to the previous and next pages of data, if they exist.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Solar Array.
Reference of the connected inverter.
Reference of the connected inverter.
[ { "id": "solr01JASZTD3T7N39DTZPBJVXNPKP", "url": "https://api.ev.energy/v2/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP", "capacity_watts": 7000, "inverter": "https://api.ev.energy/v2/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "forecast": { … }, "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" } ]
Details of Solar Array to be created.
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays
- Live API for both production and sandbox requests.https://api.ev.energy/v2/solar_arrays
- Staging server for internal testing only.https://api-staging.ev.energy/v2/solar_arrays
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'EvEnergy-Version: 2' \
-d '{
"capacity_watts": 0
}'Solar Array created.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Solar Array.
Reference of the connected inverter.
Reference of the connected inverter.
{ "id": "solr01JASZTD3T7N39DTZPBJVXNPKP", "url": "https://api.ev.energy/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP", "capacity_watts": 7000, "inverter": "https://api.ev.energy/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "forecast": { "solar_watt_hours_until_midnight": 19, "percent_vehicle_battery_charge_until_midnight": 30, "last_updated_at": "2024-10-16T11:26:16" }, "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays/{solar_array_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/solar_arrays/{solar_array_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/solar_arrays/{solar_array_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP?expand=user&vehicle_id=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Returns a single solar array.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Solar Array.
Reference of the connected inverter.
Reference of the connected inverter.
{ "id": "solr01JASZTD3T7N39DTZPBJVXNPKP", "url": "https://api.ev.energy/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP", "capacity_watts": 7000, "inverter": "https://api.ev.energy/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "forecast": { "solar_watt_hours_until_midnight": 19, "percent_vehicle_battery_charge_until_midnight": 30, "last_updated_at": "2024-10-16T11:26:16" }, "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays/{solar_array_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/solar_arrays/{solar_array_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/solar_arrays/{solar_array_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://developers.ev.energy/_mock/ev.energy-api-v2/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP?expand=user' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'EvEnergy-Version: 2' \
-d '{
"capacity_watts": 7000
}'Solar array updated successfully.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Solar Array.
Reference of the connected inverter.
Reference of the connected inverter.
{ "id": "solr01JASZTD3T7N39DTZPBJVXNPKP", "url": "https://api.ev.energy/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP", "capacity_watts": 7000, "inverter": "https://api.ev.energy/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "forecast": { "solar_watt_hours_until_midnight": 19, "percent_vehicle_battery_charge_until_midnight": 30, "last_updated_at": "2024-10-16T11:26:16" }, "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" }
Details of the Inverter to be created.
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverters
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverters
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverters
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developers.ev.energy/_mock/ev.energy-api-v2/inverters \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'EvEnergy-Version: 2' \
-d '{
"model": "https://api.ev.energy/inverters/imod7XL7Q5294J6TUZARBQT2D1EOHY"
}'Inverter created.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Inverter.
Records the state of an Inverter at a particular point in time.
{ "id": "invtFB08NVS8KADFY6GAQ9C6RMFGUY", "url": "https://api.ev.energy/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "model": { "id": "imodT4J2GW1IOPAA7FRW53R8P4UXCB", "url": "https://api.ev.energy/inverters/imodT4J2GW1IOPAA7FRW53R8P4UXCB", "name": "Envoy-R", "make": { … } }, "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverters
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverters
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverters
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/inverters?page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_size=10&expand=model' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Returns a list of inverters.
Provides links to the previous and next pages of data, if they exist.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Inverter.
Records the state of an Inverter at a particular point in time.
[ { "id": "invtFB08NVS8KADFY6GAQ9C6RMFGUY", "url": "https://api.ev.energy/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "model": "https://api.ev.energy/inverters/imodT4J2GW1IOPAA7FRW53R8P4UXCB", "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" } ]
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverters/{inverter_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverters/{inverter_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverters/{inverter_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/inverters/{inverter_id}?expand=model' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Returns a single inverter.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Inverter.
Records the state of an Inverter at a particular point in time.
{ "id": "invtFB08NVS8KADFY6GAQ9C6RMFGUY", "url": "https://api.ev.energy/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "model": { "id": "imodT4J2GW1IOPAA7FRW53R8P4UXCB", "url": "https://api.ev.energy/inverters/imodT4J2GW1IOPAA7FRW53R8P4UXCB", "name": "Envoy-R", "make": { … } }, "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverter_makes
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverter_makes
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverter_makes
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/inverter_makes?page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_size=10&available_for_user_id=user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Return a list of Inverter Makes.
Provides links to the previous and next pages of data, if they exist.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Inverter Make.
If using Client credentials the URL will not contain a user ID. This will have to be added by the client so the inverter is created for the correct user.
A pre-constructed link to a list of EVSE models filtered for this make.
[ { "id": "imakK7XDPL63NNBDQ5DPB6K3TP87JA", "url": "https://api.ev.energy/inverter_makes/imakK7XDPL63NNBDQ5DPB6K3TP87JA", "name": "Enphase" } ]
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverter_makes/{inverter_make_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverter_makes/{inverter_make_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverter_makes/{inverter_make_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/inverter_makes/{inverter_make_id}' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Return a single inverter make.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Inverter Make.
If using Client credentials the URL will not contain a user ID. This will have to be added by the client so the inverter is created for the correct user.
{ "id": "imakK7XDPL63NNBDQ5DPB6K3TP87JA", "url": "https://api.ev.energy/inverter_makes/imakK7XDPL63NNBDQ5DPB6K3TP87JA", "name": "Enphase" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverter_models
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverter_models
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverter_models
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/inverter_models?page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR&page_size=10&expand=make&make_id=imakWNZ5N0A5D1PR89HJ7STXEWYO58' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Returns a list of inverter models.
Provides links to the previous and next pages of data, if they exist.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Inverter Model.
If using Client credentials the URL will not contain a user ID. This will have to be added by the client so the inverter is created for the correct user.
[ { "id": "imodT4J2GW1IOPAA7FRW53R8P4UXCB", "url": "https://api.ev.energy/inverters/imodT4J2GW1IOPAA7FRW53R8P4UXCB", "name": "Envoy-R", "make": "https://api.ev.energy/inverter_makes/imakK7XDPL63NNBDQ5DPB6K3TP87JA" } ]
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverter_models/{inverter_model_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverter_models/{inverter_model_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverter_models/{inverter_model_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/inverter_models/{inverter_model_id}?expand=make' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Return a single inverter model.
Indicates the version of the API that generated this response. If EvEnergy-Version was not specified in the request, this will be your OAuth application's default version.
The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.
The number of requests remaining until this client's rate limit is reached.
Unique identifier for the given Inverter Model.
If using Client credentials the URL will not contain a user ID. This will have to be added by the client so the inverter is created for the correct user.
{ "id": "imodT4J2GW1IOPAA7FRW53R8P4UXCB", "url": "https://api.ev.energy/inverters/imodT4J2GW1IOPAA7FRW53R8P4UXCB", "name": "Envoy-R", "make": { "id": "imakK7XDPL63NNBDQ5DPB6K3TP87JA", "url": "https://api.ev.energy/inverter_makes/imakK7XDPL63NNBDQ5DPB6K3TP87JA", "name": "Enphase" } }
Request
This endpoint will redirect to a web page that a user can use to login into their inverter account.
This should be visited in a web browser as it contains interactive UI elements.
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/inverter_onboarding
- Live API for both production and sandbox requests.https://api.ev.energy/v2/inverter_onboarding
- Staging server for internal testing only.https://api-staging.ev.energy/v2/inverter_onboarding
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developers.ev.energy/_mock/ev.energy-api-v2/inverter_onboarding?user_id=user01HN2NJ9NMRZBXT1H6FT9N7735&make_id=string&inverter_id=string&client_id=sandbox-cc-id' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'