The official API for ev.energy, version 2.
- Retrieve rebate evidence file details
ev.energy v2 API (2.0)
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_types
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_types
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_types
- 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/rebate_types?expand=required_evidence' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Return a list of rebate types.
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.
URI for an icon representing this rebate type.
Describes the rebate type.
One line of text containing important information for the rebate type.
HTML string containing detailed eligibility requirements.
[ { "$ref": "#/components/examples/RebateType" } ]
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_types/{rebate_type_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_types/{rebate_type_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_types/{rebate_type_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/rebate_types/rbttB1USP6YGD1VPIDJSHTZARUX11M?expand=required_evidence' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-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.
URI for an icon representing this rebate type.
Describes the rebate type.
One line of text containing important information for the rebate type.
HTML string containing detailed eligibility requirements.
{ "id": "rbttB1USP6YGD1VPIDJSHTZARUX11M", "url": "https://api.ev.energy/v2/rebate_types/rbttB1USP6YGD1VPIDJSHTZARUX11M", "title": "Vehicle Enrollment", "value_description": "earn up to $1000", "icon": "https://example.com", "description_long": "Rebate for purchasing an eligible vehicle.", "description_short": "Must be purchased after 11/01/2024", "requirements": "<html><ul><li>Must be eligible for program</li><li>Purchased after 11/01/2024</li><li>Must be connected to ev.energy</li></ul></html>", "required_evidence": [ { … } ] }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_evidence_types
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_evidence_types
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_evidence_types
- 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/rebate_evidence_types \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-Version: 2'Return a list of rebate evidence types.
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.
[ { "id": "rbetB1USP6YGD1VPIDJSHTZARUX11M", "url": "https://api.ev.energy/v2/rebate_evidence_types/rbetB1USP6YGD1VPIDJSHTZARUX11M", "title": "string", "description": "string", "upload_required": true, "file": { … }, "evidence_data": [ … ] } ]
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_evidence_types/{rebate_evidence_type_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_evidence_types/{rebate_evidence_type_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_evidence_types/{rebate_evidence_type_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/rebate_evidence_types/rbetB1USP6YGD1VPIDJSHTZARUX11M \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-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.
{ "id": "rbetB1USP6YGD1VPIDJSHTZARUX11M", "url": "https://api.ev.energy/v2/rebate_evidence_types/rbetB1USP6YGD1VPIDJSHTZARUX11M", "title": "string", "description": "string", "upload_required": true, "file": { "name": "string", "url": "http://example.com" }, "evidence_data": [ { … } ] }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/user_rebates
- Live API for both production and sandbox requests.https://api.ev.energy/v2/user_rebates
- Staging server for internal testing only.https://api-staging.ev.energy/v2/user_rebates
- 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/user_rebates \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2' \
-d '{
"rebate_type": "https://api.ev.energy/v2/rebate_types/rbttB1USP6YGD1VPIDJSHTZARUX11M"
}'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.
{ "id": "rbtuB1USP6YGD1VPIDJSHTZARUX11M", "url": "https://api.ev.energy/v2/user_rebates/rbtuB1USP6YGD1VPIDJSHTZARUX11M" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/user_rebates
- Live API for both production and sandbox requests.https://api.ev.energy/v2/user_rebates
- Staging server for internal testing only.https://api-staging.ev.energy/v2/user_rebates
- 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/user_rebates?expand=rebate_type' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-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.
Status of the user's rebate application form. This does not indicate if the rebate has been reviewed or approved.
[ { "$ref": "#/components/examples/UserRebate" } ]
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/user_rebates/{user_rebate_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/user_rebates/{user_rebate_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/user_rebates/{user_rebate_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/user_rebates/rbtuB1USP6YGD1VPIDJSHTZARUX11M?expand=rebate_type' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2'{ "$ref": "#/components/examples/UserRebate" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/user_rebates/{user_rebate_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/user_rebates/{user_rebate_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/user_rebates/{user_rebate_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/user_rebates/rbtuB1USP6YGD1VPIDJSHTZARUX11M?expand=rebate_type' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2' \
-d '{
"rebate_type": "https://api.ev.energy/v2/user_rebates/rbtuB1USP6YGD1VPIDJSHTZARUX11M",
"evidence_type": "https://api.ev.energy/v2/user_rebates/rbetB1USP6YGD1VPIDJSHTZARUX11M",
"evidence_data": [
{
"id": 2,
"value": "1000"
}
]
}'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.
{ "id": "string", "url": "string" }
Request
Once all evidence data and files have been uploaded, this endpoint is called to submit the rebate application for review by updating the Form status to "complete" and the application status to "pending_review".
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/user_rebates/{user_rebate_id}:submit
- Live API for both production and sandbox requests.https://api.ev.energy/v2/user_rebates/{user_rebate_id}:submit
- Staging server for internal testing only.https://api-staging.ev.energy/v2/user_rebates/{user_rebate_id}:submit
- 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/user_rebates/rbtuB1USP6YGD1VPIDJSHTZARUX11M:submit \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-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.
No contentRequest
This endpoint creates the RebateEvidenceFile record and returns its uid as well as a presigned URL to use for direct upload to AWS S3.
Details of the file to be directly uploaded
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_evidence_files:start_upload
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_evidence_files:start_upload
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_evidence_files:start_upload
- 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/rebate_evidence_files:start_upload?user_rebate=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2' \
-d '{
"file_name": "string",
"rebate_evidence_type": "string"
}'{ "id": "rbefB1USP6YGD1VPIDJSHTZARUX11M", "url": "https://api.ev.energy/v2/rebate_evidence_files/rbefB1USP6YGD1VPIDJSHTZARUX11M", "presigned_url": "https://cdn.app.ev.energy/evenergy-development-rebates-evidence-files/user_rebates/rbtuB1USP6YGD1VPIDJSHTZARUX11M/test_file-57e02f14d0c64900bfa5c64972799c51.pdf?AWSAccessKeyId=DummyKeyID&Signature=bmLFDDk%2FuEjCB8yqYI%2FojRTZEMc%3D&Expires=1732224896" }
Request
After the file is successfully uploaded to S3 via the presigned URL, this endpoint is called to set the upload_finished_at timestamp on the evidence_file record.
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_evidence_files/{rebate_evidence_file_id}:finish_upload
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_evidence_files/{rebate_evidence_file_id}:finish_upload
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_evidence_files/{rebate_evidence_file_id}:finish_upload
- 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/rebate_evidence_files/rbefB1USP6YGD1VPIDJSHTZARUX11M:finish_upload \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2'{ "id": "rbefB1USP6YGD1VPIDJSHTZARUX11M", "url": "https://api.ev.energy/v2/rebate_evidence_files/rbefB1USP6YGD1VPIDJSHTZARUX11M" }
- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_evidence_files
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_evidence_files
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_evidence_files
- 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/rebate_evidence_files?user_rebate=string&expand=rebate_evidence_type' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2'No response example- Mock serverhttps://developers.ev.energy/_mock/ev.energy-api-v2/rebate_evidence_files/{rebate_evidence_file_id}
- Live API for both production and sandbox requests.https://api.ev.energy/v2/rebate_evidence_files/{rebate_evidence_file_id}
- Staging server for internal testing only.https://api-staging.ev.energy/v2/rebate_evidence_files/{rebate_evidence_file_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/rebate_evidence_files/rbefB1USP6YGD1VPIDJSHTZARUX11M?expand=rebate_evidence_type' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'EvEnergy-User: user01HN2NJ9NMRZBXT1H6FT9N7735' \
-H 'EvEnergy-Version: 2'{ "id": "rbefB1USP6YGD1VPIDJSHTZARUX11M", "url": "https://api.ev.energy/v2/rebate_evidence_files/rbefB1USP6YGD1VPIDJSHTZARUX11M", "file_name": "test_file.pdf", "rebate_evidence_type": "https://api.ev.energy/v2/rebate_evidence_types/rbetB1USP6YGD1VPIDJSHTZARUX11M" }