Version 1.0

Power Status API

Et lille, signal-only API til at berige netværksalarmer med en afledt status om rapporterede strømafbrydelser i Danmark.

Bed om pilotadgang

Overblik

Designet til enrichment, ikke autoritativ strømstatus.

API’et returnerer en afledt klassifikation for kundelokationer. Det leverer ikke rå hændelsesrecords og garanterer ikke, at strøm er tilgængelig, når ingen matchende hændelse er rapporteret.

reported_outage

En aktiv rapport matcher lokationen.

no_outage_reported

Ingen match i friske data. Ikke bevis på strøm.

unknown

Datagrundlaget er for gammelt eller ufuldstændigt.

Autentificering

Kundespecifik API-nøgle

Send nøglen som Bearer-token eller i X-API-Key. Nøgler kan begrænses til aftalte postnumre og har en månedlig request-grænse.

Authorization: Bearer outage_live_your_key

Opbevar nøglen server-side. Den må ikke indgå i browserkode, screenshots eller logs. Postnummerbegrænsede nøgler kan kun bruge postnummerchecks; koordinatchecks kræver en særskilt, ubegrænset scope-aftale.

GET

Kontrollér én lokation

Brug et dansk postnummer, koordinater eller begge dele. externalSiteId er jeres eget ID og returneres uændret.

curl --get 'https://strømafbrydelse.dk/api/v1/power-status' \
  --header "Authorization: Bearer $OUTAGE_API_KEY" \
  --data-urlencode 'externalSiteId=site-cph-001' \
  --data-urlencode 'postcode=2100'

POST

Kontrollér op til 100 lokationer

En batch skal indeholde 1–100 sites og må højst fylde 64 KiB.

curl 'https://strømafbrydelse.dk/api/v1/power-status' \
  --request POST \
  --header "Authorization: Bearer $OUTAGE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "sites": [
      { "externalSiteId": "site-cph-001", "postcode": "2100" },
      {
        "externalSiteId": "site-ros-014",
        "latitude": 55.6415,
        "longitude": 12.0803,
        "radiusMeters": 1500
      }
    ]
  }'

Response

Signal, matchstyrke og friskhed

{
  "data": [
    {
      "externalSiteId": "site-cph-001",
      "status": "reported_outage",
      "confidence": 0.98,
      "reason": "primary_postcode",
      "sourceFresh": true
    }
  ],
  "meta": {
    "collectionStatus": "succeeded",
    "collectionCompletedAt": "2026-08-28T09:30:14.000Z",
    "requestLimit": 10000,
    "requestsUsedThisMonth": 27
  }
}
FeltBetydning
statusDen afledte klassifikation.
confidenceMatchstyrke, ikke sandsynligheden for at bygningen mangler strøm.
reasonMatchmetoden eller fresh_source_no_match / source_stale.
sourceFreshOm den seneste komplette indsamling er frisk nok.

Fejlhåndtering

Fail safe, ikke stille

HTTPBetydningHåndtering
400Ugyldigt postnummer, koordinater, JSON eller batchRet requesten; gentag den ikke uændret.
401Manglende eller ugyldig API-nøgleKontrollér secret-konfigurationen.
403Lokationen ligger uden for kundens scopeKontakt pilotansvarlig.
413Request body overstiger 64 KiBOpdel batchen.
429Månedsgrænsen er nåetStop automatiske retries og kontakt pilotansvarlig.
500Midlertidig databasefejlRetry med eksponentiel backoff.
503API’et er deaktiveret eller utilgængeligtBehandl status som unknown og prøv senere.

For retryable fejl anbefales eksponentiel backoff fra 5 sekunder til maksimalt 5 minutter.

Pilotworkflow

Integrér uden at ændre beslutningsretten

  1. 1

    Modtag alarm fra router, ONT, UPS eller remote site.

  2. 2

    Kald API’et med lokationens postnummer eller koordinater.

  3. 3

    Vedhæft status, reason og sourceFresh til alarmen eller sagen.

  4. 4

    Mål om signalet reducerer undersøgelsestid, kommunikationstid eller udkørsler.

Klar til et repræsentativt scope?

Start med 25–100 lokationer i seks uger.

Bed om pilotvurdering