Using Verdigris API with Python
Step 1. Head to our admin console, click on "Create New Key" to generate an API key; save the "Client ID" and "Client Secret" for API usage.
Note: You will need to create a new API key if you did not grab them. We can not get it for you after your API key is created.
Step 2. Open a new jupyter notebook to use with Python 3.
Step 3. Replace "client_id": xxxx and "client_secret": xxxx with your generated Client ID and Client Secret from Step 1.
def get_bearer_token():
""" Gets an authorization token for use with the Verdigris API. Expires in 10 hours. """
url = 'https://auth.verdigris.co/oauth/token'
header = {'Content-Type': 'application/json'}
body = {
"client_id": xxxx,
"client_secret": xxxx,
"grant_type": "client_credentials",
"audience": "https://api.verdigris.co/"
}
try:
resp = requests.post(url, json.dumps(body), headers=header).json()
return resp["access_token"]
except:
return resp
### Get Authorization Token ###
bearer_token_response = get_bearer_token()
if type(bearer_token_response) == str:
header_auth = {'Authorization': f'Bearer {bearer_token_response}'}
else:
print(f"Authentication Request Failed:\n{bearer_token_response}")
Example for calls that require no parameters (using Core API)
GET /circuits/
import requests
url = "https://api.verdigris.co/core/v1/circuits/"
response = requests.get(url, headers=header_auth)
response.json()
Example for calls that require parameters (using Data API)
GET /power/circuits/
import requests
url = 'https://api.verdigris.co/data/v4/power/circuits'
payload = {
'ids':'12345, 23456',
'start_time':'2020-10-8T:20:55:00Z',
'end_time':'2020-10-8T:21:55:00Z',
'interval':'15m',
'timestamp_format':'iso8601'
}
response = requests.get(url, params = payload, headers = header_auth)
response.json()
Updated about 2 years ago