Key Concepts

This document provides sample code for typical scenarios when integrating the Openvolt API

🚦 Interactive API Docs

When using the api docs to list all meters https://docs.openvolt.com/reference/get_meters, the docs makes a live call to the Openvolt API and returns a live response, but also gives you code snippets in every language to build directly into your app. All samples in this document are actually constructed this way, so if you need to modify any of the calls, feel free to do so on the API documentation and generate new sample code

πŸ“ˆ Developer Keys

All calls to the API, either through code snippets or through the API docs need to use an API Key. Users have 2 developer keys, both for testing and production. The test keys are used for our sandbox environment. The URL will always be https://api.openvolt.com but will give different results depending on your test or production key. There is a full set of anonymous meter data available for any meter set up with a test key to aid in the development process.

These keys are found in the Account Settings part of the developer dashboard and can be rotated as often as you wish (for security purposes). Keep these safe, as any developer with these keys can make API calls on your behalf.

πŸ’¬ Openvolt concepts

Before getting into the different recipes, it’s important to understand some design decisions on our API. Ultimately, Users wants to pull half hourly data for a meter_number (mpan) . However, multiple different parties may give consent to pull the same meter_number data, and so the concept of a customer is needed. For example - the Property Manager of Building A with meter_number:12345 maybe one customer, but Asset Manager of Building A with meter_number:12345 could also be another customer. Each of these will have different consent mechanisms or LOAs governing the correct access to the data.

This is where the meter object comes in. A meter is unique to both a customer and a meter_number (mpan). When pulling data from central sources, it will be at the meter level. When a user is consuming daily webhooks from Openvolt, it will be at the meter level.