Server-Export-API für IPMI IP, MAC-Adressen und IPMI IPv6 aus Burn-in Reports.
Alle /api/v1/*-Endpunkte erfordern einen API-Token aus /opt/burnin/.env (API_TOKEN).
API_TOKEN konfiguriert
Header (eine Variante reicht):
Authorization: Bearer <API_TOKEN> X-API-Key: <API_TOKEN>
| Methode | URL | Beschreibung |
|---|---|---|
| GET | /api/v1/servers | Alle Server (je neuester Report pro IPMI-IP) |
| GET | /api/v1/servers?fetched=false | Nur noch nicht abgerufene Datensätze |
| GET | /api/v1/servers?fetched=true | Nur bereits abgerufene Datensätze |
| GET | /api/v1/servers?mark_fetched=true | Datensätze liefern und direkt als abgerufen markieren |
| GET | /api/v1/servers/{ipmi_ip} | Einzelner Server |
| PATCH | /api/v1/servers/{ipmi_ip} | Abruf-Status setzen ({"fetched": true|false}) |
| POST | /api/v1/servers/mark-fetched | Mehrere IPMI-IPs auf einmal markieren |
OpenAPI-Dokumentation: https://dev.anebeling.de/docs
{
"ipmi_ip": "92.204.179.46",
"ipmi_ipv6": "2a01:7a7:2:1000:f0f1:8d4d:c630:f69b/64",
"ipmi_mac": "4c:d9:8f:25:4f:50",
"mac_addresses": [
{"source": "ipmi", "interface": "ipmi", "mac": "4c:d9:8f:25:4f:50"},
{"source": "nic", "interface": "eno1", "mac": "e4:43:4b:56:05:34"}
],
"macs": ["4c:d9:8f:25:4f:50", "e4:43:4b:56:05:34"],
"report_id": "live__2026-05-28_09-54-19",
"report_url": "https://dev.anebeling.de/reports/live__2026-05-28_09-54-19",
"hostname": "live",
"test_timestamp": "2026-05-28T09:54:19+02:00",
"fetched": false,
"fetched_at": null
}
curl -s -H "Authorization: Bearer $API_TOKEN" \ "https://dev.anebeling.de/api/v1/servers?fetched=false"
curl -s -H "Authorization: Bearer $API_TOKEN" \ "https://dev.anebeling.de/api/v1/servers?fetched=false&mark_fetched=true"
curl -s -X PATCH -H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fetched": true}' \
"https://dev.anebeling.de/api/v1/servers/92.204.179.46"
curl -s -X POST -H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ipmi_ips": ["92.204.179.46", "85.25.186.109"], "fetched": true}' \
"https://dev.anebeling.de/api/v1/servers/mark-fetched"
Im Dashboard siehst du pro Report den Status Offen oder Fetched. Dort kannst du den Status auch manuell umschalten — ohne API-Token.
Ein neuer Burn-in-Report für dieselbe IPMI-IP setzt den Status automatisch wieder auf Offen, damit neue Daten erneut abgeholt werden können.