MetriBeacon
Menü
Deutsch

GET Geräte im Arbeitsbereich suchen und seitenweise lesen

/api/v1/devices

Geräte im Arbeitsbereich suchen und seitenweise lesen.

Auf dieser Seite

Zugriff und Rechte

Geräte im Arbeitsbereich suchen und seitenweise lesen.

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
workspace_idURL-Parameterstring; {"format":"uuid"}JaUUID eines eigenen Arbeitsbereichs. Ist sie optional, wählt Weglassen den dokumentierten Standard oder alle eigenen Arbeitsbereiche.
qURL-Parameterstring; {"maxLength":128}NeinNamen, UUIDs und sichere Website-Ursprünge oder Host-/Port-Ziele durchsuchen. Zugangsdaten, URL-Pfade und geheime Anfrageparameter sind ausgeschlossen.
group_idURL-Parameterstring; {"format":"uuid"} | JSON; {"const":"none"}NeinFiltern Sie nach Zugehörigkeit zu dieser aktiven Gruppe; none bedeutet keine aktiven Gruppenzuordnungen.
typeURL-Parameterstring; {"default":"","enum":["","custom","server","http","job","workflow","sensor","application","ai_agent","industrial","tcp","udp","dns","tls","ping","service","browser"]}NeinNach Monitortyp filtern. Ohne diesen Parameter oder mit leerem Wert werden alle Typen angezeigt.
stateURL-Parameterstring; {"default":"all","enum":["all","fresh","missing","attention","paused","up","down","unknown","warn"]}NeinMonitorzustand. warn wählt Monitore mit offenen Alarmen aus, ausgenommen pausierte Monitore; up und down beschreiben unabhängig davon die bestätigte Erreichbarkeit.
sortURL-Parameterstring; {"default":"newest","enum":["newest","oldest","name_asc","name_desc","manual"]}NeinMit manual und list_group=monitors oder servers wird die persönliche Reihenfolge gelesen. Manuelle Cursor binden zusätzlich den handelnden Benutzer und die Reihenfolgenrevision; veraltete Cursor liefern 422. Andere Sortierungen behalten ihr bisheriges Verhalten.
limitURL-Parameterinteger; {"default":50,"maximum":100,"minimum":1}NeinHöchstzahl zurückgegebener Zeilen; beachten Sie operationsspezifischen Standard und Obergrenze.
cursorURL-Parameterstring; {"maxLength":4096}NeinAn Konto und Filter gebunden; 15 Minuten gültig
include_summaryURL-Parameterboolean; {"default":false}NeinBis zu drei automatisch ausgewählte Kennzahlen je zurückgegebenem Monitor ergänzen. Werte enthalten Messzeit, Gültigkeit und Quellen. Fehlende oder veraltete Daten werden ausdrücklich gekennzeichnet; die Option startet keine Prüfungen. Maschinen- und MCP/OAuth-Zugänge benötigen zusätzlich telemetry:read. Bei dieser Option darf limit höchstens 50 betragen.
list_groupURL-Parameterstring; {"enum":["all","monitors","servers"],"default":"all"}NeinFiltert vor Zählung und Seitennavigation nach Monitore oder Server. Ohne Filter oder mit all wird die vollständige Liste geliefert. Cursor sind an diese Auswahl gebunden.
typesURL-Parameterstring; {"maxLength":2048}NeinKommagetrennte Auswahl mit bis zu 50 Werten. Werte einer Kategorie werden mit ODER verbunden, Kategorien mit UND. Nicht mit einem widersprüchlichen Einzelfilter kombinieren. Gruppe none wählt Monitore ohne Gruppe. Standorte beziehen sich auf konfigurierte Zuordnungen, einschließlich nicht erreichbarer Standorte.
group_idsURL-Parameterstring; {"maxLength":2048}NeinKommagetrennte Auswahl mit bis zu 50 Werten. Werte einer Kategorie werden mit ODER verbunden, Kategorien mit UND. Nicht mit einem widersprüchlichen Einzelfilter kombinieren. Gruppe none wählt Monitore ohne Gruppe. Standorte beziehen sich auf konfigurierte Zuordnungen, einschließlich nicht erreichbarer Standorte.
location_idsURL-Parameterstring; {"maxLength":2048}NeinKommagetrennte Auswahl mit bis zu 50 Werten. Werte einer Kategorie werden mit ODER verbunden, Kategorien mit UND. Nicht mit einem widersprüchlichen Einzelfilter kombinieren. Gruppe none wählt Monitore ohne Gruppe. Standorte beziehen sich auf konfigurierte Zuordnungen, einschließlich nicht erreichbarer Standorte.
include_facetsURL-Parameterboolean; {"default":false}NeinListenweite Gesamtzahlen, Up-/Down-Zähler und Filterwerte vor der Seitenteilung einschließen (höchstens 50 Zeilen). Statuszähler ignorieren die Zustandsauswahl, jede Facette ihre eigene Kategorie. Up/Down folgt bestätigtem Prüf-, Lauf- oder Kontaktstatus unabhängig von offenen Alarmen. Pausierte und unbekannte Prüfungen sind weder Up noch Down.
personal_orderURL-Parameterboolean; {"default":false}NeinFür Monitor- und Serverlisten im Browser die persönliche Sortierrevision mitliefern. Ohne ausdrückliche Sortierung gilt die gespeicherte persönliche Reihenfolge oder neueste zuerst; eine ausdrückliche Sortierung bleibt erhalten.
viewURL-Parameterstring; {"enum":["options"]}NeinMit options eine begrenzte Monitorauswahl ausschließlich aus Metadaten laden. Die Suche berücksichtigt Namen und Monitor-IDs, sortiert nach Namen und liefert höchstens 50 Einträge pro Seite. Zusammenfassungen, Facetten, persönliche Reihenfolge sowie Zustands-, Gruppen- und Standortfilter werden nicht unterstützt.
counts_onlyURL-Parameterstring; {"enum":["1"]}NeinLiefert Anzahlen für den angegebenen Filter statt Tabellenzeilen. Suche und weitere Filter gelten; die eigene Auswahl, Sortierung und Pagination beeinflussen die Zählung nicht.
count_filterURL-Parameterstring; {"enum":["state"]}NeinDeklarierter Tabellenfilter für die Zählung. Erfordert counts_only=1.
snapshotURL-Parameterstring; {"format":"date-time"}NeinOptionaler Snapshot der zugehörigen Tabellenseite.

Anfragekörper

Kein Anfragekörper.

Antworten

HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

application/json

FeldTyp und GrenzenErforderlichBedeutung
$object | objectJa—
$ (anyOf 1)objectNein—
$ (anyOf 1).devicesarray<object>Ja—
$ (anyOf 1).devices[]objectJa—
$ (anyOf 1).devices[].attentionbooleanJa—
$ (anyOf 1).devices[].created_atstring; {"format":"date-time"}JaErstellungszeitpunkt in RFC 3339 UTC.
$ (anyOf 1).devices[].group_idsarray<string; {"format":"uuid"}>JaIDs der aktiven Gruppen dieses Geräts oder ein leeres Array.
$ (anyOf 1).devices[].group_ids[]string; {"format":"uuid"}Ja—
$ (anyOf 1).devices[].http_checked_atstring; {"format":"date-time"} | nullJa—
$ (anyOf 1).devices[].http_checked_at (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].http_checked_at (anyOf 2)nullNein—
$ (anyOf 1).devices[].http_statusstring | nullJa—
$ (anyOf 1).devices[].http_status (anyOf 1)stringNein—
$ (anyOf 1).devices[].http_status (anyOf 2)nullNein—
$ (anyOf 1).devices[].idstringJaUUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf.
$ (anyOf 1).devices[].last_heartbeat_atstring; {"format":"date-time"} | nullJaZeitpunkt des letzten angenommenen Gerätekontakts; null vor dem ersten Kontakt.
$ (anyOf 1).devices[].last_heartbeat_at (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].last_heartbeat_at (anyOf 2)nullNein—
$ (anyOf 1).devices[].monitor_typestringJa—
$ (anyOf 1).devices[].namestringJaLesbarer Ressourcenname. Beachten Sie die angegebene Längengrenze.
$ (anyOf 1).devices[].pausedbooleanJaOb automatische Monitorarbeit pausiert ist. Vorhandene Messdaten und Historien bleiben erhalten.
$ (anyOf 1).devices[].workspace_idstringJaUUID des zugehörigen Arbeitsbereichs. Zugriff wird gegen das angemeldete Konto geprüft.
$ (anyOf 1).devices[].check_resultobject; {"additionalProperties":false}NeinOptionales ausgewertetes Prüfergebnis oder letzter aufbewahrter Lauf. Prüfungen berücksichtigen Standortregel, aktuelle Knotenfähigkeiten und gültige Beobachtungen. Unbekannte oder veraltete Daten gelten nicht als Erfolg. Laufergebnisse beschreiben die letzte aufbewahrte Ausführung, keine Gesundheitsgarantie des Dienstes.
$ (anyOf 1).devices[].check_result.statusstring; {"enum":["up","down","unknown","paused","succeeded","failed","running","missing","overdue","cancelled"]}Ja—
$ (anyOf 1).devices[].check_result.checked_atstring; {"format":"date-time"} | nullJa—
$ (anyOf 1).devices[].check_result.checked_at (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].check_result.checked_at (anyOf 2)nullNein—
$ (anyOf 1).devices[].check_result.freshnessstring; {"enum":["current","stale","missing"]}Ja—
$ (anyOf 1).devices[].check_result.valid_untilstring; {"format":"date-time"} | nullJa—
$ (anyOf 1).devices[].check_result.valid_until (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].check_result.valid_until (anyOf 2)nullNein—
$ (anyOf 1).devices[].summaryMonitorListSummaryNeinOptionale Kennzahlen ausschließlich für diese Seite: stabile Kennungen, Werte, Einheiten, Aktualität und Quellenzeitpunkte. Fehlende bevorzugte Kennzahlen werden durch aktuelle erfasste Alternativen ersetzt; vorhandene veraltete Werte bleiben sichtbar. Zustandsgruppen unterscheiden bestätigt Ja, bestätigt Nein und Quellen ohne aktuellen Wert. Ersatzkennzahlen nennen die fehlende Messgröße und deren Grund. Es wird keine zusätzliche Erfassung aktiviert.
$ (anyOf 1).devices[].summary.attention_reasonsarray<string; {"maxLength":128}>; {"maxItems":8}NeinBezeichnungen von bis zu acht nicht entwarnten Alarmen, kritische zuerst. Bestätigte Alarme sind enthalten, archivierte Regeln ausgeschlossen.
$ (anyOf 1).devices[].summary.attention_reasons[]string; {"maxLength":128}Ja—
$ (anyOf 1).devices[].summary.attention_countinteger; {"minimum":0}NeinGesamtzahl der nicht entwarnten Alarme, auf die der Monitorhinweis verweist.
$ (anyOf 1).devices[].summary.statusstring; {"enum":["available","unavailable"]}Ja—
$ (anyOf 1).devices[].summary.targetstringJa—
$ (anyOf 1).devices[].summary.systemstringJa—
$ (anyOf 1).devices[].summary.interval_secondsinteger; {"minimum":0}Ja—
$ (anyOf 1).devices[].summary.metricsarray<object; {"additionalProperties":false}>; {"maxItems":3}Ja—
$ (anyOf 1).devices[].summary.metrics[]object; {"additionalProperties":false}Ja—
$ (anyOf 1).devices[].summary.metrics[].keystringJa—
$ (anyOf 1).devices[].summary.metrics[].valuenumber | string | nullJa—
$ (anyOf 1).devices[].summary.metrics[].unitstringJa—
$ (anyOf 1).devices[].summary.metrics[].freshnessstring; {"enum":["fresh","stale","missing","reported","scheduled"]}Ja—
$ (anyOf 1).devices[].summary.metrics[].reasonstringNein—
$ (anyOf 1).devices[].summary.metrics[].measured_atstring; {"format":"date-time"} | nullJa—
$ (anyOf 1).devices[].summary.metrics[].measured_at (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].summary.metrics[].measured_at (anyOf 2)nullNein—
$ (anyOf 1).devices[].summary.metrics[].valid_untilstring; {"format":"date-time"} | nullJa—
$ (anyOf 1).devices[].summary.metrics[].valid_until (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].summary.metrics[].valid_until (anyOf 2)nullNein—
$ (anyOf 1).devices[].summary.metrics[].sourcesarray<object; {"additionalProperties":false}>Ja—
$ (anyOf 1).devices[].summary.metrics[].sources[]object; {"additionalProperties":false}Ja—
$ (anyOf 1).devices[].summary.metrics[].usednumberNein—
$ (anyOf 1).devices[].summary.metrics[].totalnumberNein—
$ (anyOf 1).devices[].summary.metrics[].coresnumberNein—
$ (anyOf 1).devices[].summary.metrics[].pathstringNein—
$ (anyOf 1).devices[].summary.metrics[].enginestringNein—
$ (anyOf 1).devices[].summary.metrics[].configuredinteger; {"minimum":0}Nein—
$ (anyOf 1).devices[].summary.metrics[].idstringJa—
$ (anyOf 1).devices[].summary.metrics[].label_keystringNein—
$ (anyOf 1).devices[].summary.metrics[].namestringNein—
$ (anyOf 1).devices[].summary.metrics[].componentstringNein—
$ (anyOf 1).devices[].summary.metrics[].kindstring; {"enum":["gauge","counter","boolean","enum"]}Nein—
$ (anyOf 1).devices[].summary.metrics[].aggregationstring; {"enum":["mean","min"]}Nein—
$ (anyOf 1).devices[].summary.metrics[].replacesobject; {"additionalProperties":false}Nein—
$ (anyOf 1).devices[].summary.metrics[].replaces.keystringJa—
$ (anyOf 1).devices[].summary.metrics[].replaces.reasonstringJa—
$ (anyOf 1).devices[].summary.metrics[].groupobject; {"additionalProperties":false}Nein—
$ (anyOf 1).devices[].summary.metrics[].group.totalinteger; {"minimum":0}Ja—
$ (anyOf 1).devices[].summary.metrics[].group.positiveinteger; {"minimum":0}Ja—
$ (anyOf 1).devices[].summary.metrics[].group.negativeinteger; {"minimum":0}Ja—
$ (anyOf 1).devices[].summary.metrics[].group.unknowninteger; {"minimum":0}Ja—
$ (anyOf 1).devices[].summary.favicon_urlstringNeinRelative, authentifizierte Bild-URL für das Favicon eines HTTP- oder Browser-Monitors.
$ (anyOf 1).devices[].summary.location_countinteger; {"minimum":0}Ja—
$ (anyOf 1).devices[].summary.platformstring; {"enum":["linux","darwin","windows"]}NeinVom Agenten gemeldetes Betriebssystem. Fehlt, wenn es unbekannt ist.
$ (anyOf 1).devices[].summary.last_value_received_atstring; {"format":"date-time"} | nullNeinEmpfangszeit des neuesten aufbewahrten originalen Zahlen- oder Zustandswerts aller aktiven Messreihen. Lebenszeichen, Textmeldungen, deaktivierte Reihen und berechnete Werte zählen nicht. Null, wenn kein solcher Wert vorliegt.
$ (anyOf 1).devices[].summary.last_value_received_at (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].summary.last_value_received_at (anyOf 2)nullNein—
$ (anyOf 1).devices[].summary.agent_updateAgentUpdateInfoNein—
$ (anyOf 1).devices[].summary.agent_update.operating_systemstringJa—
$ (anyOf 1).devices[].summary.agent_update.installed_versionstringJa—
$ (anyOf 1).devices[].summary.agent_update.latest_versionstringJa—
$ (anyOf 1).devices[].summary.agent_update.statestring; {"enum":["unknown","current","update_available"]}Ja—
$ (anyOf 1).devices[].summary.agent_update.reasonstringJa—
$ (anyOf 1).devices[].summary.agent_update.can_updatebooleanJa—
$ (anyOf 1).devices[].summary.agent_update.target_idstringJa—
$ (anyOf 1).devices[].summary.agent_update.jobAgentUpdateJobNein—
$ (anyOf 1).devices[].summary.agent_update.job.idstring; {"format":"uuid"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.installation_idstring; {"pattern":"^[0-9a-f]{32}$"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.statestring; {"enum":["pending","running","succeeded","failed","expired","unconfirmed"]}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.phasestring; {"enum":["downloading","installing","restarting","completed"]}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.targetAgentUpdateTargetJa—
$ (anyOf 1).devices[].summary.agent_update.job.target.commitstring; {"pattern":"^[0-9a-f]{40}$"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.target.versionstringJa—
$ (anyOf 1).devices[].summary.agent_update.job.target.created_atstring; {"format":"date-time"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.target.fileobject; {"additionalProperties":false}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.requested_atstring; {"format":"date-time"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.updated_atstring; {"format":"date-time"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.claimed_atstring; {"format":"date-time"} | nullJa—
$ (anyOf 1).devices[].summary.agent_update.job.claimed_at (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].summary.agent_update.job.claimed_at (anyOf 2)nullNein—
$ (anyOf 1).devices[].summary.agent_update.job.finished_atstring; {"format":"date-time"} | nullJa—
$ (anyOf 1).devices[].summary.agent_update.job.finished_at (anyOf 1)string; {"format":"date-time"}Nein—
$ (anyOf 1).devices[].summary.agent_update.job.finished_at (anyOf 2)nullNein—
$ (anyOf 1).devices[].summary.agent_update.job.error_codestringJa—
$ (anyOf 1).devices[].summary.agent_update.job.monitor_idstring; {"format":"uuid"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.operation_idstring; {"format":"uuid"}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.source_versionstring; {"maxLength":128}Ja—
$ (anyOf 1).devices[].summary.agent_update.job.source_sha256string; {"pattern":"^[0-9a-f]{64}$"}Ja—
$ (anyOf 1).devices[].list_groupstring; {"enum":["monitors","servers"]}JaWirksame Liste: Serverprofile verwenden immer servers, Prüf- und Laufmonitore monitors. Andere Datenquellen folgen der ausdrücklichen Auswahl oder der bestätigten Erkennung des nativen Agenten.
$ (anyOf 1).devices[].health_statestring; {"enum":["up","down","unknown","paused"]}Nein—
$ (anyOf 1).limitintegerJaMaximale Anzahl zurückgegebener Einträge innerhalb der dokumentierten Grenzen.
$ (anyOf 1).next_cursorstringJaZeiger auf die nächste Seite; null oder leer gemäß Schema bedeutet das Ende der aktuellen Liste.
$ (anyOf 1).snapshotstringJa—
$ (anyOf 1).countsobject; {"additionalProperties":false}NeinKennzahlen der gesamten passenden Filterauswahl vor der Cursor-Pagination. Aktuell bezeichnet gültige Prüfergebnisse, aufbewahrte Laufergebnisse oder Serverkontakt und bestätigt nicht die Gesundheit aller Dienste. Aufmerksamkeit kann sich mit unbekannten Ergebnissen überschneiden.
$ (anyOf 1).counts.totalinteger; {"minimum":0}Ja—
$ (anyOf 1).counts.currentinteger; {"minimum":0}Ja—
$ (anyOf 1).counts.attentioninteger; {"minimum":0}Ja—
$ (anyOf 1).counts.unknowninteger; {"minimum":0}Ja—
$ (anyOf 1).counts.pausedinteger; {"minimum":0}Ja—
$ (anyOf 1).order_revisioninteger; {"minimum":0}NeinAktuelle Reihenfolgenrevision. Beim Verschieben oder Zurücksetzen als expected_revision übergeben; eine zwischenzeitliche Änderung liefert 409.
$ (anyOf 1).total_countinteger; {"minimum":0}Nein—
$ (anyOf 1).matched_countinteger; {"minimum":0}Nein—
$ (anyOf 1).workspace_idstring; {"format":"uuid"}Nein—
$ (anyOf 1).observed_atstring; {"format":"date-time"}Nein—
$ (anyOf 1).status_countsobjectNein—
$ (anyOf 1).status_counts.allinteger; {"minimum":0}Ja—
$ (anyOf 1).status_counts.upinteger; {"minimum":0}Ja—
$ (anyOf 1).status_counts.warninteger; {"minimum":0}NeinAnzahl unterschiedlicher, nicht pausierter Monitore mit offenen Alarmen im gesamten gefilterten Bestand vor der Seiteneinteilung. Unabhängig von den Zählern up und down.
$ (anyOf 1).status_counts.downinteger; {"minimum":0}Ja—
$ (anyOf 1).status_counts.unknowninteger; {"minimum":0}Nein—
$ (anyOf 1).status_counts.pausedinteger; {"minimum":0}Nein—
$ (anyOf 1).facetsobjectNein—
$ (anyOf 1).facets.typesarray<object>Nein—
$ (anyOf 1).facets.types[]objectJa—
$ (anyOf 1).facets.types[].valuestringJa—
$ (anyOf 1).facets.types[].labelstringNein—
$ (anyOf 1).facets.types[].countinteger; {"minimum":0}Ja—
$ (anyOf 1).facets.group_idsarray<object>Nein—
$ (anyOf 1).facets.group_ids[]objectJa—
$ (anyOf 1).facets.group_ids[].valuestringJa—
$ (anyOf 1).facets.group_ids[].labelstringNein—
$ (anyOf 1).facets.group_ids[].countinteger; {"minimum":0}Ja—
$ (anyOf 1).facets.location_idsarray<object>Nein—
$ (anyOf 1).facets.location_ids[]objectJa—
$ (anyOf 1).facets.location_ids[].valuestringJa—
$ (anyOf 1).facets.location_ids[].labelstringNein—
$ (anyOf 1).facets.location_ids[].countinteger; {"minimum":0}Ja—
$ (anyOf 1).facets.statearray<object>Nein—
$ (anyOf 1).facets.state[]objectJa—
$ (anyOf 1).facets.state[].valuestringJa—
$ (anyOf 1).facets.state[].labelstringNein—
$ (anyOf 1).facets.state[].countinteger; {"minimum":0}Ja—
$ (anyOf 1).has_custom_orderbooleanNein—
$ (anyOf 1).resolved_sortstring; {"enum":["newest","oldest","name_asc","name_desc","manual"]}Nein—
$ (anyOf 2)objectNein—
$ (anyOf 2).filter_countsTableFilterCountsJa—
$ (anyOf 2).filter_counts.fieldstringJa—
$ (anyOf 2).filter_counts.totalinteger; {"minimum":0}Ja—
$ (anyOf 2).filter_counts.valuesobjectJa—
$ (anyOf 2).filter_counts.completebooleanJa—
$ (anyOf 2).filter_counts.snapshotstring; {"format":"date-time"}Ja—
$ (anyOf 2).filter_counts.counted_atstring; {"format":"date-time"}Ja—
json
{
  "devices": [],
  "limit": 0,
  "next_cursor": "demo",
  "snapshot": "demo"
}
Stabile Fehlercodes
invalid_credential
invalid_token
unauthorized
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 401,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
csrf
insufficient_scope
invalid_origin
browser_session_required
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 403,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
not_found
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 404,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
invalid_cursor
invalid_filter
invalid_filters
invalid_limit
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 422,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
unavailable
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
Retry-Afterstring; {"pattern":"^[0-9]+$"}Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 503,
  "title": "Demo error",
  "type": "about:blank"
}

Wiederholungen und asynchrone Aufträge

Diese Operation liest oder prüft, ohne eine Ressourcenänderung anzuwenden. Beachten Sie Ratenlimits und Zugangslaufzeiten.

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 --output /dev/null --write-out "%{http_code}\n" \
  --request GET \
  --header @"$HOME/.config/metribeacon/headers.txt" \
  "https://metribeacon.com/api/v1/devices?workspace_id=00000000-0000-4000-8000-000000000001"
python
import json
from pathlib import Path
from urllib.request import Request, HTTPRedirectHandler, build_opener
from urllib.error import HTTPError

headers = json.loads((Path.home() / ".config/metribeacon/headers.json").read_text())
request = Request("https://metribeacon.com/api/v1/devices?workspace_id=00000000-0000-4000-8000-000000000001", data=None, headers=headers, method="GET")
class NoRedirect(HTTPRedirectHandler):
    def redirect_request(self, request, fp, code, message, headers, target):
        return None

opener = build_opener(NoRedirect())
try:
    with opener.open(request, timeout=10) as response:
        print(response.status)
except HTTPError as error:
    print(error.code)
    error.close()
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"));
const response = await fetch("https://metribeacon.com/api/v1/devices?workspace_id=00000000-0000-4000-8000-000000000001", {
  method: "GET", headers, redirect: "manual",
  signal: AbortSignal.timeout(10000),
});
console.log(response.status);
await response.body?.cancel();
go
package main

import (
  "fmt"
  "net/http"
  "time"
  "encoding/json"
  "os"
  "path/filepath"
)

func main() {
  home, err := os.UserHomeDir(); if err != nil { panic("request failed; credentials and response omitted") }
  raw, err := os.ReadFile(filepath.Join(home, ".config/metribeacon/headers.json")); if err != nil { panic("request failed; credentials and response omitted") }
  var headers map[string]string
  if json.Unmarshal(raw, &headers) != nil { panic("invalid local headers") }
  request, err := http.NewRequest("GET", "https://metribeacon.com/api/v1/devices?workspace_id=00000000-0000-4000-8000-000000000001", nil)
  if err != nil { panic("request failed; credentials and response omitted") }
  for name, value := range headers { request.Header.Set(name, value) }
  client := &http.Client{Timeout: 10*time.Second, CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
  response, err := client.Do(request)
  if err != nil { panic("request failed; credentials and response omitted") }
  defer response.Body.Close()
  fmt.Println(response.StatusCode)
}