MetriBeacon
Menü
Deutsch

POST Berichtsexport vorbereiten

/api/v1/analysis-jobs/{id}/exports

Erstellt einen Export des abgeschlossenen Datenstands oder verwendet einen bestehenden Export. CSV umfasst alle gefilterten Zeilen eines Abschnitts. PDF akzeptiert einen Abschnitt oder * für alle gewählten Abschnitte. PDF ist auf 60 Sekunden, 20 MiB und 100 Seiten begrenzt; zu große Ausgaben schlagen ohne Kürzung fehl.

Auf dieser Seite

Zugriff und Rechte

Erstellt einen Export des abgeschlossenen Datenstands oder verwendet einen bestehenden Export. CSV umfasst alle gefilterten Zeilen eines Abschnitts. PDF akzeptiert einen Abschnitt oder * für alle gewählten Abschnitte. PDF ist auf 60 Sekunden, 20 MiB und 100 Seiten begrenzt; zu große Ausgaben schlagen ohne Kürzung fehl.

Browsersitzung: Cookie __Host-mb_session.

Maschinen-Verwaltungszugang in Authorization: Bearer. Beachten Sie die von der Operation benötigten Berechtigungen (Scopes).

Parameter und Header

FeldPositionTyp und GrenzenErforderlichBedeutung
idPfadstring; {"format":"uuid"}JaRessourcen-ID in diesem Arbeitsbereich

Anfragekörper

FeldTyp und GrenzenErforderlichBedeutung
$object; {"additionalProperties":false}Ja—
$.formatstring; {"enum":["csv","pdf"]}Ja—
$.sectionstring; {"enum":["overview","availability","incidents","mttr","mtta","response","maintenance","notifications","certificates","jobs","resources","*"]}Ja—

Antworten

application/json

FeldTyp und GrenzenErforderlichBedeutung
$object; {"additionalProperties":false}Ja—
$.idstring; {"format":"uuid"}Ja—
Stabile Fehlercodes
invalid_session

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
csrf
forbidden
insufficient_scope
owner_required

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
not_found

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
idempotency_conflict
job_not_active
job_not_ready
revision_conflict

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
invalid_idempotency_key
invalid_report
invalid_slo

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
alarm_limit
analysis_capacity
report_limit
slo_limit

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
unavailable
renderer_unavailable

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—

Wiederholungen und asynchrone Aufträge

Für diese Änderung gibt es keine allgemeine Wiederholungsgarantie. Prüfen Sie bei unklarer Antwort den betroffenen Eintrag, bevor Sie es erneut versuchen. Beachten Sie Wartezeiten aus Retry-After und fordern Sie abgelaufene Anmelde- oder Aktionscodes neu an.

HTTP 202 bedeutet, dass der Hintergrundauftrag angenommen wurde. Prüfen Sie seinen Status mit der zurückgegebenen Auftragskennung. Laden Sie Ergebnisse nach dem Abschluss herunter oder lesen Sie den Fehler- beziehungsweise Abbruchstatus.

Anfragebeispiele

Ersetzen Sie Demokennungen, Zeitstempel und Platzhalter durch eigene Werte. Behalten Sie bei Wiederholungen Kennungen, Zeit und Inhalt bei. Diese Beispiele führen auf der Seite keine Anfragen aus.

Halten Sie Anmeldelinks, Codes, Cookies und Schlüssel privat. Schreiben Sie sie nicht in Logs und teilen Sie sie nicht in Hilfeanfragen.

shell
curl --silent --show-error --request POST --header @"$HOME/.config/metribeacon/headers.txt" --header "Content-Type: application/json" --data '{"section":"availability","format":"csv"}' 'https://metribeacon.com/api/v1/analysis-jobs/00000000-0000-4000-8000-000000000001/exports'
python
import json
from pathlib import Path
from urllib.request import Request, HTTPRedirectHandler, build_opener
headers = json.loads((Path.home()/".config/metribeacon/headers.json").read_text())
class NoRedirect(HTTPRedirectHandler):
    def redirect_request(self, request, fp, code, message, headers, target): return None
headers["Content-Type"]="application/json"
request=Request('https://metribeacon.com/api/v1/analysis-jobs/00000000-0000-4000-8000-000000000001/exports',data=json.dumps({'section': 'availability', 'format': 'csv'}).encode(),headers=headers,method='POST')
with build_opener(NoRedirect).open(request,timeout=60) as response:
    print(response.status)
javascript
import {readFile} from "node:fs/promises";
import {homedir} from "node:os";
import {join} from "node:path";
const headers=JSON.parse(await readFile(join(homedir(),".config/metribeacon/headers.json"),"utf8"));
headers["Content-Type"]="application/json";
const response=await fetch("https://metribeacon.com/api/v1/analysis-jobs/00000000-0000-4000-8000-000000000001/exports",{method:"POST",headers,redirect:"error",signal:AbortSignal.timeout(60000),body:JSON.stringify({"section":"availability","format":"csv"})});
console.log(response.status);await response.body?.cancel();
go
package main
import("encoding/json";"fmt";"net/http";"os";"path/filepath";"time";"strings")
func main(){home,e:=os.UserHomeDir();if e!=nil{return};raw,e:=os.ReadFile(filepath.Join(home,".config/metribeacon/headers.json"));if e!=nil{return};var headers map[string]string;if json.Unmarshal(raw,&headers)!=nil{return};req,e:=http.NewRequest("POST","https://metribeacon.com/api/v1/analysis-jobs/00000000-0000-4000-8000-000000000001/exports",strings.NewReader("{\"section\":\"availability\",\"format\":\"csv\"}"));if e!=nil{return};for k,v:=range headers{req.Header.Set(k,v)};req.Header.Set("Content-Type","application/json");client:=&http.Client{Timeout:60*time.Second,CheckRedirect:func(*http.Request,[]*http.Request)error{return http.ErrUseLastResponse}};res,e:=client.Do(req);if e!=nil{return};defer res.Body.Close();fmt.Println(res.StatusCode)}
  • HTTP-API, OAuth und MCP

    Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.

  • GET Exportfortschritt lesen

    Liefert den Exportstatus queued, running, completed oder failed. Laden Sie nur einen abgeschlossenen Export herunter.

  • GET Berichtsexport herunterladen

    Lädt sämtliche CSV-Zeilen oder das vollständige PDF aus demselben festgehaltenen Datenstand. Konto-, Arbeitsbereichs- und konkrete Quellenrechte müssen weiterhin gültig sein.

  • DELETE Analysejob abbrechen

    Arbeitsbereichs-SLOs verwenden die Gesamtverfügbarkeitsreihe von HTTP-, TCP-, UDP-, DNS-, TLS-, Ping-, Dienst-, Domain- und Browsermonitoren. Unbekannte und unbeobachtete Zeit bleiben ausdrücklich sichtbar; erst die untere Verfügbarkeitsgrenze belegt die Zielerfüllung. Je Arbeitsbereich gelten zehn SLOs und drei Berichtpläne. Kalenderberichte bleiben 90 Tage unveränderlich. E-Mail benötigt die ausdrückliche Freigabe des Owners sowie ein bestätigtes Ziel und teilt das vorhandene Zustellkontingent. Abbrechbare Analysejobs teilen vier globale Plätze und einen je Owner; Arbeitsbereichsgrenzen bleiben verbindlich. Wählen Sie tägliche, wöchentliche oder monatliche Berichte und eine Versandzeit (HH:MM) in einer IANA-Zeitzone. Der Bericht umfasst den vorigen lokalen Kalendertag, die vorige Woche von Montag bis Sonntag oder den vorigen Monat. Die Erstellung startet zur gewählten Zeit; die Zustellung kann später erfolgen. Bei der Zeitumstellung wird eine fehlende Uhrzeit auf die nächste gültige Minute verschoben und eine doppelte Uhrzeit nur einmal verwendet. Die manuelle Erstellung verwendet unabhängig von der Versandzeit den letzten abgeschlossenen Zeitraum.