API-Referenz

Alarm-Auslöser-API

CAP-Alarm-Auslöser

HTTP-Referenz. Generiert aus dem Backend-Vertrag. Durchsuchen Sie die Endpunkte unten oder laden Sie OpenAPI herunter.

Diese Gruppe hat 12 Operationen, generiert aus api/openapi.yaml. Filtern Sie nach Pfad, Aktion oder Authentifizierung. Jeder Endpunkt listet seine Eingaben auf; klappen Sie ihn auf, um eine Anfragevorlage und die Antwortcodes zu sehen. Die Vorlagen brauchen Ihre eigenen Werte und einen schemagültigen Anfragekörper.

Großgeschriebene Platzhalter durch Ihre Werte ersetzen. Für eine JSON-Anfrage speichern Sie einen Body, der dem Schema in request.json entspricht. Cookie-Beispiele verwenden ein lokales Cookie-Archiv aus einer authentifizierten Sitzung.

CAP-Alarm-Auslöser

GET/api/triggers

Trigger auflisten

Listet die Trigger des Projekts (CAP und Overlay), älteste zuerst (höchstens 20), jeweils mit ihrer Eingangs-url, ihrem username und ihrer letzten Meldung oder ihrem Overlay-Zustand. Hier wird nie ein Geheimnis zurückgegeben.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listTriggers

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers'

Antworten

StatusBedeutungTextkörper und Header
200Die Trigger des Projekts.TriggerList (application/json); Header: Cache-Control
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/triggers

Trigger erstellen

Erstellt einen CAP-Alarm-Trigger: eine eingehende URL, an die ein Notifikationssystem (Everbridge, Rave, Alertus, IPAWS-Relays und andere CAP 1.2 Sender) Alarme mit HTTP Basic-Zugangsdaten sendet.

Die Antwort ist der einzige Ort, an dem das Passwort erscheint (mit der Antwort drehen): Speichern Sie es sofort im sendenden System. Ziel ist ein Tag (jeder aktive Bildschirm mit diesem, wenn die Warnung eintrifft) oder bis zu 500 screen_ids.

Eine Warnung übernimmt jeden Zielbildschirm mit einer Standard-Playlist bis zum <expires> der Warnung, sonst für default_for_seconds (60 bis 604800, Standard 3600); siehe POST /api/triggers/{id}/cap. Eine Organisation hat höchstens 20 Trigger über alle ihre Projekte (trigger_limit_reached). Fügt trigger.created hinzu.

Ein exakter Wiederholungsversuch mit demselben Idempotency-Key gibt dieselbe Antwort, einschließlich Passwort, für vierundzwanzig Stunden zurück.

Das optionale pull fügt CAP-Quellen hinzu, die die Plattform für den Trigger liest (siehe CapPull); die Eingangs-url funktioniert daneben weiter. kind overlay legt stattdessen die zweite Art an: eine Eingangs-url (POST /api/triggers/{id}/overlay), an die ein beliebiges System (Home Assistant, eine Kamera, ein Alarmierungswerkzeug) wenige Worte sendet, die auf den Zielbildschirmen als Streifen über dem Laufenden (overlay.show bar, am unteren oder oberen Rand) oder als Übernahme (overlay.show takeover) angezeigt werden, solange eine Meldung läuft; siehe TriggerOverlay.

Mit signing true enthält die Antwort einmalig auch das Signaturgeheimnis. verify lässt die eigene Signatur eines Anbieters (GitHub, Stripe, Shopify, Slack, Linear, Vercel, Asana oder ein beliebiger HMAC-Sender) eine Zustellung anstelle des Passworts authentifizieren, das daneben weiter funktioniert; es lässt sich nicht mit signing kombinieren, und sein Secret wird versiegelt und nie zurückgegeben, nur ein Hinweis darauf. handshake nennt einen Anbieter-Handshake, den die URL beantwortet (Microsoft Graph, monday.com, Trello oder Azure Event Grid; verify slack und asana beantworten ihren eigenen).

Overlay-Haltezeiten betragen 10 bis 604800 Sekunden (Standard 600). Ein Trigger, dessen Selektor einen geschützten Bildschirm erreicht, ist protected_target (409), und ein fehlgeschlagenes Lesen des Bildschirmschutzes ist dependency_unavailable (500, dieselbe Anfrage wiederholen); ein Trigger steht einem auf Bildschirme beschränkten Aufrufer nicht zur Verfügung.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
TriggerWrite
Operations-ID
createTrigger

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
kind (optional, String)Erlaubt: "cap", "overlay" Standard: "cap"
label (erforderlich, string)minLength: 1 maxLength: 80
Ziel (erforderlich, TriggerTarget)Genau eines von tag und screen_ids.
default_for_seconds (optional, Ganzzahl)

Wie lange eine Meldung ohne <expires> die Bildschirme hält: 60 bis 604800, Standard 3600, bei einem CAP-Trigger; wie lange eine Sendung ohne duration ihre Meldung hält: 10 bis 604800, Standard 600, bei einem Overlay-Trigger. minimum: 10 maximum: 604800

pull (optional, CapPull)

CAP-Quellen, die die Plattform für den Auslöser liest, mit Zielbildschirmen und welche Alarme zählen: die Parameter einer cap-alert-Kartenplatzierung (docs/feeds.md "CAP alerts"). Jede Quell-URL wird einmal pro Minute für jeden Auslöser und jede Platzierung, die sie nennt, abgerufen.

Ohne Quellen werden die öffentlichen Feeds der Plattform für den Standort gelesen (NWS, Canada NAAD und MeteoAlarm für einen Standort mit Gebietscodes). Die schwerwiegendste passende Warnung übernimmt die Zielbildschirme genau wie eine Push-Nachricht; wenn die Quellen keine Warnungen zeigen (eine Stornierung oder ein Ablauf), endet eine abgerufene Warnung.

Eine veraltete oder fehlerhafte Quelle beendet niemals eine Warnung. Standort ist erforderlich, sofern keine Quellen angegeben sind.

overlay (optional, TriggerOverlayWrite)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers'

Antworten

StatusBedeutungTextkörper und Header
201Erstellt, mit seiner URL, dem Benutzernamen und dem Passwort.TriggerWithPassword (application/json); Header: ETag, Cache-Control
400invalid_request, einschließlich eines fehlerhaften Tags oder sowohl Tag als auch screen_ids.Problem (application/problem+json)
409trigger_limit_reached, idempotency_mismatch oder protected_target, wenn der Selektor einen Bildschirm in einem geschützten Bildschirmordner erreicht.Problem (application/problem+json)
500dependency_unavailable - die Prüfung auf geschützte Bildschirmordner konnte nicht ausgeführt werden; senden Sie dieselbe Anfrage nach kurzer Wartezeit erneut.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
GET/api/triggers/{id}

Trigger erhalten

Ein Trigger mit seiner letzten Meldung oder, bei einem Overlay-Trigger, seinen aktiven Meldungen (neueste zuerst, die erste wird angezeigt), den Verteilzahlen und der Angabe, ob noch Arbeit aussteht. Eine Meldung nach ihrem until wird als beendet mit ended_reason expired gelesen.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getTrigger

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Ein Trigger.Trigger (application/json); Header: ETag, Cache-Control
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
PATCH/api/triggers/{id}

Trigger aktualisieren

Ändert einen Trigger, ohne seine URL oder sein Geheimnis zu ändern: label, target, default_for_seconds, das pull eines CAP-Triggers (null entfernt es) und bei einem Overlay-Trigger overlay.edge, style (ersetzt den ganzen Stil; null löscht ihn), mapping (null entfernt es), enabled, signing, verify (null entfernt es; ohne Secret behält es das gespeicherte, wenn der Anbieter derselbe ist) und handshake (null entfernt es).

Ein deaktivierter Overlay-Trigger beantwortet seinen Absender mit demselben 404 wie ein falsches Geheimnis. Das Einschalten der Signatur gibt das Signaturgeheimnis einmal in dieser Antwort zurück. Ein Streifen ordnet sich auf den neuen Zielbildschirmen und am neuen Rand neu ein; das neue Ziel eines Übernahme-Triggers gilt ab der nächsten beginnenden Meldung. Hängt trigger.updated mit details.changed an. If-Match schützt die Revision.

Jedes Update wird gegen das Ziel geprüft, das der Trigger haben wird, das neue oder sonst das gespeicherte: Ein Ziel, das einen geschützten Bildschirm erreicht, ist protected_target (409), egal welches Mitglied ändert, und ein fehlgeschlagenes Lesen des Bildschirmschutzes ist dependency_unavailable (500, dieselbe Anfrage wiederholen).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
TriggerPatch
Operations-ID
updateTrigger

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
label (optional, string)minLength: 1 maxLength: 80
target (optional, TriggerTarget)Genau eines von tag und screen_ids.
default_for_seconds (optional, Ganzzahl)minimum: 10 maximum: 604800
pull (optional, inline)Nur CAP-Trigger; null entfernt die Quellen.
overlay (optional, object)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Der Trigger, mit signing_secret, wenn diese Aktualisierung die Signatur eingeschaltet hat.TriggerWithSecrets (application/json); Header: ETag, Cache-Control
400invalid_request — errors[0].field nennt das Feld (overlay.edge, overlay.style.theme, overlay.mapping, pull).Problem (application/problem+json)
409idempotency_mismatch oder protected_target, wenn das Ziel des Triggers (das neue, sonst das gespeicherte) einen Bildschirm in einem geschützten Bildschirmordner erreicht.Problem (application/problem+json)
500dependency_unavailable - die Prüfung auf geschützte Bildschirmordner konnte nicht ausgeführt werden; senden Sie dieselbe Anfrage nach kurzer Wartezeit erneut.Problem (application/problem+json)
412revision_conflict.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
LÖSCHEN/api/triggers/{id}

Trigger löschen

Löscht den Trigger. Seine URL funktioniert sofort nicht mehr, und seine Alarm-Playlist und Standbilder (oder die Streifen, die Playlist und die Karte eines Overlay-Triggers) werden gelöscht. Ein Trigger, der eine Meldung zeigt oder noch eine beendet, wird mit resource_conflict abgelehnt; beenden Sie sie zuerst. Hängt trigger.deleted an. If-Match schützt die Revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteTrigger

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
204Gelöscht.kein Körper
409resource_conflict – der Auslöser zeigt eine Warnung an.Problem (application/problem+json)
412revision_conflict.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/triggers/{id}/rotate-secret

Trigger-Geheimnis rotieren

Ersetzt das Passwort des Triggers und gibt das neue einmal zurück. Das alte Passwort funktioniert sofort nicht mehr; aktualisieren Sie das sendende System. Mit signing true im Body ersetzt es stattdessen das Signaturgeheimnis eines Overlay-Triggers und gibt dieses einmal zurück (400 invalid_request, wenn der Trigger nicht signiert). Hängt trigger.updated mit details.rotated an.

If-Match schützt die Revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
TriggerSecretRotate
Operations-ID
rotateTriggerSecret

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
signing (optional, Boolean)Das Signaturgeheimnis statt des Passworts rotieren.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/rotate-secret'

Antworten

StatusBedeutungTextkörper und Header
200Der Trigger mit seinem neuen Passwort oder seinem neuen Signaturgeheimnis.TriggerWithSecrets (application/json); Header: ETag, Cache-Control
412revision_conflict.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/triggers/{id}/test

Testauslöser

Zeigt eine einminütige Exercise-Warnung (eine blaue Karte mit gelbem EXERCISE-Banner) auf den Bildschirmen des Auslösers, genau wie eine empfangene Warnung, sodass Zielsetzung und Bildschirme ohne das sendende System geprüft werden können. Verweigert resource_conflict, während der Auslöser eine Warnung zeigt, sodass ein Test niemals eine echte ersetzt.

Eine exakte Wiederholung mit demselben Idempotency-Key beantwortet outcome duplicate. Ein Overlay-Trigger zeigt die Meldung screenrig-test (label Test, title Test overlay) eine Minute lang und antwortet mit einem TriggerOverlayReceipt.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
testTrigger

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/test'

Antworten

StatusBedeutungTextkörper und Header
200Was der Testalarm bewirkt hat.inline (application/json)
409resource_conflict – der Auslöser zeigt eine Warnung an.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/triggers/{id}/clear

Auslöser löschen

Beendet den Alarm des Triggers (ended_reason cleared) und löscht die von ihm gesetzten Übernahmen. Ein Bildschirm, der seitdem von einer anderen Übernahme ersetzt wurde, bleibt unberührt. Ein Trigger ohne aktiven Alarm antwortet unverändert. Fügt trigger.alert_received mit Ergebnis ended hinzu.

Bei einem Overlay-Trigger kann der Body eine Meldung nennen (alert_id); ohne sie enden alle Meldungen, und mit dem Ende der letzten wird der Streifen gesenkt oder werden die Übernahmen beendet.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
TriggerClear
Operations-ID
clearTrigger

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
alert_id (optional, string)Die Overlay-Meldung, die beendet wird. Ohne sie enden alle Meldungen. minLength: 1 maxLength: 200
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/clear'

Antworten

StatusBedeutungTextkörper und Header
200Der Trigger.alert.screens.pending ist wahr, während die Übernahmen bereinigt werden.Trigger (application/json); Header: ETag
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/triggers/{id}/cap

Trigger CAP empfangen

Die URL, an die ein Notifikationssystem eine CAP 1.2-Warnung sendet (beliebiger XML-Inhaltstyp, maximal 256 KiB). Die Authentifizierung erfolgt mit den HTTP-Basic-Zugangsdaten des Triggers: Benutzername ist die Trigger-ID, Passwort das bei Erstellung oder Rotation zurückgegebene.

Eine Nachricht mit Status Actual oder Exercise und msgType Alert zeigt auf jedem Zielbildschirm mit einer Standard-Playlist eine Vollbildkarte (Überschrift, Ereignis, Beschreibung, Anweisung und Absender, rot für Extreme, Severe oder keine Schwere, bernsteinfarben für Moderate, blau für Minor; Exercise fügt ein gelbes EXERCISE-Banner hinzu), bis <expires> oder sonst für default_for_seconds, maximal 7 Tage.

Ein Update, das sich auf die angezeigte Warnung bezieht, zeichnet diese an Ort und Stelle neu und verschiebt die Übernahmen, wenn sich <expires> geändert hat. Ein Abbrechen, das sich darauf bezieht, oder jede Nachricht mit responseType AllClear beendet sie und löscht die von ihr gesetzten Übernahmen. Ein Trigger zeigt eine Warnung an: eine neue Warnung ersetzt die angezeigte.

Test-, System- und Entwurfsnachrichten, Bestätigung und Fehler, eine bereits abgelaufene Warnung sowie ein Abbruch einer nicht angezeigten Warnung werden ignoriert; derselbe Absender und dieselbe Kennung zweimal sind ein Duplikat. Die Antwort ist eine Quittung mit dem Ergebnis; die Bildschirme werden direkt danach beschrieben (alert.screens.pending).

Die Übernahmen umgehen die Bildschirmsteuerungs-Rate-Limits und werden nie gemessen oder wegen Guthabenmangel abgelehnt. Fügt trigger.alert_received hinzu.

Authentifizierung
triggerBasic
Anfrageinhalt
string
Operations-ID
receiveTriggerCAP

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Content-Type: application/xml' --data-binary '@request.bin' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/cap'

Antworten

StatusBedeutungTextkörper und Header
200Was die Nachricht bewirkt hat.TriggerReceipt (application/json); Header: RateLimit-Policy, RateLimit, Cache-Control
400invalid_request — der Body ist kein verwendbarer CAP 1.2-Alarm oder größer als 256 KiB.Problem (application/problem+json)
401Nicht autorisiert – fehlende oder falsche Anmeldedaten oder ein unbekannter Trigger. WWW-Authenticate benennt den Basic-Bereich.Problem (application/problem+json)
429

Stabiles rate_limited-Problem. Nur nach dem autoritativen Retry-After-Intervall erneut versuchen. Ablehnungen mit festem Fenster enthalten auch die anwendbare RateLimit-Policy und RateLimit-Mitglieder; Ablehnungen wegen gleichzeitiger Nutzung und Byte-Budget enthalten diese optionalen Angaben nicht.

Problem (application/problem+json); Header: Retry-After, RateLimit-Policy, RateLimit
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/triggers/{id}/overlay

Sendung an einen Overlay-Trigger empfangen

Die URL, an die ein externes System (Home Assistant, eine Kamera, ein Türsensor, ein Alarmierungswerkzeug oder ein Anbieter, der seine eigenen Webhooks signiert) sendet, damit die Bildschirme des Triggers wenige Worte zeigen. Es authentifiziert sich mit dem eigenen Geheimnis des Triggers im Header Authorization: Bearer <secret> oder mit HTTP Basic, die Trigger-ID als Benutzername.

Wurde der Trigger mit verify angelegt, authentifiziert eine gültige Signatur im eigenen Header dieses Anbieters (siehe WebhookVerifyWrite) die Zustellung anstelle des Secrets, das daneben weiter funktioniert.

Wenn der Trigger signiert, ist zusätzlich ScreenRig-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>" under the signing secret> erforderlich, und t muss innerhalb von fünf Minuten zur Uhr des Servers liegen.

Ein unbekannter Trigger, ein CAP-Trigger, ein falsches oder fehlendes Secret oder eine falsche oder fehlende Signatur, ein veralteter Zeitstempel, ein deaktivierter Trigger und jedes GET erhalten dasselbe 404 not_found; das Projekt sieht den Grund im Zustellprotokoll des Triggers.

Ein Trigger, der für einen Anbieter-Handshake eingerichtet ist, beantwortet ihn zuerst, bevor irgendwelche Zugangsdaten verlangt werden, auf eine Anfrage, die dieser Handshake ist: die url_verification-Challenge von Slack (signiert), das validationToken von Microsoft Graph, das X-Hook-Secret von Asana (versiegelt als Signing-Secret seiner Ereignisse aufbewahrt), die challenge von monday.com, das SubscriptionValidationEvent von Azure Event Grid und die HEAD-Prüfung von Trello (die head-Operation dieser URL).

Ein Handshake ändert keine Meldung, wird nie abgerechnet und verbraucht kein Ratenbudget und wird im Zustellprotokoll mit dem Ergebnis handshake festgehalten.

Der Body, höchstens 256 KiB, ist JSON, application/x-www-form-urlencoded oder multipart/form-data (jedes Textfeld ist body.<field>, Dateiteile werden ignoriert und im Zustellprotokoll gezählt); mit einem mapping baut die Vorlage die Anfrage aus body und query. alert_id benennt die Meldung: Eine Zustellung mit einer aktiven ID aktualisiert diese Meldung, statt eine weitere zu stapeln, und die zuletzt gestartete Meldung wird angezeigt.

Jedes Auslösen oder Aktualisieren hält seine Meldung duration ab dieser Sendung (10 bis 604800 Sekunden oder 10s, 5m, 2h, 1d oder until_cleared; Standard ist der des Triggers), sodass ein Sensor, der weitersendet, das Overlay oben hält.

Eine Sendung mit clear true oder einem state, der "vorbei" bedeutet (off, closed, clear, cleared, resolved, ok, normal, inactive, ended), beendet die Meldung mit dieser ID, ohne ID alle Meldungen. Ein Auslösen oder Aktualisieren ist eine abgerechnete API-Anfrage; ein Beenden ist kostenlos und wird nie wegen des Guthabens abgelehnt.

Idempotency-Key (8 bis 200 Zeichen) beantwortet die Wiederholung eines Absenders vierundzwanzig Stunden lang mit der ersten Quittung. Höchstens 120 Sendungen pro Minute pro Trigger.

Authentifizierung
triggerBearer ODER triggerBasic
Anfrageinhalt
TriggerOverlayRequest
Operations-ID
receiveTriggerOverlay

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
ScreenRig-SignatureÜberschriftoptionalt=<unix seconds>,v1=<hex HMAC-SHA256 over "<t>.<raw body>">; erforderlich, wenn der Trigger signiert.

Anfrageinhalt-Felder

FeldBeschreibung
alert_id (optional, string)Die vom Absender gewählte ID der Meldung; fehlend oder leer ist es default bei einem Auslösen und jede Meldung bei einem Beenden. maxLength: 200
label (optional, string)Ein kurzes Etikett über dem Titel. maxLength: 40
title (optional, string)maxLength: 120
message (optional, string)maxLength: 400
note (optional, string)Eine ruhige Zeile am Fuß. maxLength: 120
duration (optional, inline)Wie lange diese Sendung die Meldung ab jetzt hält. Ohne Angabe gilt der Standard des Triggers.
clear (optional, inline)True beendet die Meldung (true, yes, y, 1 oder x als Text).
state (optional, String)Ein Zustandswort des Absenders: off, closed, clear, cleared, resolved, ok, normal, inactive oder ended (in jeder Schreibweise) beendet die Meldung; jeder andere Zustand löst sie aus.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'

Antworten

StatusBedeutungTextkörper und Header
200Was die Zustellung bewirkt hat, oder die Antwort auf den Handshake eines Anbieters.TriggerOverlayReceipt (application/json); Header: RateLimit-Policy, RateLimit, Cache-Control
400invalid_request — der Body ist zu groß, leer, weder JSON noch Formular, das mapping ist daran gescheitert, oder ein Feld ist falsch; das Zustellprotokoll nennt es.Problem (application/problem+json)
402payment_required — das Projekt hat kein Guthaben mehr (nur bei Auslösen oder Aktualisieren).Problem (application/problem+json)
404not_found — die eine Antwort auf jeden abgelehnten Post und jedes GET.Problem (application/problem+json)
409idempotency_mismatch.Problem (application/problem+json)
429

Stabiles rate_limited-Problem. Nur nach dem autoritativen Retry-After-Intervall erneut versuchen. Ablehnungen mit festem Fenster enthalten auch die anwendbare RateLimit-Policy und RateLimit-Mitglieder; Ablehnungen wegen gleichzeitiger Nutzung und Byte-Budget enthalten diese optionalen Angaben nicht.

Problem (application/problem+json); Header: Retry-After, RateLimit-Policy, RateLimit
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
HEAD/api/triggers/{id}/overlay

Head Trigger Overlay

Die Prüfung, die Trello bei einem neuen Webhook vornimmt. Sie antwortet mit 200 ohne Body für einen Trigger, dessen Handshake trello ist, und mit dem einen 404 not_found für jeden anderen Trigger, jede andere Adresse und Anfrage, sodass eine Link-Vorschau nichts erfährt. Sie schreibt nichts, wird nie abgerechnet und verbraucht kein Ratenbudget; die beantwortete Prüfung steht im Zustellprotokoll mit dem Ergebnis handshake.

Jedes GET antwortet mit dem 404 und liest nichts.

Authentifizierung
keine
Anfrageinhalt
keine
Operations-ID
headTriggerOverlay

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request HEAD 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'

Antworten

StatusBedeutungTextkörper und Header
200Der Webhook beantwortet den Handshake von Trello.kein Körper; Header: Cache-Control
404not_found — die eine Antwort auf jede andere Anfrage.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
GET/api/triggers/{id}/deliveries

Zustellungen eines Triggers auflisten

Die Zustellungen an einen Overlay-Trigger der letzten sieben Tage, neueste zuerst (höchstens 100), mit dem Zeitpunkt des Eingangs, dem Ausgang jeder einzelnen (shown, updated, unchanged, ended, ignored, refused, invalid oder handshake), dem Grund, warum eine abgelehnte oder ungültige es war (credentials, signature, signature_missing, signature_invalid, timestamp_missing, timestamp_stale, secret_pending, handshake_invalid, disabled, body, mapping, field, rate_limited, payment_required, internal), dem Status, der Größe, der Anzahl der Dateiteile, die eine Multipart-Zustellung trug (ignoriert), und der Anfrage-ID.

Es speichert weder Body noch Header noch Zugangsdaten. Ein CAP-Trigger hat keine.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listTriggerDeliveries

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
LimitAbfrageoptional
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/deliveries'

Antworten

StatusBedeutungTextkörper und Header
200Die Zustellungen des Triggers.TriggerDeliveryList (application/json)
400invalid_request — limit ist keine ganze Zahl von 1 bis 100.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)