← Back to Org Settings

ARC Labs API Guide

Read-only API access for external systems, dashboards, and integrations.

📝 How to get API access: API keys are issued by ARC Labs. To request a key, email info@arclabcanna.com with your organization name and intended use case.

Authentication

Send your API key in the X-API-Key header:

GET /api/devices
Host: arclabcanna.com
X-API-Key: arc_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

API keys are read-only, org-scoped, revocable, and rate-limited (60 requests/minute).

Base URL

https://arclabcanna.com

Endpoints

Devices

MethodEndpointDescription
GET/api/devicesList all devices in your org
GET/api/integrations/devicesDevices with integration status

Telemetry

MethodEndpointDescription
GET/api/telem/latest?device_id=NLatest readings for a device
GET/api/telem/query?device_id=N&since=...&until=...&limit=NHistorical telemetry

Parameters: device_id (required), since/until (ISO 8601), order (asc/desc), limit (max 50000), keys (comma-separated metrics)

Rooms

MethodEndpointDescription
GET/api/roomsList all rooms

Runs & Conditions

MethodEndpointDescription
GET/api/lifecycle/runsList all grow runs
GET/api/conditions/{id}/decisionsWatering decision history
GET/api/controller/condition-monitor/today-summaryToday's watering summary

Common Metrics

KeyUnitDescription
vwc_pct%Volumetric water content (moisture)
ec_mScmmS/cmElectrical conductivity (nutrients)
media_temp_c°CMedia temperature
temp_c / temp_f°C / °FAir temperature
rh_pct%Relative humidity
co2_ppmppmCO2 concentration
luxluxLight intensity
battery_pct%Device battery level

Code Examples

Python

import requests

API_KEY = "arc_xxxxxxxx..."
BASE = "https://arclabcanna.com"
headers = {"X-API-Key": API_KEY}

# Get all devices
devices = requests.get(f"{BASE}/api/devices", headers=headers).json()

# Get latest telemetry
telemetry = requests.get(f"{BASE}/api/telem/latest?device_id=2250536", headers=headers).json()

cURL

curl -H "X-API-Key: arc_xxxxxxxx..." https://arclabcanna.com/api/devices

curl -H "X-API-Key: arc_xxxxxxxx..." https://arclabcanna.com/api/telem/latest?device_id=2250536

Errors

StatusMeaning
200Success
401Invalid or missing API key
403API key is read-only (tried write)
429Rate limit exceeded

Security

ARC Labs · info@arclabcanna.com · Download as Markdown