Generic REST
Read Airwave data from curl or any HTTP client.
Every endpoint lives under /api/public/v1 and needs your API key (from Settings → API Keys). Set a
couple of shell variables and go:
AIRWAVE=http://192.168.1.10:36020/api/public/v1
KEY=airwave_your_keyServer status
curl -s -H "X-API-Key: $KEY" "$AIRWAVE/status"{
"product": "airwave",
"version": "0.14.68",
"name": "Blue Turtle - Airwave Server",
"uptimeSeconds": 43210,
"counts": { "channels": 42, "packages": 8, "activeSessions": 2 }
}What's on right now
/guide/now returns one row per channel — ideal for a dashboard:
curl -s -H "Authorization: Bearer $KEY" "$AIRWAVE/guide/now"Who's watching
curl -s -H "X-API-Key: $KEY" "$AIRWAVE/sessions/count" # {"count":2}
curl -s -H "X-API-Key: $KEY" "$AIRWAVE/now-playing" # compact per-viewer viewChannels and the full guide
curl -s -H "X-API-Key: $KEY" "$AIRWAVE/channels"
curl -s -H "X-API-Key: $KEY" "$AIRWAVE/channels/by-number/101/now"
curl -s -H "X-API-Key: $KEY" "$AIRWAVE/guide?forwardMinutes=180"Add ?include=definition to a channel request to also get its authoring internals (filter/sources/manual +
ordering). See the API Reference for the complete list and a live playground.
Artwork
Sessions and programs include an artworkUrl — a tokenless, host-relative poster path. Prepend your server's
base URL and use it directly in an <img> or a dashboard; it needs no API key and no Plex token:
# artworkUrl looks like: /api/public/v1/channels/{channelId}/artwork/{ratingKey}?kind=poster
curl -s "http://192.168.1.10:36020$(curl -s -H "X-API-Key: $KEY" "$AIRWAVE/now-playing" \
| jq -r '.nowPlaying[0].artworkUrl')" --output now-playing.jpgkind selects poster (portrait, the default), background (landscape fanart), or thumb.
