OpenAPI YAMLOpenAPI JSONProbleme YAMLAPI-Überblick
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
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Erstellt, mit seiner URL, dem Benutzernamen und dem Passwort. | TriggerWithPassword (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request, einschließlich eines fehlerhaften Tags oder sowohl Tag als auch screen_ids. | Problem (application/problem+json) |
| 409 | trigger_limit_reached, idempotency_mismatch oder protected_target, wenn der Selektor einen Bildschirm in einem geschützten Bildschirmordner erreicht. | Problem (application/problem+json) |
| 500 | dependency_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Ein 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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Trigger, mit signing_secret, wenn diese Aktualisierung die Signatur eingeschaltet hat. | TriggerWithSecrets (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request — errors[0].field nennt das Feld (overlay.edge, overlay.style.theme, overlay.mapping, pull). | Problem (application/problem+json) |
| 409 | idempotency_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) |
| 500 | dependency_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) |
| 412 | revision_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Gelöscht. | kein Körper |
| 409 | resource_conflict – der Auslöser zeigt eine Warnung an. | Problem (application/problem+json) |
| 412 | revision_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| signing (optional, Boolean) | Das Signaturgeheimnis statt des Passworts rotieren. |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Trigger mit seinem neuen Passwort oder seinem neuen Signaturgeheimnis. | TriggerWithSecrets (application/json); Header: ETag, Cache-Control |
| 412 | revision_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Idempotency-Key | Überschrift | optional | Fü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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Was der Testalarm bewirkt hat. | inline (application/json) |
| 409 | resource_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| alert_id (optional, string) | Die Overlay-Meldung, die beendet wird. Ohne sie enden alle Meldungen. minLength: 1 maxLength: 200 |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request POST --header 'Content-Type: application/xml' --data-binary '@request.bin' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/cap'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Was die Nachricht bewirkt hat. | TriggerReceipt (application/json); Header: RateLimit-Policy, RateLimit, Cache-Control |
| 400 | invalid_request — der Body ist kein verwendbarer CAP 1.2-Alarm oder größer als 256 KiB. | Problem (application/problem+json) |
| 401 | Nicht 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| Idempotency-Key | Überschrift | optional | Fü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 | Überschrift | optional | t=<unix seconds>,v1=<hex HMAC-SHA256 over "<t>.<raw body>">; erforderlich, wenn der Trigger signiert. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Was die Zustellung bewirkt hat, oder die Antwort auf den Handshake eines Anbieters. | TriggerOverlayReceipt (application/json); Header: RateLimit-Policy, RateLimit, Cache-Control |
| 400 | invalid_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) |
| 402 | payment_required — das Projekt hat kein Guthaben mehr (nur bei Auslösen oder Aktualisieren). | Problem (application/problem+json) |
| 404 | not_found — die eine Antwort auf jeden abgelehnten Post und jedes GET. | Problem (application/problem+json) |
| 409 | idempotency_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 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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request HEAD 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Webhook beantwortet den Handshake von Trello. | kein Körper; Header: Cache-Control |
| 404 | not_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Limit | Abfrage | optional |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Zustellungen des Triggers. | TriggerDeliveryList (application/json) |
| 400 | invalid_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) |