API-Referenz

Medien-API

Medien-Uploads

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

Diese Gruppe hat 38 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.

Medien-Uploads

GET/api/media

Medien auflisten

Bereite Medien neueste zuerst auflisten, maximal 1000 pro Seite. folder enthält nur die Dateien direkt in einem Medienordner (dessen ID) oder mit root nur die an der Bibliothekswurzel; eine wohlgeformte Ordner-ID, die keinen Ordner benennt, listet nichts auf. next_cursor ist die Position der zuletzt zurückgegebenen Zeile, solange weitere Zeilen vorhanden sind; geben Sie ihn als after mit denselben Filtern für die nächste Seite zurück. next_cursor ist auf der letzten Seite null.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listMedia

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.
TagAbfrageoptionalExaktes Medientag. Unmarkierte Objekte werden ausgelassen, wenn dieser Filter vorhanden ist.
primitiveAbfrageoptional
OrdnerAbfrageoptionalEine Medienordner-ID enthält nur die Dateien direkt in diesem Ordner, nicht die seiner Unterordner; root enthält nur die Dateien im Bibliotheksstamm. Weggelassen listet jede Datei auf.
idsAbfrageoptional

Kommagetrennte Medien-IDs, höchstens 200 verschiedene; mehr wird mit invalid_request bei ids abgelehnt. Es bleiben nur diese Dateien: Eine ID, die keine fertige Datei benennt, fehlt im Ergebnis, und die übrigen Filter und die Paginierung gelten weiterhin. Ein leerer Wert listet nichts auf.

libraryAbfrageoptional

true listet statt dieses Projekts das Bibliotheksprojekt der Organisation auf: Seine Elemente sind hier schreibgeschützt und tragen library true. Eine Organisation ohne Bibliothek oder das Bibliotheksprojekt selbst listet mit true nichts auf.

nachAbfrageoptionalnext_cursor der vorherigen Seite derselben Liste mit denselben Filtern. Wird ausgelassen, beginnt bei der neuesten Zeile. Ein Wert, der kein solcher Cursor ist, ist invalid_request.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media'

Antworten

StatusBedeutungTextkörper und Header
200MedienMediaList (application/json)
POST/api/media/generations

Medienerstellung starten

Ein Standbild aus einem Prompt erzeugen, es als fertiges privates Projektmedium speichern und seine Nutzung berechnen. POST antwortet sofort mit 202 und Operation, mit oder ohne Prefer: respond-async, weil ein Proxy vor der API eine Anfrage verwirft, die 100 s lang kein Byte sendet, und ein Standbild in hoher Qualität länger dauern kann.

Fragen Sie GET /api/operations/{id} ab, bis Operation succeeded ist, wenn result {media_id, usage: {quality, credits, usd}} (MediaGenerationUsage) ist, oder failed ist, wenn error das Problem ist. Eine Ablehnung, die vor jeder Arbeit des Anbieters entschieden wird (payment_required, reseller_generation_limit, rate_limited, not_ready, invalid_request), beantwortet den POST dennoch.

Sie enthält niemals Bildbytes, b64_json, Objektschlüssel, signierte URLs, Anbieter-URLs, Anbieter-Kosten, Anbieter-Tokens oder den Namen des Bereitstellungsmodells. Der Prompt sind Kundenbytes und wird nicht zurückgegeben.

Bevor der Prompt den Bildanbieter erreicht, fügt der Server feste Rahmenanforderungen hinzu: Das Kunstwerk muss den Rahmen randfüllend ausfüllen, und es dürfen kein Fernseher, Monitor, Bildschirm, Display, Rahmen, Rand, Halterung, Ständer, Wand, Raum, Geräte-Mockup, Schatten oder Foto eines installierten Schildes dargestellt werden. Jegliche Beschreibung im Prompt, wo das Schild hängen wird oder welches Gerät es zeigt, wird als Platzierungsmetadaten und nicht als Motiv behandelt.

Dekorative Regeln und Rahmen innerhalb des Designs selbst bleiben verfügbar. Der Prompt des Aufrufers wird niemals umgeschrieben oder entfernt und wird unverändert gespeichert. Idempotency-Key spielt dieselbe Operation erneut ab, niemals einen zweiten berechneten Versuch. Clients führen kein PUT aus und committen die generierten Bytes nicht.

Die gespeicherte Wiedergabe ist verlustbehaftetes WebP (Qualität 90) in genauem Seitenverhältnis mit einer kurzen Kante von 1080 px (16:9 ist 1920x1080, 9:16 1080x1920, 1:1 1080x1080, 4:3 1440x1080, 3:4 1080x1440, 3:2 1620x1080, 2:3 1080x1620); die Lieferanten-Leinwand wird zentriert zugeschnitten und auf diese Größe neu abgetastet.

Der Dateiname ist pro Generation unverwechselbar, z. B. generated-16x9-1a2b3c4d.webp, mit dem Suffix aus der Medien-ID. Holen Sie die Bytes mit GET /api/media/{id}/content. Eigene Generierung und anschließendes Hochladen bleibt gültig.

Bei Standard führt ein Guthaben, das nach dem Einführungsniveau (minus 1.000.000 Credits bis 2027-01-01, dann null) nicht die doppelten Anbieterkosten des Standbilds abdeckt, auf ganze Credits aufgerundet, zu payment_required, außer SCREENRIG__ENVIRONMENT=development, und die Zulassung vor dem Anbieteraufruf erfordert ein Guthaben über diesem Niveau um den Mindestwert pro Qualität: 200 Credits für niedrig, 800 für mittel, 2000 für hoch.

Andere Pläne werden nie wegen ihres Guthabens abgelehnt.

Eine über einen Reseller abgerechnete Organisation wird mit reseller_generation_limit (402) abgelehnt, sobald den delegierten Kunden ihres Resellers das monatliche Limit für die Bildgenerierung in Rechnung gestellt wurde ($100 zum Listenpreis, solange der Reseller auf die Prüfung wartet, danach $1,000, gezählt pro UTC-Monat), es sei denn, das eigene Guthaben der Organisation deckt das Bild; eine bereits zugelassene Generierung wird abgeschlossen.

Eine leere Konfiguration des gewählten Anbieters liefert not_ready. Nur Projekt-Bearer. Eine laufende Generierung pro Organisation; weitere Parallelität ist rate_limited.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaGenerationRequest
Operations-ID
createMediaGeneration

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Überschrifterforderlich
PreferÜberschriftoptionalOptional. Die Route antwortet mit oder ohne diesen Header sofort mit 202 und Operation; fragen Sie Operation ab.

Anfrageinhalt-Felder

FeldBeschreibung
prompt (erforderlich, Zeichenkette)minLength: 1 maxLength: 4000
aspect_ratio (optional, string)Erlaubt: "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3" Standard: "16:9"
Qualität (optional, Zeichenkette)Erlaubt: "low", "medium", "high" Standard: "medium"
Tag (optional, string)Muster: "^[A-Za-z0-9]{1,32}$"
Referenzen (optional, Array)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/media/generations'

Antworten

StatusBedeutungTextkörper und Header
202

Die Generierung wurde akzeptiert und läuft weiter; fragen Sie GET /api/operations/{id} ab, bis Operation succeeded (result media_id und usage) oder failed (error) ist. Derselbe Idempotency-Key antwortet mit derselben Operation.

Operation (application/json); Header: Preference-Applied, RateLimit-Policy, RateLimit
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)
404

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)
500

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)
GET/api/media-folders

Medienordner auflisten

Alle Medienordner im Projekt auflisten, maximal 1000, sortiert nach Name. Ordner organisieren die Medienbibliothek, und ein Playlist-Selector nach:folder spielt die Dateien direkt in einem Ordner ab. Die parent_id eines Ordners ist null an der Bibliothekswurzel.

Bauen Sie den Baum aus parent_id; der Ordner einer Datei ist Media.folder_id. library=true listet stattdessen die Ordner der Bibliothek der Organisation auf (schreibgeschützt; ein by:folder-Selektor kann einen davon benennen).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listMediaFolders

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.
libraryAbfrageoptional

true listet statt dieses Projekts das Bibliotheksprojekt der Organisation auf: Seine Elemente sind hier schreibgeschützt und tragen library true. Eine Organisation ohne Bibliothek oder das Bibliotheksprojekt selbst listet mit true nichts auf.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media-folders'

Antworten

StatusBedeutungTextkörper und Header
200MedienordnerMediaFolderList (application/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/media-folders

Medienordner erstellen

Erstellt einen Medienordner im Bibliotheksstamm (parent_id null oder nicht vorhanden) oder innerhalb von parent_id. Namen werden getrimmt, enthalten 1 bis 100 Unicode-Zeichen ohne Steuerzeichen, sind nicht "." oder ".." und können sich wiederholen. Eine Organisation hält höchstens 1000 Ordner über alle ihre Projekte (quota_exceeded), maximal 10 Ebenen tief (invalid_request). Sendet media.folder_created.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaFolderCreate
Operations-ID
createMediaFolder

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.
project_idAbfrageoptional

Bei dashboardSession das beim Erstellen des Ordners angezeigte Projekt. Falls angegeben, muss es dem ausgewählten Sitzungsprojekt entsprechen, sonst resource_conflict; ein leerer oder wiederholter Wert ergibt invalid_request. Weglassen erhält die Kompatibilität mit älteren Dashboard-Clients. Anfragen mit Projekt-Bearer verwenden ihr autorisiertes Projekt.

Anfrageinhalt-Felder

FeldBeschreibung
Name (erforderlich, Zeichenkette)Gekürzt; 1 bis 100 Unicode-Zeichen, keine Steuerzeichen, nicht . oder .. minLength: 1 maxLength: 100
parent_id (optional, inline)Der Ordner, in dem es erstellt werden soll; null oder fehlt für die Bibliothekswurzel.
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://screenrig.ai/api/media-folders'

Antworten

StatusBedeutungTextkörper und Header
201Ordner erstellt.MediaFolder (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)
GET/api/media-folders/{id}

Medienordner erhalten

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getMediaFolder

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://screenrig.ai/api/media-folders/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Ein Medienordner.MediaFolder (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)
PATCH/api/media-folders/{id}

Medienordner aktualisieren

Benennt einen Ordner um (Name) oder verschiebt ihn mit allem Inhalt (parent_id, null für die Bibliothekswurzel). Ein Ordner kann nicht in sich selbst oder einen darin enthaltenen Ordner verschoben werden, und die Verschiebung muss alle Ordner innerhalb von 10 Ebenen halten (invalid_request). Eine Änderung erhöht die Ordnerrevision und löst media.folder_updated aus; dieselben Werte sind eine No-Op.

If-Match schützt optional die Revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaFolderPatch
Operations-ID
updateMediaFolder

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
Name (optional, Zeichenkette)Gekürzt; 1 bis 100 Unicode-Zeichen, keine Steuerzeichen, nicht . oder .. minLength: 1 maxLength: 100
parent_id (optional, inline)Verschieben Sie den Ordner in diesen; null für den Bibliotheksstamm.
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://screenrig.ai/api/media-folders/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Ordner aktualisiert.MediaFolder (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)
LÖSCHEN/api/media-folders/{id}

Medienordner löschen

Löscht einen Ordner. Nichts darin wird gelöscht – seine Dateien und Ordner werden in den übergeordneten Ordner des gelöschten Ordners verschoben (die Bibliothekswurzel, wenn keiner vorhanden war), jede verschobene Datei und jeder verschobene Ordner erhält eine neue Revision. Ein Playlist-Selector nach:folder, der den gelöschten Ordner benennt, trifft dann auf nichts; abspielende Bildschirme entfernen dieses Primitive bei der nächsten Selector-Auflösung.

Gibt media.folder_deleted aus. If-Match schützt optional die Revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteMediaFolder

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://screenrig.ai/api/media-folders/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
204Gelöscht; dessen Inhalte befinden sich jetzt im übergeordneten Ordner.kein Körper
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/media/move

Medien verschieben

Verschiebt Dateien (media_ids) und Ordner (folder_ids) in einen Ordner (folder_id) oder zum Bibliotheksstamm, wenn folder_id null ist, in einer einzigen Alles-oder-Nichts-Anfrage mit maximal 1000 IDs. Jede ID muss existieren (not_found). Ein Ordner kann nicht in sich selbst oder einen darin enthaltenen Ordner verschoben werden, und die Verschiebung muss alle Ordner innerhalb von 10 Ebenen halten (invalid_request).

Elemente, die sich bereits am Ziel befinden, bleiben unverändert; jede verschobene Datei und jeder verschobene Ordner erhöht deren Revision. Das Verschieben von Dateien ändert, was die by:folder-Selektoren ihrer alten und neuen Ordner abspielen, basierend auf der nächsten Selektorauflösung jedes Bildschirms; das Verschieben eines Ordners ändert keine eigenen Dateien eines Ordners. Sendet media.moved.

Eine Propose-Anmeldeinformation macht jede verschobene Datei ausstehend und setzt ihre Medienüberprüfung in die Warteschlange; genehmigte Playlists lösen sie durch den Ordner auf, mit dem sie genehmigt wurde, bis eine Person die Änderung genehmigt (docs/reviews.md).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaMove
Operations-ID
moveMedia

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
folder_id (erforderlich, inline)Zielordner; null für die Bibliothekswurzel.
media_ids (optional, Array)
folder_ids (optional, Array)
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://screenrig.ai/api/media/move'

Antworten

StatusBedeutungTextkörper und Header
200Wie viele Dateien und Ordner verschoben wurden.MediaMoveResult (application/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/media/uploads

Medien-Upload starten

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaUploadDeclaration
Operations-ID
createMediaUpload

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Überschrifterforderlich
project_idAbfrageoptional

Erforderlich mit dashboardSession: das Projekt, in dem die Datei in die Warteschlange gestellt wurde. Muss mit dem ausgewählten Projekt der Sitzung übereinstimmen, sonst resource_conflict. Dies bindet die Upload-Zulassung über Tabs hinweg. Die zurückgegebene Upload-ID bleibt projektbezogen für Byte-Upload und Commit. Weggelassen bei einem Projekt-Bearer.

Anfrageinhalt-Felder

FeldBeschreibung
Dateiname (erforderlich, String)Name der hochgeladenen Bytes, wie sie gesendet werden: ein reiner Dateiname mit höchstens 255 UTF-8-Bytes, ohne Verzeichnis, Backslash oder Steuerzeichen. minLength: 1 maxLength: 255
source_filename (optional, Zeichenfolge)

Ursprünglicher Dateiname des Aufrufers vor jeglicher clientseitiger Transkodierung. Nur Dateiname ohne Pfad, höchstens 255 UTF-8-Bytes. Wird unverändert als source_filename im fertigen Medium gespeichert und zur Ableitung von filename verwendet. minLength: 1 maxLength: 255

content_type (erforderlich, Zeichenfolge)Erlaubt: "image/png", "image/jpeg", "image/webp", "image/gif", "video/mp4", "video/webm", "audio/mpeg"
Bytes (erforderlich, Ganzzahl)Minimum: 1 Maximum: 1073741824
sha256 (erforderlich, Zeichenfolge)Muster: "^[a-f0-9]{64}$"
Tag (optional, string)Muster: "^[A-Za-z0-9]{1,32}$"
folder_id (optional, String)

Der Medienordner, in dem das fertige Medium landet; weggelassen landet es im Stammverzeichnis der Bibliothek. Der Ordner muss existieren, wenn der Upload deklariert wird (sonst invalid_request bei folder_id) und wenn er abgeschlossen wird (die Operation schlägt mit invalid_request fehl: erneut deklarieren). Ein Uploader (docs/uploaders.md) muss einen seiner Ordner senden (sonst outside_upload_scope).

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/media/uploads'

Antworten

StatusBedeutungTextkörper und Header
201

Kurzlebige signierte Autorisierung für genau ein privates Objekt-PUT. Senden Sie die zurückgegebene Methode und jeden zurückgegebenen Header wörtlich. So lädt auch das Dashboard hoch. Sein Browser überträgt die Bytes per PUT direkt an den Objektspeicher, niemals über die API, weil ein Proxy vor der API einen Request-Body über 100 MB ablehnt.

Ein Browser setzt Content-Length selbst aus dem Body, daher sendet er jeden zurückgegebenen Header außer diesem.

MediaUploadSession (application/json); Header: Cache-Control, 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/media/uploads/{id}/commit

Medien-Upload bestätigen

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaCommit
Operations-ID
commitMediaUpload

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Überschrifterforderlich

Anfrageinhalt-Felder

FeldBeschreibung
content_type (erforderlich, Zeichenfolge)Erlaubt: "image/png", "image/jpeg", "image/webp", "image/gif", "video/mp4", "video/webm", "audio/mpeg"
Bytes (erforderlich, Ganzzahl)Minimum: 1 Maximum: 1073741824
sha256 (erforderlich, Zeichenfolge)Muster: "^[a-f0-9]{64}$"
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/media/uploads/RESOURCE_ID/commit'

Antworten

StatusBedeutungTextkörper und Header
202Exakte Erklärung, die für asynchrone Verifizierung und unveränderliche private Veröffentlichung gespeichert wird.Operation (application/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/selectors/preview

Vorschau-Auswahl

Nur lesende Vorschau aktueller projekt-eigener bereiter Bild- oder Videoübereinstimmungen. Gibt Dateinamenreihenfolge und normalisierte Richtlinie zurück; zufällige Wiedergabe mischt bei jedem neuen Durchlauf auf dem Player. Bewegt keine Cursor, erstellt keine Inhaltsberechtigungen und ändert keine Manifeste. Mehr als 1024 Übereinstimmungen führen zu invalid_request.

Authentifizierung
projectBearer
Anfrageinhalt
SelectorPreviewInput
Operations-ID
previewSelector

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.

Anfrageinhalt-Felder

FeldBeschreibung
Zeitzone (optional, Zeichenkette)IANA-Zone, in der die Medienverfügbarkeit gelesen wird; Standard UTC.
rect (optional, Objekt)Die Rect-Größe der Primitive; erforderlich mit selector.fit aspect.
primitive (erforderlich, Zeichenfolge)Erlaubt: "image", "video"
selector (erforderlich, inline)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/selectors/preview'

Antworten

StatusBedeutungTextkörper und Header
200Aktuelle Selektoren stimmen überein.SelectorPreview (application/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/media/{id}

Medien erhalten

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getMedia

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://screenrig.ai/api/media/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Bereit private Medienmetadaten. Originalbytes sind dem Eigentümerprojekt über die Projektexportroute und einem Bildschirm nur über eine genaue Laufzeitmanifest-Berechtigung verfügbar.Medien (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)
PATCH/api/media/{id}

Patch-Medien

Setzt oder löscht die Tags des Medienobjekts. Eine Änderung des Tag-Sets durch eine Propose-Berechtigung macht das Objekt ausstehend und stellt seine Medienbewertung in die Warteschlange; genehmigte Playlists lösen es durch die Tags auf, mit denen es genehmigt wurde, bis eine Person die Änderung genehmigt (docs/reviews.md). Ein Patch, der dasselbe Tag-Set beibehält, wird angewendet und das Objekt bleibt genehmigt.

Authentifizierung
projectBearer
Anfrageinhalt
MediaTagPatch
Operations-ID
patchMedia

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 PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/media/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Bereit Medien mit aktualisiertem Tag. Laufzeit-Tag-Selektoren erkennen die Änderung bei ihrer nächsten Playlist-Schleifen-Aktualisierung.Medien (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)
LÖSCHEN/api/media/{id}

Medien löschen

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteMedia

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://screenrig.ai/api/media/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
204Archiviert. Referenzierte gewünschte oder aktive Berechtigungen können nicht gelöscht werden.kein Körper
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/media/{id}/tags

Patch-Medien-Tags

Eine angemeldete Person setzt die Tags eines Medienobjekts. tags ist die vollständige neue Menge, sortiert: Ein einzelnes Tag eines Objekts, wenn vorhanden, zählt als eines seiner Tags und wird durch die anderen ersetzt, also senden Sie es erneut, um es zu behalten. Ein leeres Array löscht alle Tags, ein fehlerhaftes oder doppeltes Tag oder mehr als 32 sind invalid_request.

Es ist die Tag-Änderung, die patchMedia unter einer Manage-Berechtigung in der Dashboard-Sitzung vornimmt: Die Medienrevision erhöht sich um eins und media.updated trägt die Person als Akteur, unabhängig davon, ob sich die Menge geändert hat. Eine Änderung einer Person ist live, niemals eine Überprüfung.

Medien, die auf die Überprüfung durch eine Person warten (review_state pending, hinterlassen durch einen Upload oder eine Änderung mit Propose-Berechtigung), werden mit media_pending_review (409) abgelehnt und es ändert sich nichts: Entscheiden Sie zuerst über die Überprüfung in Reviews, damit eine Tag-Bearbeitung niemals einen Vorschlag eines Agenten genehmigt. Playlist-Selektoren nach Tag erkennen die neuen Tags bei ihrer nächsten Playlist-Schleifenaktualisierung.

Der Body hat kein anderes Mitglied. If-Match trägt die Medienrevision und ist erforderlich (invalid_request bei Abwesenheit, revision_conflict bei veraltetem Stand). Nur die Dashboard-Sitzung; Agenten ändern Tags mit patchMedia. listMedia mit Tag findet das Element anhand seiner neuen Tags.

Authentifizierung
dashboardSession
Anfrageinhalt
MediaTagsPatch
Operations-ID
patchMediaTags

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Medienobjekts, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
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
Tags (erforderlich, Array)Ersetztes Tag-Set; ein leeres Array löscht es.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/media/RESOURCE_ID/tags'

Antworten

StatusBedeutungTextkörper und Header
200Das fertige Medienobjekt, wie es jetzt gespeichert ist; ETag trägt seine Revision.Medien (application/json); Header: ETag
409media_pending_review — der Eintrag wartet auf die Überprüfung durch eine Person; bitte zuerst entscheiden.Problem (application/problem+json)
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.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)
PATCH/api/media/{id}/availability

Medienverfügbarkeit ändern

Legt fest, wann ein Medienelement von den dynamischen Selektoren (all, tag und folder), die es abspielen, ausgewählt werden darf, oder entfernt die Regel mit availability null. Die Regel entspricht der des Zeitplans: from und until (zivil, Minutengenauigkeit, until ausschließlich), Vorkommen aus windows, monthly und dates sowie except-Daten, gelesen in der Zeitzone jedes Bildschirms, der den Selektor auflöst.

Eine Datei außerhalb ihrer Regel wird an der nächsten Playlist-Schleifengrenze aus der Auswahl genommen und kehrt zurück, sobald die Regel wieder gilt; einer Fenstergrenze folgt der Player innerhalb einer Minute nach seiner nächsten Schleife. Keine Playlist- oder Manifestrevision ändert sich. Explizite IDs (Selektor per id oder ids) ignorieren die Regel, ebenso alles, was kein dynamischer Selektor ist.

Ein Bildschirm, der offline ist, behält seine letzte Auswahl, bis er sich wieder verbindet. Das Setzen der Regel, die das Element bereits hat, ändert nichts. Eine Propose-Anmeldeinformation kann sie nicht setzen (insufficient_access): Wann Medien abgespielt werden, bestimmt eine Person mit Manage-Zugriff. Medien, die auf die Überprüfung durch eine Person warten, werden mit media_pending_review abgelehnt.

If-Match enthält die Medienrevision und ist erforderlich.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaAvailabilityPatch
Operations-ID
patchMediaAvailability

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ÜberschrifterforderlichDie aktuelle Revision des Medienelements, in Anführungszeichen oder bare (das ETag des letzten Lesens). Eine veraltete Revision ergibt 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
availability (erforderlich, inline)Die neue Regel, oder null, damit die Datei immer verfügbar ist.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/media/RESOURCE_ID/availability'

Antworten

StatusBedeutungTextkörper und Header
200Das fertige Medienobjekt, wie es jetzt gespeichert ist; ETag trägt seine Revision.Medien (application/json); Header: ETag
409media_pending_review — der Eintrag wartet auf die Überprüfung durch eine Person; bitte zuerst entscheiden.Problem (application/problem+json)
412revision_conflict — If-Match ist veraltet.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/media/{id}/replace

Medien ersetzen

Ersetzt die Datei eines bereiten Medienelements an Ort und Stelle durch einen deklarierten Upload (createMediaUpload), dessen Bytes geschrieben wurden, statt ihn als neues Medium zu übernehmen.

Das Medium behält seine ID, sodass jede Playlist und jeder Zeitplan, die es nennen, die neue Datei ohne Neuplanung abspielen, und die Ordner-, Tag- und Alle-Medien-Selektoren, die es auswählen, spielen sie bei ihrer nächsten Auflösung. Der Ersatz muss dieselbe Dateiart sein (Bild für Bild, Video für Video, Audio für Audio); eine andere Art ergibt invalid_request.

Ein geändertes Seitenverhältnis ist erlaubt: Das Ergebnis der Operation enthält einen warnings-Eintrag aspect_ratio_changed, der die Playlists nennt, die das Element verwenden. Alle Upload-Regeln gelten (das Video-Bytelimit des Tarifs, die Größenlimits, das Speicherkontingent).

Die aktive Datei bleibt im Versionsverlauf des Mediums (listMediaVersions) und zählt zu den gespeicherten Bytes, bis ihre Version gelöscht wird. If-Match ist, falls gesendet, die Medienrevision, die der Aufrufer gelesen hat (revision_conflict, wenn veraltet).

Die Antwort ist die Operation des Uploads, wie bei commitMediaUpload: getOperation abfragen; das Ergebnis einer erfolgreichen Operation ist {media_id, id, version, warnings}. Bytes, die der aktiven Datei entsprechen, ersetzen nichts und lassen die Operation mit resource_conflict scheitern.

Bei wirksamem Propose wartet der Ersatz stattdessen auf Prüfung: Die Operation gelingt mit result.status pending_review und result.review_id, das Medium spielt seine Datei weiter, bis eine Person genehmigt, und ein neuerer Ersatz desselben Mediums löst den wartenden ab.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaReplace
Operations-ID
replaceMedia

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ÜberschriftoptionalDie aktuelle Revision des Medienelements, in Anführungszeichen oder ohne. Weggelassen bedeutet jede.
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
upload_id (erforderlich, String)Die ID eines mit createMediaUpload deklarierten und an seine upload_url geschriebenen, aber nicht übernommenen Uploads. minLength: 1
note (optional, string)Eine Notiz, die mit der neuen Version gespeichert wird. maxLength: 280
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://screenrig.ai/api/media/RESOURCE_ID/replace'

Antworten

StatusBedeutungTextkörper und Header
202Der Ersatz wurde erfasst; die Operation des Uploads trägt sein Ergebnis.Operation (application/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/media/{id}/versions

Medienversionen auflisten

Listet die Versionen eines Medienelements auf, die neueste zuerst, die aktive Version an erster Stelle (current: true). Eine Version ist eine Datei, die das Element hatte: number ist seine Inhaltsepoche plus eins (1 für den Upload, jeweils eins mehr für jeden Ersatz, jede Wiederherstellung oder jede Änderung durch die Mediensynchronisierung), und ihre Bytes bleiben erhalten, bis die Version gelöscht wird.

Die Bytes einer Version lesen Sie mit GET /api/media/{id}/content?version=N.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listMediaVersions

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
CursorAbfrageoptionalDer next_cursor der vorherigen Seite.
LimitAbfrageoptional
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/versions'

Antworten

StatusBedeutungTextkörper und Header
200Eine Seite mit Versionen.MediaVersionPage (application/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/media/{id}/versions/{version}

Medienversion löschen

Entfernt eine frühere Version: Ihr Datensatz verschwindet, ihre Bytes zählen sofort nicht mehr zu den gespeicherten Bytes des Projekts, und ihr Objekt wird nach 24 Stunden entfernt, sofern nicht eine andere Version oder die aktive Version dieselbe Datei hält. Die aktive Version kann nicht gelöscht werden (resource_conflict), und keine Version kann gelöscht werden, solange ein Ersatz des Mediums auf Prüfung wartet.

Eine gelöschte Version lässt sich nicht wiederherstellen.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteMediaVersion

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
VersionPfaderforderlichEine Versionsnummer des Medienelements (listMediaVersions).
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/versions/VERSION'

Antworten

StatusBedeutungTextkörper und Header
204Die Version wurde entfernt.kein Körper
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/media/{id}/versions/{version}/restore

Medienversion wiederherstellen

Setzt eine frühere Version als neue Version in der nächsten Inhaltsepoche des Mediums wieder in Betrieb: Das Medium behält seine ID, die Revision steigt um eins, sodass jede Playlist und jeder Zeitplan, die es nennen, diese Datei wieder abspielen, ohne neu geplant zu werden. Die kopierte Version bleibt im Verlauf und teilt ihre Bytes; die neue Version zählt wie jede andere zu den gespeicherten Bytes.

Die aktive Version lässt sich nicht wiederherstellen (resource_conflict). If-Match ist, falls gesendet, die Medienrevision, die der Aufrufer gelesen hat. Der Body kann eine Notiz enthalten. Bei wirksamem Propose wird die Wiederherstellung zur Prüfung: 202 pending_review, und das Medium behält seine Datei, bis eine Person genehmigt.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaRestore
Operations-ID
restoreMediaVersion

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
VersionPfaderforderlichEine Versionsnummer des Medienelements (listMediaVersions).
If-MatchÜberschriftoptionalDie aktuelle Revision des Medienelements, in Anführungszeichen oder ohne. Weggelassen bedeutet jede.

Anfrageinhalt-Felder

FeldBeschreibung
note (optional, string)Eine Notiz, die mit der neuen Version gespeichert wird. maxLength: 280
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://screenrig.ai/api/media/RESOURCE_ID/versions/VERSION/restore'

Antworten

StatusBedeutungTextkörper und Header
200Das Medium, wie es jetzt ist, und Warnungen zur wiederhergestellten Datei.MediaRestored (application/json); Header: ETag
202Die Wiederherstellung wartet auf die Prüfung durch eine Person.MediaRestorePending (application/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/media/{id}/content

Medieninhalt exportieren

Exportiert die originale unveränderliche Version, die vom authentifizierten Projekt besessen wird. Dem Projekt-Berechtigten werden die normalen authentifizierten API-Anforderungsgutschriften berechnet, und die abgeschlossenen Antwortbytes werden als project_media_export-Ausgang erfasst. Der Medienbezeichner ist niemals authority: Ein Bezeichner eines anderen Projekts gibt not_found zurück.

Die API streamt aus privatem Speicher und veröffentlicht niemals einen Objektschlüssel, eine Speicher-URL oder einen signierten GET. Der Anhangsdateiname ist der Medienbezeichner plus die kanonische Erweiterung für den verifizierten Inhaltstyp. Das Lesen von Inhalten wird nie wegen des Guthabens abgelehnt.

Eine Dashboard-Sitzung zeigt dieselben Bytes inline an: abgeschlossene Bytes werden als dashboard_media egress erfasst, und die Antwort ist privat, no-cache, sodass der Browser eine Kopie behält und sie mit If-None-Match erneut validiert. Eine Projekt-Bearer-Antwort bleibt privat, no-store.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
exportMediaContent

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
BereichÜberschriftoptionalV1 akzeptiert nur einen Bytebereich.
If-None-MatchÜberschriftoptionalExakter starker Medien-SHA-256-ETag, der von dieser Route zurückgegeben wird.
VersionAbfrageoptionalDiese Version des Mediums (listMediaVersions) statt der aktiven lesen.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/content'

Antworten

StatusBedeutungTextkörper und Header
200Vollständige Originalversion.

string (image/png), string (image/jpeg), string (image/webp), string (image/gif), string (video/mp4), string (video/webm), string (audio/mpeg); Header: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options

206Ein standardkonformer Bytebereich.

string (image/png), string (image/jpeg), string (image/webp), string (image/gif), string (video/mp4), string (video/webm), string (audio/mpeg); Header: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options

304Der exakte unveränderliche Medien-ETag entspricht If-None-Match. Kein Body oder Egress-Inkrement wird erzeugt.kein Körper; Header: ETag, Cache-Control
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)
416Nicht erfüllbarer oder fehlerhafter Bereich.Problem (application/problem+json); Header: Accept-Ranges, Content-Range
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/media/{id}/content

Medieninhalt

Wendet dieselben Projektbesitz-, Bedingungs-, Bereichs- und Privat-Speicherregeln wie exportMediaContent an, ohne die gespeicherte Version zu öffnen oder zu übertragen.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
headMediaContent

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
BereichÜberschriftoptionalV1 akzeptiert nur einen Bytebereich.
If-None-MatchÜberschriftoptionalExakter starker Medien-SHA-256-ETag, der von dieser Route zurückgegeben wird.
VersionAbfrageoptionalDiese Version des Mediums (listMediaVersions) statt der aktiven lesen.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request HEAD --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/content'

Antworten

StatusBedeutungTextkörper und Header
200Metadaten der vollständigen Version ohne Body.kein Körper; Header: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options
206Byte-Bereichs-Metadaten ohne Body.kein Körper; Header: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options
304Der exakte unveränderliche Medien-ETag entspricht If-None-Match. Kein Body wird erzeugt.kein Körper; Header: ETag, Cache-Control
402Der 1-Credit-API-Zähler hat die Bearer-Anfrage eines Standard-Projekts über sein Kontingent hinaus ohne Guthaben abgelehnt. Eine HEAD-Antwort enthält keinen Problemtext.kein Körper
416Nicht erfüllbarer oder fehlerhafter Bereich.Problem (application/problem+json); Header: Accept-Ranges, Content-Range
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/media-sync-accounts

Konten der Mediensynchronisierung auflisten

Lists the project's media sync accounts, newest first (200 per page; next_cursor continues). Each shows its tenant and client id, its state and its last test; the client secret is never returned, only whether one is set and its last four characters.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listMediaSyncAccounts

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.
CursorAbfrageoptionalDer next_cursor der vorherigen Seite.
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/media-sync-accounts'

Antworten

StatusBedeutungTextkörper und Header
200Die Konten des Projekts.MediaSyncAccountList (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/media-sync-accounts

Konto für die Mediensynchronisierung anlegen

Fügt ein Konto hinzu, das lesend synchronisiert. kind microsoft365 speichert die Zugangsdaten der eigenen Microsoft-Entra-App des Projekts, sodass Synchronisierungen einen SharePoint- oder OneDrive-for-Work-Ordner lesen können: config.tenant_id ist die Verzeichnis-ID oder primäre Domain des Mandanten (common, organizations und consumers werden abgelehnt), config.client_id die Anwendungs-ID der App und secret der Wert eines der Client-Secrets der App; die App braucht die Microsoft-Graph-Anwendungsberechtigung Sites.Selected (für jede Website erteilt) oder Files.Read.All, mit Administratorzustimmung.

Anstelle dieser drei benennt config.connection_id eine Microsoft-Verbindung des Projekts (createConnection), in beiden Modi, die sich anmeldet und das Secret hält. kind canva nimmt nur einen Namen: Das Konto ist pending_consent, und die Antwort trägt authorize_url, einen einmaligen Link (gültig bis authorize_expires_at), den die Person, der das Canva-Konto gehört, bei Canva angemeldet öffnet, um es über die Canva-Integration von screenRIG zu verbinden.

Die Freigabe gehört dem Projekt, sodass ihre Synchronisierungen die Person überdauern, die das Konto verbunden hat.

Ein Server ohne die Canva-Integration antwortet mit 409 canva_not_configured. kind dropbox funktioniert wie canva: Das Konto ist pending_consent, und authorize_url ist ein einmaliger Link, den die Person, der das Dropbox-Konto gehört, bei Dropbox angemeldet öffnet, um Lesezugriff zu erlauben (files.metadata.read, files.content.read, account_info.read, sharing.read).

Die Verbindung läuft über die Dropbox-App von screenRIG oder, wenn config.app_key sie benennt, über die eigene Dropbox-App des Kunden (PKCE, daher kein App-Secret; die App muss https://API_ORIGIN/api/dropbox/callback als Redirect-URI eingetragen haben).

Ein Server ohne die Dropbox-App von screenRIG antwortet auf ein dropbox-Konto ohne app_key mit 409 dropbox_not_configured. kind google_drive ist sofort ready und liest die Ordner, die für config.service_account_email freigegeben sind: das Dienstkonto von screenRIG oder das eigene des Kunden, wenn secret der JSON-Schlüssel dieses Dienstkontos ist.

Ein für das Dienstkonto von screenRIG freigegebener Ordner wird nur synchronisiert, wenn ein Projektmitglied mit verifizierter E-Mail ihn freigegeben hat oder besitzt. Ein Server ohne das Dienstkonto von screenRIG antwortet auf ein google_drive-Konto ohne Schlüssel mit 409 google_drive_not_configured. Ein Secret wird im Ruhezustand versiegelt und nie zurückgegeben oder protokolliert. Hängt media_sync_account.created an.

Ein exakter Wiederholungsversuch mit demselben Idempotency-Key gibt dasselbe Konto zurück (ein Wiederholungsversuch für ein Canva- oder Dropbox-Konto erhält einen neuen Link).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaSyncAccountWrite
Operations-ID
createMediaSyncAccount

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 (erforderlich, string)Erlaubt: "microsoft365", "canva", "dropbox", "google_drive"
Name (erforderlich, Zeichenkette)minLength: 1 maxLength: 80
config (optional, object)

Für microsoft365 entweder tenant_id und client_id (beide) mit secret oder connection_id allein: die ID einer Microsoft-Verbindung dieses Projekts. Für dropbox benennt app_key optional die eigene Dropbox-App des Kunden. Nicht akzeptiert für canva oder google_drive.

secret (optional, String)

Erforderlich für microsoft365 mit tenant_id und client_id: der Wert eines der Client-Secrets der App (nicht ihre ID), höchstens 1024 Zeichen.

Für google_drive optional: der JSON-Schlüssel des eigenen Google-Cloud-Dienstkontos des Kunden (type service_account), dessen client_email zur service_account_email des Kontos wird; ohne ihn liest das Konto über das Dienstkonto von screenRIG. Nicht akzeptiert zusammen mit connection_id und nicht für canva oder dropbox. minLength: 1 maxLength: 8192

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/media-sync-accounts'

Antworten

StatusBedeutungTextkörper und Header
201Angelegt, mit maskiertem Secret; ein Canva- oder Dropbox-Konto enthält zusätzlich authorize_url.MediaSyncAccountConnect (application/json); Header: ETag, Cache-Control
400invalid_request.Problem (application/problem+json)
402feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält.Problem (application/problem+json)
409

canva_not_configured (dieser Server hat keine Canva-Integration; nur kind canva), dropbox_not_configured (keine Dropbox-App von screenRIG und kein config.app_key; nur kind dropbox), google_drive_not_configured (kein Dienstkonto von screenRIG und kein Schlüssel; nur kind google_drive), resource_conflict oder idempotency_mismatch.

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/media-sync-accounts/{id}

Konto der Mediensynchronisierung abrufen

Ein Konto der Mediensynchronisierung mit maskiertem Secret.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getMediaSyncAccount

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/media-sync-accounts/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Ein Konto.MediaSyncAccount (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/media-sync-accounts/{id}

Konto der Mediensynchronisierung ändern

Changes the name, tenant, client id or secret; an omitted secret keeps the stored one. A change of credentials discards the last test. A Canva account takes only a name; media sync account connect renews its connection. Appends media_sync_account.updated. If-Match guards the revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaSyncAccountPatch
Operations-ID
updateMediaSyncAccount

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
Name (optional, Zeichenkette)minLength: 1 maxLength: 80
config (optional, MediaSyncAccountConfig)
secret (optional, String)

Ersetzt das gespeicherte Secret (ein microsoft365-Client-Secret oder der eigene Dienstkonto-Schlüssel eines google_drive-Kontos, der zur selben client_email gehören muss); lassen Sie es weg, um das gespeicherte zu behalten. minLength: 1 maxLength: 8192

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/media-sync-accounts/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Konto aktualisiert.MediaSyncAccount (application/json); Header: ETag, Cache-Control
400invalid_request.Problem (application/problem+json)
402

feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält. Eine Änderung, die nur das Geheimnis ersetzt, ist immer erlaubt, sodass ein Konto, dessen Client-Geheimnis abgelaufen ist, aktuell bleibt.

Problem (application/problem+json)
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.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/media-sync-accounts/{id}

Konto der Mediensynchronisierung löschen

Deletes the account. Refused 409 resource_conflict while a sync reads through it; the detail names those syncs. Deleting a Canva account also revokes its tokens at Canva (a failure to revoke is logged and does not undo the delete). Appends media_sync_account.deleted. If-Match guards the revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteMediaSyncAccount

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/media-sync-accounts/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
204Gelöscht.kein Körper
409resource_conflict (das Konto wird von Synchronisierungen verwendet) oder idempotency_mismatch.Problem (application/problem+json)
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.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/media-sync-accounts/{id}/test

Konto der Mediensynchronisierung testen

Signs in with the account's app and reports what Microsoft granted it: whether the credentials work and which Graph application permissions the token carries (Sites.Selected, Files.Read.All and the like). Sites.Selected is reported with a warning, because each site needs a grant for the app.

For a Canva account it reports whether Canva still accepts the connection. It does not judge a site's grant, a folder or a design, or consent beyond what the token carries. The result is stored as last_test. A failed check is ok false in the answer, not a problem.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
testMediaSyncAccount

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/media-sync-accounts/RESOURCE_ID/test'

Antworten

StatusBedeutungTextkörper und Header
200Was das Token der App trägt.MediaSyncTest (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/media-sync-accounts/{id}/connect

Konto der Mediensynchronisierung verbinden

Erzeugt einen neuen einmaligen Zustimmungslink (authorize_url, gültig bis authorize_expires_at) für ein Canva- oder Dropbox-Konto, den Sie an die Person senden, der dieses Konto gehört; sie öffnet ihn bei Canva oder Dropbox angemeldet und erlaubt den Zugriff. Er ersetzt jeden früheren Link.

Ein verbundenes Konto bleibt verbunden, bis die neue Zustimmung abgeschlossen ist; damit lässt sich also auch eine Verbindung erneuern (Zustand reconnect_required) oder auf ein anderes Canva- oder Dropbox-Konto umstellen. Der Link ist eine Zugangsberechtigung der Zustimmung: Senden Sie ihn nur an diese Person.

Ein Server ohne die Canva-Integration antwortet mit 409 canva_not_configured; bei einem Dropbox-Konto ohne app_key auf einem Server ohne die Dropbox-App von screenRIG lautet die Antwort 409 dropbox_not_configured.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
connectMediaSyncAccount

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/media-sync-accounts/RESOURCE_ID/connect'

Antworten

StatusBedeutungTextkörper und Header
200Das Konto mit einer neuen authorize_url.MediaSyncAccountConnect (application/json); Header: ETag, Cache-Control
400invalid_request — das Konto ist kein Canva- oder Dropbox-Konto.Problem (application/problem+json)
409canva_not_configured (dieser Server hat keine Canva-Integration) oder dropbox_not_configured (keine Dropbox-App von screenRIG, und das Konto hat keinen app_key).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/media-sync-accounts/{id}/designs

Designs der Mediensynchronisierung auflisten

Lists the Canva designs the connected person can see, most recently changed first (50 per page; continuation continues), optionally those matching query. Each shows its id, title, last change, page count and a view address. An account that is not connected is 409 canva_reconnect_required; a server without the Canva integration is 409 canva_not_configured.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listMediaSyncDesigns

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
AbfrageAbfrageoptionalListet nur die Designs auf, deren Titel oder Text passt.
FortsetzungAbfrageoptionalDie Fortsetzung der vorherigen Seite.
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/media-sync-accounts/RESOURCE_ID/designs'

Antworten

StatusBedeutungTextkörper und Header
200Eine Seite mit Designs.MediaSyncDesignList (application/json); Header: Cache-Control
400invalid_request: Das Konto ist kein Canva-Konto, oder query oder continuation ist ungültig.Problem (application/problem+json)
409canva_reconnect_required (das Konto ist nicht verbunden, oder Canva erkennt die Verbindung nicht mehr an) oder canva_not_configured (dieser Server hat keine Canva-Integration).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/canva/callback

Canva-Zustimmung abschließen

Wohin Canva die Person schickt, nachdem sie den Zugriff in einem Einwilligungslink erlaubt (oder abgelehnt) hat.

It carries no credential: the one-time state in the query finds the Canva account, must be unexpired and is used once, in the same write that stores the connection. screenRIG exchanges the code (PKCE, client authentication with the integration's credentials), reads whose Canva account it is, seals the tokens and appends media_sync_account.connected.

The answer is a short page naming the account and the project it was connected to; an error, an unknown, expired or used state, or a refused code renders the same page with the reason and changes nothing. Answers only on the API host.

Authentifizierung
keine
Anfrageinhalt
keine
Operations-ID
completeCanvaConsent

Parameter

NameSendenErforderlich?Beschreibung
CodeAbfrageoptional
StatusAbfrageoptional
FehlerAbfrageoptional
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET 'https://api.screenrig.ai/api/canva/callback'

Antworten

StatusBedeutungTextkörper und Header
200Die Seite, die meldet, dass das Konto verbunden ist.string (text/html)
400Die Seite, die erklärt, warum nichts verbunden wurde.string (text/html)
502Canva war nicht erreichbar; derselbe Link funktioniert wieder.string (text/html)
409Canva ist auf diesem Server nicht konfiguriert.string (text/html)
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/dropbox/callback

Dropbox-Zustimmung abschließen

Wohin Dropbox die Person schickt, nachdem sie den Zugriff in einem Zustimmungslink erlaubt (oder abgelehnt) hat.

Sie trägt keine Zugangsdaten: Der einmalige State in der Abfrage findet das Dropbox-Konto, darf nicht abgelaufen sein und wird einmal verwendet, im selben Schreibvorgang, der die Verbindung speichert. screenRIG tauscht den Code ein (PKCE, mit der Dropbox-App von screenRIG oder dem eigenen app_key des Kontos), liest, wessen Dropbox-Konto es ist, versiegelt die Token und hängt media_sync_account.connected an.

The answer is a short page naming the account and the project it was connected to; an error, an unknown, expired or used state, or a refused code renders the same page with the reason and changes nothing. Answers only on the API host.

Authentifizierung
keine
Anfrageinhalt
keine
Operations-ID
completeDropboxConsent

Parameter

NameSendenErforderlich?Beschreibung
CodeAbfrageoptional
StatusAbfrageoptional
FehlerAbfrageoptional
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET 'https://api.screenrig.ai/api/dropbox/callback'

Antworten

StatusBedeutungTextkörper und Header
200Die Seite, die meldet, dass das Konto verbunden ist.string (text/html)
400Die Seite, die erklärt, warum nichts verbunden wurde.string (text/html)
502Dropbox war nicht erreichbar; derselbe Link funktioniert wieder.string (text/html)
409Das Konto hat keinen app_key, und die Dropbox-App von screenRIG ist auf diesem Server nicht konfiguriert.string (text/html)
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/media-syncs

Mediensynchronisierungen auflisten

Lists the project's media syncs, newest first (200 per page; next_cursor continues), optionally of one account_id or state. Each shows its source folder, the media folder it fills, its cadence, state, next run and the summary of its last run.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listMediaSyncs

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.
CursorAbfrageoptionalDer next_cursor der vorherigen Seite.
account_idAbfrageoptionalListet nur die Synchronisierungen auf, die über dieses Konto lesen.
StatusAbfrageoptionalListet nur die Synchronisierungen in diesem Zustand auf.
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/media-syncs'

Antworten

StatusBedeutungTextkörper und Header
200Die Synchronisierungen des Projekts.MediaSyncList (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/media-syncs

Mediensynchronisierung anlegen

provider canva: liest das Design (design ist seine ID oder seine Adresse canva.com/design/ID/...) über ein verbundenes Canva-Konto und speichert die Synchronisierung, jetzt fällig.

Each run asks Canva for the design's last change and, when it moved, exports the pages (pages, default all; format png gives one image per page and mp4 one video) and imports them into the media folder, replacing the bytes of a page already imported under the same media id so the playlists that use it update; a page the design no longer has leaves play like a removed SharePoint file.

Ein Design, das Canva nicht mehr anzeigt, stoppt die Synchronisierung im Zustand error (Laufzeitfehler design_unavailable) und behält die Medien.

Ein Design oder eine Seite, die das Konto nicht sehen kann, ist 409 media_sync_source_refused. provider dropbox: url ist die Adresse des Ordners in Dropbox (https://www.dropbox.com/home/...), ein Link zu einem freigegebenen Ordner, den das verbundene Konto seiner Dropbox hinzugefügt hat, oder ein mit / beginnender Pfad; sie wird einmal über ein verbundenes Dropbox-Konto gelesen, und die Synchronisierung wird gespeichert, jetzt fällig.

Ordner in einem Team-Space werden vom Stammverzeichnis des Teams aus gelesen. Jeder Lauf setzt an der von Dropbox gespeicherten Position im Ordner fort, sodass nur Änderungen gelesen werden.

Ein Ordner, den das Konto nicht öffnen kann, ist 409 media_sync_source_refused; ein Konto, dessen Verbindung Dropbox nicht mehr anerkennt, ist 409 dropbox_reconnect_required. provider google_drive: url ist die Google-Drive-Adresse des Ordners (https://drive.google.com/drive/folders/ID) oder seine ID, freigegeben (Viewer genügt) für die service_account_email des Kontos.

Jeder Lauf listet den Ordner auf und vergleicht die Prüfsumme jeder Datei. Dateien aus Google Docs, Sheets und Slides werden als unsupported_type übersprungen. Ein Ordner, der sich über die Adresse nicht öffnen lässt, ist 409 media_sync_source_refused.

Über das Dienstkonto von screenRIG muss der Ordner von einem Projektmitglied mit verifizierter E-Mail freigegeben worden sein oder diesem gehören (403 media_sync_sharer_not_member), und jeder Lauf prüft das erneut (der Laufzeitfehler sharer_not_member stoppt die Synchronisierung im Zustand error). provider sharepoint: liest die Adresse des Ordners über das Konto (eine SharePoint-Website-Adresse wie https://TENANT.sharepoint.com/sites/SITE/LIBRARY/FOLDER oder ein Freigabelink; die App muss sie sehen können: Sites.Selected braucht eine Freigabe für die Website, ein Freigabelink braucht Files.Read.All) und speichert die Synchronisierung, jetzt fällig. folder_id ist der Medienordner, in dem die Dateien landen; ohne ihn legt die Synchronisierung einen an, der nach dem Quellordner benannt ist.

Each run imports the images (png, jpeg, webp, gif), videos (mp4, webm) and audio (mp3) directly in the source folder, replaces the bytes of a file that changed under the same media id so playlists that use it update, and takes a file removed at the source out of play: its media is deleted, or, while screens still hold it, moved to a Removed subfolder and deleted later.

Subfolders are ignored; other files are listed as skipped with the reason. every is the seconds between runs, 300 to 86400, default 900. A folder the provider refuses is 409 media_sync_source_refused and one it cannot reach is 500 media_sync_source_unavailable; nothing is stored. Appends media_sync.created.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaSyncWrite
Operations-ID
createMediaSync

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
provider (erforderlich, String)Erlaubt: "sharepoint", "canva", "dropbox", "google_drive"
account_id (erforderlich, String)Ein Konto der Art des Anbieters: microsoft365 für sharepoint, canva, dropbox oder google_drive.
url (optional, Zeichenfolge)

sharepoint (erforderlich): die SharePoint-Adresse des Ordners oder ein Freigabelink, einmal gelesen, um den Ordner zu finden, und nicht gespeichert. dropbox (erforderlich): die Dropbox-Adresse des Ordners, ein Link zu einem freigegebenen Ordner, den das Konto hinzugefügt hat, oder ein mit / beginnender Pfad. google_drive (erforderlich): die Google-Drive-Adresse des Ordners oder seine ID. maxLength: 4096

design (optional, String)canva (erforderlich): die ID des Designs oder seine Adresse canva.com/design/ID/... maxLength: 2048
Seiten (optional, Array)canva: die zu synchronisierenden Seiten; weglassen für alle Seiten. Ein Design, das später weniger Seiten hat, nimmt die fehlenden aus der Wiedergabe.
format (optional, String)canva: png liefert ein Bild pro Seite; mp4 ein Video der Seiten. Allowed: "png", "mp4" default: "png"
folder_id (optional, String)Der Medienordner, in dem die Dateien landen. Weglassen, um einen nach dem Quellordner benannten anzulegen.
every (optional, Integer)Sekunden zwischen den Läufen; Standard 900. minimum: 300 maximum: 86400
Name (optional, Zeichenkette)Standardmäßig der Name des Quellordners. minLength: 1 maxLength: 80
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/media-syncs'

Antworten

StatusBedeutungTextkörper und Header
201Erstellt, jetzt fällig.MediaSync (application/json); Header: ETag, Cache-Control
400invalid_request.Problem (application/problem+json)
402feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält.Problem (application/problem+json)
403media_sync_sharer_not_member — ein über das Dienstkonto von screenRIG gelesener Google-Drive-Ordner war weder von einem Projektmitglied mit verifizierter E-Mail freigegeben noch in dessen Besitz.Problem (application/problem+json)
409

media_sync_source_refused (der Anbieter hat die App, ihre Berechtigung oder den Ordner abgelehnt), dropbox_reconnect_required (das Dropbox-Konto muss erneut verbunden werden), dropbox_not_configured, google_drive_not_configured, resource_conflict (dieselbe Quelle wird bereits in diesen Medienordner synchronisiert) oder idempotency_mismatch.

Problem (application/problem+json)
500media_sync_source_unavailable: Der Anbieter war nicht erreichbar oder antwortete mit einem Fehler.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/media-syncs/{id}

Mediensynchronisierung abrufen

Eine Mediensynchronisierung mit der Zusammenfassung ihres letzten Laufs.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getMediaSync

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/media-syncs/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Eine Synchronisierung.MediaSync (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/media-syncs/{id}

Mediensynchronisierung ändern

Changes the name, every (seconds between runs), state (active or paused; active also resumes a sync an error stopped) or folder_id. A new folder_id points the sync at another media folder and makes its next run read the whole source again, which puts every synced file there. Appends media_sync.updated. If-Match guards the revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
MediaSyncPatch
Operations-ID
updateMediaSync

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
Name (optional, Zeichenkette)minLength: 1 maxLength: 80
every (optional, Integer)Sekunden zwischen den Läufen. minimum: 300 maximum: 86400
state (optional, String)Erlaubt: "active", "paused"
folder_id (optional, String)
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/media-syncs/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Synchronisierung aktualisiert.MediaSync (application/json); Header: ETag, Cache-Control
400invalid_request.Problem (application/problem+json)
402feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält. Das Pausieren einer Synchronisierung ist immer erlaubt.Problem (application/problem+json)
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.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/media-syncs/{id}

Mediensynchronisierung löschen

Beendet die Synchronisierung und vergisst, welche Quelldatei zu welchem Medium wurde. Die Medien und ihr Ordner bleiben bestehen. Hängt media_sync.deleted an. If-Match schützt die Revision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteMediaSync

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/media-syncs/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
204Gelöscht.kein Körper
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.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/media-syncs/{id}/run

Mediensynchronisierung ausführen

Macht die Synchronisierung jetzt fällig und antwortet 202; ein Worker führt sie innerhalb von etwa 30 Sekunden aus, und die Antwort von GET /api/media-syncs/{id} zeigt ihr last_run.

Eine durch einen Fehler gestoppte Synchronisierung läuft wieder; eine pausierte wird abgelehnt, bis sie fortgesetzt wird. force=true lässt eine Canva-Synchronisierung das Design auch dann exportieren, wenn Canva es als unverändert meldet (bei einer SharePoint-Synchronisierung abgelehnt: Sie lädt ohnehin jede geänderte Datei herunter).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
runMediaSync

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.
erzwingenAbfrageoptionalEine Canva-Synchronisierung exportiert das Design auch dann, wenn Canva es als unverändert meldet.
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/media-syncs/RESOURCE_ID/run'

Antworten

StatusBedeutungTextkörper und Header
202Die Synchronisierung, jetzt fällig.MediaSync (application/json); Header: ETag, Cache-Control
400invalid_request.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)