Skip to content

ev.energy v2 API (2.0)

The official API for ev.energy, version 2.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://developers.ev.energy/_mock/ev.energy-api-v2
Live API for both production and sandbox requests.
https://api.ev.energy/v2
Staging server for internal testing only.
https://api-staging.ev.energy/v2

Carbon

Endpoints for interacting with carbon intensity data.

Schemas
Operations

Charging Sessions

Endpoints related to records of charging.

Schemas
Operations
Webhooks

CSV

Endpoints that return CSV responses only and are not linkable to other endpoint data.

EVSEs

Endpoints for interacting with EVSEs.

Schemas
Operations

Notifications

Endpoints for communicating notifications.

Operations

Programs

Endpoints related to incentivised charging programs.

Operations

Rebates

Endpoints for interacting with rebates.

Schemas
Operations

Root

The root endpoint which lists all the top-level collections.

Operations

Schedules

Schema definitions for charging schedules.

Schemas

Sites

Endpoints for interacting with sites containing multiple EVSEs.

Operations

Solar

Endpoints for interacting with solar arrays and inverters.

Operations

List solar arrays

Request

List all the solar arrays that the authorization token has access to.

Security
oauth2(Required scopes:
solar:read
)
Query
page_beforestring[a-z]{4}[A-Z\d]{26}

Return results from the page after this ID.

Example: page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_afterstring[a-z]{4}[A-Z\d]{26}

Return results from the page before this ID.

Example: page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_sizeinteger[ 1 .. 100 ]

Specify the number of results to return per page.

Default 25
Example: page_size=10
expandArray of strings

Specify a url field to expand into a nested resource.

Items Enum"user""inverter"
vehicle_idstring

When provided, populates the percent_vehicle_battery_charge_until_midnight field.

Example: vehicle_id=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Returns a list of solar arrays.

Headers
Linkstring

Provides links to the previous and next pages of data, if they exist.

Example: "<https://api.ev.energy/v2/vehicles?page_size=25&page_before=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"previous\", <https://api.ev.energy/v2/vehicles?page_size=25&page_after=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"next\""
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/jsonArray [
idstringsolr[A-Z\d]{26}read-onlyrequired

Unique identifier for the given Solar Array.

Example: "solr01JASZTD3T7N39DTZPBJVXNPKP"
urlstring(uri)read-onlyrequired
Example: "https://api.ev.energy/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP"
capacity_wattsinteger

Capacity of the solar array in watts.

inverter(string or null) or Inverter (object)

Reference of the connected inverter.

One of:

Reference of the connected inverter.

string or null(uri)
forecastobject or null

Forecast data if available to the user.

Only available to internal users.

userstring or User (object)
One of:
string(uri)
]
Response
application/json
[ { "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" } ]

Create a solar array

Request

Creates a solar array and associates it with the user.

Security
oauth2(Required scopes:
solar:write
)
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

Bodyapplication/json

Details of Solar Array to be created.

capacity_wattsinteger>= 0
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
  }'

Responses

Solar Array created.

Headers
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/json
idstringsolr[A-Z\d]{26}read-onlyrequired

Unique identifier for the given Solar Array.

Example: "solr01JASZTD3T7N39DTZPBJVXNPKP"
urlstring(uri)read-onlyrequired
Example: "https://api.ev.energy/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP"
capacity_wattsinteger

Capacity of the solar array in watts.

inverter(string or null) or Inverter (object)

Reference of the connected inverter.

One of:

Reference of the connected inverter.

string or null(uri)
forecastobject or null

Forecast data if available to the user.

Only available to internal users.

userstring or User (object)
One of:
string(uri)
Response
application/json
{ "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" }

Retrieve a solar array

Request

Retrieve a single, specific solar array's details.

Security
oauth2(Required scopes:
solar:read
)
Path
solar_array_idstringsolr[A-Z\d]{26}required

The ID of the specific Solar Array to retrieve or update.

Example: solr01JASZTD3T7N39DTZPBJVXNPKP
Query
expandArray of strings

Specify a url field to expand into a nested resource.

Items Enum"user""inverter"
vehicle_idstring

When provided, populates the percent_vehicle_battery_charge_until_midnight field.

Example: vehicle_id=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H
Headers
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
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'

Responses

Returns a single solar array.

Headers
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/json
idstringsolr[A-Z\d]{26}read-onlyrequired

Unique identifier for the given Solar Array.

Example: "solr01JASZTD3T7N39DTZPBJVXNPKP"
urlstring(uri)read-onlyrequired
Example: "https://api.ev.energy/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP"
capacity_wattsinteger

Capacity of the solar array in watts.

inverter(string or null) or Inverter (object)

Reference of the connected inverter.

One of:

Reference of the connected inverter.

string or null(uri)
forecastobject or null

Forecast data if available to the user.

Only available to internal users.

userstring or User (object)
One of:
string(uri)
Response
application/json
{ "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" }

Update a solar array

Request

Update a solar array.

Security
oauth2(Required scopes:
solar:write
)
Path
solar_array_idstringsolr[A-Z\d]{26}required

The ID of the specific Solar Array to retrieve or update.

Example: solr01JASZTD3T7N39DTZPBJVXNPKP
Query
expandArray of strings

Specify a url field to expand into a nested resource.

Items Enum"user""inverter"
Headers
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Bodyapplication/json

Details of Solar Array to be updated.

capacity_wattsinteger>= 0
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
  }'

Responses

Solar array updated successfully.

Headers
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/json
idstringsolr[A-Z\d]{26}read-onlyrequired

Unique identifier for the given Solar Array.

Example: "solr01JASZTD3T7N39DTZPBJVXNPKP"
urlstring(uri)read-onlyrequired
Example: "https://api.ev.energy/solar_arrays/solr01JASZTD3T7N39DTZPBJVXNPKP"
capacity_wattsinteger

Capacity of the solar array in watts.

inverter(string or null) or Inverter (object)

Reference of the connected inverter.

One of:

Reference of the connected inverter.

string or null(uri)
forecastobject or null

Forecast data if available to the user.

Only available to internal users.

userstring or User (object)
One of:
string(uri)
Response
application/json
{ "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" }

Create an Inverter

Request

Creates an Inverter and associates it with a user's solar array.

Security
oauth2(Required scopes:
inverter:write
)
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Bodyapplication/json

Details of the Inverter to be created.

modelstring(uri)
Example: "https://api.ev.energy/v2/inverter_models/imodOTQRGK9OKMPDU63SYGJ9T6FH3A"
userstring(uri)
Example: "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735"
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"
  }'

Responses

Inverter created.

Headers
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/json
idstringinvt[A-Z\d]{26}read-only

Unique identifier for the given Inverter.

Example: "invtB1USP6YGD1VPIDJSHTZARUX11M"
urlstring(uri)read-only
Example: "https://api.ev.energy/v2/inverters/invtB1USP6YGD1VPIDJSHTZARUX11M"
modelstring or InverterModel (object)
One of:
string(uri)
latest_status_logInverterStatusLog (object) or (string or null)
One of:

Records the state of an Inverter at a particular point in time.

onboarding_urlstring or null
Example: "https://api.ev.energy/v2/inverter_oboarding?inverter_id=invtB1USP6YGD1VPIDJSHTZARUX11M"
Response
application/json
{ "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" }

List inverters

Request

List all the inverters that the authorization token has access to.

Security
oauth2(Required scopes:
inverter:read
)
Query
page_beforestring[a-z]{4}[A-Z\d]{26}

Return results from the page after this ID.

Example: page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_afterstring[a-z]{4}[A-Z\d]{26}

Return results from the page before this ID.

Example: page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_sizeinteger[ 1 .. 100 ]

Specify the number of results to return per page.

Default 25
Example: page_size=10
expandArray of strings

Specify a url field to expand into a nested resource.

Items Enum"model""model.make""latest_status_log"
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Returns a list of inverters.

Headers
Linkstring

Provides links to the previous and next pages of data, if they exist.

Example: "<https://api.ev.energy/v2/vehicles?page_size=25&page_before=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"previous\", <https://api.ev.energy/v2/vehicles?page_size=25&page_after=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"next\""
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/jsonArray [
idstringinvt[A-Z\d]{26}read-only

Unique identifier for the given Inverter.

Example: "invtB1USP6YGD1VPIDJSHTZARUX11M"
urlstring(uri)read-only
Example: "https://api.ev.energy/v2/inverters/invtB1USP6YGD1VPIDJSHTZARUX11M"
modelstring or InverterModel (object)
One of:
string(uri)
latest_status_logInverterStatusLog (object) or (string or null)
One of:

Records the state of an Inverter at a particular point in time.

onboarding_urlstring or null
Example: "https://api.ev.energy/v2/inverter_oboarding?inverter_id=invtB1USP6YGD1VPIDJSHTZARUX11M"
]
Response
application/json
[ { "id": "invtFB08NVS8KADFY6GAQ9C6RMFGUY", "url": "https://api.ev.energy/inverters/invtFB08NVS8KADFY6GAQ9C6RMFGUY", "model": "https://api.ev.energy/inverters/imodT4J2GW1IOPAA7FRW53R8P4UXCB", "user": "https://api.ev.energy/v2/users/user01HN2NJ9NMRZBXT1H6FT9N7735" } ]

Retrieve an inverter

Request

Retrieve a single, specific inverter's details.

Security
oauth2(Required scopes:
inverter:read
)
Path
inverter_idstringrequired

The ID of the specific Inverter to retrieve or update.

Query
expandArray of strings

Specify a url field to expand into a nested resource.

Items Enum"model""model.make""latest_status_log"
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Returns a single inverter.

Headers
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/json
idstringinvt[A-Z\d]{26}read-only

Unique identifier for the given Inverter.

Example: "invtB1USP6YGD1VPIDJSHTZARUX11M"
urlstring(uri)read-only
Example: "https://api.ev.energy/v2/inverters/invtB1USP6YGD1VPIDJSHTZARUX11M"
modelstring or InverterModel (object)
One of:
string(uri)
latest_status_logInverterStatusLog (object) or (string or null)
One of:

Records the state of an Inverter at a particular point in time.

onboarding_urlstring or null
Example: "https://api.ev.energy/v2/inverter_oboarding?inverter_id=invtB1USP6YGD1VPIDJSHTZARUX11M"
Response
application/json
{ "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" }

List inverter makes

Request

List all the inverter makes known by the ev.energy system.

Security
oauth2(Required scopes:
inverter:read
)
Query
page_beforestring[a-z]{4}[A-Z\d]{26}

Return results from the page after this ID.

Example: page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_afterstring[a-z]{4}[A-Z\d]{26}

Return results from the page before this ID.

Example: page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_sizeinteger[ 1 .. 100 ]

Specify the number of results to return per page.

Default 25
Example: page_size=10
available_for_user_idstringuser[A-Z\d]{26}

Filter to only return resources available in the user's region and program.

Example: available_for_user_id=user01HN2NJ9NMRZBXT1H6FT9N7735
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Return a list of Inverter Makes.

Headers
Linkstring

Provides links to the previous and next pages of data, if they exist.

Example: "<https://api.ev.energy/v2/vehicles?page_size=25&page_before=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"previous\", <https://api.ev.energy/v2/vehicles?page_size=25&page_after=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"next\""
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/jsonArray [
idstringimak[A-Z\d]{26}read-only

Unique identifier for the given Inverter Make.

Example: "imakNN2Q3R3TKF9XJQ7851PAUR56UX"
urlstring(uri)read-only
Example: "https://api.ev.energy/v2/inverter_makes/imakNN2Q3R3TKF9XJQ7851PAUR56UX"
namestringread-only
Example: "Fronius"
iconstring or null(uri)read-only
Example: "https://cdn.example.com/fronius.jpg"
onboarding_urlstring or null

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.

Example: "https://api.ev.energy/v2/inverter_oboarding?user_id=user01HN2NJ9NMRZBXT1H6FT9N7735&make_id=imakWNZ5N0A5D1PR89HJ7STXEWYO58"
makesstring

A pre-constructed link to a list of EVSE models filtered for this make.

Example: "https://api.ev.energy/v2/inverter_models/?make_id=imakWNZ5N0A5D1PR89HJ7STXEWYO58"
]
Response
application/json
[ { "id": "imakK7XDPL63NNBDQ5DPB6K3TP87JA", "url": "https://api.ev.energy/inverter_makes/imakK7XDPL63NNBDQ5DPB6K3TP87JA", "name": "Enphase" } ]

Retrieve an inverter make

Request

Retrieve details for a single, specific EVSE make.

Security
oauth2(Required scopes:
inverter:read
)
Path
inverter_make_idstringrequired

The ID of the specific inverter make to retrieve.

Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Return a single inverter make.

Headers
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/json
idstringimak[A-Z\d]{26}read-only

Unique identifier for the given Inverter Make.

Example: "imakNN2Q3R3TKF9XJQ7851PAUR56UX"
urlstring(uri)read-only
Example: "https://api.ev.energy/v2/inverter_makes/imakNN2Q3R3TKF9XJQ7851PAUR56UX"
namestringread-only
Example: "Fronius"
iconstring or null(uri)read-only
Example: "https://cdn.example.com/fronius.jpg"
onboarding_urlstring or null

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.

Example: "https://api.ev.energy/v2/inverter_oboarding?user_id=user01HN2NJ9NMRZBXT1H6FT9N7735&make_id=imakWNZ5N0A5D1PR89HJ7STXEWYO58"
makesstring

A pre-constructed link to a list of EVSE models filtered for this make.

Example: "https://api.ev.energy/v2/inverter_models/?make_id=imakWNZ5N0A5D1PR89HJ7STXEWYO58"
Response
application/json
{ "id": "imakK7XDPL63NNBDQ5DPB6K3TP87JA", "url": "https://api.ev.energy/inverter_makes/imakK7XDPL63NNBDQ5DPB6K3TP87JA", "name": "Enphase" }

List inverter models

Request

List all the inverter models known by the ev.energy system.

Security
oauth2(Required scopes:
inverter:read
)
Query
page_beforestring[a-z]{4}[A-Z\d]{26}

Return results from the page after this ID.

Example: page_before=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_afterstring[a-z]{4}[A-Z\d]{26}

Return results from the page before this ID.

Example: page_after=xmpl01HNFZM7Q8FXASZXYZ6XM3TQRR
page_sizeinteger[ 1 .. 100 ]

Specify the number of results to return per page.

Default 25
Example: page_size=10
expandArray of strings

Specify a url field to expand into a nested resource.

Items Value"make"
make_idstring

The ID of an Inverter Make to filter by.

Example: make_id=imakWNZ5N0A5D1PR89HJ7STXEWYO58
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Returns a list of inverter models.

Headers
Linkstring

Provides links to the previous and next pages of data, if they exist.

Example: "<https://api.ev.energy/v2/vehicles?page_size=25&page_before=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"previous\", <https://api.ev.energy/v2/vehicles?page_size=25&page_after=vhcl01HRFF3SEVSCRAV9B3CHVDFN0H>; rel=\"next\""
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/jsonArray [
idstringimod[A-Z\d]{26}read-only

Unique identifier for the given Inverter Model.

Example: "imodOTQRGK9OKMPDU63SYGJ9T6FH3A"
urlstring(uri)read-only
Example: "https://api.ev.energy/v2/inverter_models/imodOTQRGK9OKMPDU63SYGJ9T6FH3A"
namestringread-only
Example: "Symo 5.0"
makestring or InverterMake (object)
One of:
string(uri)
onboarding_urlstring or null

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.

Example: "https://api.ev.energy/v2/inverter_oboarding?user_id=user01HN2NJ9NMRZBXT1H6FT9N7735&model_id=imodWNZ5N0A5D1PR89HJ7STXEWYO58"
]
Response
application/json
[ { "id": "imodT4J2GW1IOPAA7FRW53R8P4UXCB", "url": "https://api.ev.energy/inverters/imodT4J2GW1IOPAA7FRW53R8P4UXCB", "name": "Envoy-R", "make": "https://api.ev.energy/inverter_makes/imakK7XDPL63NNBDQ5DPB6K3TP87JA" } ]

Retrieve an inverter model

Request

Retrieve details for a single, specific inverter model.

Security
oauth2(Required scopes:
inverter:read
)
Path
inverter_model_idstringrequired

The ID of the specific inverter model to retrieve.

Query
expandArray of strings

Specify a url field to expand into a nested resource.

Items Value"make"
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Return a single inverter model.

Headers
EvEnergy-Versionnumber

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.

Value2
X-RateLimit-Limitnumber

The maximum number of requests that can be made to this endpoint per hour. Defaults to 1000 but may vary per client.

Default 1000
X-RateLimit-Remainingnumber

The number of requests remaining until this client's rate limit is reached.

Default 999
RetryAfternumber

The number of seconds until this client's requests will not be rate limited.

Default 3600
Bodyapplication/json
idstringimod[A-Z\d]{26}read-only

Unique identifier for the given Inverter Model.

Example: "imodOTQRGK9OKMPDU63SYGJ9T6FH3A"
urlstring(uri)read-only
Example: "https://api.ev.energy/v2/inverter_models/imodOTQRGK9OKMPDU63SYGJ9T6FH3A"
namestringread-only
Example: "Symo 5.0"
makestring or InverterMake (object)
One of:
string(uri)
onboarding_urlstring or null

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.

Example: "https://api.ev.energy/v2/inverter_oboarding?user_id=user01HN2NJ9NMRZBXT1H6FT9N7735&model_id=imodWNZ5N0A5D1PR89HJ7STXEWYO58"
Response
application/json
{ "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" } }

Allows a user to authenticate with their inverter account.

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.

Security
oauth2
Query
user_idstringuser[A-Z\d]{26}required

The ID of a user to onboard a device for.

Example: user_id=user01HN2NJ9NMRZBXT1H6FT9N7735
make_idstring

The make ID for the inverter that is going to be onboarded.

inverter_idstring

The ID for the inverter that is going to be onboarded.

client_idstringnon-emptyrequired

Your client ID, used to identify GET requests made in a user's browser.

Example: client_id=sandbox-cc-id
Headers
EvEnergy-Versionnumber

Specify the version of this endpoint to use.

Value2
Accept-Languagestring

Indicates the natural language and locale that the client prefers.

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'

Responses

Found

Subscriptions

Endpoints for interacting with user subscriptions.

Operations

Support Tickets

Endpoints for interacting with customer support tickets.

Schemas
Operations

Tariffs

Endpoints related to energy suppliers and their tariffs.

Schemas
Operations

Users

Endpoints for interacting with users.

Schemas
Operations

Vehicles

Endpoints for interacting with vehicles.

Schemas

Webhooks

Endpoints for configuring and managing webhooks.

Operations