Authentication (v2)
How to authenticate to the InnerSpace API
Summary
Developer Access
Backend Services
Examples
import requests
URL = "https://api.innerspace.io"
def get_session_id():
response = requests.post(
url=f"{URL}/v2/oauth/token",
json={
"client_id": "Your Client ID",
"client_secret": "Your Client Secret",
"audience": "https://global-config.innerspace.io",
},
headers={"Content-Type": "application/json"},
)
response.raise_for_status()
return response.json()["session_id"]
sample_graphql = {
"operationName": "sample_graphql",
"variables": {},
"query": """
query sample_graphql {
BUILDING_INSIGHTS(
where: {
DATE_PARTITION: {_eq: 20250501},
BUILDING_ID: {_eq: 71},
GRANULARITY: {_eq: "PT1H"},
GROUP_ID: {_eq: "all-e707b3a8-0732-49ae-9156-13ff1138540e"},
SITE_ID: {_eq: 900000222}
},
order_by: {DATE_TIME_START: desc}
) {
BUILDING_ID
DATE_TIME_START
OCCUPANCY_MEAN
GRANULARITY
GROUP_ID
SITE_ID
}
}
""",
}
session_id = get_session_id()
response = requests.post(
url=f"{URL}/v2/api",
json=sample_graphql,
headers={"X-Session-Id": session_id},
)
# re-authenticate if session expired and retry once
if response.status_code == 401:
session_id = get_session_id()
response = requests.post(
url=f"{URL}/v2/api",
json=sample_graphql,
headers={"X-Session-Id": session_id},
)
response.raise_for_status()
print(response.json())Last updated
Was this helpful?