Xovis Api Documentation Official
Retrieves people counting data (In, Out, Passby) for a specific sensor or zone.
Endpoint: GET /data/count
Query Parameters:
| Parameter | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| sensor_id | string | Yes | The unique identifier of the sensor. |
| zone_id | integer | No | Specific zone ID. If omitted, returns data for all zones. |
| start_ts | datetime | Yes | Start time (ISO 8601 format, e.g., 2023-10-27T00:00:00Z). |
| end_ts | datetime | Yes | End time (ISO 8601 format). |
| granularity | string | No | Aggregation level (1h, 1d). Default is 1h. |
Example Request:
curl -X GET "https://api.xovis.io/v3/data/count?sensor_id=SNSR_001&start_ts=2023-10-01T00:00:00Z&end_ts=2023-10-01T23:59:59Z&granularity=1h" \
-H "X-API-Key: your_api_key_here"
Example Response:
"sensor_id": "SNSR_001",
"location_id": "LOC_NYC_05",
"data": [
"timestamp": "2023-10-01T08:00:00Z",
"in": 145,
"out": 132,
"passby": 50,
"occupancy": 13
,
"timestamp": "2023-10-01T09:00:00Z",
"in": 210,
"out": 195,
"passby": 65,
"occupancy": 28
]
import requests import timeXOVIS_URL = "http://192.168.1.100/api/v1" API_KEY = "xovis_live_abc123" xovis api documentation
headers = "Authorization": f"Apikey API_KEY"
def get_current_occupancy(): try: response = requests.get( f"XOVIS_URL/occupancy/current", headers=headers, timeout=5 ) response.raise_for_status() data = response.json()
# Navigate the JSON structure per docs occupancy = data['data'][0]['current_people'] print(f"Current people: occupancy") return occupancy except requests.exceptions.RequestException as e: print(f"API Error: e (Check docs for error code meaning)") return None
while True: get_current_occupancy() time.sleep(60) # Respect rate limits per documentation
Even experienced developers misread documentation. Here are frequent issues flagged in Xovis developer forums.
Note: endpoint paths and field names vary by Xovis model and firmware. Replace host with your device or gateway address. Retrieves people counting data (In, Out, Passby) for
Device / Sensors list
Real-time count (polling)
Historical/aggregated data
Zones & layouts
Device config
Health & diagnostics
Webhooks / Event subscriptions
A building management system (BMS) needs to adjust air conditioning based on room density.
Here’s a cleaned-up example from the Xovis REST API docs for fetching hourly counts:
curl -X GET "https://your-xovis-cloud.com/api/v1/counts/hourly?from=2025-01-01T00:00:00Z&to=2025-01-02T00:00:00Z&sensorId=S12345" \
-H "Authorization: Bearer YOUR_API_KEY"
Response:
"data": [
"timestamp": "2025-01-01T00:00:00Z", "in": 12, "out": 8,
"timestamp": "2025-01-01T01:00:00Z", "in": 3, "out": 2
]
This is clear and functional. If all endpoints were this well-illustrated, the docs would be top-tier.
Xovis does not host its documentation on a public GitHub repository due to the proprietary nature of the software. To access the official, version-controlled documentation, you must: Example Response:
Version Alert: Xovis frequently updates their sensor firmware. An API call that works on XCS v2.3 may fail on v3.0. Always verify the compatibility matrix in the documentation's introduction.
Xovis documentation takes security seriously but makes it cumbersome.