OpenAPI YAMLOpenAPI JSONProbleme YAMLAPI-Überblick
Diese Gruppe hat 2 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.
Dauerhafte Projekt-Ereignisse
Ereignisse auflisten
Dauerhafte Projekt-Ereignisse aufsteigend nach Sequenz auflisten.
Paging ist zusammenhängend: Geben Sie den zurückgegebenen next_cursor als after weiter, um genau dort fortzusetzen, wo die Seite aufgehört hat. next_cursor ist der Cursor des zuletzt zurückgegebenen Ereignisses, während neuere Ereignisse bereits existieren, und null am Ende der Historie. Limit standardmäßig 50 und akzeptiert 1-200; ein Wert außerhalb dieses Bereichs wird mit invalid_request und einem errors[]-Element abgelehnt, das limit benennt.
Offset-Paging wird nicht unterstützt. source=log listet stattdessen das Player-Protokoll auf: die Bedingungsberichte, die Spieler senden (runtime.reported), aufsteigend nach Empfangszeit, gefiltert nach screen_id und Schweregrad über ein Zeitfenster von bis (standardmäßig die letzten 24 Stunden, maximal 31 Tage).
Seine Cursor sind undurchsichtig: lg1_ oder ev1_ je nachdem, wo der Server das Player-Protokoll speichert, also geben Sie den zurück, den eine Seite geliefert hat; ein Cursor des anderen Typs wird mit invalid_request abgelehnt, der das Feld nennt. Player-Protokolleinträge haben keine Sequenz, sind nicht auf GET /stream/project und werden nicht an Webhooks geliefert.
Ein Eintrag wird bestätigt, wenn die Player-Log-Warteschlange ihn akzeptiert und für die Ereignisaufbewahrung des Projekts gespeichert wird. Eine Abfrage mit dem letzten Cursor und dem Standardfenster folgt dem Log. Player-Log-Einträge sind nicht in der Standardliste (source=project). from und to werden mit invalid_request abgelehnt, sofern source nicht log ist.
Die Projektliste nimmt screen_id, playlist_id und application_id, um die Ereignisse eines Bildschirms, einer Playlist oder einer Anwendung zu lesen, alle auf das Projekt der Anmeldeinformationen beschränkt (eine ID benennt, welche Ereignisse gelesen werden, niemals wessen): screen_id enthält die Ereignisse, deren Ressource dieser Bildschirm ist; playlist_id die Ereignisse, deren Ressource diese Playlist ist, plus die Ereignisse, die sie als details.playlist_id benennen (ein Bildschirm, der sie verwendet); application_id die Ereignisse, deren Ressource diese Anwendung ist, plus diejenigen, deren Ressource sie als application_id trägt (ihre Releases und Schlüssel/Wert-Einträge).
Ein Wert, der keine ID seines Typs ist, wird mit invalid_request abgelehnt, wobei das Feld benannt wird; playlist_id und application_id werden mit source=log abgelehnt, dessen Datensätze nur zu einem Bildschirm gehören.
Beide Quellen verwenden resource_id, Typ und Schweregrad (mindestens), kombiniert miteinander, mit den ID-Filtern und mit der Paginierung; ein Player-Protokolleintrag ist ein runtime.reported-Eintrag, dessen Ressource sein Bildschirm ist, daher ergibt eine resource_id, die nicht dieser Bildschirm ist, oder ein Typ, der runtime.reported ausschließt, eine leere Seite. Vorher (oder order=desc) zeigt die neuesten zuerst: next_cursor ist dann der Cursor des ältesten zurückgegebenen Elements und wird als before zurückgegeben, um zu älteren Elementen fortzufahren.
Ohne from erreicht eine neueste-zuerst source=log-Seite über die standardmäßigen 24 Stunden hinaus den ältesten Datensatz, den die Ereignisaufbewahrung des Projekts hält, höchstens 31 Tage unterhalb der oberen Seitenkante pro Anfrage. Eine neueste-zuerst source=log-Seite kann weniger als limit Datensätze enthalten, auch keine, mit next_cursor; null beendet sie dennoch am Ende des aufbewahrten Logs.
Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) liest einen gefilterten Feed: Ereignisse von Bildschirmen innerhalb seines Bereichs, von den Bildschirmordnern, die er sehen kann (seine eigenen, die darüber und die darin; screen.moved nur, wenn das Ziel innerhalb seines Bereichs liegt), von Kampagnen, Playlists, Medien, Anwendungen und Karten sowie playlist_change-Überprüfungen.
Jedes andere Ereignis wird ausgelassen, sodass eine Seite weniger Ereignisse als limit enthalten kann, sogar keine, mit einem next_cursor; blättern Sie damit weiter. source=log braucht eine screen_id innerhalb des Bereichs. Ereignisse über das Projekt selbst werden nicht gesendet.
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. |
| nach | Abfrage | optional | Ein Cursor aus einer vorherigen Antwort: ev1_ für Projekt-Ereignisse (und die Ereignisströme). Das Player-Protokoll (source=log) paginiert mit lg1_ oder ev1_ Cursorn nach dem Speicherort auf dem Server; behandeln Sie sie als undurchsichtig und geben Sie den Cursor zurück, den eine Seite zurückgegeben hat. Ein Cursor eines anderen Typs wird mit invalid_request abgelehnt. |
| vor | Abfrage | optional | Seiten neueste zuerst, strikt älter als dieser Cursor: ein next_cursor einer neuesten-ersten Seite oder ein beliebiger Item-Cursor (ev1_ für Projekt-Ereignisse; für source=log der undurchsichtige Cursor, den seine Items tragen). Leer oder abwesend mit order=desc beginnt bei dem neuesten Element. |
| Reihenfolge | Abfrage | optional | Aufsteigend Seiten älteste zuerst mit after; absteigend Seiten neueste zuerst mit before. before impliziert absteigend; order=asc mit before wird abgelehnt. |
| Limit | Abfrage | optional | Seitengröße. Ein Wert außerhalb von 1-200 wird mit invalid_request und einem errors[]-Element abgelehnt, dessen Feld limit ist. |
| Quelle | Abfrage | optional | Projekt listet die sequenzierten Projekt-Ereignisse auf. Log listet das Player-Protokoll: Player-Zustandsberichte (runtime.reported), aufsteigend nach Empfangszeit. |
| resource_id | Abfrage | optional | Nur Elemente, deren resource.id diese ID ist (eine Bildschirm-, Playlist-, Medien-, Webhook-, Agent- oder Anwendungs-ID). Mit source=log ist es der Bildschirm des Eintrags. |
| Typ | Abfrage | optional | Ein exakter Ereignistyp wie playlist.updated oder ein Familienpräfix, das mit einem Punkt endet, wie playlist. für jeden playlist.*-Typ. |
| screen_id | Abfrage | optional | Nur die Ereignisse dieses Bildschirms: mit source=project diejenigen, deren Ressource der Bildschirm ist, mit source=log seine Player-Protokolleinträge. Eine andere ID-Art wird mit invalid_request abgelehnt. |
| playlist_id | Abfrage | optional | Bei source=project nur die Ereignisse dieser Playlist: jene, deren Ressource die Playlist ist, und jene, die sie als details.playlist_id benennen. Bei source=log abgelehnt. |
| application_id | Abfrage | optional | Bei source=project nur die Ereignisse dieser Anwendung: jene, deren Ressource die Anwendung ist, und jene, deren Ressource sie als application_id trägt (deren Releases und Schlüssel/Wert-Einträge). Bei source=log abgelehnt. |
| Schweregrad | Abfrage | optional | Mindestschwere: info zeigt alle Einträge, warning zeigt Warnungen und Fehler, error zeigt nur Fehler. Beide Quellen. |
| von | Abfrage | optional | Bei source=log der Beginn des Zeitfensters (inklusiv). Standard ist 24 Stunden vor to; eine neueste-zuerst-Seite ohne from reicht stattdessen bis zur Ereignisaufbewahrung des Projekts zurück. |
| bis | Abfrage | optional | Bei source=log das Ende des Zeitfensters (exklusiv). Standard ist jetzt. Das Fenster ist höchstens 31 Tage lang. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/events'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Dauerhafte Ereignisse (source=project) oder Player-Protokolleinträge (source=log) | EventList (application/json) |
| 403 | outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt. | 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) |
Stream Ereignisse
Wiederholbarer Listen-Stream des Projekts. Player-Log-Einträge (runtime.reported) werden mit GET /api/events?source=log gelesen und sind nicht in diesem Stream enthalten. Das Öffnen dieser Anfrage kostet 1 Credit als Listen-Abonnement. Credit-Header werden weggelassen. Spätere abgerechnete Ereignisse kosten jeweils 1 Credit; screen.*, runtime.*, alert_mute.* und application.event sind ausgenommen.
Herzschläge und die Wiederholungs-Vorabmeldung werden nie berechnet. stream.cursor und stream.resync_required werden berechnet. Debit-Idempotenz ist sse-event:<project_id>:<sequence>, sodass das erneute Verbinden und Abspielen kostenlos ist. Ein unbezahltes berechnetes Ereignis wird nicht geschrieben und der Stream schließt.
Ein mit einer Dashboard-Sitzung geöffneter Stream rechnet nichts ab (weder das Öffnen noch seine Ereignisse), wie die API-Anfragen des Dashboards; er belegt dennoch einen der Stream-Slots des Projekts. Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) erhält denselben gefilterten Feed wie GET /api/events: Für ein verworfenes Ereignis wird kein Frame gesendet, und stream.cursor hält die Position in Bewegung.
Der Bereich wird beim Öffnen des Streams gelesen und der Ordnerbaum bei einem Verschiebe- oder Ordner-Ereignis erneut; ein verengter Bereich gilt für einen offenen Stream, wenn er sich neu verbindet.
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. |
| nach | Abfrage | optional | Ein Cursor aus einer vorherigen Antwort: ev1_ für Projekt-Ereignisse (und die Ereignisströme). Das Player-Protokoll (source=log) paginiert mit lg1_ oder ev1_ Cursorn nach dem Speicherort auf dem Server; behandeln Sie sie als undurchsichtig und geben Sie den Cursor zurück, den eine Seite zurückgegeben hat. Ein Cursor eines anderen Typs wird mit invalid_request abgelehnt. |
| Last-Event-ID | Überschrift | optional | Dauerhafter Cursor, der verwendet wird, wenn after fehlt. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/stream/project'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Wiederholbarer SSE-Stream. Der Abfrage-Cursor hat Vorrang vor Last-Event-ID. Ungültige, zukünftige oder vor der Aufbewahrung liegende Cursor erhalten stream.resync_required am aktuellen Kopf und schließen. Keine ScreenRig-Credits-* Header. | string (text/event-stream) |
| 402 | 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) |
| 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) |