OpenAPI YAMLOpenAPI JSON問題 YAMLAPI の概要
このグループには 13 件のオペレーションがあり、api/openapi.yaml から生成されています。パス、アクション、認証で絞り込めます。各エンドポイントには入力が一覧され、展開するとリクエストテンプレートとレスポンスコードを確認できます。テンプレートには、ご自身の値とスキーマに適合する本文が必要です。
大文字のプレースホルダーをあなたの値に置き換えます。JSONリクエストの場合、request.jsonのスキーマに合うボディを保存します。Cookie例は認証済みセッションのローカルCookieジャーを使用します。
通知: スクリーンの状態変化に対するメール通知と署名付き Webhook 通知
通知を一覧表示
プロジェクトを対象にする組織の通知(すべてのチャネル)を古い順に一覧表示します(最大50件)。status、failing_since、last_success_at、last_failure_at はこのプロジェクトの値です。Webhook の署名シークレットはここでは返されません。
プロジェクト権限が必要です。レポート専用の認証情報は、レスポンスに受信先 URL と受信者が含まれるため、403 forbidden で拒否されます。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | プロジェクトの通知です。 | NotificationList (application/json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知を作成
通知を作成します。channel email は recipients(オーナー、またはプロジェクトメンバーの user_ids)に送信します。channel webhook は url に署名付きで POST し、url は Webhook URL のルールに従います(パブリックインターネットホストの https、ポート 443 または 8443。それ以外は webhook_url_rejected)。conditions は通知が発火するスクリーンの状態変化を列挙します。メール通知には少なくとも1つ、Webhook には conditions または event_types が必要です。screen_tags は conditions を、いずれかのタグを持つスクリーンに限定します。空の場合はすべてのスクリーンが対象で、audience はキャンペーンのオーディエンスのルールでどのスクリーンかを指定します。min_severity と severity は通知を絞り込み、重大度を付与し、active_hours はそのウィンドウ外の通知を保留または破棄します。
条件は、hold_minutes(デフォルトは 10)の間継続した後にのみ通知されます。通知の送信後に条件が解消すると、続いて解決の通知が送信されます。この通知の対象はこのプロジェクトのみです。組織に作成できる通知は、システムが作成するデフォルトの通知を除いて最大50件です(notification_limit_reached)。
Webhook の署名シークレットはサーバーが生成し、この応答と rotate-secret でのみ返されます。保管してください。同じ Idempotency-Key を付けた同一内容の再試行には、シークレットを含む同じ応答が24時間返されます。通知は notification.created の後の最初のイベントから始まります。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| channel(必須、string) | 許可:"email"、"webhook"、"slack"、"teams"、"pagerduty"、"telegram" |
| 説明(任意、文字列) | 人が読むための名前です。maxLength: 200 |
| conditions(任意、NotificationConditions) | |
| screen_tags(任意、ScreenTags) | フリートセレクタータグ(0〜16件の一意なタグ、各タグはメディアタグ構文に準拠)。ScreenPatch では配列全体が置き換えられ、空配列で全タグがクリアされます。重複や不正なタグはinvalid_requestです。タグを変更するとスクリーンのリビジョンが更新され(If-Matchで保護)、screen.updatedにdetails.tagsが追加されます。マニフェストリビジョンは変更されません。 タグはランタイムマニフェストにも認証にも決して含まれません。 |
| audience(任意、CampaignAudience) | キャンペーンが対象とするスクリーン:all(すべてのルールが一致)、any(いずれか 1 つ以上が一致)、tag(スクリーンがそのタグを持つ)、screen_id(そのスクリーン)、folder(そのスクリーンフォルダーとその中のすべてのフォルダーにあるスクリーン、GET /api/screen-folders。フォルダーが存在する必要があります)のうちちょうど 1 つ。 ルールのネストは最大 3 階層、audience のルールは最大 500 件です。{"all": []} はプロジェクトのすべてのスクリーンです。それ以外では all と any に 1 件以上のルールが必要です。 |
| min_severity(任意、NotificationSeverity) | 通知の重大度(低い順)。発生通知には条件の重大度が付きます。通知の severity が別の指定をしていない限り、screen_offline は error、その他のすべての条件は warning です。解決通知とテストは info です。許可される値:「info」、「warning」、「error」 |
| severity(任意、NotificationSeverityOverrides) | この通知における条件から重大度へのマップ。たとえば {"not_playing": "error"}。min_severity の判定に使われ、Teams と PagerDuty がその条件に表示する重大度です。記載のない条件はデフォルトのままです。パッチでは、空のオブジェクトは null と同様にすべての上書きをクリアします。 |
| active_hours(任意、NotificationActiveHours) | 発生通知が送信される時間帯:timezone で解釈されるウィンドウ(screenrig.schedule/v1)。ウィンドウが閉じている間に送信期限を迎えた通知は、次に開くまで待機し(outside hold、デフォルト)、その時点で条件がまだ成り立っていれば送信されるため、先に条件が解消すれば何も送信されません。または、スキップされます(outside drop。last_error outside_hours)。 送信済みの発生通知に対する解決通知は、時間帯の内外を問わず常に送信され、テストは時間帯を無視します。crashing は他の条件と同様に保留または破棄されます。時間帯は通知が最初に送信されるときに判断し、失敗した通知は時間帯にかかわらず通常のスケジュールで再試行されます。 時間帯の追加、変更、削除を行うと、以前の時間帯のために保留されていた通知が直ちに再判定されます。 |
| reach_drop (optional, NotificationReachDrop) | reach_dropped 通知を送る、キャンペーンの到達数の最小の減少です。screens は失ったスクリーンの最小数(デフォルトは 1)、percent は設定されている場合に、キャンペーンの公開時に到達していたスクリーンに対する最小の割合で、減少は両方を満たす必要があります。 これより小さい減少では通知はキューに入らず、キューに入った通知も、送信時刻までに減少がこれを下回った場合はスキップされます (condition_cleared)。reach_dropped 条件がある場合のみ有効で、この条件のない通知では invalid_request になります。 |
| hold_minutes(任意、integer) | 通知が送信されるまでに、条件が継続しなければならない時間です。crashing は保留されません。default: 10 minimum: 0 maximum: 1440 |
| recipients(任意、NotificationRecipients) | メールのみ。owner(通知の送信時にプロジェクトを所有しているユーザー)、またはプロジェクトのメンバーであるユーザーの user_id を指定します。メンバーではない user_id は invalid_request になります。それぞれ、確認済みのメールアドレス宛てにメールが送信されます。その後プロジェクトを離れたユーザーや、確認済みのメールアドレスがないユーザーはスキップされます。 |
| URL(任意、文字列) | Webhook のみ: 公開インターネット上のホストの https URL。ポートは 443(デフォルト)または 8443 です。userinfo とフラグメントは使えません。maxLength: 2048 format: "uri" |
| event_types(任意、NotificationEventTypes) | Webhook のみ。プロジェクトイベントも、発生するたびに、Webhook が送信するのとまったく同じ形で POST されます。screen.online のような完全一致のタイプ、または screen.* のように .* で終わるプレフィックスを指定します。notification.test が配信されることはありません。 |
| destination(任意、NotificationDestination) | Slack、Teams、PagerDuty、Telegram のみで、これらでは必須です。サービスが発行する形式の認証情報を指定します:slack は受信 Webhook URL(hooks.slack.com)、teams は Workflows の Webhook URL(logic.azure.com または powerplatform.com。Office 365 コネクタの URL は廃止されています)、pagerduty は 32 文字の Events API v2 ルーティングキー、telegram はボットトークンです。 これ以外の形式は notification_destination_rejected になります。封印されて返されることはなく、読み取り時には destination_hint としてのみ現れます。 minLength: 1 maxLength: 2048 |
| telegram_chat_id(任意、NotificationTelegramChat) | Telegram のみで、Telegram では必須です。投稿先のチャット:数値の ID(グループやチャンネルでは負の値)または @channelname。認証情報ではありません。 pattern: "^(-?[0-9]{1,20}|@[A-Za-z][A-Za-z0-9_]{4,31})$" |
| enabled(任意、ブール値) | true |
リクエストテンプレートとレスポンス
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/notifications'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 201 | 作成されました。Webhook のシークレットは、ここと rotate-secret でのみ表示されます。 | Notification (application/json); ヘッダー: Cache-Control |
| 400 | invalid_request、webhook_url_rejected、または notification_destination_rejected。 | 問題 (application/problem+json) |
| 402 | feature_not_in_plan — アラートルーティング(Slack、Teams、PagerDuty、Telegram のチャンネル、または min_severity、severity、active_hours、audience のルール)は Plus に含まれます。既定のルールによるメールと Webhook の通知、および loop_stalled、glass_blank、glass_frozen の条件は、すべてのプランで利用できます。 問題には、機能、プロジェクトのプラン、required_plan が示されます。 | 問題 (application/problem+json) |
| 409 | notification_limit_reached、idempotency_mismatch、またはプロジェクトがどの組織にも属していない場合は resource_conflict。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知を取得
プロジェクト権限が必要です。レポート専用の認証情報は、レスポンスに受信先 URL または受信者が含まれるため、403 forbidden で拒否されます。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 1件の通知です。 | Notification (application/json); ヘッダー: ETag |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知を更新
description(空にするとクリア)、conditions、screen_tags、audience、min_severity、severity、active_hours(これらは null でそれぞれクリア)、hold_minutes、recipients(メール)、url と event_types(Webhook)、destination と telegram_chat_id(Slack、Teams、PagerDuty、Telegram)、enabled、snoozed_until のいずれかを変更します。channel は変更されません。
もう一方のチャネルのフィールドは invalid_request です。新しい url は作成時と同様に検証されます。
無効な通知で enabled を true にすると、失敗状態がクリアされ、その変更を記録したイベントから開始します。無効だった間のものは何も送信されず、無効化の前から送信待ちだった通知は webhook_disabled で失敗として扱われます。snoozed_until を指定すると、その時刻まで何も送信されません(最大30日先まで。null でスヌーズが終了します)。その間に送信時刻を迎えた通知はスキップされます(snoozed)。
notification.updated を追加します。If-Match がリビジョンを保護します。ここで変更できるのは、このプロジェクトだけを対象にする通知です。組織の他のプロジェクトも対象にする通知は notification_covers_other_projects となり、組織の「通知」ページから変更します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| If-Match | ヘッダー | オプション | オプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| 説明(任意、文字列) | 空文字列は説明をクリアします。maxLength:200 |
| conditions(任意、NotificationConditions) | |
| screen_tags(任意、ScreenTags) | フリートセレクタータグ(0〜16件の一意なタグ、各タグはメディアタグ構文に準拠)。ScreenPatch では配列全体が置き換えられ、空配列で全タグがクリアされます。重複や不正なタグはinvalid_requestです。タグを変更するとスクリーンのリビジョンが更新され(If-Matchで保護)、screen.updatedにdetails.tagsが追加されます。マニフェストリビジョンは変更されません。 タグはランタイムマニフェストにも認証にも決して含まれません。 |
| audience(任意、インライン) | NotificationWrite と同様です。null でクリアします。audience と screen_tags を同時に指定すると invalid_request になるため、一方からもう一方に切り替えるときは、同じリクエストで最初のものをクリアします。 |
| min_severity(任意、インライン) | NotificationWrite と同様です。null でクリアします。 |
| severity(任意、インライン) | すべての上書きを置き換えます。null または空のオブジェクトでクリアします。 |
| active_hours(任意、インライン) | 時間帯を置き換えます。null でクリアします。 |
| reach_drop (optional, inline) | しきい値を置き換えます。null で解除され、どの減少でも通知されます。設定されている間に conditions から reach_dropped を外すと invalid_request になります。同じリクエストで解除してください。 |
| hold_minutes(任意、integer) | minimum: 0 maximum: 1440 |
| recipients(任意、NotificationRecipients) | メールのみ。owner(通知の送信時にプロジェクトを所有しているユーザー)、またはプロジェクトのメンバーであるユーザーの user_id を指定します。メンバーではない user_id は invalid_request になります。それぞれ、確認済みのメールアドレス宛てにメールが送信されます。その後プロジェクトを離れたユーザーや、確認済みのメールアドレスがないユーザーはスキップされます。 |
| URL(任意、文字列) | maxLength:2048 フォーマット:「uri」 |
| event_types(任意、NotificationEventTypes) | Webhook のみ。プロジェクトイベントも、発生するたびに、Webhook が送信するのとまったく同じ形で POST されます。screen.online のような完全一致のタイプ、または screen.* のように .* で終わるプレフィックスを指定します。notification.test が配信されることはありません。 |
| destination(任意、NotificationDestination) | Slack、Teams、PagerDuty、Telegram のみで、これらでは必須です。サービスが発行する形式の認証情報を指定します:slack は受信 Webhook URL(hooks.slack.com)、teams は Workflows の Webhook URL(logic.azure.com または powerplatform.com。Office 365 コネクタの URL は廃止されています)、pagerduty は 32 文字の Events API v2 ルーティングキー、telegram はボットトークンです。 これ以外の形式は notification_destination_rejected になります。封印されて返されることはなく、読み取り時には destination_hint としてのみ現れます。 minLength: 1 maxLength: 2048 |
| telegram_chat_id(任意、NotificationTelegramChat) | Telegram のみで、Telegram では必須です。投稿先のチャット:数値の ID(グループやチャンネルでは負の値)または @channelname。認証情報ではありません。 pattern: "^(-?[0-9]{1,20}|@[A-Za-z][A-Za-z0-9_]{4,31})$" |
| enabled(任意、ブール値) | |
| snoozed_until(任意、inline) | この時刻まで何も送信しません。指定できるのは最大30日先までです。null を指定するとスヌーズが終了します。 |
リクエストテンプレートとレスポンス
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/notifications/RESOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 更新後の通知です。 | Notification (application/json); ヘッダー: ETag |
| 400 | invalid_request、webhook_url_rejected、または notification_destination_rejected。 | 問題 (application/problem+json) |
| 402 | feature_not_in_plan — アラートルーティング(Slack、Teams、PagerDuty、Telegram の通知の変更(オフにする、スヌーズする、説明を付ける場合を除く)、または min_severity、severity、active_hours、audience のルールの設定)は Plus に含まれます。ルールのクリアはすべてのプランで利用でき、loop_stalled、glass_blank、glass_frozen の条件もすべてのプランで利用できます。 問題には、機能、プロジェクトのプラン、required_plan が示されます。 | 問題 (application/problem+json) |
| 409 | notification_covers_other_projects — 通知が組織の他のプロジェクトも対象にしているため、組織の「通知」ページからのみ変更できます。 | 問題 (application/problem+json) |
| 412 | revision_conflict — If-Match が古くなっています。エラーの current_revision に現在のリビジョンが含まれます。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知を削除
通知を削除し、notification.deleted を追加します。送信待ちの通知は webhook_deleted で失敗として扱われ、配信ログは参照できなくなり、イベント保持期間に合わせて期限切れになります。ここで削除できるのは、このプロジェクトだけを対象にする通知です(そうでない場合は notification_covers_other_projects)。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| If-Match | ヘッダー | オプション | オプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエストテンプレートとレスポンス
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | 削除されました。 | 本文なし;ヘッダー:Cache-Control |
| 409 | notification_covers_other_projects — 通知が組織の他のプロジェクトも対象にしているため、組織の「通知」ページからのみ変更できます。 | 問題 (application/problem+json) |
| 412 | revision_conflict — If-Match が古くなっています。エラーの current_revision に現在のリビジョンが含まれます。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知のシークレットをローテーション
Webhook 通知のみです(それ以外のチャネルは invalid_request になります)。署名シークレットを置き換え、新しいシークレットを secret に含めた通知を返します。古いシークレットは直ちに署名に使われなくなりますが、すでに送信中の試行が最大1件、古いシークレットで署名されたまま届くことがあるため、しばらくは両方を受け付けてください。notification.updated を details.changed [secret] とともに追加します。
完全一致する Idempotency-Key の正確な再試行は24時間同じ新しいシークレットを返します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| If-Match | ヘッダー | オプション | オプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/rotate-secret'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 通知と、その新しいシークレットです。 | Notification (application/json); ヘッダー: Cache-Control |
| 400 | invalid_request:この通知は Webhook ではありません。 | 問題 (application/problem+json) |
| 409 | notification_covers_other_projects — 通知が組織の他のプロジェクトも対象にしているため、組織の「通知」ページからのみ変更できます。 | 問題 (application/problem+json) |
| 412 | revision_conflict — If-Match が古くなっています。エラーの current_revision に現在のリビジョンが含まれます。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知をテスト
notification.test プロジェクトイベントを追加し、この通知のみに、そのイベントの配信を1件キューに入れます(他の通知が notification.test を受け取ることはありません)。
Webhook にはイベントがボディとして送られ、メール通知では受信者にテストメールが送信されます。Slack、Teams、Telegram の通知はテストメッセージを投稿し、PagerDuty の通知は情報イベントを発生させて直ちに解決します。
無効な通知やスヌーズ中の通知でも動作し、再試行なしで1回だけ試行され、通知の失敗状態は変更されません。結果は配信ログをポーリングして確認してください。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/test'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 202 | キューに入ったテスト配信。 | NotificationDelivery (application/json); ヘッダー: RateLimit-Policy, RateLimit |
| 429 | 安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | 問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知の配信を一覧表示
通知の配信ログです。新しいイベントが先頭に並びます。行はイベントごとに1つで、スクリーンの通知ではそのイベントの条件ごとに1つです。再試行では行が更新され、GET .../deliveries/{delivery_id}/attempts でその直近の試行を一覧表示できます。送信する必要がなかった通知は、その理由とともにスキップされます。
行はイベントと同様に保持されます(プランのイベント保持期間で、少なくとも24時間の再試行期間)。次のページを取得するには、これまでと同様に next_cursor を渡します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| before | クエリ | オプション | 前の配信ページの next_cursor です。1つのイベントの通知の途中で終わるページでは、カーソルに最後の通知の条件が含まれます。 |
| 制限 | クエリ | オプション |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/deliveries'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 1ページの配信。 | NotificationDeliveryList (application/json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知の配信試行を一覧表示
1つの配信の試行を、新しい順に直近20件まで返します。配信の行と同じ期間、保持されます。各試行には、試行番号、完了した時刻、受信側の HTTP ステータス(応答がなかった場合とメールの場合は null)、エラークラス(成功時は null)、所要時間が含まれます。
この通知のものではない配信、または別のプロジェクトの通知は not_found になります。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| delivery_id | パス | 必須 | Webhookの配信IDの1つ。 |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/deliveries/DELIVERY_ID/attempts'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 配信の保持された試行回数です。 | NotificationDeliveryAttemptList (application/json) |
| 404 | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知の受信者を再購読
メール内の配信停止リンクで通知のメールを止めた人に、再びメールを送ります (Notification.unsubscribed に該当者が一覧されます)。冪等です。止めていない人を指定しても何も変わらず、応答は現状のままの通知です。
変更するとリビジョンが上がり、change は resubscribed、user_id、via は api の詳細とともに notification.updated が追加されます。ダッシュボードのセッションはプロジェクトの誰でも再購読でき、エージェントの認証情報にはプロジェクトの書き込み権限が必要です。本人が戻る方法は、配信停止リンクが返すページの Resubscribe ボタンです。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| user_id | パス | 必須 | 通知の unsubscribed リストにいる人の user_id です。 |
リクエストテンプレートとレスポンス
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/unsubscribed/USER_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | unsubscribed からその人を除いた通知です。 | Notification (application/json); ヘッダー: ETag |
| 409 | notification_covers_other_projects — 通知が組織の他のプロジェクトも対象にしているため、組織の「通知」ページからのみ変更できます。 | 問題 (application/problem+json) |
| 404 | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知の配信停止ページを表示
アラートメールのフッターにあるリンクです。セッションもベアラーも持たず、screenRIG が通知 n と人 u のために作成したトークン t がすべての権限となります。期限はなく、トークンが示す発行キーのバージョンが保持されている間は有効です。
応答は、その通知のメールをその人に対して止めるかどうかを尋ねるページで、何も変更しません。そのため、リンクを開くメールスキャナーが何かを止めることはありません。ボタンはこのパスに送信します。すでに止めている人には、ボタンで再購読できるページが表示されます。
一致しないトークン、通知、人、および削除された通知やメール通知ではない通知には、同じ 404 ページが返ります。ページにスクリプトはなく、送信先はこのオリジンだけです。1 アドレスあたり 1 分に最大 30 リクエストです (rate_limited)。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| n | クエリ | 必須 | リンクの対象の通知です。 |
| u | クエリ | 必須 | リンクの対象の人の user_id です。 |
| t | クエリ | 必須 | リンクのトークンです。 |
リクエストテンプレートとレスポンス
curl --request GET 'https://api.screenrig.ai/api/notifications/unsubscribe?n=N&u=U&t=T'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | アラートを止めるかどうかを尋ねるページです。 | string (text/html) |
| 404 | リンクが無効です。原因にかかわらず同じページです。 | string (text/html) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知の配信を停止
リンクの宛先の人に対する、通知のメールを止めます。クエリは GET リンクのものと同じで、本文は読み取らないため、メールプロバイダーの RFC 8058 ワンクリックリクエスト (すべてのアラートメールとテストメールにある List-Unsubscribe と List-Unsubscribe-Post ヘッダーに基づく List-Unsubscribe=One-Click) も、ページのボタンも、どちらも機能します。
止まるのはその人だけで、この通知についてだけです。ほかの人にはメールが届き続け、その人は受信者 (recipients) に残ります。冪等です。初回はリビジョンが上がり、change は unsubscribed、user_id、via は email_link の詳細とともに notification.updated が追加されます。
応答するページには Resubscribe ボタン (POST /api/notifications/resubscribe) があり、プロジェクトのメンバーは Notification.unsubscribed で止めている人を確認できます。メールを送る相手が残らない場合、通知は no_recipients としてスキップされます。一致しないリンクには GET と同じ 404 ページが返ります。1 アドレスあたり 1 分に最大 30 リクエストです (rate_limited)。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| n | クエリ | 必須 | リンクの対象の通知です。 |
| u | クエリ | 必須 | リンクの対象の人の user_id です。 |
| t | クエリ | 必須 | リンクのトークンです。 |
リクエストテンプレートとレスポンス
curl --request POST 'https://api.screenrig.ai/api/notifications/unsubscribe?n=N&u=U&t=T'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | アラートが止まったことを伝えるページです。 | string (text/html) |
| 404 | リンクが無効です。原因にかかわらず同じページです。 | string (text/html) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
通知を再購読
リンクの対象の人について POST /api/notifications/unsubscribe を取り消します。応答するページの Resubscribe ボタンです。リンク、権限、404 ページは同じで、冪等です。変更するとリビジョンが上がり、change は resubscribed、user_id、via は email_link の詳細とともに notification.updated が追加されます。1 アドレスあたり 1 分に最大 30 リクエストです (rate_limited)。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| n | クエリ | 必須 | リンクの対象の通知です。 |
| u | クエリ | 必須 | リンクの対象の人の user_id です。 |
| t | クエリ | 必須 | リンクのトークンです。 |
リクエストテンプレートとレスポンス
curl --request POST 'https://api.screenrig.ai/api/notifications/resubscribe?n=N&u=U&t=T'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | アラートが再び有効になったことを伝えるページです。 | string (text/html) |
| 404 | リンクが無効です。原因にかかわらず同じページです。 | string (text/html) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |