API Reference
Antennas

Antennas API

GET /api/rfid/u300/antennas/status

Returns the currently active antenna ports as reported by the live relay.

GET /api/rfid/u300/antennas/status
Authorization: Bearer <token>
x-selected-location: 42

Response:

{
  "ok": true,
  "result": {
    "configuredAntennas": [1, 2, 4],
    "scanning": true
  }
}

POST /api/rfid/u300/antennas/mask

Sets which antenna ports are active. Also persists the selection to Supabase so it survives relay restarts.

POST /api/rfid/u300/antennas/mask
Authorization: Bearer <token>
x-selected-location: 42
Content-Type: application/json
 
{
  "antennas": [1, 2]
}

Valid port numbers: 18. Ports not listed are disabled.

Response:

{
  "ok": true,
  "baseUrl": "http://192.168.1.100:5000",
  "antennas": [1, 2],
  "result": { ...relay response... }
}

Error — old APK:

{
  "ok": false,
  "error": "U300 Relay endpoint /antennas/mask is not available. Update the U300 Relay APK to the latest build."
}

This 404 error means the relay APK predates antenna mask support. Update the APK.

Persistence behavior

  • Mask is applied to the relay immediately
  • If locationId is resolved and antennas.length > 0, the selection is saved to device_config as u300.antennas
  • On the next POST /ingest/start, the saved mask is reapplied before ingest begins
  • Sending an empty antennas: [] disables all persistence (relay default is used)