Authentication (v1 - deprecated)
How to authenticate to the InnerSpace API
Summary
API access is available to users via their JWT bearer token, or can be made available to a backend system via an M2M token issued by InnerSpace.
Developer Access
Contact [email protected] for developer access. They will provide you with a ClientID and ClientSecret.
They will need to know the usage of the credentials - whether it is needed for a backend service, a native application, a single-page web app or regular web app.
Backend Services
Backend services should use the /oauth/token endpoint below, which behaves as documented in the Auth0 machine-to-machine (m2m) Client Credentials Flow.
Examples
# retrieve auth token (cache for reuse)
auth_data = {
"client_id": 'Your Client ID',
"client_secret": 'Your Client Secret' }
# auth credentials should be sent as form URL encoded
response = requests.post(url="https://metrics-api.innrspc.com/api/rest/oauth/token", data=auth_data, headers={'Content-Type': 'application/json'}
)
access_token = response.json()['access_token']
# call API using auth token
url_path = 'https://metrics-api.innrspc.com'
authorization = f'Bearer {access_token}'
sample_graphql = {
"operationName": "sample_graphql",
"variables": {},
"query": "query sample_graphql {\n data: building_features(\n where: {_and: [{building_id: {_eq: 71}}, {feature_name: {_eq: \"weekly_frequency_dist\"}}, {granularity: {_eq: \"P1W\"}}, {group_id: {_eq: \"all-e707b3a8-0732-49ae-9156-13ff1138540e\"}}, {date_time_start: {_gte: \"2024-01-01T06:00:00.000Z\", _lt: \"2024-01-08T06:00:00.000Z\"}}]}\n ) {\n feature_value\n date_time_start\n }\n}"
}
response = requests.post(url_path, json=sample_graphql, headers={'Accept': 'application/json', 'Authorization': authorization})Last updated
Was this helpful?