API Keys — Controller
Static API keys for machine access to an Aida Controller appliance — both the modern REST API and the legacy-compatible public API.
What keys unlock
One controller API key authenticates as the owning user on:
| Surface | Path | Typical use |
|---|---|---|
| Controller REST | /api/v1/* | Scripts, integrations, automation against the appliance |
| Public / AIDA 1.0-compatible API | /aida/api/* | Legacy clients, BMS adjuncts, demand-response scripts |
Header:
X-API-Key: ak_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Do not send Authorization: Bearer and X-API-Key on the same request.
:::tip Platform keys are separate Cloud Platform keys live under Platform Settings → API Keys. See API Keys — Platform. :::
Create a key on the controller
- Sign in to the controller UI (on the LAN or via Platform Remote).
- Open Settings.
- Open the API Keys tab (requires permission to manage tokens).
- Create a named key, with optional expiration (or no expiry).
- Copy or download the raw key when it is shown — it is not displayed again.
You can regenerate or revoke keys from the same tab. Site admins / super admins may see keys for other users depending on role.
Examples
Controller REST:
curl -s "https://{controller-host}/api/v1/devices" \
-H "X-API-Key: ak_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Public API:
curl -s "https://{controller-host}/aida/api/getAllDevices" \
-H "X-API-Key: ak_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Authorize the same scheme in the appliance Swagger UI — see API Docs — Controller.
MCP note
Controller MCP uses short-lived Bearer agent tokens (or OAuth), not these static API keys. See MCP Server — Controller.