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 time

XOVIS_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.

    Back to Top