BRF Manager Telemetry API

BRF Manager tillhandahåller ett öppet API för att ta emot högfrekvent mätdata (t.ex. elförbrukning, temperaturer, vattenförbrukning) direkt från hårdvara i undercentraler.

Autentisering

API:et använder Bearer-token för autentisering. Din API-nyckel är specifik för en enskild bostadsrättsförening. Inkludera nyckeln i HTTP-headern Authorization:

Authorization: Bearer <DIN_API_NYCKEL>
ViktigtDela aldrig med dig av din API-nyckel. Om en nyckel hamnar i orätta händer kan den återkallas (revoke) i admin-gränssnittet, varpå en ny måste genereras.

Endpoint: Verifiera API-nyckel

GET https://app.brfmanager.se/api/webhooks/telemetry/verify

Använd denna endpoint för att verifiera att din API-nyckel är giltig och se vilken förening den är kopplad till. Skickar ingen data – perfekt för att testa vid uppsättning.

Lyckat svar (200)

{
  "valid": true,
  "cooperative": "BRF Belwobyn",
  "cooperative_id": "d6721d8f-..."
}

Ogiltig nyckel (401)

{
  "valid": false,
  "error": "Invalid API key"
}

Endpoint: Skicka mätvärden

POST https://app.brfmanager.se/api/webhooks/telemetry

Används för att skicka in en array av mätvärden (readings). Varje anrop kan innehålla max 100 mätvärden. För att minska nätverkstrafiken rekommenderar vi att mätvärden batchas och skickas ungefär var 5:e minut.

Request Body (JSON)

{
  "readings": [
    {
      "component_id": "a92b1234-...",
      "reading_type": "electricity_kwh",
      "value": 14.2,
      "unit": "kWh",
      "measured_at": "2026-05-29T13:30:00Z"
    },
    {
      "reading_type": "heat_supply_temp_c",
      "value": 55.4,
      "unit": "°C",
      "measured_at": "2026-05-29T13:30:00Z"
    }
  ]
}

Fältbeskrivning

  • component_id (String/UUID, Valfritt): UUID till den specifika komponenten i BRF Manager (t.ex. en specifik värmepump eller elmätare). Om detta utelämnas sparas datan generellt på föreningen. Måste vara ett giltigt UUID-format.
  • reading_type (String, Obligatoriskt): Typ av mätvärde. Se tabellen nedan för alla stödda typer.
  • value (Number, Obligatoriskt): Själva mätvärdet (numeriskt).
  • unit (String, Valfritt): Enheten för mätvärdet. Valfritt men rekommenderat – se kolumnen "Rekommenderad enhet" i tabellen nedan.
  • measured_at (String/ISO 8601, Obligatoriskt): Tidpunkten då värdet lästes av, i UTC. Exempel: 2026-05-29T13:30:00Z.

Stödda mättyper (reading_type)

Följande värden stöds som reading_type. Du kan även skicka egna typer – de sparas och visas under sitt namn i gränssnittet.

reading_typeBeskrivningRekommenderad enhet
electricity_kwhElförbrukningkWh
heat_energy_kwhFjärrvärmeenergikWh
heat_supply_temp_cVärme framledning°C
heat_return_temp_cVärme retur°C
water_m3Vattenförbrukning (kall + varm)
hot_water_m3Varmvattenförbrukning
outdoor_temp_cUtomhustemperatur°C
indoor_temp_cInomhustemperatur°C
humidity_pctLuftfuktighet%
pressure_barTryckbar
flow_rate_m3hFlödem³/h

Svar och felkoder

Lyckat svar (200)

{
  "success": true,
  "count": 2
}

Felmeddelanden

HTTP-statusBetydelse
401 UnauthorizedAPI-nyckeln saknas, är ogiltig eller har återkallats.
400 Bad RequestOgiltigt payload-format. Feldetaljer returneras i svaret.
500 Internal Server ErrorInternt serverfel – kontakta supporten om felet kvarstår.

Exempel (cURL)

Verifiera API-nyckel

curl https://app.brfmanager.se/api/webhooks/telemetry/verify \
  -H "Authorization: Bearer my-secret-api-key"

Skicka mätvärden

curl -X POST https://app.brfmanager.se/api/webhooks/telemetry \
  -H "Authorization: Bearer my-secret-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "readings": [
      {
        "reading_type": "electricity_kwh",
        "value": 4.1,
        "unit": "kWh",
        "measured_at": "2026-05-29T12:00:00Z"
      }
    ]
  }'