The official API for ev.energy, version 2.
ev.energy v2 API (2.0)
Request
By default, this endpoint returns all programs in our system and does not require authentication. The coordinates, postal_code and country_code query parameters can be used to narrow the list down to just programs eligible for particular locations. Coordinates and postal code searching are mutually exclusive and mixing the query parameters will result in a 400 error response.
If the client is authenticated as a specific user (either via Authorisation Code grant type or the EvEnergy-User header) it will return only programs that user is possibly eligible for, based on the location information we have for them.
Filter the returned programs to only those available to someone who primarily charges their vehicles at these coordinates.
Filter the returned programs to only those available to someone someone who primarily charges their vehicles in this postal code area. The postal code needs to be in the correct format for the country specified by country_code.
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/programs
- Live API for both production and sandbox requests.https://api.ev.energy/v2/programs
- Staging server for internal testing only.https://api-staging.ev.energy/v2/programs
- 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/programs?coordinates=50.896453%2C-1.4037239&postal_code=SW1+1AA&country_code=AD' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2'Returns 0 or more Programs.
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.
A plain text description of the program's incentives and requirements.
The name of the organisation which sponsors the program. Often, but not always, a utility company.
A publicly accessible URL where individuals can enroll in the program.
[ { "id": "prog01JCK1HPNAANB8WN253G27SFPC", "url": "https://api.ev.energy/v2/programs/prog01JCK1HPNAANB8WN253G27SFPC", "name": "CoolCharge", "description": "A program which incentivises charging when it's coolest to charge your EV", "logo": "http://example.com", "sponsor_name": "Cool Power", "external_url": "https://www.example.com/coolcharge" } ]
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/programs/{program_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/programs/{program_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/programs/{program_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/programs/{program_id}' \
-H 'EvEnergy-Version: 2'OK
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.
A plain text description of the program's incentives and requirements.
The name of the organisation which sponsors the program. Often, but not always, a utility company.
{ "id": "prog01JCK1HPNAANB8WN253G27SFPC", "url": "https://api.ev.energy/v2/programs/prog01JCK1HPNAANB8WN253G27SFPC", "name": "CoolCharge", "description": "A program which incentivises charging when it's coolest to charge your EV", "logo": "http://example.com", "sponsor_name": "Cool Power", "external_url": "https://www.example.com/coolcharge" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/incentive_schemes
- Live API for both production and sandbox requests.https://api.ev.energy/v2/incentive_schemes
- Staging server for internal testing only.https://api-staging.ev.energy/v2/incentive_schemes
- 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/incentive_schemes \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735'OK
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.
Is this Incentive available for the User to earn. Some Incentive Schemes can only be earned a limitted number of times per User or Device. E.g. A Sign Up Incentive that can only be earned once per Device. This will also be False if it is outside the active period of the Incentive Scheme.
[ { "id": "incs01JE3ZY9Z2C0E087C942B9WKBC", "name": "Off-Peak Charging Incentives", "description": "Earn $0.10 per kWh when charging off-peak", "visible": false, "available": true } ]
Request
Upload a user's utility account information for verification and account matching against the utility's customer data.
An endpoint to serve this data will be added in future.
The body must be a JSON object containing data required for user verification. The exact dat requirements differ by program and will be validated against a dynamic JSON schema, so no specific type is defined here.
The examples are not exhaustive.
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/programs/{program_id}/user_verification
- Live API for both production and sandbox requests.https://api.ev.energy/v2/programs/{program_id}/user_verification
- Staging server for internal testing only.https://api-staging.ev.energy/v2/programs/{program_id}/user_verification
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
- Account Number Only
- Account Number and SAID
- PIN
curl -i -X POST \
'https://developers.ev.energy/_mock/ev.energy-api-v2/programs/{program_id}/user_verification' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2' \
-d '{
"account_number": "12345678-A"
}'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.
No content