API-Referenz

Webhooks-API

Webhooks: signierte Ereignisübermittlung

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

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

Webhooks: signierte Ereignisübermittlung

GET/api/webhooks

Webhooks auflisten

Listet die Webhook-Benachrichtigungen des Projekts in der Webhook-Form auf, älteste zuerst (höchstens 50); GET /api/notifications listet jeden Kanal auf. Das Signing-Secret wird hier nie zurückgegeben. Erfordert die Projekt-Berechtigung; ein Token nur für Berichte wird mit 403 forbidden abgelehnt, weil die Antwort Empfänger-URLs enthält.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listWebhooks

Parameter

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

Antworten

StatusBedeutungTextkörper und Header
200Die Webhooks des Projekts.WebhookList (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/webhooks

Webhook erstellen

Erstellt einen Webhook, der die dauerhaften Ereignisse des Projekts als signierte HTTPS-POSTs empfängt. Die URL muss https auf einem öffentlichen Internet-Host sein: eine IP-Literal oder jede aktuelle DNS-Antwort des Namens muss öffentlich sein (private, loopback, link-local, CGNAT, IPv6 außerhalb 2000::/3, Dokumentation und andere reservierte Bereiche werden mit webhook_url_rejected abgelehnt).

Der Port muss 443 (Standard) oder 8443 sein, sonst webhook_url_rejected. Der Host wird vor jeder Zustellung aufgelöst und erneut geprüft, und die Verbindung wird genau zur geprüften Adresse aufgebaut, sodass eine spätere DNS-Änderung keine Zustellungen umleiten kann. event_types listet genaue Ereignistypen (screen.online) oder Präfixe mit Endung .* (screen.*).

Eine Organisation hat höchstens 50 Benachrichtigungen über alle Kanäle (webhook_limit_reached). Der Server erzeugt das Signing-Secret und gibt es nur in dieser Antwort und in rotate-secret zurück; speichern Sie es. Eine exakte Wiederholung mit demselben Idempotency-Key liefert vierundzwanzig Stunden lang dieselbe Antwort, Secret eingeschlossen.

Die Zustellung beginnt mit dem ersten Ereignis nach notification.created.

Authentifizierung
projectBearer
Anfrageinhalt
WebhookWrite
Operations-ID
createWebhook

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
url (erforderlich, Zeichenfolge)https-URL auf einem öffentlichen Internet-Host, Port 443 (Standard) oder 8443. Kein Benutzerinfo oder Fragment. maxLength: 2048 Format: "uri"
event_types (erforderlich, WebhookEventTypes)

Exakte Ereignistypen wie screen.online oder Präfixe, die auf .* enden, wie screen.* (jeder Typ, der mit screen. beginnt). notification.test wird nie über ein Abonnement verteilt; es wird nur von POST /api/webhooks/{id}/test gesendet.

aktiviert (optional, Boolean)true
Beschreibung (optional, Zeichenfolge)maxLength: 200
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/webhooks'

Antworten

StatusBedeutungTextkörper und Header
201Erstellt. Das Geheimnis wird nur hier und bei rotate-secret angezeigt.Webhook mit Secret (application/json); Header: Cache-Control
400invalid_request oder webhook_url_rejected.Problem (application/problem+json)
409webhook_limit_reached, idempotency_mismatch oder resource_conflict, wenn das Projekt zu keiner Organisation gehört.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/webhooks/{id}

Webhook erhalten

Erfordert die Projektberechtigung; eine nur für Berichte gültige Anmeldeinformation wird mit 403 forbidden abgelehnt, da die Antwort Empfänger-URLs enthält.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getWebhook

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/webhooks/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Ein Webhook.Webhook (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/webhooks/{id}

Webhook aktualisieren

Ändert eines der Felder url, event_types, enabled und description (eine leere Beschreibung löscht sie). Eine neue URL wird wie bei der Erstellung geprüft.

Das Aktivieren eines deaktivierten Webhooks löscht dessen Fehlerstatus und startet die Zustellung beim Ereignis, das die Änderung aufzeichnet; Ereignisse während der Deaktivierung werden nicht erneut abgespielt, und noch ausstehende Zustellungen vor der Deaktivierung werden mit webhook_disabled als fehlgeschlagen markiert. Das Deaktivieren schlägt ausstehende Zustellungen mit webhook_disabled fehl.

Hängt notification.updated an. If-Match schützt die Revision.

Authentifizierung
projectBearer
Anfrageinhalt
WebhookPatch
Operations-ID
updateWebhook

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
url (optional, Zeichenfolge)maxLength: 2048 Format: "uri"
event_types (optional, WebhookEventTypes)

Exakte Ereignistypen wie screen.online oder Präfixe, die auf .* enden, wie screen.* (jeder Typ, der mit screen. beginnt). notification.test wird nie über ein Abonnement verteilt; es wird nur von POST /api/webhooks/{id}/test gesendet.

aktiviert (optional, Boolean)
Beschreibung (optional, Zeichenfolge)Ein leerer String löscht die Beschreibung. maxLength: 200
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/webhooks/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Webhook aktualisiert.Webhook (application/json); Header: ETag
400invalid_request oder webhook_url_rejected.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/webhooks/{id}

Webhook löschen

Löscht den Webhook und hängt notification.deleted an. Seine ausstehenden Zustellungen werden mit webhook_deleted als fehlgeschlagen markiert; sein Zustellungsprotokoll ist nicht mehr adressierbar und läuft mit der Ereignisaufbewahrung ab.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteWebhook

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/webhooks/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
204Gelöscht.kein Körper; Header: Cache-Control
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/webhooks/{id}/rotate-secret

Webhook-Geheimnis rotieren

Ersetzt das Signing-Secret und gibt das neue zurück; das alte Secret signiert sofort nicht mehr: Jeder Versuch, der nach dem Festschreiben dieser Änderung signiert, verwendet das neue Secret, und höchstens ein bereits laufender Versuch pro Webhook kann noch mit dem alten signiert eintreffen, akzeptieren Sie daher kurzzeitig beide. Hängt notification.updated mit details.changed [secret] an.

Ein exakter Wiederholungsversuch mit demselben Idempotency-Key gibt dasselbe neue Geheimnis für vierundzwanzig Stunden zurück.

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
rotateWebhookSecret

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 POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/webhooks/RESOURCE_ID/rotate-secret'

Antworten

StatusBedeutungTextkörper und Header
200Der Webhook und sein neues Geheimnis.Webhook mit Secret (application/json); Header: Cache-Control
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/webhooks/{id}/test

Webhook testen

Hängt ein Projektereignis notification.test an und stellt eine Zustellung davon nur an diesen Webhook in die Warteschlange (kein anderer Webhook erhält notification.test). Der Aufruf funktioniert bei einem deaktivierten Webhook, wird einmal ohne Wiederholungen versucht, wird wie jede Zustellung abgerechnet und ändert nie den Fehlerzustand des Webhooks. Fragen Sie das Zustellungsprotokoll nach dem Ergebnis ab.

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
testWebhook

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]' 'https://api.screenrig.ai/api/webhooks/RESOURCE_ID/test'

Antworten

StatusBedeutungTextkörper und Header
202Die in der Warteschlange stehende Testlieferung.WebhookDelivery (application/json); Header: RateLimit-Policy, RateLimit
429

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

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

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

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

Webhook-Zustellungen auflisten

Das Zustellprotokoll des Webhooks, neuestes Ereignis zuerst. Eine Zeile pro (Webhook, Ereignis); Wiederholungen aktualisieren die Zeile und GET .../deliveries/{delivery_id}/attempts listet die neuesten Versuche auf. Zeilen werden wie Ereignisse aufbewahrt (die Ereignisaufbewahrung des Plans, mindestens das 24-Stunden-Wiederholungsfenster). Übergeben Sie next_cursor für die nächste Seite als Parameter before.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listWebhookDeliveries

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
vorAbfrageoptionalnext_cursor der vorherigen Lieferseite.
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/webhooks/RESOURCE_ID/deliveries'

Antworten

StatusBedeutungTextkörper und Header
200Eine Seite von Lieferungen.WebhookDeliveryList (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/webhooks/{id}/deliveries/{delivery_id}/attempts

Webhook-Zustellversuche auflisten

Versuche einer Lieferung, neueste zuerst, die letzten 20, gespeichert mit der Lieferzeile und so lange. Jeder hat seine Versuchnummer, wann er beendet wurde, den HTTP-Status des Empfängers (null, wenn keiner antwortete), die Fehlerklasse (null bei Erfolg) und seine Dauer. Antwortkörper und Header werden nie gespeichert. Eine Lieferung, die vor der Speicherung von Versuchen aufgezeichnet wurde, listet keine auf.

Eine Lieferung, die nicht zu diesem Webhook oder einem Webhook eines anderen Projekts gehört, ist not_found.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listWebhookDeliveryAttempts

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
delivery_idPfaderforderlichDie ID einer der Zustellungen des Webhooks.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/webhooks/RESOURCE_ID/deliveries/DELIVERY_ID/attempts'

Antworten

StatusBedeutungTextkörper und Header
200Die gehaltenen Zustellversuche.WebhookDeliveryAttemptList (application/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)
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)