API リファレンス

プロジェクト API

プロジェクト、招待、サインイン

HTTP リファレンス。 バックエンド契約から生成。以下のエンドポイントを参照するか、OpenAPI をダウンロードしてください。

このグループには 147 件のオペレーションがあり、api/openapi.yaml から生成されています。パス、アクション、認証で絞り込めます。各エンドポイントには入力が一覧され、展開するとリクエストテンプレートとレスポンスコードを確認できます。テンプレートには、ご自身の値とスキーマに適合する本文が必要です。

大文字のプレースホルダーをあなたの値に置き換えます。JSONリクエストの場合、request.jsonのスキーマに合うボディを保存します。Cookie例は認証済みセッションのローカルCookieジャーを使用します。

プロジェクト、招待、サインイン

GET/api/project/deletion-preview

プロジェクト削除エージェントのプレビュー

現在の確認詳細、削除ブロッカー、切断されるアーカイブ済みデバイスを返します。呼び出し元がプロジェクトを削除できない場合(所有者または組織の管理者のみ可能。エージェントは担当者のみ)やブロッカーが残る場合、allowedはfalseで理由を返します。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
previewProjectDeletionAgent

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
project_idクエリオプション期待されるプロジェクトID。選択変更は拒否されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/project/deletion-preview'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectDeletionPreview(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PUT/api/project/owner

プロジェクトオーナーエージェントの転送

オーナーは、確認済みの既存のプロジェクトメンバーにオーナー権を譲渡します。これにより新しいメンバーシップは付与されません。新しいオーナーのメンバーシップから screen_scope と upload_scope が外れるため、新しいオーナーはプロジェクト全体に到達できます。

メンバーでもあるプロジェクトの組織の管理者のダッシュボードセッションも、プロジェクトの現在のオーナーが誰であっても、同じ方法で所有権を移譲できます。メンバーではない組織の管理者は次のルートを使用します:PUT /api/organizations/{org_id}/projects/{project_id}/owner.

認証
projectBearer または dashboardSession
リクエスト本文
ProjectOwnerTransfer
操作ID
transferProjectOwnerAgent

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
user_id(必須、文字列)minLength: 1 maxLength: 200
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/project/owner'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectContext(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/project/move

プロジェクトエージェントを移動

オーナー承認による移動は、スクリーンの占有と新しい使用量を移動先の支払者へアトミックに移します。過去の請求は元の支払者のままです。移動先がすでにプランが許可する数のライブプロジェクトを持っている場合は project_limit_reached になり、その required_plan には余裕のあるプランが示されます(Enterprise では示されません)。

認証
projectBearer または dashboardSession
リクエスト本文
ProjectMove
操作ID
moveProjectAgent

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
organization_id(必須、文字列)minLength: 1 maxLength: 200
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
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/project/move'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectContext(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/project/moves

許可されたプロジェクトがエージェントを移動

オーナーが管理するか、検証済みドメインが検証済みメールと一致する宛先を一覧表示

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
allowedProjectMovesAgent

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
project_idクエリオプション期待されるプロジェクトID。選択変更は拒否されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/project/moves'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectMoveDestinations(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects

エージェントプロジェクト一覧

アイデンティティのすべての有効なメンバーシップを組織とオーナーの文脈付きで一覧表示。トークンや同意で除外されたものも含む。in_token をマーク。ディスカバリーは権限追加なし、64プロジェクト制限なし。

認証
agentIdentityBearer または dashboardSession
リクエスト本文
なし
操作ID
listAgentProjects

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/projects'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectContextList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects

エージェントプロジェクトを作成

検証済み責任者が所有する名前付きプロジェクトを作成します。組織名がない場合は、その人の検証済みドメインの組織に割り当てられ、なければ現在のプロジェクトの組織、さらにその人が管理または無料で保持している組織の中で最近使用した組織、または新しい組織に割り当てられます。

組織名は正確に1つの表示可能な一致を選択し、それ以外は新しい組織を作成します。1人のユーザーは1つの無料Standard組織を持ちます。それを超える新しい組織はfree_organization_limitで、そのユーザーが持つものを指します。

組織が保持できるライブプロジェクトの数は、プランが許可する数までです(Standard 1、Plus 3、Premium 10、Education 50、Enterprise 100。フィーチャーセットによって拡張されます)。もう1つ作成すると project_limit_reached になり、その required_plan には余裕のあるプランが示されます(Enterprise では示されません。サポートにお問い合わせください)。

正確な冪等リトライは、シールされたメンバーシップ資格情報を10分間再配信します。登録は制限の対象外です。

agentアクセスJWT(identity scope、access:manage、identity access Manage権限)ではプロジェクトトークンは発行されず、プロジェクトはManageと全機能の権限に参加し、project_idでのリフレッシュはそのトークンを返します。

認証
agentIdentityBearer または dashboardSession
リクエスト本文
ProjectCreate
操作ID
createAgentProject

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
name(必須、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
organization_id(オプション、文字列)minLength: 1 maxLength: 200
organization_name(オプション、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/projects'

レスポンス

ステータス意味本文とヘッダー
201プロジェクトのライフサイクル結果CreatedProject(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/invitations

招待一覧

現在のプロジェクトの招待ライフサイクル記録をサインインリセットを除いて一覧表示。受信者アドレスは所有プロジェクトに表示。トークンと認証URLは一覧に含まれない。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
listInvitations

パラメーター

名前送信する必須?説明
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/invitations'

レスポンス

ステータス意味本文とヘッダー
200現在のプロジェクトの招待ライフサイクル記録をサインインリセットを除いて一覧表示InvitationList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/invitations

招待を作成

メンバーまたは広告購入者の招待を作成します。メール配信は認証情報を返しません。リンク配信はメンバーのみで、1つのURLを返し、24時間以内の正確な冪等リプレイでも同様です。メール招待は7日後に期限切れ、リンクは24時間後に期限切れになります。同じ種類、アドレス、プロジェクトの未処理のメール招待は再利用されます。

スクリーンに限定されたメンバーは、ユーザーを招待できません(outside_screen_scope)。

プロジェクトの組織の外部ゲストとなる(その組織がホーム組織ではない)ユーザーへの project_member メール招待には、その組織のゲストポリシーが適用され、ポリシー(allow、domains、none)がそのアドレスを受け入れない場合は guest_not_allowed(403)が返されます。招待の承諾時にも再度チェックされます。

スタッフと組織自身の管理者は対象外です。招待に screen_scope を指定することはスクリーンのスコープであり、Enterprise プランに含まれます。プランにこの機能が含まれていないプロジェクトは feature_not_in_plan(402)で拒否されます。

認証
projectBearer または dashboardSession
リクエスト本文
InvitationCreate
操作ID
createInvitations

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
種類(必須、文字列)許可されている値: "project_member"、"ad_buyer"。
配信(任意、文字列)許可:"email"、"link" デフォルト:"email"
メール(任意、配列)
advertising(任意、InvitationAdvertising)販売者所有の範囲:少なくとも1つのスクリーンまたはスロット。スクリーンのみ、スロットのみ、または両方が許容されます。
upload_scope(任意、UploadScope)

アップローダーが使えるもの(docs/uploaders.md):ページを変更できるプレイリストと、アップロード先のメディアフォルダー。フォルダーは一覧されたものそのもので、サブフォルダーは含まれません。書き込み時にプロジェクトの有効なオブジェクトを指していないIDは、その位置で invalid_request になります。後から削除されたものは無効なIDとして残りますが、何も許可しません。

範囲はリクエストごとに読み込まれるため、変更は次のリクエストから適用されます。

screen_scope(任意、ScreenScope)

スコープ付きメンバーまたはエージェントが操作できる対象(docs/screen-scope.md):一覧のスクリーンフォルダーとその内側のすべてのフォルダーにあるスクリーン、および一覧のスクリーン。合計で少なくとも1つのID。書き込み時にプロジェクトの有効なフォルダーまたはスクリーンを指さないIDは、その位置で invalid_request です。後で削除されると、何も付与しない無効なIDが残ります。

スコープはリクエストごとに読み取られるため、変更は次のリクエストから適用されます。タグはスコープになりません。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
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/invitations'

レスポンス

ステータス意味本文とヘッダー
201メンバーまたは広告購入者の招待を作成します。InvitationCreated(application/json);ヘッダー:RateLimit-Policy、RateLimit
402

feature_not_in_plan — スクリーンのスコープには Enterprise が必要で、アップロードスコープ(アップローダー)には Plus が必要です。問題には、機能、アカウントのプラン、required_plan が示されます。アップロードスコープの絞り込みと、どちらのスコープの削除も常に許可されます。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
POST/api/invitations/{id}/revoke

招待を取り消す

未処理の招待を取り消します。承認済みの招待には invitation_consumed が返されます。スクリーンに限定されたメンバーは、招待を取り消せません(outside_screen_scope)。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
revokeInvitation

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/invitations/RESOURCE_ID/revoke'

レスポンス

ステータス意味本文とヘッダー
204未処理の招待を取り消します。本文なし
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/sign-in-resets

サインインリセットを依頼

アドレスを保持しているかどうかを明かさずにサインインリセットリクエストを受け付けます。

アドレスが未検証のユーザー(セルフサービスサインアップなど)も対象となり、そのリセットを完了すると(所有者は replace_unverified_account で確認する必要があります)、受信トレイの所有者に新しいアカウント(リセットの認証情報を持つ新しいユーザー、新しい組織とプロジェクト)が付与され、そのアドレスが本人のものであると誰も示していなかった未検証のユーザーは削除されます。

リセットリンクは最後に要求されてから 1 時間で期限切れになります。リンクが有効で発行から 1 日未満のあいだは、再度の要求で同じリンクを再送し(最大 10 分に 1 回)、期限を要求から 1 時間後に延ばします。そのため、要求によって受信箱にあるリンクが無効になることはありません。それ以外の場合は新しいリンクに置き換わります。アドレスごとの上限はありません。

リセットを完了すると、その人のほかのパスキー(パスワードのリセットではすべてのパスキー)が削除され、新しい認証情報がパスキーの場合はパスワードも削除され、保留中のメール変更は破棄され、すべてのセッションが終了します。人の有無にかかわらず、このリクエストはそのメール宛ての招待を最大 10 件再送し、各招待の再送は 1 時間に 1 回までです。

連絡先メールアドレスが一致する未削除の最新 10 プロジェクトのうち、カタログ内のプランを持ち、登録による所有権の確定がまだ保留中の有効なプロジェクトには、登録招待が再送されます。招待が期限切れの場合や、受信者がすでに通常のメンバーとして参加している場合も対象です。

既存のサインインでその登録招待を承諾すると、所有権の取得が完了します。復旧をリクエストするだけでは、所有権も認証情報も変更されません。カタログ内のプランを持つ有効なプロジェクトに対する、メンバーおよび広告購入者向けの未処理のメール招待と、有効な組織に対する管理者向けの未処理の招待が、新しい順に残りの枠を使用します。

再送された招待は ID を維持し、新しいリンクと有効期限を取得します。古いリンクは無効になり、プロジェクトの未処理の招待数は変わりません。期限切れの登録招待は新しい招待として作成され、招待枠を再び使用するため、件数が 1 増えます。プロジェクトが上限に達している場合はスキップされます。

その他の期限切れの招待、取り消された招待、承諾済みの招待、リンクとして共有された招待は再送されません。

認証
なし
リクエスト本文
SignInResetRequest
操作ID
requestSignInReset

パラメーター

名前送信する必須?説明
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
email(必須、文字列)minLength: 3 maxLength: 254 形式: "email"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/sign-in-resets'

レスポンス

ステータス意味本文とヘッダー
202アドレスを保持しているかどうかを明かさずにサインインリセットリクエストを受け付けます。SignInResetAccepted(application/json);ヘッダー:RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
POST/api/enrollments

CLIを登録する

連絡先アドレスが既に人物またはプロジェクトに属している場合でも、明示的なバンドルCLI登録を通じて新しいプロジェクトと最初のエージェントを作成します。連絡先メールは未検証のままで権限を付与せず、不正なアドレスはinvalid_requestを返します。

同じトランザクションで登録招待をキューします。project_nameは省略可能で、省略時は読みやすい2語の名前を使用します。完全な冪等リプレイがレート制限に先行します。永続的な認証情報を保存してから成功を報告します。リプレイ用の封筒はissuance_expires_atで期限切れとなり、その後の再試行はcredential_issuance_expiredを返します。

冪等レコードは24時間持続します。

認証
なし
リクエスト本文
CLIEnrollmentRequest
操作ID
enrollCLI

パラメーター

名前送信する必須?説明
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
credential_format(オプション、文字列)

oauth である必要があります。これはエージェント JWT ペア(CLIEnrollmentOAuth)に応答します。レガシーまたは省略は 410 client_update_required に応答します。レガシーの永久ベアラーは廃止されました。エージェント JWT を発行しないサーバーは not_ready に応答します。許可されているのは "oauth"、"legacy" です。

intent(任意、文字列)

オプションの登録目的。省略またはsignageはscreens=true、advertiser=falseを維持します。advertisingはadvertiser=true、screens=falseを設定し、課金プランの割り当ては変更しません。許可される値:「signage」、「advertising」

client_id(必須、文字列)最初のリクエスト前に生成され永続化された、32バイトの CSPRNG からの安定した匿名インストールID。これはレート制限用で、プロジェクト認証情報ではありません。パターン:"^cli_[A-Za-z0-9_-]{43}$"
email(任意、文字列)

未検証のプロジェクト連絡先アドレス。emailまたはagentid_claimのいずれか一方が必須です。登録は常に新しいプロジェクトを作成し招待をキューに入れます。アドレスだけでは権限は付与されません。minLength: 3 maxLength: 254 format: "email"

agentid_claim(任意、文字列)

AgentIDサインインページの使い切りAgentIDクレームコード。emailかagentid_claimのどちらか1つが必須。確認済みAgentID所有者のアドレスがプロジェクト連絡先と招待受取人になります。パターン:"^agid_[A-Za-z0-9_-]{43}$"

beta_key(任意、文字列)サーバーに登録ベータキーが設定されている場合に必須。登録が制限されていない場合は省略。
name(任意、文字列)デフォルト:「Agent」minLength:1 maxLength:80
agent_type(任意、文字列)デフォルト:「cli」パターン:「^[A-Za-z0-9][A-Za-z0-9._-]{0,31}$」
プラットフォーム(任意、文字列)maxLength: 80
version(任意、文字列)maxLength: 40
install_source(任意、文字列)

任意。統合のインストール元で、ホスト、およびスラッシュに続けてマーケットプレイス(claude/screenrig、codex/screenrig、grok/screenrig)、または npm のようなホストのみを指定します。これを報告するのは人ではなくソフトウェアのため、欠落している値や形式が正しくない値は無視され、登録が失敗することはありません。

インストール元を集計するだけで、何も付与しません。パターン: "^[a-z][a-z0-9-]{0,31}(/[a-z0-9][a-z0-9._-]{0,63})?$"

project_name(任意、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
setup_code(任意、文字列)

ユーザーがセットアッププロンプトとともにウェブサイトからコピーした任意のセットアップコードです(英数字 4 文字ずつの 2 グループ。大文字小文字とハイフンは無視されます)。新しいプロジェクトをそのウェブサイト訪問に関連付けます。不明または期限切れのコードは無視され、エンロールメントを失敗させません。何も許可しません。 pattern: "^[0-9A-Za-z]{4}-?[0-9A-Za-z]{4}$"

組織(オプション、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/enrollments'

レスポンス

ステータス意味本文とヘッダー
201

新しいプロジェクトと永久ベアラー認証情報。プロジェクトは未検証の連絡先アドレスをトリムされた形で保持します。登録成功を報告する前にトークンを保持し検証してください。認証情報に予定された有効期限はなく、暗号化された正確な再試行配信エンベロープはissuance_expires_atまでのみ存在します。

CLIEnrollmentOAuth(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
409

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
410

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
500

安定した 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)
GET/agentid/start

エージェントIDサインイン開始

ランタイムの公開オリジンから派生したAPIホストでAgentID(OIDC)ブラウザサインインを開始します(https://play.<domain> -> https://api.<domain>)。使い捨てのバインディングクッキーを設定し、PKCE S256付きのAgentID認可エンドポイントにリダイレクトします。APIホストでのみ応答します。

リライイングパーティにクライアントIDとシークレットがない場合、このルートは503の利用不可ページを表示します。

認証
なし
リクエスト本文
なし
操作ID
startAgentIDSignIn
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET 'https://api.screenrig.ai/agentid/start'

レスポンス

ステータス意味本文とヘッダー
302AgentID 認証エンドポイントにリダイレクトします。本文なし
503AgentID サインインは利用できません。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/agentid/callback

Agent IDサインインを完了

APIホストでAgentIDブラウザサインインを完了します。issは設定済み発行者と一致し、バインド済みクッキーと未期限切れの一回限りトランザクションが必要です。

client_secret_basic と PKCE でコードを交換し、ES256 id_token(iss、aud、exp(60秒のずれ許容)、nonce)をキャッシュされたJWKSで検証し、userinfo を呼び出しオーナールールを適用し、使い捨てのクレームコードページを表示します。すでにエージェントにバインドされたサブジェクトは既登録ページを表示します。

このルートはプロジェクト、ID、招待を作成しません。

認証
なし
リクエスト本文
なし
操作ID
completeAgentIDSignIn

パラメーター

名前送信する必須?説明
codeクエリオプション
状態クエリオプション
issクエリオプション
エラークエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET 'https://api.screenrig.ai/agentid/callback'

レスポンス

ステータス意味本文とヘッダー
200プラグインインストール手順付き使い切りAgentIDクレームコードページ。string (text/html)
409AgentID の対象は既に登録されています。string (text/html)
503AgentID サインインは利用できません。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/api/project

プロジェクトを取得

呼び出しプロジェクト。1クレジットの API メーターはデビットしないため、残高0のプロジェクトでも残高を読み取り回復できます。成功したプロジェクトプリンシパルの後、認証済み /api JSON と問題応答には ScreenRig-Credits-Remaining、ScreenRig-Credits-Reset、ScreenRig-Credits-Included が全クレジットで含まれます。

SSE、ランタイム、コンテンツ、および認証されていないレスポンスはこれらを省略します。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
getProject

パラメーター

名前送信する必須?説明
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/project'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトプロジェクト (application/json); ヘッダー: ScreenRig-Credits-Remaining, ScreenRig-Credits-Reset, ScreenRig-Credits-Included, ScreenRig-Credits-Low
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PATCH/api/project

プロジェクトを更新

現在のプロジェクト名を変更します。名前は1~60文字の印刷可能文字で、URLのようなテキストは含みません。

認証
projectBearer または dashboardSession
リクエスト本文
ProjectPatch
操作ID
updateProject

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
name(必須、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
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/project'

レスポンス

ステータス意味本文とヘッダー
200現在のプロジェクト名を変更します。プロジェクト (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
削除/api/project

プロジェクトエージェント削除

これを削除できるのはプロジェクトのオーナーか組織の管理者のみです。他の呼び出し元は forbidden で拒否されます。人物はプロジェクトのメンバーである必要があります。

エージェントは対象メンバーシップのプロジェクト権限を必要とし、責任者の人物(オーナーまたは組織管理者)として削除します。責任者がいないエージェントは削除できません。ただし、誰も参加を承認していない状態でプロジェクトを登録したエージェントは例外です。

現在の名前とリビジョン、非アーカイブのスクリーンがゼロ、クレジットなし、予約や負債が自身のウォレットにないこと、ライブ広告がないことも必要です。無料またはローンチ条件下でのマイナス残高はブロックしません。削除時に project_delete_writeoff 元帳エントリで帳消しにします。メンバー通知をキューに入れ、取り消し不能なトゥームストーンを使用します。

認証
projectBearer または dashboardSession
リクエスト本文
ProjectDeleteConfirmation
操作ID
deleteProjectAgent

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
empty_only(任意、ブール値)

削除トランザクションには空の Screens プロジェクトが必要です。コンテンツ、他のエージェントやメンバー、作業や対応を含みます。CLI はこのクリーンアップガードを使う前に保存された登録由来も必要とします。省略すると明示的なメンバー削除が維持されます。

name(必須、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
revision(必須、整数)最小値: 1
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/project'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果削除済みプロジェクト(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/project/capabilities

プロジェクトの機能を取得

呼び出しプロジェクトのプラン、独立した広告主/画面フラグとそのリビジョン、派生した実効能力セット、持っているプラン機能(plan_features)、上限(limits)。クライアントの主張を反映せず、不明なプランは禁止として失敗します。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
getProjectCapabilities

パラメーター

名前送信する必須?説明
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/project/capabilities'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトの機能です。ProjectCapabilities(application/json);ヘッダー:Cache-Control
403禁止 - プロジェクトプランがカタログにありません。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/organizations/{org_id}/audit

組織の監査を一覧表示

組織自身の監査ログ: 管理者、ドメイン、請求設定の変更を、GET /api/audit と同じエントリ、フィルター、形式で記録します。組織の管理者が必要です。Enterprise プランに含まれる監査ログの一部です。プランにこの機能が含まれていない組織は feature_not_in_plan(402)で拒否されます。

すべてのプランで変更が記録されます。

認証
dashboardSession
リクエスト本文
なし
操作ID
listOrganizationAudit

パラメーター

名前送信する必須?説明
org_idパス必須
操作者クエリオプション
actor_kindクエリオプション
ソースクエリオプション
アクションクエリオプション
以降クエリオプション
までクエリオプション
カーソルクエリオプション
制限クエリオプション
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/audit'

レスポンス

ステータス意味本文とヘッダー
200エントリの 1 ページ、または絞り込んだログのファイル。AuditList(application/json), string(text/csv), string(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), string(application/pdf)
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
402feature_not_in_plan — 監査ログは Enterprise プランに含まれます。問題には、機能、アカウントのプラン、required_plan が示されます。問題 (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)
GET/api/organizations/{org_id}/notifications

組織の通知を一覧表示

組織の通知(すべてのチャネル)を古い順に返します(最大50件)。

通知は組織に属し、後から追加されたプロジェクトを含む組織のすべてのプロジェクト (project_ids なし)、または選択したプロジェクト (project_ids) を対象にします。対象プロジェクトのスクリーン、ソース、キャンペーン、カードに対して、プロジェクトの通知とまったく同じように働きます。status は、対象プロジェクトのいずれかの配信が failing である間は failing で、failing_since、last_success_at、last_failure_at は対象プロジェクトの値をまとめたものです (最も早い失敗の開始、最新の成功と失敗)。

Webhook の署名シークレットはここでは返されません。組織の管理者が必要です。それ以外は not_found です。

認証
dashboardSession
リクエスト本文
なし
操作ID
listOrganizationNotifications

パラメーター

名前送信する必須?説明
org_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/notifications'

レスポンス

ステータス意味本文とヘッダー
200組織の通知です。OrganizationNotificationList(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)
POST/api/organizations/{org_id}/notifications

組織の通知を作成

POST /api/notifications のメンバーと、通知の対象となるプロジェクトを指定して、組織の通知を作成します。project_ids を省略するか null にすると、組織のすべてのプロジェクト(現在のものと今後加わるもの)が対象になります。リストを指定すると、そのプロジェクトだけが対象になります。各プロジェクトはこの組織のライブプロジェクトである必要があります(そうでない場合は invalid_request)。

メール通知の受信者は、owner(対象の各プロジェクトのオーナー)か、組織のユーザー(管理者とホームメンバー)または対象プロジェクトのメンバーの user_ids です。各プロジェクトがメールを送るのは、そのプロジェクトのメンバーであるユーザーだけです。

組織に作成できる通知は、システムが作成するデフォルトの通知を除いて最大50件です(notification_limit_reached)。チャネル、ルール、条件には、プロジェクトのルートと同じプランの機能による制限が、組織のプランに基づいて適用されます。対象の各プロジェクトに notification.created が追加され、この変更は組織の監査ログに記録されます。

Webhook の署名シークレットはこの応答と rotate-secret でのみ返されます。1つのシークレットが、対象のすべてのプロジェクトの配信に署名します。同じ Idempotency-Key を付けた同一内容の再試行には、シークレットを含む同じ応答が24時間返されます。

認証
dashboardSession
リクエスト本文
OrganizationNotificationWrite
操作ID
createOrganizationNotification

パラメーター

名前送信する必須?説明
org_idパス必須
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
project_ids(任意、インライン)通知の対象となるプロジェクト。null または省略した場合は、組織のすべてのプロジェクトが対象になります。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/notifications'

レスポンス

ステータス意味本文とヘッダー
201作成されました。Webhook のシークレットは、ここと rotate-secret でのみ表示されます。Notification (application/json); ヘッダー: Cache-Control
400invalid_request、webhook_url_rejected、または notification_destination_rejected。問題 (application/problem+json)
402feature_not_in_plan — POST /api/notifications と同様で、組織のプランに対するものです。問題 (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)
409notification_limit_reached または idempotency_mismatch。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/organizations/{org_id}/notifications/{id}

組織の通知を取得

GET /api/organizations/{org_id}/notifications が示す、組織の1件の通知です。

認証
dashboardSession
リクエスト本文
なし
操作ID
getOrganizationNotification

パラメーター

名前送信する必須?説明
org_idパス必須
IDパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/notifications/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
2001件の通知です。Notification (application/json); ヘッダー: ETag
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)
PATCH/api/organizations/{org_id}/notifications/{id}

組織の通知を更新

PATCH /api/notifications/{id} が変更できるメンバーをすべて、通知と対象のすべてのプロジェクトで変更します。さらに project_ids も変更できます。省略するとプロジェクトは変わらず、null にするとすべてのプロジェクトが対象になり、リストを指定するとそのプロジェクトだけが対象になります。通知が新たに加わるプロジェクトでは、現在のイベントから始まります(それ以前のものは送信されません)。通知が外れるプロジェクトでは、その通知が削除されます。

対象の各プロジェクトに notification.updated が追加され、この変更は組織の監査ログに記録されます。

通知が現在対象にしていないプロジェクトを対象に加える変更は、変更後の通知を新規作成する場合と同じ機能チェックを受けます(組織のプランに対するチャネル、ルール、スクリーン上の条件)。対象のプロジェクトを減らす変更はチェックされません。リストからすべてのプロジェクトへの切り替えは、常に対象を増やします。If-Match がリビジョンを保護します。

認証
dashboardSession
リクエスト本文
OrganizationNotificationPatch
操作ID
updateOrganizationNotification

パラメーター

名前送信する必須?説明
org_idパス必須
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(任意、インライン)NotificationPatch と同様です。
min_severity(任意、インライン)NotificationPatch と同様です。
severity(任意、インライン)すべての上書きを置き換えます。null または空のオブジェクトでクリアします。
active_hours(任意、インライン)時間帯を置き換えます。null でクリアします。
reach_drop (optional, inline)しきい値を置き換えます。null でクリアします。
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 を指定するとスヌーズが終了します。
project_ids(任意、インライン)省略すると通知の対象プロジェクトは変わりません。null にすると組織のすべてのプロジェクトが対象になります。リストを指定すると、そのプロジェクトだけが対象になります。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/notifications/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
200更新後の通知です。Notification (application/json); ヘッダー: ETag
400invalid_request、webhook_url_rejected、または notification_destination_rejected。問題 (application/problem+json)
402feature_not_in_plan — PATCH /api/notifications/{id} と同様で、組織のプランに対するものです。問題 (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)
412revision_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)
削除/api/organizations/{org_id}/notifications/{id}

組織の通知を削除

通知を対象のすべてのプロジェクトから削除し、各プロジェクトに notification.deleted を追加して、組織の監査ログに記録します。送信待ちの通知は webhook_deleted で失敗として扱われます。

認証
dashboardSession
リクエスト本文
なし
操作ID
deleteOrganizationNotification

パラメーター

名前送信する必須?説明
org_idパス必須
IDパス必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/notifications/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
204削除されました。本文なし;ヘッダー:Cache-Control
404

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
412revision_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)
POST/api/organizations/{org_id}/notifications/{id}/rotate-secret

組織の通知のシークレットをローテーション

Webhook 通知のみです(それ以外のチャネルは invalid_request)。対象のすべてのプロジェクトの署名シークレットを一度に置き換えるため、1つの受信先は1つのシークレットで検証を続けられます。新しいシークレットを secret に含めた通知を返します。

POST /api/notifications/{id}/rotate-secret と同様に、プロジェクトごとに、すでに送信中の試行が最大1回、古いシークレットで署名されたまま届くことがあります。同じ Idempotency-Key を付けた同一内容の再試行には、同じ新しいシークレットが24時間返されます。

認証
dashboardSession
リクエスト本文
なし
操作ID
rotateOrganizationNotificationSecret

パラメーター

名前送信する必須?説明
org_idパス必須
IDパス必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/notifications/RESOURCE_ID/rotate-secret'

レスポンス

ステータス意味本文とヘッダー
200通知と、その新しいシークレットです。Notification (application/json); ヘッダー: Cache-Control
400invalid_request:この通知は Webhook ではありません。問題 (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)
412revision_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)
POST/api/organizations/{org_id}/notifications/{id}/test

組織の通知をテスト

通知の対象となる最初のプロジェクト(プロジェクト id 順)を通じて notification.test を1件送信します。POST /api/notifications/{id}/test がそのプロジェクトを通じて送信するのと同じです。配信は1件で、結果は配信の一覧に表示され、試行は1回だけです。

対象のすべてのプロジェクトで受信先、送信先、シークレットが同じなので、1回のテストでチャネルを確認できます。テストのメールは、そのプロジェクトの受信者に送信されます。どのプロジェクトも対象にしない通知は invalid_request です。

認証
dashboardSession
リクエスト本文
なし
操作ID
testOrganizationNotification

パラメーター

名前送信する必須?説明
org_idパス必須
IDパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/notifications/RESOURCE_ID/test'

レスポンス

ステータス意味本文とヘッダー
202キューに入ったテスト配信。NotificationDelivery (application/json); ヘッダー: RateLimit-Policy, RateLimit
404

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
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)
GET/api/organizations/{org_id}/notifications/{id}/deliveries

組織の通知の配信を一覧表示

通知の対象となるすべてのプロジェクトの配信ログを、1つの一覧にして、各行がキューに入った時刻の新しい順に返します。各行にはプロジェクト(project_id)が示され、その id で GET .../deliveries/{delivery_id}/attempts を開けます。次のページを取得するには、これまでと同様に next_cursor を渡します。

認証
dashboardSession
リクエスト本文
なし
操作ID
listOrganizationNotificationDeliveries

パラメーター

名前送信する必須?説明
org_idパス必須
IDパス必須
beforeクエリオプション前の配信ページの next_cursor。
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/notifications/RESOURCE_ID/deliveries'

レスポンス

ステータス意味本文とヘッダー
2001ページの配信。NotificationDeliveryList (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)
GET/api/organizations/{org_id}/notifications/{id}/deliveries/{delivery_id}/attempts

組織の通知の配信試行を一覧表示

1件の配信の試行を新しい順に、直近20件まで返します。この通知の配信でないものは not_found です。

認証
dashboardSession
リクエスト本文
なし
操作ID
listOrganizationNotificationDeliveryAttempts

パラメーター

名前送信する必須?説明
org_idパス必須
IDパス必須
delivery_idパス必須Webhookの配信IDの1つ。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/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)
削除/api/organizations/{org_id}/notifications/{id}/unsubscribed/{user_id}

組織の通知の受信者を再購読

メール通知の対象ユーザーが、メール内の配信停止リンクで停止した後に、再びメールを送ります。通知が対象とするすべてのプロジェクトに適用されます(リンクはそのすべてで停止します)。冪等です。停止していないユーザーには何も変わらず、応答はそのままの通知です。

変更するとリビジョンが上がり、対象の各プロジェクトに、change は resubscribed、user_id、via は api の詳細とともに notification.updated が追加されます。

認証
dashboardSession
リクエスト本文
なし
操作ID
resubscribeOrganizationNotificationUser

パラメーター

名前送信する必須?説明
org_idパス必須
IDパス必須
user_idパス必須通知の unsubscribed リストにいる人の user_id です。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/notifications/RESOURCE_ID/unsubscribed/USER_ID'

レスポンス

ステータス意味本文とヘッダー
200unsubscribed からその人を除いた通知です。Notification (application/json); ヘッダー: ETag
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)
GET/api/projects/{project_id}/reports

プロジェクトのレポートの種類を一覧

GET /api/reports/{kind} が作成するレポートの種類と、それぞれのフィルター、レポートの出力形式を一覧します。レポートのケイパビリティが必要です。

認証
projectBearer
リクエスト本文
なし
操作ID
listReportKindsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/reports'

レスポンス

ステータス意味本文とヘッダー
200レポートの種類。ReportCatalog(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/report-subscriptions

プロジェクトのレポート購読を一覧

プロジェクトのスケジュール済みレポートを古い順に一覧します(最大 50 件)。各レポートの次回の実行と前回の結果を含みます。プロジェクトのケイパビリティが必要です。

認証
projectBearer
リクエスト本文
なし
操作ID
listReportSubscriptionsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/report-subscriptions'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのレポート購読。ReportSubscriptionList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/report-subscriptions

プロジェクトでレポート購読を作成

レポートを PDF、XLSX、CSV の添付ファイルとして、毎日・毎週・毎月、指定したタイムゾーンの時刻にメールで送るよう設定します。

各実行は直前の期間を UTC の日単位で対象にします(前日、直前の7日間、または先月)。recipients はプロジェクトのメンバーで、user_id またはメンバーのメールアドレスで指定します。メンバー以外は拒否されるため、購読が外部の人にメールを送る手段になることはなく、退出したメンバーには届かなくなります。

失敗した実行は再試行され、last_status failed と last_error で示されます。1 組織あたり、すべてのプロジェクトを合わせて最大 50 件(report_subscription_limit_reached)。

認証
projectBearer
リクエスト本文
ReportSubscriptionWrite
操作ID
createReportSubscriptionInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
name(必須、文字列)minLength: 1 maxLength: 100
種類(必須、文字列)使用可能な値: "fleet_health", "uptime", "publishing", "alerts", "alert_log", "proof_of_play"
filters(任意、オブジェクト)日付以外のレポートのフィルター(GET /api/reports で一覧できます)。
schedule(必須、ReportSchedule)
format(必須、文字列)使用可能な値: "pdf", "xlsx", "csv"
recipients(必須、配列)プロジェクトメンバーの user_id またはメールアドレス。
enabled(任意、ブール値)true
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/report-subscriptions'

レスポンス

ステータス意味本文とヘッダー
201作成されました。ReportSubscription (application/json)、ヘッダー: ETag
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
402feature_not_in_plan — レポートは Plus に含まれます。問題には、機能、プロジェクトのプラン、required_plan が示されます。問題 (application/problem+json)
409report_subscription_limit_reached.問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/cards

プロジェクト内カード一覧

認証
projectBearer
リクエスト本文
なし
操作ID
listCardsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
プロジェクトクエリオプション
以降クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/cards'

レスポンス

ステータス意味本文とヘッダー
200カードリソースオブジェクト(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/cards

プロジェクトカードを作成

認証
projectBearer
リクエスト本文
CardCreate
操作ID
createProjectCard

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
タイプ(必須、文字列)
major(任意、整数)最小値: 1
パラメーター(必須、オブジェクト)
data(オプション、オブジェクト)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/cards'

レスポンス

ステータス意味本文とヘッダー
201カードリソースCardInstance(application/json)
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)
POST/api/organizations/{org_id}/billing/portal-sessions

組織ポータルを作成

有効な組織の指定管理者、オリジンが完全に一致する Cookie 認証、JWT CSRF が必要です。実行者と戻り先 URL はサーバーが管理します。レスポンスは private かつ no-store です。リセラーに委任されている組織にも、そのカードと過去の請求書のために開かれています。

認証
dashboardSession
リクエスト本文
EmptyPaymentRequest
操作ID
createOrganizationPortal

パラメーター

名前送信する必須?説明
org_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/billing/portal-sessions'

レスポンス

ステータス意味本文とヘッダー
201請求管理の結果。BillingPortalSession (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PUT/api/organizations/{org_id}/billing/auto-top-up

組織の自動チャージを設定

有効な組織の指定管理者、オリジンが完全に一致する Cookie 認証、JWT CSRF が必要です。実行者はサーバーが管理します。無効にしても、保存済みの金額と月間の支出額は保持され、無効の場合は金額フィールドが無視されます。レスポンスは private かつ no-store です。設定を変更すると、失敗した支払い対象の請求書が安全に無効化された後にのみ、回復可能な一時停止が解除されます。

リセラーに委任されている組織で有効にすると 409 billed_by_reseller が返ります。無効にすることは引き続き可能です。

認証
dashboardSession
リクエスト本文
AutoTopUpSettings
操作ID
setOrganizationAutoTopUp

パラメーター

名前送信する必須?説明
org_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/billing/auto-top-up'

レスポンス

ステータス意味本文とヘッダー
200請求管理の結果。AutoTopUpView (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/organizations/{org_id}/billing/payments

組織の支払いを取得

有効な組織の支払い情報。指定管理者の Cookie が必要です。スタッフとして閲覧できるだけでは購入権限は付与されません。支払いが未設定の場合は available false を返します。ブラウザーが戻ってきただけではクレジットは付与されません。

認証
dashboardSession
リクエスト本文
なし
操作ID
getOrganizationPayments

パラメーター

名前送信する必須?説明
org_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/billing/payments'

レスポンス

ステータス意味本文とヘッダー
200支払いの利用可否と最近の購入。OrganizationPayments (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/organizations/{org_id}/billing/credit-checkouts

組織の決済を作成

有効な組織の指定管理者として前払い購入を開始します。同一オリジンの Cookie 認証と、JWT セッションの場合は一致する CSRF ヘッダーが必要です。組織、顧客、実行者、戻り先 URL はサーバーが管理します。クレジットは請求サービスが支払いを確認した後にのみ適用されます。応答が不明確な場合は同じ Idempotency-Key と金額で再試行してください。

リセラーに委任されている組織には 409 billed_by_reseller が返ります。

認証
dashboardSession
リクエスト本文
object
操作ID
createOrganizationCheckout

パラメーター

名前送信する必須?説明
org_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
amount_cents(必須、整数)最小値: 10000 最大値: 1000000 形式: "int64"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/billing/credit-checkouts'

レスポンス

ステータス意味本文とヘッダー
201購入を作成または再実行しました。完了後は決済 URL が含まれません。応答は非公開で no-store です。CreditPurchase (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/organizations/{org_id}/billing/balance

組織の請求残高を取得

組織のウォレット。指定された組織管理者、組織の委任先リセラーの管理者、またはスタッフセッションが必要です。プロジェクトメンバーシップは付与しません。

認証
dashboardSession
リクエスト本文
なし
操作ID
getOrganizationBillingBalance

パラメーター

名前送信する必須?説明
org_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/billing/balance'

レスポンス

ステータス意味本文とヘッダー
200組織の請求残高。BillingBalance(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/organizations/{org_id}/billing/statement

組織の請求明細を取得

課金時にこの組織に帰属するジャーナルエントリで、プロジェクトと支払者のIDを含みます。移動は履歴アクセスを移転しません。記録された組織コンテキスト以前のエントリはプロジェクトの明細に残ります。残高と同じユーザーが読み取れます(getOrganizationBillingBalance)。

認証
dashboardSession
リクエスト本文
なし
操作ID
getOrganizationBillingStatement

パラメーター

名前送信する必須?説明
org_idパス必須
カーソルクエリオプション
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/billing/statement'

レスポンス

ステータス意味本文とヘッダー
200組織の請求明細。BillingStatement(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/organizations/{org_id}/billing/usage

組織の請求使用量を取得

組織の UTC 1 か月間の使用プールと、各プロジェクトの割合。この組織が支払う使用量が対象で、その他の支払者の費用は組織の明細に記載されています。残高と同じユーザーが読み取れます(getOrganizationBillingBalance)。

認証
dashboardSession
リクエスト本文
なし
操作ID
getOrganizationBillingUsage

パラメーター

名前送信する必須?説明
org_idパス必須
カーソルクエリオプション
制限クエリオプション
期間クエリオプションYYYY-MM形式のUTC月。デフォルトは現在の月。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/billing/usage'

レスポンス

ステータス意味本文とヘッダー
200組織の請求使用量。OrganizationBillingUsage(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/organizations

Agent Organizationsリスト

管理者のための空の組織を含む、表示可能な組織です。名前は一意ではありません。

認証
agentIdentityBearer または dashboardSession
リクエスト本文
なし
操作ID
agentOrganizationsList
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/organizations'

レスポンス

ステータス意味本文とヘッダー
200組織の結果。OrganizationList(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PATCH/api/organizations/{org_id}

Agent Organizations名前変更

指定された管理者と、確認済みの責任者が管理者であるエージェントは組織名を変更できます。プロジェクトの権限やメンバーシップは付与されません。

認証
agentIdentityBearer または dashboardSession
リクエスト本文
組織名変更
操作ID
agentOrganizationsRename

パラメーター

名前送信する必須?説明
org_idパス必須

リクエスト本文フィールド

フィールド説明
name(必須、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/organizations/ORG_ID'

レスポンス

ステータス意味本文とヘッダー
200組織の結果。OrganizationView(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PUT/api/project/review-policy

プロジェクトレビューポリシーを設定

エージェント変更のレビュー必須をオンまたはオフにします。オンの場合、プロジェクトのすべてのエージェントとサービスクライアントは、資格情報に関係なくすべてのリクエストでProposeアクセスに制限されます。変更できるのはプロジェクトの所有者か組織の管理者のみ(それ以外は禁止)。スタッフのシャドウセッションは変更できません。

If-Matchはreview_policy_revision(0許可)を持ち必須です。古い値はrevision_conflict。オフにするには証明が必要で、エージェント接続承認に使う新しいpasskeyまたはpassword証明が必要。オンは不要。オープンレビューはどちらでも決定可能。project.review_policy_changedを追加。

認証
dashboardSession
リクエスト本文
ReviewPolicyUpdate
操作ID
setProjectReviewPolicy

パラメーター

名前送信する必須?説明
If-Matchヘッダー必須

リクエスト本文フィールド

フィールド説明
agent_changes_require_review(必須、ブール値)
proof(任意、DashboardProof)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/project/review-policy'

レスポンス

ステータス意味本文とヘッダー
200現在適用中のポリシーです。ReviewPolicy(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/project/deletion-preview

プロジェクト内のプロジェクト削除エージェントのプレビュー

現在の確認詳細、削除ブロッカー、切断されるアーカイブ済みデバイスを返します。呼び出し元がプロジェクトを削除できない場合(所有者または組織の管理者のみ可能。エージェントは担当者のみ)やブロッカーが残る場合、allowedはfalseで理由を返します。

認証
projectBearer
リクエスト本文
なし
操作ID
previewProjectDeletionAgentInProject

パラメーター

名前送信する必須?説明
project_idパス必須
project_idクエリオプション期待されるプロジェクトID。選択変更は拒否されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project/deletion-preview'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectDeletionPreview(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PUT/api/projects/{project_id}/project/owner

プロジェクト内のプロジェクトオーナーエージェントの転送

オーナーは、確認済みの既存のプロジェクトメンバーにオーナー権を譲渡します。これにより新しいメンバーシップは付与されません。新しいオーナーのメンバーシップから screen_scope と upload_scope が外れるため、新しいオーナーはプロジェクト全体に到達できます。

認証
projectBearer
リクエスト本文
ProjectOwnerTransfer
操作ID
transferProjectOwnerAgentInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
user_id(必須、文字列)minLength: 1 maxLength: 200
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project/owner'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectContext(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/project/move

プロジェクト内でプロジェクトエージェントを移動

所有者承認の移動はスクリーンの占有と新しい使用を宛先支払者に原子操作で移転し、過去の請求は元の支払者のままです。

認証
projectBearer
リクエスト本文
ProjectMove
操作ID
moveProjectAgentInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
organization_id(必須、文字列)minLength: 1 maxLength: 200
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project/move'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectContext(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/project/moves

許可されたプロジェクトがプロジェクト内のエージェントを移動

オーナーが管理するか、検証済みドメインが検証済みメールと一致する宛先を一覧表示

認証
projectBearer
リクエスト本文
なし
操作ID
allowedProjectMovesAgentInProject

パラメーター

名前送信する必須?説明
project_idパス必須
project_idクエリオプション期待されるプロジェクトID。選択変更は拒否されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project/moves'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果ProjectMoveDestinations(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/invitations

プロジェクト内招待一覧

現在のプロジェクトの招待ライフサイクル記録をサインインリセットを除いて一覧表示。受信者アドレスは所有プロジェクトに表示。トークンと認証URLは一覧に含まれない。

認証
projectBearer
リクエスト本文
なし
操作ID
listInvitationsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
種類クエリオプション
ステータスクエリオプション
カーソルクエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/invitations'

レスポンス

ステータス意味本文とヘッダー
200現在のプロジェクトの招待ライフサイクル記録をサインインリセットを除いて一覧表示InvitationList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/invitations

プロジェクトで招待を作成

メンバーまたは広告購入者の招待を作成します。メール配信は認証情報を返しません。リンク配信はメンバーのみで、1つのURLを返し、24時間以内の正確な冪等リプレイでも同様です。メール招待は7日後に期限切れ、リンクは24時間後に期限切れになります。同じ種類、アドレス、プロジェクトの未処理のメール招待は再利用されます。

スクリーンに限定されたメンバーは、ユーザーを招待できません(outside_screen_scope)。

プロジェクトの組織の外部ゲストとなる(その組織がホーム組織ではない)ユーザーへの project_member メール招待には、その組織のゲストポリシーが適用され、ポリシー(allow、domains、none)がそのアドレスを受け入れない場合は guest_not_allowed(403)が返されます。招待の承諾時にも再度チェックされます。

スタッフと組織自身の管理者は対象外です。招待に screen_scope を指定することはスクリーンのスコープであり、Enterprise プランに含まれます。プランにこの機能が含まれていないプロジェクトは feature_not_in_plan(402)で拒否されます。

認証
projectBearer
リクエスト本文
InvitationCreate
操作ID
createInvitationsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
種類(必須、文字列)許可されている値: "project_member"、"ad_buyer"。
配信(任意、文字列)許可:"email"、"link" デフォルト:"email"
メール(任意、配列)
advertising(任意、InvitationAdvertising)販売者所有の範囲:少なくとも1つのスクリーンまたはスロット。スクリーンのみ、スロットのみ、または両方が許容されます。
upload_scope(任意、UploadScope)

アップローダーが使えるもの(docs/uploaders.md):ページを変更できるプレイリストと、アップロード先のメディアフォルダー。フォルダーは一覧されたものそのもので、サブフォルダーは含まれません。書き込み時にプロジェクトの有効なオブジェクトを指していないIDは、その位置で invalid_request になります。後から削除されたものは無効なIDとして残りますが、何も許可しません。

範囲はリクエストごとに読み込まれるため、変更は次のリクエストから適用されます。

screen_scope(任意、ScreenScope)

スコープ付きメンバーまたはエージェントが操作できる対象(docs/screen-scope.md):一覧のスクリーンフォルダーとその内側のすべてのフォルダーにあるスクリーン、および一覧のスクリーン。合計で少なくとも1つのID。書き込み時にプロジェクトの有効なフォルダーまたはスクリーンを指さないIDは、その位置で invalid_request です。後で削除されると、何も付与しない無効なIDが残ります。

スコープはリクエストごとに読み取られるため、変更は次のリクエストから適用されます。タグはスコープになりません。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/invitations'

レスポンス

ステータス意味本文とヘッダー
201メンバーまたは広告購入者の招待を作成します。InvitationCreated(application/json);ヘッダー:RateLimit-Policy、RateLimit
402

feature_not_in_plan — スクリーンのスコープには Enterprise が必要で、アップロードスコープ(アップローダー)には Plus が必要です。問題には、機能、アカウントのプラン、required_plan が示されます。アップロードスコープの絞り込みと、どちらのスコープの削除も常に許可されます。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
GET/api/projects/{project_id}/project

プロジェクト内のプロジェクトを取得

呼び出しプロジェクト。1クレジットの API メーターはデビットしないため、残高0のプロジェクトでも残高を読み取り回復できます。成功したプロジェクトプリンシパルの後、認証済み /api JSON と問題応答には ScreenRig-Credits-Remaining、ScreenRig-Credits-Reset、ScreenRig-Credits-Included が全クレジットで含まれます。

SSE、ランタイム、コンテンツ、および認証されていないレスポンスはこれらを省略します。

認証
projectBearer
リクエスト本文
なし
操作ID
getProjectInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトプロジェクト (application/json); ヘッダー: ScreenRig-Credits-Remaining, ScreenRig-Credits-Reset, ScreenRig-Credits-Included, ScreenRig-Credits-Low
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PATCH/api/projects/{project_id}/project

プロジェクト内のプロジェクトを更新

現在のプロジェクト名を変更します。名前は1~60文字の印刷可能文字で、URLのようなテキストは含みません。

認証
projectBearer
リクエスト本文
ProjectPatch
操作ID
updateProjectInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
name(必須、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project'

レスポンス

ステータス意味本文とヘッダー
200現在のプロジェクト名を変更します。プロジェクト (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
削除/api/projects/{project_id}/project

プロジェクト内プロジェクトエージェント削除

これを削除できるのはプロジェクトのオーナーか組織の管理者のみです。他の呼び出し元は forbidden で拒否されます。人物はプロジェクトのメンバーである必要があります。

エージェントは対象メンバーシップのプロジェクト権限を必要とし、責任者の人物(オーナーまたは組織管理者)として削除します。責任者がいないエージェントは削除できません。ただし、誰も参加を承認していない状態でプロジェクトを登録したエージェントは例外です。

現在の名前とリビジョン、非アーカイブのスクリーンがゼロ、クレジットなし、予約や負債が自身のウォレットにないこと、ライブ広告がないことも必要です。無料またはローンチ条件下でのマイナス残高はブロックしません。削除時に project_delete_writeoff 元帳エントリで帳消しにします。メンバー通知をキューに入れ、取り消し不能なトゥームストーンを使用します。

認証
projectBearer
リクエスト本文
ProjectDeleteConfirmation
操作ID
deleteProjectAgentInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)期待されるプロジェクトID。現在の資格情報またはクッキーセッションが別のプロジェクトを対象とする場合、サーバーは操作を拒否します。ブラウザクライアントはページのプロジェクトIDを送信します。minLength: 1 maxLength: 200
empty_only(任意、ブール値)

削除トランザクションには空の Screens プロジェクトが必要です。コンテンツ、他のエージェントやメンバー、作業や対応を含みます。CLI はこのクリーンアップガードを使う前に保存された登録由来も必要とします。省略すると明示的なメンバー削除が維持されます。

name(必須、ProjectName)トリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://は拒否します。minLength:1 maxLength:60
revision(必須、整数)最小値: 1
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのライフサイクル結果削除済みプロジェクト(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/applications

プロジェクト内アプリケーション一覧

アプリケーションを新しい順に最大500件ずつ一覧表示。名前はラベルで一意である必要なし。IDで指定。next_cursor は最後の行の位置で、続きがあれば after として同じフィルターで次ページに渡す。最後のページは null。

認証
projectBearer
リクエスト本文
なし
操作ID
listApplicationsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
以降クエリオプション同じリストの前のページの next_cursor。同じフィルター付き。省略時は最新行から開始。カーソルでない値は invalid_request。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/applications'

レスポンス

ステータス意味本文とヘッダー
200アプリケーションApplicationList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/applications

プロジェクト内のアプリケーションをアップロード

CLI 生成の tar.gz を直接制限付き耐久ステージングにストリーム。メタデータはヘッダーに含まれ、アーカイブはサーバーで base64 包装や JSON 化されません。

API の前のプロキシは、約 100 s 以内に応答していないリクエストを終了するため、低速なアップリンク上の大きなアーカイブはここで失敗します。POST /api/applications/uploads は代わりにアーカイブをオブジェクトストアに直接送信します。

認証
projectBearer
リクエスト本文
string
操作ID
uploadApplicationInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須
ScreenRig-Archive-SHA256ヘッダー必須
ScreenRig-Expanded-Bytesヘッダー必須
ScreenRig-File-Countヘッダー必須
ScreenRig-SDK-Versionヘッダーオプション
ScreenRig-Application-Nameヘッダーオプション

ASCIIアプリ名。ScreenRig-Application-Name* と排他。前後の空白は削除。制御文字と重複ヘッダー値は拒否。デコード後の名前は最大120 Unicodeスカラ値。

ScreenRig-Application-Name*ヘッダーオプション

Unicodeアプリケーション名はRFC 8187 UTF-8''でエンコードされ、その後にパーセントエンコードされたUTF-8バイトが続きます(言語なし、正確なUTF-8文字セット)。ScreenRig-Application-Nameとは排他です。無効なエスケープ、無効なUTF-8、制御文字、重複ヘッダー値は拒否されます。

前後の空白は削除されます。デコードされた名前は120のUnicodeスカラー値に制限されます。どちらの名前ヘッダーもリリース更新の名前変更はできません。これはHTTPヘッダー値内の生のUnicodeを避けるためです。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'ScreenRig-Archive-SHA256: VALUE' --header 'ScreenRig-Expanded-Bytes: VALUE' --header 'ScreenRig-File-Count: VALUE' --header 'Content-Type: application/gzip' --data-binary '@request.bin' 'https://api.screenrig.ai/api/projects/PROJECT_ID/applications'

レスポンス

ステータス意味本文とヘッダー
202アップロードを受け付けましたOperationAccepted(application/json);ヘッダー:RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/applications/uploads

プロジェクトでアプリケーションアップロードを作成

新しいアプリケーションを作成する、CLI で生成された tar.gz の直接アップロードを宣言します。応答はアーカイブのちょうど 1 回のオブジェクト PUT に対する署名付き承認であるため、バイトはオブジェクトストアに直接送られ、API を経由することはありません。API のプロキシは、約 100 s 以内に応答していないリクエストを終了します。

アーカイブを upload_url に PUT し、次に POST /api/applications/uploads/{id}/commit でコミットし、操作を待ちます。アプリケーション、そのリリース、受信操作は、POST /api/applications の後と同様に、この応答から存在します。24 時間以内にコミットされなかったアップロードは失敗し、リリースを一度も公開しなかったアプリケーションは削除されます。

同じ Idempotency-Key と本文は、新しく署名された URL で同じアップロードを返します。GET /api/capabilities は、これらのルートが提供される場所で features.application_direct_uploads を設定します。

認証
projectBearer
リクエスト本文
ApplicationUploadDeclaration
操作ID
createApplicationUploadInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
name(任意、文字列)

新しいアプリケーションの名前、トリミング済み。最大 120 Unicode 文字で、制御文字なし。省略または空の場合は生成された名前を選択します。リリース宣言(POST /api/applications/{id}/uploads)は名前を持ってはなりません。maxLength: 120

sha256(必須、文字列)アーカイブバイトの SHA-256。pattern: "^[0-9a-f]{64}$"
compressed_bytes(必須、整数)アーカイブのサイズ(バイト)。最小値: 1 最大値: 104857600
expanded_bytes(必須、整数)最小値: 1 最大値: 262144000
file_count(必須、整数)最小値: 1 最大値: 5000
sdk_version(オプション、文字列)maxLength: 64
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/applications/uploads'

レスポンス

ステータス意味本文とヘッダー
201アーカイブのちょうど 1 回のオブジェクト PUT に対する署名付き承認。返されたメソッドと返されたすべてのヘッダーをそのまま送信します。PUT は、宣言から 2 時間後の expires_at より前に開始しなければなりません。ApplicationUploadSession(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/playlists

プロジェクト内のプレイリスト V2 一覧

広告スロットページを公開する可能性のあるバージョン管理されたプレイリストリスト。v1リストはフィルタリングせずにversion_requiredを持つ広告文書のページを拒否します。

ページはlistPlaylistsのように新しい順で、1ページあたり最大200件、8MiBのplaylist保存容量に達すると少なくなります。next_cursorは最後に返された行の位置で、さらに行がある場合はafterとして同じフィルターで次ページに渡します。最後のページではnext_cursorはnullです。library=trueを指定すると、代わりに組織のライブラリのプレイリストを一覧します(読み取り専用。スケジュールに組み込むか、そのテンプレートから作成できます)。

認証
projectBearer
リクエスト本文
なし
操作ID
listPlaylistsV2InProject

パラメーター

名前送信する必須?説明
project_idパス必須
libraryクエリオプション

true を指定すると、このプロジェクトの代わりに組織のライブラリプロジェクトを一覧します。その項目はここでは読み取り専用で、library true が付きます。ライブラリのない組織や、ライブラリプロジェクト自身で true を指定すると、何も一覧されません。

以降クエリオプション同じリストの前のページの next_cursor。同じフィルター付き。省略時は最新行から開始。カーソルでない値は invalid_request。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/playlists'

レスポンス

ステータス意味本文とヘッダー
200広告スロットページの結合を含むプレイリスト。PlaylistV2List(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/playlists

プロジェクトでプレイリストV2を作成

広告スロットページの結合の作成エントリ。最大16の広告スロットページ、少なくとも1つの表示されない通常ページ、および異なるページでの1つのスロット定義の再利用はサーバーチェックのままです。参照解決とDNSもサーバーチェックです。

Player ウェブアプリでフレーム化できない iframe ページを含む書き込みも保存されます。応答に警告(PlaylistWarning)が含まれ、ページごとに playlist.iframe_framing_refused イベントがプロジェクトのログに追加されます。

iframe の src、fallback_src、またはアプリケーションの params が、プレイリストを表示するスクリーンにないスクリーントークン({screen.field.NAME} など、プリミティブスキーマにあるもの)を読み取る書き込みも、そのようなスクリーンを最初の20件挙げた screen_fact_missing 警告を返します。それらのスクリーンのマニフェストからはそのプリミティブが除外されます。

Google スライド、ドキュメント、スプレッドシートのリンク(共有、ウェブに公開、埋め込み)または Microsoft 365 の OneDrive や SharePoint の埋め込みリンクである iframe の src または fallback_src は、スクリーン向けに再構築されて保存されます。スライドはループし、リンクの delayms をページの長さに制限して進み、ドキュメント、スプレッドシート、Word、Excel は 5 分ごとに再読み込みされます。

src または fallback_src に貼り付けられた <iframe> 埋め込みコードは、その src が読み取られます。閲覧者にサインインを求めるファイルは document_not_shared (400) で拒否され、その errors[0].field はその src または fallback_src で、詳細には変更すべき共有設定が示されます。

認証
projectBearer
リクエスト本文
PlaylistCreateRequest
操作ID
createPlaylistV2InProject

パラメーター

名前送信する必須?説明
project_idパス必須
Screenrig-Review-Noteヘッダーオプション

オプションの提案者メモ。レビュークラスの書き込み時に送信され、パーセントエンコードされたUTF-8(JavaScriptのencodeURIComponentが書くもの)です。サーバーはパーセントデコードします(無効なエスケープは400 invalid_request)。デコードされたメモはプレーンテキストで、トリム後最大280文字、制御文字なし(そうでなければ400 invalid_request)。

書き込みが1になるとレビューに保存されます。ライブ適用時は無視されます。

Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/playlists'

レスポンス

ステータス意味本文とヘッダー
202

書き込みはレビューになり、ユーザーの承認を待っています(docs/reviews.md)。これは提案アクセスの場合、または任意のアクセスレベルで保護されたスクリーンフォルダー内のスクリーンに及ぶ場合で、後者は2人目の承認者が決定します(docs/screen-scope.md)。ユーザーは review.url のダッシュボードで承認、拒否、または変更を依頼します。

Idempotency-Key のリプレイは同じ本文を返します。

ReviewPending(application/json)
201広告スロットページを含むプレイリスト。PlaylistV2(application/json)
402

feature_not_in_plan — フィールドの宣言、プリミティブのロック、フィールドを宣言するプレイリストの変更はプレイリストテンプレートであり、プロジェクトのプランには含まれていません。required_plan が、含まれるプランを示します。テンプレートからのプレイリストの作成は常に許可されます。

2台以上のディスプレイのフォーマット(ビデオウォール)は Plus に含まれます。領域のフォーマットと、フォーマットのないプレイリストは、すべてのプランで利用できます。問題には、機能、プロジェクトのプラン、required_plan が示されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/screens

プロジェクト内のスクリーン一覧

デフォルトのリストはpairing_pendingとactiveのスクリーンを返します。state=archivedを渡すとアーカイブ済みスクリーンのみをリストします。tagを渡すと、そのタグを正確に含むスクリーンのみをリストし、タグなしスクリーンはフィルターがある場合は除外されます。

field を NAME:VALUE の形式でフィールドごとに1回ずつ渡すと、すべての値に一致するフィールドを持つスクリーンのみが一覧表示されます。near を LAT,LON,KM の形式で渡すと、地点から KM キロメートル以内にあるスクリーンのみが一覧表示されます。位置情報のないスクリーンは除外され、すべてのフィルターは state および tag と組み合わせて使えます。

folder にスクリーンフォルダーIDを渡すと、その直下のスクリーンのみを一覧します(サブフォルダーのスクリーンは含みません)。root を渡すと、どのフォルダーにも入っていないスクリーンを一覧します。

スクリーンは新しい順で、1ページあたり最大500件です。next_cursor は、さらに行が残っている間は、最後に返された行の位置です。次のページには、同じフィルターで after として渡してください。最後のページでは next_cursor は null です。スクリーンに限定された呼び出し元(docs/screen-scope.md)には、スコープ内のスクリーンのみが一覧表示されます。

プロジェクトを指定しないリクエストでは、呼び出し元がスクリーンに限定されているプロジェクトは除外されます。一覧に含めるには、プロジェクトを指定してください。

認証
projectBearer
リクエスト本文
なし
操作ID
listScreensInProject

パラメーター

名前送信する必須?説明
project_idパス必須
状態クエリオプションpairing_pendingとactiveは省略します。archivedを渡すとアーカイブされたスクリーンのみをリストします。
タグクエリオプション正確なスクリーンタグ。このフィルターがある場合、タグなしのスクリーンは除外されます。
fieldクエリオプション

NAME:VALUE(最初のコロンで分割されます)。フィールド NAME の値が VALUE と完全に一致するスクリーンのみが対象です。複数のフィールドを指定するには、パラメーターを繰り返します。すべてが一致する必要があり、同じ名前は1回しか指定できません。形式が正しくないものや重複しているものは、field を示す invalid_request になります。

nearクエリオプション

LAT,LON,KM(緯度と経度は10進数の度、距離はキロメートル)。例: 47.6062,-122.3321,25。位置が地点から KM キロメートル以内にあるスクリーンのみが対象です。緯度は -90 から 90、経度は -180 から 180、KM は 0 より大きく 20038 以下です。位置情報のないスクリーンは除外されます。形式が正しくない値は、near を示す invalid_request になります。

フォルダークエリオプションスクリーンフォルダーIDはそのフォルダー直下のスクリーンのみを残し、サブフォルダーのスクリーンは含みません。root はどのフォルダーにも入っていないスクリーンのみを残します。省略するとすべてのスクリーンを一覧します。
以降クエリオプション同じリストの前のページの next_cursor。同じフィルター付き。省略時は最新行から開始。カーソルでない値は invalid_request。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/screens'

レスポンス

ステータス意味本文とヘッダー
200スクリーンスクリーンリスト(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/screen-folders

プロジェクト内スクリーンフォルダー一覧

プロジェクト内のすべてのスクリーンフォルダーを名前順に最大1000件リストします。

フォルダーはスクリーンを整理し、対象として指定できます。キャンペーンの audience のリーフ {"folder": ID} はそのフォルダーとその中のすべてのフォルダーにあるスクリーンに一致し、フリートアクションのセレクター by:folder は同じスクリーンに作用し、フォルダーの default_playlist_id は、独自のプレイリストを持たないスクリーンが表示するプレイリストです。parent_id はプロジェクトのルートで null です。ツリーは parent_id から構築します。screens は各フォルダー直下のライブスクリーンの数です。

スクリーンのフォルダーは Screen.folder_id です。スクリーンに限定された呼び出し元(docs/screen-scope.md)には、スコープ内のフォルダーとその上位のフォルダーが一覧表示されます。上位のフォルダーは、ツリーにルートがあるように読み取り専用で、スクリーン数は含まれず、兄弟フォルダーは非表示です。プロジェクトを指定しないリクエストでは、呼び出し元がスクリーンに限定されているプロジェクトは除外されます。

認証
projectBearer
リクエスト本文
なし
操作ID
listScreenFoldersInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/screen-folders'

レスポンス

ステータス意味本文とヘッダー
200スクリーンフォルダーScreenFolderList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/screen-folders

プロジェクトでスクリーンフォルダーを作成

プロジェクトのルート(parent_id が null または省略)または parent_id の中に、スクリーンフォルダーを1つ作成します。名前はトリムされ、制御文字なしの1~100のUnicode文字で、「.」や「..」ではなく、同じ親の下の兄弟フォルダー間で一意です(resource_conflict)。

組織が保持できるフォルダーは、すべてのプロジェクトを合わせて最大1000個(quota_exceeded)、ネストは最大10階層まで(invalid_request)です。default_playlist_id を設定する場合は、承認済みプレイリストを指定する必要があります(playlist_not_approved)。screen.folder_created を発行します。

スクリーンに限定された呼び出し元(docs/screen-scope.md)がフォルダーを作成できるのは、スコープ内のフォルダーの内側のみです。プロジェクトルートやその他の親は outside_screen_scope です。保護されたフォルダー内にフォルダーを作成すると protected_change レビューとなり(202 pending_review)、2人目の承認者が決定します。

認証
projectBearer
リクエスト本文
ScreenFolderCreate
操作ID
createScreenFolderInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
name(必須、文字列)トリム済み;1~100のUnicode文字、制御文字なし、「.」や「..」は不可、同じ親の下の兄弟フォルダー間で一意。minLength: 1 maxLength: 100
parent_id(任意、インライン)作成先のフォルダー。null または省略するとプロジェクトのルートです。
default_playlist_id(任意、文字列)フォルダー内で独自のプレイリストを持たないスクリーン向けの承認済みプレイリスト。minLength: 1
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/screen-folders'

レスポンス

ステータス意味本文とヘッダー
201フォルダーを作成しました。ScreenFolder(application/json);ヘッダー:ETag
202

書き込みはレビューになり、ユーザーの承認を待っています(docs/reviews.md)。これは提案アクセスの場合、または任意のアクセスレベルで保護されたスクリーンフォルダー内のスクリーンに及ぶ場合で、後者は2人目の承認者が決定します(docs/screen-scope.md)。ユーザーは review.url のダッシュボードで承認、拒否、または変更を依頼します。

Idempotency-Key のリプレイは同じ本文を返します。

ReviewPending(application/json)
403OutsideScreenScope の場合と同じ outside_screen_scope。または approver_required - レビューを承認できない、スクリーンに限定されたメンバーは、スクリーンが何をいつ再生するかを変更できません(docs/screen-scope.md)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/screens/move

プロジェクト内でスクリーンを移動

スクリーン(screen_ids)とフォルダー(folder_ids)を1つのフォルダー(folder_id)に、または folder_id が null の場合はプロジェクトのルートに移動します。最大1000個の ID を1つのリクエストで扱い、全件成功か全件失敗のどちらかです。すべての ID が存在する必要があります(not_found)。フォルダーは自身またはその内部のフォルダーに移動できず、移動後はすべてのフォルダーが10階層以内でなければなりません(invalid_request)。

すでに移動先にあるアイテムはそのままにし、移動した各スクリーンとフォルダーはリビジョンが進みます。移動したスクリーンは約15秒以内にプレイリストを再解決します。levels には、スクリーンが入る、または出るフォルダー audience を持つキャンペーンと、スクリーンが得る、または失うフォルダーのデフォルトプレイリストが示されます。screen.moved を発行します。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は、スコープ内のスクリーンとフォルダーを、スコープ内のフォルダーへ移動します。スコープ外のIDや移動先、プロジェクトルートがあると移動全体が拒否され(outside_screen_scope)、確認から書き込みまでの間にスクリーンがスコープから外れた場合も同様です。

保護されたフォルダーへの、またはそこからの移動は、protected_change レビューとなり(202 pending_review)、2人目の承認者が決定します。

認証
projectBearer
リクエスト本文
ScreenMove
操作ID
moveScreensInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
folder_id(必須、インライン)移動先のフォルダー。null はプロジェクトのルートです。
screen_ids(任意、array)
folder_ids(任意、配列)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/screens/move'

レスポンス

ステータス意味本文とヘッダー
200移動したスクリーンとフォルダーの数と、移動したスクリーンが得る、または失う levels。ScreenMoveResult(application/json)
202

書き込みはレビューになり、ユーザーの承認を待っています(docs/reviews.md)。これは提案アクセスの場合、または任意のアクセスレベルで保護されたスクリーンフォルダー内のスクリーンに及ぶ場合で、後者は2人目の承認者が決定します(docs/screen-scope.md)。ユーザーは review.url のダッシュボードで承認、拒否、または変更を依頼します。

Idempotency-Key のリプレイは同じ本文を返します。

ReviewPending(application/json)
403OutsideScreenScope の場合と同じ outside_screen_scope。または approver_required - レビューを承認できない、スクリーンに限定されたメンバーは、スクリーンが何をいつ再生するかを変更できません(docs/screen-scope.md)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/schedule/calendar

プロジェクト内のスケジュールカレンダーを取得

ダッシュボードのスケジュールカレンダー向けに、対象のスクリーンが [from, to) の間に何を再生するかとその理由を返します。screen_id、folder_id(フォルダーとその内側のすべてのフォルダーにあるスクリーン)、tag、campaign_id(そのオーディエンスのスクリーン)のうち、ちょうど 1 つを指定します。

スタックの入力が同一のスクリーン(同じレベル、デフォルト、タイムゾーン、ディスプレイ数)は 1 つのグループとタイムラインを共有するため、大きな対象でも数十本のタイムラインで済みます。グループには最大 500 台のスクリーン、応答には最大 200 グループが含まれます(truncated)。

各グループは、優先度の高い順のスタック(テイクオーバー、スクリーンに届くキャンペーン、スクリーン自身のスケジュールエントリー、続いてデフォルトのプレイリストまたは最も近いフォルダーのもの)、各レベルの区間(対象のすべてのディスプレイで再生する、再生するディスプレイが一部のみの partial、outranked、または操作や Player だけが観測するデータ条件を待つ間の conditional)、各ディスプレイに表示される内容(on_screen。フルページの場合はメイン領域)、および競合(同じ優先度の 2 つのキャンペーンが同時に成立する場合、成立しているのに再生されないレベル)を持ちます。from と to は RFC 3339 の時刻で、to は from より後、間隔は最大 93 日です。分未満は切り捨てられます。

ルールは、スイープとすべてのPlayerが読み取るのと同じように、各グループのタイムゾーンで読み取られます。すべてのレベルが再生可能と判断されます。スクリーンに限定された呼び出し元(docs/screen-scope.md)は、スコープ内の screen_id または folder_id を送信する必要があります。タグ、campaign_id、対象なしは outside_screen_scope です。

認証
projectBearer
リクエスト本文
なし
操作ID
getScheduleCalendarInProject

パラメーター

名前送信する必須?説明
project_idパス必須
開始クエリ必須
からクエリ必須
screen_idクエリオプション
folder_idクエリオプション
タグクエリオプション
campaign_idクエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/schedule/calendar?from=FROM&to=TO'

レスポンス

ステータス意味本文とヘッダー
200対象のカレンダー。ScheduleCalendar(application/json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/schedule/imports/template

プロジェクト内のスケジュールインポートテンプレートを取得

スケジュールインポートが読む列と3つのサンプル行(スクリーンコード、スクリーンフォルダー、タグ)を含むシートを、CSV または format=xlsx を指定した場合は XLSX ワークブックとして返します。

認証
projectBearer
リクエスト本文
なし
操作ID
getScheduleImportTemplateInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/schedule/imports/template'

レスポンス

ステータス意味本文とヘッダー
200テンプレートのシート。文字列(text/csv)、文字列(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/schedule/imports/preview

プロジェクト内のスケジュールインポートのプレビュー

スケジュール行のシートをプロジェクトに照らして読み取り、確定した場合に何が行われるかを返します。何も書き込みません。

各行には、対象(スクリーン ID、部屋コードなどのスクリーンフィールドの値、または名前によるスクリーン、folder:NAME、tag:NAME。複数の場合は ; または | で区切る)、コンテンツ(メディアファイル名、playlist:NAME、またはプレイリスト ID)、開始と終了(終了に日付だけを指定するとその日いっぱいで終了)を指定します。任意で timezone、days (Mon-Fri)、毎日の時間帯(daily_start、daily_end)、0から100の priority、名前、ディスプレイ番号も指定できます。

時刻は各スクリーン自身の時計で読み取られます。timezone 列で別のタイムゾーンから変換できます。

すべての行が検証され、エラーは列ごとに報告されます。不明または曖昧なスクリーン、フォルダー、タグ、存在しないまたは曖昧なファイル、スクリーンを満たせないファイル、無効または逆転した時刻、過去の終了、タイミングの指定がまったくない、タイムゾーンまたはデフォルトプレイリストのないスクリーン、同じ優先度でスクリーン上に同時に有効な2つの行、スクリーンが保持できる数(32)を超えるレベル、または組織がすべてのプロジェクトを合わせて保持できる数(100、共有レベルはそれぞれ1件に数えられます)を超えるキャンペーン。

コンテンツ、時刻、優先度、名前が一致する行は1つのレベルになります。1つのスクリーンはそのスクリーン自身のスケジュールのエントリになり、複数のスクリーン、フォルダー、タグは1つの共有レベル(キャンペーン)になり、スクリーン独自のレベルより優先されます。

応答には、確定が各レベルに行う処理(create、update、unchanged)とともにレベルが一覧表示されます。さらに、同じインポートの以前の実行で作成され、シートにはもうないレベル(removals)、スクリーンのスタックの確定後の状態(calendar)、確定に送信するフィンガープリントが含まれます。シートは JSON の行、CSV、または XLSX で、最大5,000行です。

スクリーンに限定された呼び出し元は利用できません(outside_screen_scope)。スケジュールインポートは Enterprise プランに含まれます。プランにこの機能が含まれていないプロジェクトは feature_not_in_plan(402)で拒否されます。テンプレートはすべてのプランで利用できます。

認証
projectBearer
リクエスト本文
ScheduleImportRequest
操作ID
previewScheduleImportInProject

パラメーター

名前送信する必須?説明
project_idパス必須
nameクエリオプションインポートの名前。同じ名前で再度インポートすると、そのインポートが作成したレベルが更新されます(既定値は import)。ファイルボディと併せて送信します。
タイムゾーンクエリオプション行に timezone がない場合に、時刻の記述に使われる IANA タイムゾーン。指定がない場合、時刻は各スクリーン自身の時計で読み取られます。
ソースクエリオプションインポートとともに記録されるファイル名。
code_fieldクエリオプションスクリーンコードをこのスクリーンフィールド(例:code または room_id)からのみ読み取ります。指定しない場合、コードは任意のフィールドに一致します。

リクエスト本文フィールド

フィールド説明
name(任意、文字列)インポートを識別します。同じ名前なら、そのインポートが作成したレベルを更新します(既定値は import)。minLength: 1 maxLength: 80
source(任意、文字列)行の取得元のファイル。maxLength: 200
タイムゾーン(任意、文字列)行に timezone がない場合に、時刻の記述に使われる IANA タイムゾーン。
code_field(任意、文字列)スクリーンコードをこのスクリーンフィールドからのみ読み取ります。
fingerprint(任意、文字列)プレビューのフィンガープリント。確定に必須です。
rows(必須、配列)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/schedule/imports/preview'

レスポンス

ステータス意味本文とヘッダー
200プレビュー。いずれかの行にエラーがある間、valid は false です。ScheduleImportPreview (application/json)
402feature_not_in_plan — スケジュールインポートは Enterprise プランに含まれます。問題には、機能、アカウントのプラン、required_plan が示されます。問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/schedule/imports

プロジェクト内のスケジュールインポートの確定

プレビュー済みのインポートを確定します。同じシートと、そのプレビューが返したフィンガープリントを送信します。すべてのレベルが作成、更新、削除され、スクリーンのスケジュールと共有レベルが1つのトランザクションで書き込まれ、インポートイベント schedule.imported が追記されます。すべての行が適用されるか、まったく適用されないかのどちらかです。

シートのファイルに必要な1ファイルのプレイリストが最初に作成されます(どのスクリーンにも変更はありません)。行にエラーのあるシートは拒否されます(schedule_import_invalid)。プレビュー後にプロジェクトが変更された場合や、行の読み取り結果が変わった場合も拒否され(schedule_import_stale)、クライアントはもう一度プレビューします。

同じ名前で同じシートを再度インポートしても何も変わりません。変更された行はそのレベルを更新し、削除された行はそのレベルを削除します。ダッシュボードで承認できるユーザーと、エージェント用の書き込みアクセスを持つ認証情報が必要です。

確保済みキャンペーンを更新または削除するコミットは、承認できる人がコミットしない限り、reserved_item(403)を返し、何も書き込みません。

保護されたスクリーンに及ぶコミットは、インポートにレベルがなくても、保護されたスクリーンのインポートエントリを削除する場合や、対象が保護されたスクリーンに及ぶインポートキャンペーンを削除する場合に、protected_target で全体が拒否されます。

保護されたスクリーンフォルダーのあるプロジェクトでは、プレビューがシートではなくサービスで失敗するコミットは dependency_unavailable で応答し、何も書き込みません。少し待って同じリクエストをもう一度送信してください。シート、キャンペーン、スクリーンの検証エラーは、コミット時と同じように応答されます(invalid_request と上記のその他の問題)。

スクリーンに限定された呼び出し元は利用できません。スケジュールインポートは Enterprise プランに含まれます。プランにこの機能が含まれていないプロジェクトは feature_not_in_plan(402)で拒否されます。テンプレートはすべてのプランで利用できます。

認証
projectBearer
リクエスト本文
ScheduleImportRequest
操作ID
commitScheduleImportInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
fingerprintクエリオプションプレビューのフィンガープリント(CSV または XLSX ボディ用)。JSON ボディではメンバーとして含めます。
nameクエリオプションインポートの名前。同じ名前で再度インポートすると、そのインポートが作成したレベルが更新されます(既定値は import)。ファイルボディと併せて送信します。
タイムゾーンクエリオプション行に timezone がない場合に、時刻の記述に使われる IANA タイムゾーン。指定がない場合、時刻は各スクリーン自身の時計で読み取られます。
ソースクエリオプションインポートとともに記録されるファイル名。
code_fieldクエリオプションスクリーンコードをこのスクリーンフィールド(例:code または room_id)からのみ読み取ります。指定しない場合、コードは任意のフィールドに一致します。

リクエスト本文フィールド

フィールド説明
name(任意、文字列)インポートを識別します。同じ名前なら、そのインポートが作成したレベルを更新します(既定値は import)。minLength: 1 maxLength: 80
source(任意、文字列)行の取得元のファイル。maxLength: 200
タイムゾーン(任意、文字列)行に timezone がない場合に、時刻の記述に使われる IANA タイムゾーン。
code_field(任意、文字列)スクリーンコードをこのスクリーンフィールドからのみ読み取ります。
fingerprint(任意、文字列)プレビューのフィンガープリント。確定に必須です。
rows(必須、配列)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/schedule/imports'

レスポンス

ステータス意味本文とヘッダー
200確定が適用した内容。ScheduleImportCommitted (application/json)
402feature_not_in_plan — スケジュールインポートは Enterprise プランに含まれます。問題には、機能、アカウントのプラン、required_plan が示されます。問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
409

protected_target - 変更が保護されたスクリーンフォルダー内のスクリーンに及び、レビューの形式がありません(docs/screen-scope.md)。レビューを通じてフォルダーの保護を解除し、変更を行い、フォルダーを再度保護してください。

問題 (application/problem+json)
500dependency_unavailable - 保護されたスクリーンフォルダーのチェックを実行できませんでした。少し待ってから同じリクエストをもう一度送信してください。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/project/browser-links/claim

プロジェクト内でブラウザリンクを請求

認証されたプロジェクトのブラウザリンクコードを1つ請求し、正確に1つの最初のpairing_pendingスクリーンと既存のブラウザプロビジョニング権限を原子操作で作成します。登録はプロジェクトのみです。レスポンスは安全なメタデータのみで、プロビジョニングトークン、フラグメントURL、クッキー、証明は含みません。

認証
projectBearer
リクエスト本文
BrowserLinkClaimRequest
操作ID
claimBrowserLinkInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
code(必須、文字列)パターン: "^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{3}-?[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{3}$"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project/browser-links/claim'

レスポンス

ステータス意味本文とヘッダー
201正確なリプレイ安全なフラグメントなしブラウザリンクのクレーム。BrowserLinkClaim(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (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)
409

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
410

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
500

安定した 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)
POST/api/projects/{project_id}/screens/pair

プロジェクト内でスクリーンをペアリング

フリート全体で有効な6文字のPlayerペアリングセッションを1つ請求します。同一のIdempotency-Keyによる再試行は、クォータを再消費せずに元の結果を返します。

ダッシュボードセッションは、同じ本文、Idempotency-Key、予算、問題で現在のプロジェクトにクレームしますが、不明なコードまたはすでにクレーム済みのコードの not_found が CLI コマンドを示さない点が異なります。これは状態の変更であるため、ダッシュボードの変更ルールに従い、スタッフの書き込みモードがないシャドウセッションは拒否され、クレームが追加するイベントにはダッシュボードのユーザーが示されます。folder_id は、スクリーンが配置されるフォルダーを指定します。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は、スコープ内のフォルダーを送信する必要があり、ペアリングできるのは承認できる人としてのみです(outside_screen_scope、approver_required)。

認証
projectBearer
リクエスト本文
ペアリング画面
操作ID
pairScreenInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
code(必須、文字列)パターン: "^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{6}$"
ラベル(任意、文字列)minLength: 1 maxLength: 120
folder_id(任意、文字列)

スクリーンが配置されるスクリーンフォルダー。省略するとプロジェクトルートに配置されます。スクリーンに限定された呼び出し元は、スコープ内のフォルダーを送信する必要があります(そうでない場合は outside_screen_scope)。プロジェクトに存在しないフォルダーは、プロジェクト全体の呼び出し元では invalid_request です。

冪等リクエストの一部です。同じ Idempotency-Key で別の folder_id を指定すると idempotency_mismatch になります。minLength: 1

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/screens/pair'

レスポンス

ステータス意味本文とヘッダー
201永続的なpairing_pendingスクリーンクレーム。PairingClaim(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (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)
409

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
413

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
500

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403OutsideScreenScope の場合と同じ outside_screen_scope。または approver_required - レビューを承認できない、スクリーンに限定されたメンバーは、スクリーンが何をいつ再生するかを変更できません(docs/screen-scope.md)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/screens/provision

プロジェクト内のスクリーンをプロビジョニング

ブラウザー専用の新しいスクリーンのプロビジョニング(任意)。常に pairing_pending スクリーンを1つ新しく作成します。同時にペアリングを待てるのは最大5台です(quota_exceeded)。正確な再試行は、同じフラグメントトークンを10分間再送します。6文字のペアリングが、引き続きデフォルトで唯一の復旧フローです。folder_id は、スクリーンが配置されるフォルダーを指定します。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は、スコープ内のフォルダーを送信する必要があります(そうでない場合は outside_screen_scope)。

認証
projectBearer
リクエスト本文
プロビジョンスクリーン
操作ID
provisionScreenInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
ラベル(任意、文字列)minLength: 1 maxLength: 120
folder_id(任意、文字列)PairScreen と同様に、スクリーンが配置されるスクリーンフォルダー。minLength: 1
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/screens/provision'

レスポンス

ステータス意味本文とヘッダー
201新しいブラウザプロビジョニングリンク。スクリーンプロビジョニング(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
409

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
410

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
413

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
500

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403OutsideScreenScope の場合と同じ outside_screen_scope。または approver_required - レビューを承認できない、スクリーンに限定されたメンバーは、スクリーンが何をいつ再生するかを変更できません(docs/screen-scope.md)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/screens/actions

プロジェクト内で画面アクションを適用

選択されたフリートに1つのアクションを適用します。スクリーン数の上限はありません。ユニークなscreen_idsまたは作成順にアクティブなスクリーンにマッチするタグを選択します。解決された選択は変異前に固定され、制限されたチャンクに保存され、Idempotency-Keyの下で24時間保持されます。

各ステップは単一スクリーンの変更経路を使い、リビジョン、イベント、実行時シグナル、スクリーンごとの制限を保持します。レスポンスには1ページ分の結果が含まれ、マッチ数、成功数、失敗数はそのページを示します。HTTP 202 には合計、オフセット、next_cursorが含まれます。同じセレクター、アクション、Idempotency-Keyで続行し、next_cursorをafterとして渡します。

Retry-Afterが存在する場合は必ず反映します。結果が0件のページも含みます。応答にはIdempotency-Keyが含まれ、呼び出し元が省略した場合も生成されたキーを返します。継続時はこのキーを保持してください。HTTP 200 で選択が完了します。応答済みページは、各スクリーンの失敗も含めて正確に再現されます。中断されたステップは、効果を繰り返さずに再実行されます。

大きな操作は既存の組織ごとの600回/分の予算に対してペース配分されます(リロード、トースト、テイクオーバー、プレイリストスケジュール、再起動、ディスプレイおよびディスプレイスケジュール)。組織の予算枯渇は操作を停止し、フリートを拒否しません。スクリーンごとの枯渇はそのスクリーンのみ失敗します。

フォーマットを持つプレイリストを、形状の異なるウォールのスクリーンに結び付ける割り当て、テイクオーバー、または set_playlist_schedule ステップは、そのスクリーンのみ 409 playlist_format_mismatch で失敗します。割り当てとタグの変更にはメッセージ予算がありません。

ページ内のいずれかのスクリーンにないスクリーントークンを読み取る iframe の src またはアプリケーションの params を持つプレイリストの割り当ては、そのページに screen_fact_missing 警告を追加します(warnings、PlaylistWarning)。部分的な失敗は通常の結果です。1つのキーによるすべてのページと再試行は、1回の従量課金アクションです。

リクエストにはバイト数に上限のあるペイロードを使用します。トランスポートのペイロードより大きい選択にはタグを使用してください。不正な形式のセレクターまたはアクションは、スクリーンに触れる前に拒否されます。selector または action は、スクリーンに触れる前に拒否されます。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は、screen_ids またはフォルダーで選択し、すべてスコープ内のスクリーンである必要があります。タグセレクター、スコープ外のスクリーン、不明なスクリーンがあると、何かが固定または提案される前にアクション全体が拒否されます(outside_screen_scope)。

保護されたスクリーンに及ぶ assign、takeover、takeover_clear、set_playlist_schedule、clear_playlist_schedule は、すべてのアクセスレベルで、2人目の承認者が決定するレビューになります(202 pending_review)。保護されたスクリーンの set_tags、add_tags、remove_tags は protected_target(409)です。

一時停止中のエントリ(下書き)を持つ set_playlist_schedule アクションはスケジュールの変更管理であり、Enterprise プランに含まれます。プランにこの機能が含まれていないプロジェクトは feature_not_in_plan(402)で拒否されます。

認証
projectBearer
リクエスト本文
スクリーンアクションリクエスト
操作ID
applyScreenActionsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Screenrig-Review-Noteヘッダーオプション

オプションの提案者メモ。レビュークラスの書き込み時に送信され、パーセントエンコードされたUTF-8(JavaScriptのencodeURIComponentが書くもの)です。サーバーはパーセントデコードします(無効なエスケープは400 invalid_request)。デコードされたメモはプレーンテキストで、トリム後最大280文字、制御文字なし(そうでなければ400 invalid_request)。

書き込みが1になるとレビューに保存されます。ライブ適用時は無視されます。

Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
以降クエリオプション前の結果ページの next_cursor。元の Idempotency-Key とリクエスト本文を再利用してください。

リクエスト本文フィールド

フィールド説明
selector(必須、ScreenActionSelector)
アクション(必須、ScreenAction)タイプで識別される1つのフリートアクション。各メンバーは自身のパラメータのみを持ち、他タイプのメンバーは未知フィールドでinvalid_requestです。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/screens/actions'

レスポンス

ステータス意味本文とヘッダー
200スクリーンごとの結果。部分成功は正常な回答です。スクリーンアクション結果(application/json);ヘッダー:Idempotency-Key、Cache-Control、RateLimit-Policy、RateLimit
202

さらにスクリーンが残っています(next_cursor と同じ Idempotency-Key および本文で続行し、Retry-After に従ってください)。または、status が pending_review の場合は、提案アクセスでアクションがレビューになった(docs/reviews.md)か、任意のアクセスレベルで保護されたスクリーンフォルダー内のスクリーンに及ぶためにレビューになったことを示します(docs/screen-scope.md)。

assign、takeover、takeover_clear、set_playlist_schedule、clear_playlist_schedule のみがレビューになります。他のアクションは Propose に対して insufficient_access です。

インライン(application/json);ヘッダー:Idempotency-Key、Retry-After、Cache-Control、RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
402

feature_not_in_plan — enabled が true の set_reboot_schedule(予定された再起動)と、displays のロックを伴う set_playlist_schedule(ビデオウォール)は Plus に含まれます。クリア用のアクションと単発のコマンドは利用できます。payment_required — プロジェクトにクレジットが残っていません。問題には、機能、プロジェクトのプラン、required_plan が示されます。

問題 (application/problem+json)
403insufficient_access。スクリーンに限定された呼び出し元がスコープ外を選択した場合は outside_screen_scope。承認できない、スクリーンに限定されたメンバーの場合は approver_required。問題 (application/problem+json)
409

playlist_format_mismatch とそのアクションのその他の競合。または、set_tags、add_tags、remove_tags、toast、display、display_clear、set_display_schedule、clear_display_schedule が保護されたスクリーンフォルダー内のスクリーンに及ぶ場合は protected_target。

問題 (application/problem+json)
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)
POST/api/projects/{project_id}/tab-shares

プロジェクトでタブ共有を開始

指定プロジェクトのスクリーンにブラウザータブを表示します。要求、応答、アクセス、制限はPOST /api/tab-sharesと同じです。

認証
projectBearer
リクエスト本文
TabShareWrite
操作ID
startTabShareInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
screen_ids(任意、array)idで指定するスクリーン。重複はまとめられます。
folder_ids(任意、配列)スクリーンフォルダー。各フォルダーは内部のすべてのフォルダーを含みます。
tags(任意、array)いずれかのタグを持つスクリーン。
tabs(必須、array)
cookies(任意、array)送信者のページ用Cookie。エンコード後最大64 KiBの秘密情報です。POST /api/tab-sharesを参照。
reload_s(任意、integer)0(再読み込みなし、既定)または60〜86400:各ページのiframeを再読み込みする間隔。
until(任意、string)現在より後、かつ24時間以内。省略時は現在から24時間後です。各対象の切り替え終了時刻と一時プレイリストの有効期限。format: "date-time"
qr(任意、boolean)trueなら各ページの右下にアドレスのQRコードを表示します。既定はfalseです。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/tab-shares'

レスポンス

ステータス意味本文とヘッダー
200共有。少なくとも1台のスクリーンを切り替えました。TabShare (application/json);ヘッダー:RateLimit-Policy, RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (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)
409

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
403OutsideScreenScope の場合と同じ outside_screen_scope。または approver_required - レビューを承認できない、スクリーンに限定されたメンバーは、スクリーンが何をいつ再生するかを変更できません(docs/screen-scope.md)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/campaigns

プロジェクトのキャンペーンを一覧表示

プロジェクトのキャンペーンを優先順位順(最大100件)に一覧表示します。解決時にもこの順序で読み取られます。reserved はすべてのキャンペーンに含まれます。

スクリーンに限定された呼び出し元(docs/screen-scope.md)には、すべてのキャンペーンが表示されますが、editable が true になるのは、対象全体がスコープ内にあり、呼び出し元が再生内容を変更できる場合のみです(タグのリーフとルートの全スクリーンルールは該当しません。all ルールには含まれる子が1つ、any ルールにはすべての子が必要です)。

認証
projectBearer
リクエスト本文
なし
操作ID
listCampaignsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/campaigns'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのキャンペーン一覧。CampaignList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/campaigns

プロジェクトでキャンペーンを作成

パスで指定されたプロジェクトの createCampaign。reserved が true の場合はキャンペーンを確保し、設定できるのは承認できる人だけです(エージェント、サービスクライアント、その他の場合は reserved_item)。campaign.reserved_changed が追加されます。

スクリーンに限定された呼び出し元(docs/screen-scope.md)がキャンペーンを作成できるのは、スコープ内の対象に対してのみです(folder と screen_id のリーフのみ。タグや全スクリーンは不可)。それ以外は outside_screen_scope となり、作成できるのは承認できる人としてのみです(approver_required)。

対象が保護されたスクリーンに及ぶキャンペーンは、すべてのアクセスレベルで protected_change レビューとなり、2人目の承認者が決定します(202 pending_review)。reserved が true の場合は保護フォルダー、新規キャンペーン(下書き)で paused が true の場合はスケジュールの変更管理であり、どちらも Enterprise プランに含まれます。プランにこの機能が含まれていないプロジェクトは feature_not_in_plan(402)で拒否されます。

認証
projectBearer
リクエスト本文
CampaignWrite
操作ID
createCampaignInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
name(必須、文字列)minLength: 1 maxLength: 120
playlist_id(必須、文字列)minLength: 1
audience(必須、CampaignAudience)

キャンペーンが対象とするスクリーン:all(すべてのルールが一致)、any(いずれか 1 つ以上が一致)、tag(スクリーンがそのタグを持つ)、screen_id(そのスクリーン)、folder(そのスクリーンフォルダーとその中のすべてのフォルダーにあるスクリーン、GET /api/screen-folders。フォルダーが存在する必要があります)のうちちょうど 1 つ。

ルールのネストは最大 3 階層、audience のルールは最大 500 件です。{"all": []} はプロジェクトのすべてのスクリーンです。それ以外では all と any に 1 件以上のルールが必要です。

from(任意、string)パターン: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$"
until(任意、string)from より後。パターン: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$"
windows(任意、array)
monthly(任意、配列)
dates(任意、配列)
except(任意、配列)市民日付は、昇順で 1 件ずつ保存されます。例外は、その日付に始まるすべての発生を取り除きます(日跨ぎの後半も含みます)。例外日は from と until の間に収まります。
data(任意、PageDataCondition)

カードデータの述語は協定世界時の前に評価されます。データがない場合や期限切れの場合は一致しません。ページは通常の時間制限も守ります。ホスト機能 page.conditions が必要です。古いホストではページが無効化されます。

interaction(任意、LevelInteraction)

誰かがスクリーンを操作している間、そのレベルは有効です。タッチ、クリック、キー入力から、入力がないまま idle_s 秒たつまでです。典型的な用途は、アトラクトループの上に重ねるインタラクティブなページです。idle_s は保存されて返されます(省略時は 60)。

covers(任意、文字列)

レベルを再生する場所:フルページ (デフォルト、省略として保存)、または通常のプレイリスト向けの main (ページそのもの)、その領域の領域プレイリストだけが使える header、footer、side (ページの上に描かれるストリップ、PlaylistRegionFormat)。領域プレイリストは full や main では拒否され、ストリップにはターゲットのディスプレイにレイアウトされる領域プレイリストが必要です。

許可:"full"、"main"、"header"、"footer"、"side"

displays(任意、配列)再生するビデオウォールの出力。省略するとすべての出力で再生します。
start(任意、文字列)on_time は境界の時刻に切り替え、現在のアイテムを中断します。next_item(デフォルト、省略として保存)は現在のアイテムの終了を待ちます。許可:"next_item"、"on_time"
priority(任意、integer)デフォルト:0 最小:0 最大:100
paused(任意、boolean)デフォルト:false
reserved(任意、ブール値)承認できる人だけがキャンペーンを確保できます(それ以外は reserved_item)。default: false
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/campaigns'

レスポンス

ステータス意味本文とヘッダー
201作成されました。Campaign(application/json);ヘッダー:ETag
202

書き込みはレビューになり、ユーザーの承認を待っています(docs/reviews.md)。これは提案アクセスの場合、または任意のアクセスレベルで保護されたスクリーンフォルダー内のスクリーンに及ぶ場合で、後者は2人目の承認者が決定します(docs/screen-scope.md)。ユーザーは review.url のダッシュボードで承認、拒否、または変更を依頼します。

Idempotency-Key のリプレイは同じ本文を返します。

ReviewPending(application/json)
402

feature_not_in_plan — 保護フォルダーとスケジュールの変更管理は Enterprise プランに含まれます。問題には、機能、アカウントのプラン、required_plan が示されます。プレイリストをビデオウォールのディスプレイ 2 以降(displays)にロックするキャンペーンは Plus に含まれます。問題には、機能、プロジェクトのプラン、required_plan が示されます。

問題 (application/problem+json)
403

ScreenScopePlays の場合と同じ outside_screen_scope または approver_required。または reserved_item - 確保済みキャンペーンを変更、一時停止、削除、確保解除できるのは、レビューを承認できる人だけで、エージェントやサービスクライアントにはできません(docs/screen-scope.md)。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/connections

プロジェクトの接続を一覧表示

プロジェクトの接続を新しい順に、1 ページ最大 200 件で一覧表示します。次のページには next_cursor を after として渡します。シークレット、キー、更新トークンは返されません。secret は、保持されているかどうかと、秘密ではないヒントを示します。読み取りに同意リンクが含まれることはありません。

認証
projectBearer
リクエスト本文
なし
操作ID
listConnectionsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
以降クエリオプション同じリストの前のページの next_cursor。同じフィルター付き。省略時は最新行から開始。カーソルでない値は invalid_request。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/connections'

レスポンス

ステータス意味本文とヘッダー
200接続の 1 ページ。ConnectionList(application/json);ヘッダー:Cache-Control
400invalid_request(不正な形式のカーソルを含む)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/connections

プロジェクトに接続を作成

このプロジェクトに、Microsoft または Google への接続を作成します。お客様自身の認証情報を使うモード own_app、または、完了する人向けの 1 回限りのリンク consent_url を返すモード screenrig_app です (createConnection を参照)。connection.created を追記します。同じ Idempotency-Key での同一の再試行は、同じ接続を返します。

認証
projectBearer
リクエスト本文
ConnectionWrite
操作ID
createConnectionInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
provider(必須、文字列)許可:"microsoft"、"google"
mode(必須、文字列)許可:"own_app"、"screenrig_app"
name(必須、文字列)minLength: 1 maxLength: 80
config(任意、ConnectionConfigWrite)Microsoft、モード own_app: 両方のメンバー。Google の接続と、モード screenrig_app では受け付けられません。
secret(任意、文字列)

モード own_app。Microsoft: アプリのクライアントシークレットの 1 つの値 (ID ではありません。最大 1024 文字)。config.tenant_id と config.client_id も指定します。Google: サービスアカウントの JSON キーファイル全体 (最大 16384 バイト)。受信時に封印され、返されることはありません。CLI は、ファイルまたは標準入力から読み取り、引数からは読み取りません。

モード screenrig_app では受け付けられません。minLength: 1 maxLength: 16384

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/connections'

レスポンス

ステータス意味本文とヘッダー
201作成されました。モード screenrig_app の接続には consent_url と consent_expires_at が含まれます。ConnectionConsent(application/json);ヘッダー:ETag, Location, Cache-Control
400invalid_request。無効なフィールドが示されます。問題 (application/problem+json)
409connection_app_not_configured、connection_limit_reached、または idempotency_mismatch。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/bi-connections

プロジェクトでBI 接続一覧

プロジェクトの BI 接続を古い順に 1 ページ 200 件で一覧表示します。次のページには next_cursor を cursor として渡します。シークレットは返されず、secret には設定の有無と末尾 4 文字が示されます。

認証
projectBearer
リクエスト本文
なし
操作ID
listBIConnectionsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
カーソルクエリオプション前のページの next_cursor。
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/bi-connections'

レスポンス

ステータス意味本文とヘッダー
200接続の 1 ページ。BIConnectionList(application/json);ヘッダー:Cache-Control
400invalid_request(不正な形式のカーソルを含む)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/bi-connections

プロジェクトでBI 接続を作成

プロジェクトが所有する BI システムへの接続を追加します。Grafana の場合は、そのアドレス(公開ホスト上の http または https。パスのプレフィックスは任意)と、Viewer ロールのサービスアカウントトークンを指定します。トークンは封印され、返されることはありません。

Grafana renders dashboards for screens through its Image Renderer plugin or remote rendering service, so the customer installs one; run POST /api/bi-connections/{id}/test to check. For Power BI (kind powerbi): config.tenant_id and config.client_id of a Microsoft Entra app registration and its client secret value as secret.

Power BI 管理者は、アプリに対して開発者設定の Embed content in apps と Service principals can call Fabric public APIs を有効にする必要があります(管理ポータル、テナント設定)。アプリは、表示する各ワークスペースのメンバーまたは管理者である必要があり、本番ではレポートに Embedded、Fabric、または Premium の容量が必要です。

For Tableau (kind tableau): config.url (the https address of Tableau Server, or of your Tableau Cloud pod such as https://10ay.online.tableau.com), config.site (the site content URL, empty for the default site), config.client_id and config.secret_id of a connected app with direct trust, config.username (the Tableau user the screens views are shown as) and the secret value as secret.

応答の embed_origin を、接続アプリのドメイン許可リストに追加し、シークレットを有効にします。スクリーンのチケットを持つ人は、そのユーザーが見られるどのビューでも埋め込めるため、スクリーン用のダッシュボードだけを見られるユーザーを使ってください。Tableau Cloud、または Tableau Server 2023.3 以降。

サインインが必要な Web ページ (kind web) 用: サインインの向こうにダッシュボードを表示するサイトのサービスアカウントです。config.login_mode は、auto (config.login_url、config.username、secret としてのパスワード: レンダラーがサインインページを開いてフォームに入力します)、steps (config.login_url と config.steps。goto、fill、click、press、wait_for、wait_ms のステップからなるスクリプトで、値には {{username}}、{{password}}、{{otp}} を含められます)、または none (サインインなし: 接続は、与えたクッキーでページを表示します) のいずれかです。totp_secret は、アカウントの認証アプリの base32 キー、または otpauth:// アドレスです。サーバーがワンタイムコード (RFC 6238) を計算し、レンダラーにはコードだけを送ります。cookies は、サインインをスクリプト化できないサイト (電話で承認するシングルサインオン、デバイスチェックなど) のために、サインイン済みのブラウザーからエクスポートしたクッキーセットです。サーバーはセットを保持し、各キャプチャが返すクッキーで更新するため、サインインが必要になることはまれです。

パスワード、シード、クッキーは封印され、返されることはありません。読み取り専用のサービスアカウントを使ってください。パスワードは config.login_url と goto ステップにだけ入力されるため、それらを別のオリジンに移すには secret をもう一度指定する必要があります。サインインが 5 回続けて拒否されると、認証情報が変更されるまで、接続はサインインしなくなります。

ページレンダラーのないサーバーは bi_web_unavailable を返します。bi_connection.created を追記します。同じ Idempotency-Key での同一の再試行は、同じ応答を返します。

認証
projectBearer
リクエスト本文
BIConnectionWrite
操作ID
createBIConnectionInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
name(必須、文字列)minLength: 1 maxLength: 80
種類(必須、文字列)許可:"grafana"、"powerbi"、"tableau"、"web"
config(必須、BIConnectionConfig)
secret(任意、文字列)

web では不要、および connection_id を指定する Power BI 接続でも不要で、それ以外では必須です。サービスアカウントのトークン (Grafana)、アプリのクライアントシークレットの値 (Power BI)、接続アプリのシークレットの値 (Tableau)、またはサービスアカウントのパスワード (web: login_mode が auto の場合は必須で、none では使いません)。

受信時に封印されます。CLI は、ファイルまたは標準入力から読み取り、引数からは読み取りません。minLength: 1 maxLength: 4096

totp_secret(任意、文字列)

Web: アカウントの認証アプリの base32 キー (16 〜 128 文字、スペース可)、またはその otpauth://totp アドレス。後者ではアルゴリズム (SHA1、SHA256、SHA512)、桁数 (6 〜 8)、周期を指定できます。封印され、計算されたコードだけがサーバーの外に出ます。maxLength: 1024

cookies(任意、array)Web: サインイン済みのブラウザーからエクスポートしたクッキーセット。封印され、キャプチャのたびに更新されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/bi-connections'

レスポンス

ステータス意味本文とヘッダー
201作成されました。BIConnection(application/json);ヘッダー:ETag, Cache-Control
400invalid_request(公開インターネット上のホストではないアドレスを含む)。問題 (application/problem+json)
402feature_not_in_plan — プロジェクトのプランには BI ダッシュボードが含まれていません。required_plan が、含まれるプランを示します。問題 (application/problem+json)
409idempotency_mismatch.問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/bi-views

プロジェクトでBI ビュー一覧

Lists the project's BI views, oldest first, 200 to a page; pass next_cursor back as cursor for the next. Each carries embed_url, the address an iframe primitive shows (content_fit fill); it is null where this server has no embed host.

認証
projectBearer
リクエスト本文
なし
操作ID
listBIViewsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
カーソルクエリオプション前のページの next_cursor。
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/bi-views'

レスポンス

ステータス意味本文とヘッダー
200ビューの 1 ページ。BIViewList(application/json);ヘッダー:Cache-Control
400invalid_request(不正な形式のカーソルを含む)。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/bi-views

プロジェクトでBI ビューを作成

接続の Grafana ダッシュボード、またはその 1 つのパネルのビューを追加します(url:接続のホスト上の /d/{uid}/... アドレス、または target)。あるいは Grafana の公開ダッシュボードリンクのビューを追加します(kind grafana と target.public_url。接続は不要)。

Put the answer's embed_url in an iframe primitive: the server renders the dashboard as a PNG through Grafana's /render API, refreshed every refresh_s (30 to 86400, default 300) and shared by every screen of the same size; the screen never talks to Grafana. A public dashboard plays live from Grafana, which must allow embedding.

埋め込みページは、画面のマニフェストが持つチケットだけを表示するため、ビューは自分のプロジェクトの画面でのみ再生されます。

For Power BI (kind powerbi): a report of a workspace the connection's app is a member of (url: an app.powerbi.com /groups/{workspace}/reports/{report} address, or target with workspace_id and report_id), with pages to show and rotate_s to rotate through them (pages listing two or more, or rotate_all_pages, need rotate_s of 10 to 3600; one report page needs none), and refresh_s of 0 (no refresh) or 60 to 86400 (default 300).

The page asks the server for a short-lived view-only embed token (GenerateToken, App owns data) and renews it before it expires; the screen never holds the client secret. A Power BI Publish to web link is a view without a connection (kind powerbi, target.public_url https://app.powerbi.com/view?r=...), framed as it is.

For Tableau (kind tableau): a view of the connection site (url: an address copied from Tableau, such as https://HOST/t/SITE/views/WORKBOOK/VIEW or Tableau Cloud https://HOST/#/site/SITE/views/WORKBOOK/VIEW, or Workbook/View; or target.view), optionally with target.rotate_sheets and rotate_s of 10 to 3600 to turn the workbook published sheets (rotate_s and rotate_sheets go together; rotate_sheets may be given as the whole target beside url), and refresh_s of 0 (no refresh) or 60 to 86400 (default 300).

The page asks the server for a five minute JWT with only the embed scope, signed with the connected app secret, and builds the Embedding API v3 tableau-viz from the Tableau host; the screen never holds the secret.

Tableau Public のビジュアライゼーションは、接続なしのビュー (kind tableau、target.public_url。https://public.tableau.com/views/WORKBOOK/VIEW として再構築されます) で、rotate_sheets も使えます。Web ページ (kind web) の場合: Web 接続のサイトの 1 ページ (url: 公開ホスト上の https アドレス。target は指定しません)。

エッジのブラウザーが、サインインした状態でページを開き、設定されていれば wait_for の要素を待ち、wait_ms ミリ秒 (最大 10000) 待ってから、設定されていれば CSS セレクターの clip を、なければページ全体を描画します。

画像は refresh_s (60 〜 86400、デフォルトは 300) ごとに描き直され、同じサイズのすべてのスクリーンで共有されます。描画されるのは、スクリーンがそのビューを表示している間だけです。キャプチャが失敗した場合は、最後の画像がスクリーンに残ります。サインイン済みのときだけ存在する要素を wait_for に設定すると、サインインページが表示されることはありません。bi_view.created を追記します。

認証
projectBearer
リクエスト本文
BIViewWrite
操作ID
createBIViewInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
connection_id(任意、文字列)
kind(任意、文字列)connection_id がない場合は必須で、ある場合は接続と一致する必要があります。許可:"grafana"、"powerbi"、"tableau"、"web"
name(必須、文字列)minLength: 1 maxLength: 80
URL(任意、文字列)

接続のホスト上の /d/{uid}/... のダッシュボードアドレス。サーバーはそこから orgId、viewPanel (N または panel-N) または panelId、from、to、var-*、theme を読み取ります。Tableau: 接続のホスト上のビューのアドレス (/views/W/V、/t/SITE/views/W/V、#/site/SITE/views/W/V)、または Workbook/View。Web: 公開ホスト上のページの https アドレス。maxLength: 2048

target(任意、BITarget)

ビューが表示するもの。接続がある Grafana: dashboard_uid (任意で 1 つのパネル)。接続がある Power BI: workspace_id と report_id、および pages または rotate_all_pages。接続がある Tableau: view (Workbook/View)、および rotate_sheets。接続がある Web: url。接続がない場合は、public_url のみ (Tableau では rotate_sheets も)。

refresh_s(任意、整数)Grafana は 30 〜 86400、Power BI と Tableau は 0 または 60 〜 86400、web は 60 〜 86400。default: 300 minimum: 0 maximum: 86400
rotate_s(任意、整数)Power BI と Tableau:0 または 10〜3600。ページやシートを切り替えるターゲットでは必須です。default: 0 minimum: 0 maximum: 3600
fit(任意、文字列)許可:"contain"、"cover"、"fill"デフォルト:"contain"
wait_for(任意、文字列)Web: ページの準備ができたときに、かつサインイン済みのときだけ表示される要素の CSS セレクター。maxLength: 512
wait_ms(任意、整数)Web: ページの準備ができた後に待つミリ秒数。minimum: 0 maximum: 10000
clip(任意、文字列)Web: 描画するページの部分の CSS セレクター。maxLength: 512
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/bi-views'

レスポンス

ステータス意味本文とヘッダー
201作成されました。BIView(application/json);ヘッダー:ETag, Cache-Control
400invalid_request(接続のダッシュボードアドレスではない url を含む)。問題 (application/problem+json)
402feature_not_in_plan — プロジェクトのプランには BI ダッシュボードが含まれていません。required_plan が、含まれるプランを示します。問題 (application/problem+json)
404not_found:この接続はこのプロジェクトにありません。問題 (application/problem+json)
409idempotency_mismatch.問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/triggers

プロジェクト内のトリガー一覧

プロジェクトのCAPアラートトリガーを最も古いものから最大20件まで一覧表示します。各トリガーには取り込み用URL、ユーザー名、最新アラートが含まれます。パスワードはここでは決して返されません。

認証
projectBearer
リクエスト本文
なし
操作ID
listTriggersInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/triggers'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのトリガーです。TriggerList(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/triggers

プロジェクトでトリガーを作成

CAPアラートトリガーを作成します:緊急通知システム(Everbridge、Rave、Alertus、IPAWSリレーおよびその他のCAP 1.2送信者)がアラートを投稿する1つの受信URLで、HTTP Basic認証情報を使用します。

回答はパスワードが表示される唯一の場所です(回転回答と共に):送信システムにすぐに保存してください。targetはタグ(アラート到着時にそれを持つすべてのアクティブスクリーン)または最大500のscreen_idsです。

アラートはデフォルトプレイリストを持つすべてのターゲットスクリーンに対し、アラートの<expires>まで、そうでなければdefault_for_seconds(60~604800、デフォルト3600)まで適用します。POST /api/triggers/{id}/cap.を参照してください。組織は、すべてのプロジェクトを合わせて最大20のトリガーを持ちます(trigger_limit_reached)。trigger.createdを追加します。

同じ Idempotency-Key での正確な再試行には、パスワードを含む同じ応答が24時間返されます。セレクターが保護されたスクリーンに及ぶトリガーは protected_target(409)で、スクリーン保護の読み取りに失敗した場合は dependency_unavailable(500、同じリクエストを再試行)です。トリガーは、スクリーンに限定された呼び出し元は利用できません。

認証
projectBearer
リクエスト本文
TriggerWrite
操作ID
createTriggerInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
kind(任意、文字列)許可: "cap", "overlay" デフォルト: "cap"
ラベル(必須、文字列)minLength: 1 maxLength: 80
target(必須、TriggerTarget)tag と screen_ids のどちらか一方のみ。
default_for_seconds(任意、整数)

<expires> のないアラートが画面を保持する時間: CAP トリガーは 60〜604800、既定 3600。duration のない送信がアラートを保持する時間: オーバーレイトリガーは 10〜604800、既定 600。minimum: 10 maximum: 604800

pull(任意、CapPull)

CAP はプラットフォームがトリガーを読み取り、対象スクリーンの場所とカウントするアラートを指定します:cap-alert カード配置のパラメータ(docs/feeds.md「CAP アラート」)。各ソース URL は、名前を含むすべてのトリガーと配置ごとに1分に1回フェッチされます。

情報源がない場合、プラットフォームの公開フィード(NWS、カナダNAAD、地域コードに対応したMeteoAlarm)が位置情報をカバーします。最も深刻な一致アラートが、プッシュメッセージと同様に対象スクリーンを制御します。情報源がない場合(キャンセルまたは期限切れ)、プルアラートは終了します。

古くなったか失敗したソースはアラートを終了しません。location は sources が指定されていない場合に必須です。

overlay(任意、TriggerOverlayWrite)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/triggers'

レスポンス

ステータス意味本文とヘッダー
201URL、ユーザー名、パスワードとともに作成されました。TriggerWithPassword(application/json);ヘッダー:ETag、Cache-Control
400invalid_request - 不正なタグ、またはタグと screen_ids の両方があります。問題 (application/problem+json)
409trigger_limit_reached、idempotency_mismatch。または、セレクターが保護されたスクリーンフォルダー内のスクリーンに及ぶ場合は protected_target。問題 (application/problem+json)
500dependency_unavailable - 保護されたスクリーンフォルダーのチェックを実行できませんでした。少し待ってから同じリクエストをもう一度送信してください。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/events

プロジェクト内イベント一覧

耐久性のあるプロジェクトイベントをシーケンス順に一覧表示

ページングは連続しています:返されたnext_cursorをafterとして渡し、ページが停止した正確な位置から続行します。next_cursorは最後に返されたイベントのカーソルで、新しいイベントがすでに存在し、履歴の終わりではnullです。limitはデフォルト50で1〜200を受け入れ、それ以外はinvalid_requestでlimitを指定するerrors[]メンバーを返します。

オフセットページングはサポートされていません。source=logは代わりにPlayerログをリストします:条件レポートは受信時間昇順で(runtime.reported)、screen_idと重大度でフィルタし、期間はデフォルトで過去24時間、最大31日です。

カーソルは不透明です:サーバーがプレーヤーログを保持する場所によりlg1_またはev1_です。ページが返したものを返してください。別種のカーソルはinvalid_requestでフィールド名付きで拒否されます。プレーヤーログ記録はシーケンスを持たず、GET /stream/projectに含まれず、Webhookに配信されません。

レコードはPlayerログキューが受け入れ、プロジェクトのイベント保持に保存されると承認されます。最後のカーソルとデフォルトウィンドウでポーリングが続きます。Playerログレコードはデフォルト(source=project)リストには含まれません。fromとtoはsourceがlogでない限りinvalid_requestで拒否されます。

プロジェクトリストはscreen_id、playlist_id、application_idを受け取り、1つのスクリーン、プレイリスト、またはアプリケーションのイベントを読み取ります。すべて認証情報のプロジェクトにスコープされます(idはどのイベントを読むかを示し、誰のかは示しません):screen_idはそのスクリーンをリソースとするイベント、playlist_idはそのプレイリストをリソースとするイベントとdetails.playlist_id(それを取るスクリーン)を名前に持つイベント、application_idはそのアプリケーションをリソースとするイベントとapplication_idをリソースに持つイベント(リリースやキー/バリューエントリ)です。

種類のIDでない値はフィールド名を指定して invalid_request で拒否されます。playlist_id と application_id は source=log で拒否されます。ログはスクリーンにのみ属します。

両方のソースは resource_id、type、severity(最低限)を取り、それらを組み合わせ、IDフィルターとページングと組み合わせます。Playerログレコードは、resource がそのスクリーンである runtime.reported レコードです。したがって、そのスクリーンでない resource_id または runtime.reported を除外する type は空のページを返します。before(または order=desc)は最新を先にページングし、next_cursor は返された最も古い項目のカーソルで、before として渡されるとより古い項目に進みます。

fromなしの最新優先source=logページはデフォルトの24時間を超え、プロジェクトのイベント保持が保持する最古記録まで遡ります。1リクエストあたり最大31日間。最新優先source=logページはlimit未満または0件のレコードを含み、next_cursorを持つことがあります。nullは保持ログの終わりで終了します。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は、フィルターされたフィードを読み取ります。対象は、スコープ内のスクリーンのイベント、見ることができるスクリーンフォルダー(自身のフォルダー、その上位と内側のフォルダー。screen.moved は移動先がスコープ内にある場合のみ)のイベント、キャンペーン、プレイリスト、メディア、アプリケーション、カードのイベント、および playlist_change レビューです。

それ以外のイベントはすべて除外されるため、ページに含まれるイベントは limit より少なくなることがあり、next_cursor があっても0件になることさえあります。next_cursor でページ送りを続けてください。source=log にはスコープ内の screen_id が必要です。プロジェクト自体に関するイベントは送信されません。

認証
projectBearer
リクエスト本文
なし
操作ID
listEventsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
以降クエリオプション

前回の応答からのカーソル:プロジェクトイベント(およびイベントストリーム)用の ev1_。プレーヤーログ(source=log)はサーバーが保持する場所で lg1_ または ev1_ カーソルでページングします。これらは不透明として扱い、ページが返したものを返します。別種のカーソルは invalid_request で拒否されます。

beforeクエリオプション

ページは新しい順で、このカーソルより厳密に古いものです:新しい順ページのnext_cursor、または任意のアイテムカーソル(ev1_はプロジェクトイベント用、source=logはアイテムが持つ不透明カーソル)。order=descで空またはなしは最新アイテムから開始します。

順序クエリオプションasc は after 付きで古い順のページング。desc は before 付きで新しい順。before は desc を意味し、order=asc と before の組み合わせは拒否されます。
制限クエリオプションページサイズ。1〜200の範囲外の値はinvalid_requestで拒否され、フィールドがlimitのerrors[]メンバーが返されます。
ソースクエリオプションプロジェクトは連続したプロジェクトイベントを一覧表示します。ログはプレーヤーログ:プレーヤー状態レポート(runtime.reported)を受信時間順に表示します。
resource_idクエリオプションresource.id がこのID(スクリーン、playlist、media、webhook、agent、application ID)のアイテムのみ。source=log の場合は記録のスクリーンです。
タイプクエリオプションplaylist.updated のような正確なイベントタイプ、または playlist.* のすべてにマッチする playlist. で終わるファミリープレフィックス。
screen_idクエリオプションこのスクリーンのイベントのみ:source=project ではリソースがスクリーンのもの、source=log ではPlayerログ記録。別のID種別は invalid_request で拒否されます。
playlist_idクエリオプションsource=projectの場合、このplaylistのイベントのみ:リソースがplaylistのものと、details.playlist_idとして指定するもの。source=logは拒否されます。
application_idクエリオプション

source=projectの場合、このアプリケーションのイベントのみ:リソースがアプリケーションのものと、application_idとして持つもの(リリースやキー/バリューエントリ)。source=logは拒否されます。

重大度クエリオプション最小の重大度:info はすべての項目、warning は警告とエラー、error はエラーのみ。両方のソース。
開始クエリオプションsource=logの場合、ウィンドウの開始(包含)。デフォルトはtoの24時間前。fromなしの最新優先ページはプロジェクトのイベント保持期間まで遡ります。
からクエリオプションsource=logの場合、ウィンドウの終了(排他)。デフォルトは現在時刻。ウィンドウは最大31日間です。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/events'

レスポンス

ステータス意味本文とヘッダー
200耐久イベント(source=project)またはプレーヤーログ記録(source=log)EventList (application/json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/project/capabilities

プロジェクト内の機能を取得

呼び出しプロジェクトのプラン、独立した広告主/画面フラグとそのリビジョン、派生した実効能力セット、持っているプラン機能(plan_features)、上限(limits)。クライアントの主張を反映せず、不明なプランは禁止として失敗します。

認証
projectBearer
リクエスト本文
なし
操作ID
getProjectCapabilitiesInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/project/capabilities'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトの機能です。ProjectCapabilities(application/json);ヘッダー:Cache-Control
403禁止 - プロジェクトプランがカタログにありません。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/billing/balance

プロジェクト内の請求残高を取得

呼び出しプロジェクトのソース認識残高スナップショット。すべてのミリクレジット額は標準的な10進文字列です。これはスナップショットであり支払い権限ではありません;カード、税金、現金引き出しレールが利用不可の間は rails_available は false です。

認証
projectBearer
リクエスト本文
なし
操作ID
getBillingBalanceInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/billing/balance'

レスポンス

ステータス意味本文とヘッダー
200残高スナップショット。BillingBalance(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/billing/statement

プロジェクト内の請求明細を取得

呼び出しプロジェクトの不変の投稿済みジャーナルエントリーに対する安定したカーソルページネーション。保留は投稿済みエントリーではありません。修正は元のイベントへのリンクで書き換えません。この表面には任意の付与や支払いの変更はありません。

認証
projectBearer
リクエスト本文
なし
操作ID
getBillingStatementInProject

パラメーター

名前送信する必須?説明
project_idパス必須
カーソルクエリオプション
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/billing/statement'

レスポンス

ステータス意味本文とヘッダー
200明細ページ。BillingStatement(application/json)
400invalid_request - 制限が範囲外です。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/billing/usage

プロジェクト内の請求使用量を取得

呼び出し元プロジェクトの 1 UTC か月間の使用状況。提供および受信したバイト(課金されることはありません)、支払者のプランの無料ストレージを超えて課金されるストレージ(allowance.storage_bytes)、ならびに月あたり無料の 10,000件にカウントされる API リクエスト、課金対象のプロジェクトストリームイベント、Webhook 配信の試行。自ら支払うプロジェクトは独自のプールを読み取ります。

別の支払者が支払うプロジェクトは、その支払者の他のプロジェクトとプールを共有します。自身のシェアを読み取り、payer は支払者を示します。支払者のプール合計は支払者の請求読み取りに残ります。

認証
projectBearer
リクエスト本文
なし
操作ID
getBillingUsageInProject

パラメーター

名前送信する必須?説明
project_idパス必須
期間クエリオプションYYYY-MM形式のUTC月。デフォルトは現在の月。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/billing/usage'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトの使用状況。ProjectBillingUsage(application/json);ヘッダー:Cache-Control
400invalid_request - 期間が YYYY-MM 形式の UTC 月ではありません。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/network

プロジェクト内の広告ネットワークを取得

呼び出し元の販売者のネットワーク全体、解決された ScreenRig サービス料金を含みます。販売者はその料金を変更できません。

認証
projectBearer
リクエスト本文
なし
操作ID
getAdvertisingNetworkInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/network'

レスポンス

ステータス意味本文とヘッダー
200ネットワーク。AdvertisingNetwork(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/advertising/network

プロジェクトで広告ネットワークを作成

呼び出し元の販売者のネットワークが存在しない場合は作成します。screens=trueが必要です。冪等性あり。繰り返しは同じネットワークを返します。

認証
projectBearer
リクエスト本文
AdvertisingNetworkCreate
操作ID
createAdvertisingNetworkInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
name(必須、文字列)maxLength:120
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/network'

レスポンス

ステータス意味本文とヘッダー
200ネットワーク。AdvertisingNetwork(application/json)
403禁止 - プロジェクトにスクリーン機能がないか、プランが不明です。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/advertising/network/rate

プロジェクト内の広告デフォルトレートを設定

販売者のプロジェクトデフォルトレートを15秒の完了再生ごとに設定します。変更が承認済みキャンペーンの実効レートを変えると、そのキャンペーン全体が price_change_pending で一時停止します。マスクされた変更や無操作変更は影響しません。If-Match はネットワーク改訂を保持します。

認証
projectBearer
リクエスト本文
AdvertisingRate
操作ID
setAdvertisingDefaultRateInProject

パラメーター

名前送信する必須?説明
project_idパス必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。

リクエスト本文フィールド

フィールド説明
rate_mcr_per_15s(必須、McrString)正確な整数ミリクレジット量を標準的な10進文字列で。1クレジットは1000 mcr。パターン:"^-?[0-9]+$"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/network/rate'

レスポンス

ステータス意味本文とヘッダー
200ネットワークを更新しました。AdvertisingNetwork(application/json)
412revision_conflict - If-Match が古くなっています。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/inventory

プロジェクト内広告インベントリ一覧

呼び出し元の販売者がオプトインした在庫です。

認証
projectBearer
リクエスト本文
なし
操作ID
listAdvertisingInventoryInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/inventory'

レスポンス

ステータス意味本文とヘッダー
200インベントリ。AdvertisingInventoryList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/slots

プロジェクト内広告スロット一覧

認証
projectBearer
リクエスト本文
なし
操作ID
listAdvertisingSlotsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/slots'

レスポンス

ステータス意味本文とヘッダー
200スロット。AdvertisingSlotList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/advertising/slots

プロジェクトで広告スロットを作成

再利用可能な販売者スロットを作成します。画像は5~30秒、動画はプラットフォームの最大120秒です。広告は常にミュートされます。

認証
projectBearer
リクエスト本文
AdvertisingSlotWrite
操作ID
createAdvertisingSlotInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
name(必須、文字列)minLength: 1 maxLength: 120
enabled(任意、ブール値)
accepted_media(必須、配列)
max_image_duration_ms(必須、整数)最小値: 5000 最大値: 30000
max_video_duration_ms(必須、整数)最小値: 1000 最大値: 120000
rate_override_mcr_per_15s(任意、インライン)
vast_tag_url(任意、インライン)

販売者自身の VAST 2-4 広告タグ。招待されたキャンペーンがこのスロットを埋めない場合に販売者自身のスクリーンで試されます。ポート 443 または 8443 の HTTPS でパブリックホストのみ。

バックエンドはそれを取得し、最大5つのラッパーをたどり、選択されたプログレッシブ MP4 または WebM メディアファイルをプロジェクトのメディアに取り込み、承認された開始で Impression、creativeView、start を発火し、承認された完了で complete を、失敗で Error を発火します。四分位トラッカーは発火しません。

マクロ[CACHEBUSTING]、[TIMESTAMP]、[SCREENRIG_SCREEN_ID]、[SCREENRIG_SLOT_ID]、[SCREENRIG_PAGE_ID]は展開されます。スロットはビデオを受け入れる必要があります。null、未設定、空はタグをクリアします。購入者は決して見ません。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/slots'

レスポンス

ステータス意味本文とヘッダー
201スロットスロット。AdvertisingSlot(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/memberships

プロジェクト内広告メンバーシップ一覧

認証
projectBearer
リクエスト本文
なし
操作ID
listAdvertisingMembershipsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/memberships'

レスポンス

ステータス意味本文とヘッダー
200メンバーシップ。AdvertisingMembershipList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/networks

プロジェクト内広告参加ネットワーク一覧

呼び出し中の広告主が現在所属するネットワークと付与された範囲および審査ポリシー。スクリーン数は保証されたインプレッション数ではありません。

認証
projectBearer
リクエスト本文
なし
操作ID
listAdvertisingJoinedNetworksInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/networks'

レスポンス

ステータス意味本文とヘッダー
200参加ネットワーク。AdvertisingJoinedNetworkList(application/json)
403禁止 - プロジェクトに広告主フラグがありません。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/creatives

プロジェクト内広告クリエイティブ一覧

認証
projectBearer
リクエスト本文
なし
操作ID
listAdvertisingCreativesInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/creatives'

レスポンス

ステータス意味本文とヘッダー
200クリエイティブ。AdvertisingCreativeList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/advertising/creatives

プロジェクトで広告クリエイティブを作成

1つの準備済み所有メディアリビジョンを不変のクリエイティブにバインドします。バイトのコピー、再アップロード、再生成は行いません。未知または準備できていないメディアは拒否されます。

認証
projectBearer
リクエスト本文
AdvertisingCreativeCreate
操作ID
createAdvertisingCreativeInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
media_id(必須、文字列)
copy(任意、文字列)maxLength: 500
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/creatives'

レスポンス

ステータス意味本文とヘッダー
201クリエイティブ。AdvertisingCreative(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/campaigns

プロジェクト内広告キャンペーン一覧

認証
projectBearer
リクエスト本文
なし
操作ID
listAdvertisingCampaignsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/campaigns'

レスポンス

ステータス意味本文とヘッダー
200キャンペーン一覧。AdvertisingCampaignList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/advertising/campaigns

プロジェクトで広告キャンペーンを作成

ドラフトキャンペーンを作成します。ドラフトは資金を保持せず、予約もせず、配信も許可しません。アクティベーションには明示的に承認された見積もりが必要です。

認証
projectBearer
リクエスト本文
AdvertisingCampaignDraft
操作ID
createAdvertisingCampaignInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
name(必須、文字列)minLength: 1 maxLength: 120
category(任意、AdvertisingCategory)

広告主のカテゴリ。同じカテゴリの広告 2 本が、スクリーンの同じ広告ブレークで再生されることはありません。カテゴリのない広告は分離されません。

許可:"alcohol", "apparel", "automotive", "beauty", "cannabis", "consumer_electronics", "education", "entertainment", "financial_services", "food_and_beverage", "gambling", "government", "grocery", "health_and_pharma", "home_and_garden", "insurance", "jobs", "legal", "media", "political", "quick_service_restaurants", "real_estate", "restaurants", "retail", "sports_and_fitness", "technology", "telecom", "tobacco_and_vaping", "travel", "utilities"

daily_cap_mcr(必須、McrString)正確な整数ミリクレジット量を標準的な10進文字列で。1クレジットは1000 mcr。パターン:"^-?[0-9]+$"
lifetime_cap_mcr(必須、McrString)正確な整数ミリクレジット量を標準的な10進文字列で。1クレジットは1000 mcr。パターン:"^-?[0-9]+$"
image_duration_ms(任意、整数)キャンペーン全体の画像表示時間。動画はサーバー検証済みの再生時間を保持します。デフォルト:10000、最小:5000、最大:30000
max_play_price_mcr(任意、インライン)正の最大完了再生価格。追加の上限がない場合は省略してください。
flight_start(必須、文字列)フォーマット: "date-time"
flight_end(必須、文字列)フォーマット: "date-time"
networks(必須、配列)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/campaigns'

レスポンス

ステータス意味本文とヘッダー
201キャンペーン草稿。AdvertisingCampaign(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/reviews

プロジェクト内広告レビュー一覧

呼び出し元の販売者に提出されたクリエイティブバージョンのレビュー。販売者は提出された正確なクリエイティブのみを見て、購入者のライブラリは見ません。

認証
projectBearer
リクエスト本文
なし
操作ID
listAdvertisingReviewsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/reviews'

レスポンス

ステータス意味本文とヘッダー
200レビュー。AdvertisingReviewList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/reports/spend

プロジェクト内の広告支出を取得

購入者単位のキャンペーンの支出と配信数。金額は小数の mcr 文字列です。販売者の収入、銀行状況、プロジェクト全体の使用状況は公開されません。

認証
projectBearer
リクエスト本文
なし
操作ID
getAdvertisingSpendInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
campaign_idクエリ必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/reports/spend?campaign_id=CAMPAIGN_ID'

レスポンス

ステータス意味本文とヘッダー
200支出レポート。AdvertisingSpendReport(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/reports/delivery

プロジェクト内の広告配信を取得

販売者範囲の総額、サービス料、純額を1つのウィンドウで、その配信証拠付きで示します。購入者のウォレットや他のネットワークは決して公開しません。請求可能な配信は、認可された完了再生証拠のみで確立されます。ウィンドウは最大92日で、それを超えると invalid_request です。

5000件以上の決済がある場合、レスポンスは切り捨てを設定し、合計とカウントはすべてをカバーし、行は最も古い5000件のみをリストします。

認証
projectBearer
リクエスト本文
なし
操作ID
getAdvertisingDeliveryInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
開始クエリ必須
からクエリ必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/advertising/reports/delivery?from=FROM&to=TO'

レスポンス

ステータス意味本文とヘッダー
200配信レポート。AdvertisingDeliveryReport(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/playback

プロジェクト内の再生集計一覧

毎日の再生集計。

JSONは最大200行を返し、レート制限はありません。format=csv(またはAccept text/csvでapplication/jsonなし)はday_fromからday_toまでの一致する行をすべてCSVでストリームし、固定ヘッダー行(PlaybackAggregateCsv)付きです。day_toはデフォルトで今日、day_fromは30日前、最大366日、それ以外はinvalid_requestです。CSV形式のみplayback-export-org(1分あたり30)とplayback-export-ip(1分あたり60)の予算を消費します。

どちらの形式も、計測される API リクエスト1回です。レスポンスには Vary Accept が付きます。スクリーンに限定された呼び出し元(docs/screen-scope.md)は screen_id を送信する必要があり、それはスコープ内のスクリーンでなければなりません(そうでない場合は outside_screen_scope)。CSV形式にも同じルールが適用されます。

認証
projectBearer
リクエスト本文
なし
操作ID
listPlaybackAggregatesInProject

パラメーター

名前送信する必須?説明
project_idパス必須
screen_idクエリオプション
media_idクエリオプション
日クエリオプション集計のUTC暦日。
day_fromクエリオプション最初の UTC 日(含む)。day は除外。day_to と合わせて最大 366 日。CSV では day_to の 30 日前がデフォルト。
day_toクエリオプション最終UTC日(含む)。日を除く。CSVはデフォルトで今日(UTC)。
フォーマットクエリオプションjson(既定)、csv、xlsx、pdf。省略した場合、text/csv を指定し application/json を指定しない Accept ヘッダーは csv を選びます。xlsx と pdf は同じ一覧の最初の 50000 行を書き出します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/playback'

レスポンス

ステータス意味本文とヘッダー
200

呼び出し元プロジェクトの毎日の再生集計です。画像と動画の両方を含みます。スクリーン、メディア、UTCの日ごとに1行ずつ表示し、新しい日付が先に来ます。識別子は呼び出し元の自身の行をフィルターし、プロジェクト間の参照は行いません。

PlaybackAggregateList(application/json)、PlaybackAggregateCsv(text/csv);ヘッダー:Vary、RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/playback/plays

プロジェクト内の再生プレイ一覧

再生ごとの記録:呼び出しプロジェクトの受理されたplayback.media_started(またはレガシーplayback.video_started)ごとに1行、受理されたplayback.application_started(release_idセット、メディアフィールドは空)ごとに1行、最古順にreceived_atで、同順位は挿入順。from(含む)とto(除く)はreceived_atを境界とし、toはデフォルトで現在、fromはtoの24時間前、範囲は最大31日(そうでなければinvalid_request)。

最新の5秒はまだ返されません:有効な終了時刻は最大で現在時刻から5秒引いたもの(遅延解消)です。ライブテイルはカーソルの後ろでコミットされた行をスキップしません。screen_id、media_id、playlist_id(開始が表示されたplaylist)、タグ(再生受信時のスクリーンタグ)でフィルターします。

playlist_idページは制限行数未満、またはゼロの場合もあります。長期間他のプレイリストの再生がスキャンされた場合はnext_cursor。nullは範囲の終了を示します。

JSONは最大limit行(デフォルト200、最大1000)のページでnext_cursorを持ち、範囲の終わりでnullです。同じフィルターでカーソルとして返してください。order=desc(またはbefore)は同じ範囲内で最新を先にページングし、next_cursorは返された最古行のカーソルで範囲の開始でnull、before(排他)として同じフィルターで返します。order=ascとbeforeはinvalid_requestでorder名付きで拒否され、最新優先ページのカーソルはcursor名付きで拒否されます。

最新順ページは、制限行数未満、またはゼロの場合もあり、next_cursor を含みます。null は終了を示します。

後のページは、前のページで存在した行をスキップせず、繰り返しもしません。ただし、未確認レポート後にPlayerが再送した開始(同じplay_id、直後に受信)は後のページに再度現れることがあります。CSVストリームは範囲のカーソルから末尾までのすべての再生をCSV(PlaybackPlayCsv)で新しい順にリストします。format=csv(またはapplication/jsonなしのAccept text/csv)はCSVでストリームし、limitは拒否されます。

メータリングはリクエストごとです:各 JSON ページは API リクエストクレジットを1つ消費し、範囲全体の CSV ストリームは1つ消費します。すべての再生リクエスト(ページまたはストリーム)は playback-export-org(1分あたり30)と playback-export-ip(1分あたり60)の予算を消費します。

ストリームは各書き込みを15秒で区切り、クライアント切断で終了します。200ヘッダー後に失敗すると接続は中止されるため、正常終了まで読み取ったエクスポートは完了です。レスポンスは Vary Accept を含みます。再生はプランのイベント保持期間(出荷時は30日、プランベースは7日または90日)で保持されます。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は screen_id を送信する必要があり、それはスコープ内のスクリーンでなければなりません(そうでない場合は outside_screen_scope)。CSV形式にも同じルールが適用されます。

認証
projectBearer
リクエスト本文
なし
操作ID
listPlaybackPlaysInProject

パラメーター

名前送信する必須?説明
project_idパス必須
開始クエリオプションreceived_at の包括的下限。デフォルトは to の24時間前。
からクエリオプションreceived_at の排他的上限。デフォルトは現在。to - from は最大31日。
screen_idクエリオプション
media_idクエリオプション
playlist_idクエリオプションこのplaylistで表示された再生のみ。
タグクエリオプション再生受信時にスクリーンが持っていたタグ。
カーソルクエリオプション前のページの next_cursor。同じフィルター付き。不透明。
順序クエリオプションasc はカーソル付きで古い順のページング。desc は before 付きで新しい順。before は desc を意味し、order=asc と before の組み合わせは拒否されます。
beforeクエリオプションページは新しい順で、この位置より厳密に古いものです:同じフィルターの新しい順ページのnext_cursor。不透明です。
制限クエリオプションJSONページサイズ。CSVで拒否されます。
フォーマットクエリオプションjson(既定)、csv、xlsx、pdf。省略した場合、text/csv を指定し application/json を指定しない Accept ヘッダーは csv を選びます。xlsx と pdf は同じ一覧の最初の 50000 行を書き出します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/playback/plays'

レスポンス

ステータス意味本文とヘッダー
200再生のページ、または CSV ストリーム。PlaybackPlayList(application/json)、PlaybackPlayCsv(text/csv);ヘッダー:Cache-Control、Vary、RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
429

安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/playback/totals

プロジェクト内の再生合計を取得

呼び出しプロジェクトのUTC日単位の再生合計。日別集計から読み込み:by=dayは日ごと1行(screen_idまたはmedia_idで1スクリーンまたは1メディアに絞り込み)、by=screenとby=mediaは最も多いスクリーンまたはメディアをランク付け(最大100)、by=screen_dayはトップスクリーンの日系列(最大10)。day_toは今日(UTC)デフォルト、day_fromは29日前。

日系列は最大366日(スクリーンまたはメディアに絞ると92日)、ランキングは最大92です。カウントにはプレイロールアップが存在する前に記録された開始も含まれます。

ロールアップは取り込み後最大約21分遅れます。truncated が true の場合は、ウィンドウのスライスが1回の読み取りに大きすぎてランキングが構築されたことを示します:各スライスの最良キーをカバーします。レート制限なし。1回のメーター付きAPIリクエスト。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は screen_id を送信する必要があり、それはスコープ内のスクリーンでなければなりません(そうでない場合は outside_screen_scope)。CSV形式にも同じルールが適用されます。

認証
projectBearer
リクエスト本文
なし
操作ID
getPlaybackTotalsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
byクエリオプションday:1日の再生回数。screen、media:最も多いキー。screen_day:トップスクリーンの日別シリーズ。
day_fromクエリオプション最初の UTC 日(含む)。day_to の 29 日前がデフォルトです。日シリーズは最大 366 日(スクリーンまたはメディアに絞ると 92 日)、ランキングは最大 92 日です。
day_toクエリオプション最終UTC日(含む)。デフォルトは今日(UTC)。
screen_idクエリオプション
media_idクエリオプション
上部クエリオプションランキングが返すスクリーンまたはメディアの数(by=screen_dayの場合最大10)。by=dayでは拒否されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/playback/totals'

レスポンス

ステータス意味本文とヘッダー
200要求されたグループの合計。PlaybackTotals(application/json);ヘッダー:Cache-Control
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/playback/completeness

プロジェクト内の再生の完全性を取得

スクリーンが行った再生のうち、バックエンドに届いた数と、届かなかった再生の場所を示します。プレーヤーはメディアの再生開始に番号を付けるため、届かなかった開始があると番号に欠番が生じます。たとえば、スクリーンが24時間のレポートキューを超えてオフラインのままだった場合や、キューがレポートを破棄した場合です。

day_from から day_to まで(両端を含む)の UTC の日について、応答には次の値が含まれます。day_to のデフォルトは UTC の今日、day_from のデフォルトはその29日前で、期間は最大92日です。measured_plays は届いた番号付きの再生の数、missing_plays はプレーヤーが飛ばした番号の数、completeness は measured_plays を両者の合計で割った値(両方が 0 の場合は null)、days は該当する日ごとの同じ3つの値(古い順で、欠番はその直後の再生の UTC 日に数えます)、gaps は欠番を新しい順に並べたもので、それぞれ screen_id、day、from と to(欠番の前後にある再生の開始時刻)、missing_plays を持ちます。screen_id を指定すると days と gaps が1つのスクリーンに絞り込まれます。limit(デフォルト100件、最大500件)は gaps の件数を制限し、さらにある場合は truncated が true になります。

オフになっているスクリーンは再生を行わず、欠番も生じません。番号のない再生(古いプレーヤー、再生番号の導入前に保存された再生開始)は計測されません。これらは GET /api/playback/totals の play_count には含まれますが、ここに示す数値のいずれにも含まれません。レート制限はありません。従量課金の API リクエスト1件として計上されます。

スクリーンに限定された呼び出し元(docs/screen-scope.md)は screen_id を送信する必要があり、それはスコープ内のスクリーンでなければなりません(そうでない場合は outside_screen_scope)。CSV形式にも同じルールが適用されます。

認証
projectBearer
リクエスト本文
なし
操作ID
getPlaybackCompletenessInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
day_fromクエリオプション最初の UTC の日付(この日を含みます)。デフォルトは day_to の29日前です。day_to と組み合わせた期間は最大92日です。
day_toクエリオプション最終UTC日(含む)。デフォルトは今日(UTC)。
screen_idクエリオプション
制限クエリオプション一覧表示する欠番の最大数です。新しい順に返されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/playback/completeness'

レスポンス

ステータス意味本文とヘッダー
200対象期間の完全性と欠番です。PlaybackCompleteness (application/json); ヘッダー: Cache-Control
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/health/trend

プロジェクト内の Health Trend を取得

プロジェクトのフリートの健康状態をUTC時間ごとに示します:報告したスクリーン数、80℃以上の高温、ディスプレイ切断、24時間に3回以上のクラッシュのスクリーン数。from(含む)とto(除く)は最大93日間の過去24時間がデフォルトです。ページは最大limit行(デフォルト100、最大500)を保持し、next_cursorは最後でnullです。

時間別は、レポートから最大約5分遅れます。スクリーンに限定された呼び出し元には拒否されます(outside_screen_scope)。スクリーン単位の形式は GET /api/screens/{id}/health/history です。

認証
projectBearer
リクエスト本文
なし
操作ID
getHealthTrendInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
開始クエリオプションレポート時間の包括的下限。デフォルトは to の24時間前。
からクエリオプションレポート時間の排他的上限。デフォルトは現在。
制限クエリオプションページサイズ。
カーソルクエリオプション前のページの next_cursor。同じフィルター付き。不透明。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/health/trend'

レスポンス

ステータス意味本文とヘッダー
200時間別フリートヘルスのページ。HealthTrend(application/json);ヘッダー:Cache-Control
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/uptime/daily

プロジェクト内の稼働時間を取得

プロジェクトのスクリーンの包括的なUTC日ごとの日次稼働状況(GET /api/screens/{id}/uptimeと同様のデフォルトと範囲)。各行はその日に記録状態のあるスクリーンのオンラインおよびオフライン秒数を合計し、カバレッジはその日の記録状態のあるスクリーンの割合です。

インターバルは終了時に数えられるため、今日の行にはここまでに終了したインターバルが含まれます。ライブのオンライン数はダッシュボードの概要にあります。スクリーンに限定された呼び出し元には拒否されます(outside_screen_scope)。スクリーン単位の形式は GET /api/screens/{id}/uptime です。

認証
projectBearer
リクエスト本文
なし
操作ID
getProjectUptimeInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
day_fromクエリオプション最初の UTC 日(含む)。day_to の 29 日前がデフォルトです。day_to と合わせて最大 366 日。
day_toクエリオプション最終UTC日(含む)。デフォルトは今日(UTC)。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/uptime/daily'

レスポンス

ステータス意味本文とヘッダー
200毎日の稼働時間行、古い順。ProjectUptime(application/json);ヘッダー:Cache-Control
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/card-types

プロジェクト内カードタイプ一覧

この環境の公開カタログから組み込みカードを検出し、ベンダーのフロアと統合します。更新とスキーマ検証はバックグラウンドで行われ、このルートはエッジバケットを呼び出しません。各エントリには現在のコピー、階層、その階層が許可するレイアウト、提供されるすべてのメジャーが一覧表示されます。

認証
projectBearer
リクエスト本文
なし
操作ID
listCardTypesInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/card-types'

レスポンス

ステータス意味本文とヘッダー
200ID 順の組み込みカードカタログCardCatalogue(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/card-data

プロジェクト内カードデータ一覧

プロジェクトのカードデータドキュメントを最大200件、キーの昇順で一覧表示します。next_cursorは最後に返されたキーで、次のページのafterとして渡します。これ以上ない場合はnullです。カードデータドキュメントはカード配置(メニューセクション、ティッカー項目、KPIタイル)の動的プロパティを保持し、配置のデータキー名が1つあります。

認証
projectBearer
リクエスト本文
なし
操作ID
listCardDataInProject

パラメーター

名前送信する必須?説明
project_idパス必須
以降クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/card-data'

レスポンス

ステータス意味本文とヘッダー
200カードデータドキュメント一覧CardDataList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/media

プロジェクト内のメディア一覧

準備完了メディアを新しい順に最大1000件ずつ一覧表示。folder は特定のメディアフォルダー直下のファイル(ID指定)、root はライブラリルート直下のみ。正しいフォルダーIDでなければ何も返さない。next_cursor は最後の行の位置で、続きがあれば after として同じフィルターで次ページに渡す。最後のページは null。

認証
projectBearer
リクエスト本文
なし
操作ID
listMediaInProject

パラメーター

名前送信する必須?説明
project_idパス必須
タグクエリオプション正確なメディアタグ。このフィルターがある場合、タグなしのオブジェクトは除外されます。
プリミティブクエリオプション
フォルダークエリオプションメディアフォルダーIDはそのフォルダー直下のファイルのみを保持し、サブフォルダーのファイルは含みません。ルートはライブラリのルート直下のファイルのみを保持します。省略するとすべてのファイルをリストします。
idsクエリオプション

カンマ区切りのメディア ID。重複を除いて最大 200 件で、それを超えると ids で invalid_request になります。指定した ID のファイルだけを残します。準備完了のファイルに該当しない ID は結果に含まれず、他のフィルターとページングは引き続き適用されます。空の値は何も一覧表示しません。

libraryクエリオプション

true を指定すると、このプロジェクトの代わりに組織のライブラリプロジェクトを一覧します。その項目はここでは読み取り専用で、library true が付きます。ライブラリのない組織や、ライブラリプロジェクト自身で true を指定すると、何も一覧されません。

以降クエリオプション同じリストの前のページの next_cursor。同じフィルター付き。省略時は最新行から開始。カーソルでない値は invalid_request。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media'

レスポンス

ステータス意味本文とヘッダー
200メディアMediaList(application/json)
POST/api/projects/{project_id}/media/generations

プロジェクトでメディア生成を作成

プロンプトから静止画を1枚生成し、準備済みのプライベートなプロジェクトメディアとして保存し、その使用量を課金します。Prefer: respond-async の有無にかかわらず、POST は直ちに 202 で Operation を返します。API の前にあるプロキシはバイトを 100 s 送信しないリクエストを破棄し、高品質の静止画にはそれより長くかかる場合があるためです。

Operation が succeeded になり、その result が {media_id, usage: {quality, credits, usd}}(MediaGenerationUsage) になるまで、または failed になり、その error が問題を示すまで、GET /api/operations/{id} をポーリングします。ベンダーの作業前に決定された拒否(payment_required、reseller_generation_limit、rate_limited、not_ready、invalid_request)でも、POST には引き続き応答します。

画像バイト、b64_json、オブジェクトキー、署名付きURL、ベンダーURL、ベンダーコスト、ベンダートークン、展開モデル名は決して含みません。プロンプトは顧客のバイトであり、エコーされません。

プロンプトが画像ベンダーに届く前に、サーバーは固定されたフレーミング要件を追加します:アートワークはフレームの端から端まで満たす必要があり、テレビ、モニター、スクリーン、ディスプレイ、ベゼル、フレーム、ボーダー、マウント、スタンド、壁、部屋、デバイスのモックアップ、ドロップシャドウ、設置されたサインの写真は描写できません。呼び出し元のプロンプトにサインの設置場所や表示デバイスを説明する文言がある場合、それは主題ではなく配置メタデータとして扱われます。

デザイン内部の装飾ルールと境界線は引き続き利用できます。呼び出し元のプロンプトは書き換えも削除もされず、そのまま保存されます。Idempotency-Key は同じ Operation を再生し、課金される2回目の試行は決して行いません。クライアントは生成されたバイトを PUT したりコミットしたりしません。

保存されたレンディションはロスのある WebP(品質 90)で、正確なアスペクトサイズかつ短辺が 1080 px です(16:9 は 1920x1080、9:16 は 1080x1920、1:1 は 1080x1080、4:3 は 1440x1080、3:4 は 1080x1440、3:2 は 1620x1080、2:3 は 1080x1620)。ベンダーキャンバスは中央クロップされ、そのサイズにリサンプルされます。

ファイル名は世代ごとに特徴的で、generated-16x9-1a2b3c4d.webpのように、サフィックスはメディアIDから取られます。GET /api/media/{id}/content.でバイトを取得します。Own-gen-then-uploadは有効なままです。

Standard では、イントロフロア(2027-01-01 までマイナス1,000,000クレジット、その後ゼロ)後に、静止画のベンダーコストの2倍を全クレジットで切り上げてカバーできない残高は payment_required を返します(SCREENRIG__ENVIRONMENT=development は除く)。また、ベンダーコール前の入場には、そのフロアを品質ごとの最低値だけ上回る残高が必要です:低品質は200クレジット、中品質は800、高品質は2000。

それ以外のプランは、残高を理由に拒否されることはありません。

リセラー経由で請求される組織は、そのリセラーに委任された顧客に対して、その月の画像生成の上限(リセラーが審査待ちの間は定価で $100、審査後は $1,000。UTC の月単位で集計)が請求済みになると、reseller_generation_limit (402) で拒否されます。ただし、組織自身のクレジットでその画像をまかなえる場合を除きます。すでに受け付けた生成は完了します。

選択したベンダーの設定が空の場合は not_ready を返します。プロジェクトのベアラーのみ。組織あたり同時に進行できる生成は 1 件で、それを超える並列実行は rate_limited になります。

認証
projectBearer
リクエスト本文
MediaGenerationRequest
操作ID
createMediaGenerationInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須
Preferヘッダーオプション任意。このヘッダーの有無にかかわらず、ルートは直ちに 202 で Operation を返します。Operation をポーリングしてください。

リクエスト本文フィールド

フィールド説明
prompt(必須、文字列)minLength: 1 maxLength: 4000
aspect_ratio(任意、文字列)許可:"1:1"、"16:9"、"9:16"、"4:3"、"3:4"、"3:2"、"2:3" デフォルト:"16:9"
品質(任意、文字列)許可されている値: "low"、"medium"、"high"。デフォルトは "medium" です。
タグ(オプション、文字列)パターン: "^[A-Za-z0-9]{1,32}$"
参照(任意、配列)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media/generations'

レスポンス

ステータス意味本文とヘッダー
202

生成は受け付けられ、実行が続いています。Operation が succeeded(result の media_id と usage)または failed(error)になるまで、GET /api/operations/{id} をポーリングしてください。同じ Idempotency-Key では同じ Operation が応答します。

操作(application/json);ヘッダー:Preference-Applied、RateLimit-Policy、RateLimit
402

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (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)
500

安定した 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)
GET/api/projects/{project_id}/media-folders

プロジェクト内メディアフォルダー一覧

プロジェクト内のすべてのメディアフォルダーを名前順に最大1000件リストします。フォルダーはメディアライブラリを整理し、playlist selector by:folderは1つのフォルダー内のファイルを直接再生します。フォルダーのparent_idはライブラリルートでnullです。

ツリーはparent_idから構築します。ファイルのフォルダーはMedia.folder_idです。library=trueを指定すると、代わりに組織のライブラリのフォルダーを一覧します(読み取り専用。by:folderセレクターで指定できます)。

認証
projectBearer
リクエスト本文
なし
操作ID
listMediaFoldersInProject

パラメーター

名前送信する必須?説明
project_idパス必須
libraryクエリオプション

true を指定すると、このプロジェクトの代わりに組織のライブラリプロジェクトを一覧します。その項目はここでは読み取り専用で、library true が付きます。ライブラリのない組織や、ライブラリプロジェクト自身で true を指定すると、何も一覧されません。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media-folders'

レスポンス

ステータス意味本文とヘッダー
200メディアフォルダーMediaFolderList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/media-folders

プロジェクトでメディアフォルダーを作成

ライブラリのルート(parent_idがnullまたは存在しない)またはparent_id内に1つのメディアフォルダーを作成します。名前はトリムされ、制御文字なしの1~100のUnicode文字を含み、「.」や「..」ではなく、繰り返し可能です。組織は、すべてのプロジェクトを合わせて最大1000フォルダー(quota_exceeded)、最大10階層のネスト(invalid_request)を保持します。media.folder_createdを発行します。

認証
projectBearer
リクエスト本文
MediaFolderCreate
操作ID
createMediaFolderInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
name(必須、文字列)トリム済み;1~100のUnicode文字、制御文字なし、「.」や「..」は不可。minLength:1 maxLength:100
parent_id(任意、インライン)作成するフォルダー。nullまたは未指定はライブラリのルート。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media-folders'

レスポンス

ステータス意味本文とヘッダー
201フォルダーを作成しました。MediaFolder(application/json);ヘッダー:ETag
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/media/move

プロジェクト内でメディアを移動

ファイル(media_ids)とフォルダー(folder_ids)を1つのフォルダー(folder_id)に、または folder_id が null の場合はライブラリのルートに移動します。最大1000 ID の一括リクエストです。すべての ID は存在する必要があります(not_found)。フォルダーは自身またはその内部のフォルダーに移動できず、移動後はすべてのフォルダーが10階層以内でなければなりません(invalid_request)。

既に宛先にあるアイテムはそのままにし、移動した各ファイルとフォルダーは改訂を進めます。ファイル移動は古いフォルダーと新しいフォルダーのby:folderセレクターの再生内容を変え、各スクリーンの次のセレクター解決から影響します。フォルダー移動はフォルダー自身のファイルを変えません。media.movedを発行します。

Propose 資格情報の移動により、移動された各ファイルは保留となり、メディアレビューがキューに入ります。承認済みプレイリストのセレクターは、その変更がユーザーに承認されるまで、承認時のフォルダーで解決されます(docs/reviews.md)。

認証
projectBearer
リクエスト本文
MediaMove
操作ID
moveMediaInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
folder_id(必須、インライン)保存先フォルダー。ライブラリのルートの場合は null。
media_ids(任意、配列)
folder_ids(任意、配列)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media/move'

レスポンス

ステータス意味本文とヘッダー
200移動したファイルとフォルダーの数。MediaMoveResult(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/media/uploads

プロジェクトでメディアアップロードを作成

認証
projectBearer
リクエスト本文
MediaUploadDeclaration
操作ID
createMediaUploadInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須
project_idクエリオプション

dashboardSession と共に必須:ファイルがキューに入ったプロジェクト。セッションの選択プロジェクトと一致しない場合は resource_conflict。これによりタブ間のアップロード許可が結合されます。返されるアップロードIDはバイトアップロードとコミットに対してプロジェクトスコープのままです。プロジェクトベアラー付きは省略。

リクエスト本文フィールド

フィールド説明
filename(必須、文字列)アップロードされるバイトの名前で、送信されるとおりのものです。ディレクトリ、バックスラッシュ、制御文字を含まない、最大255バイトのUTF-8のファイル名のみです。minLength: 1 maxLength: 255
source_filename(任意、文字列)

呼び出し元のオリジナルファイル名(クライアント側トランスコード前)。ファイル名のみで、最大255バイトのUTF-8。準備済みメディアにsource_filenameとしてそのまま保存され、filenameの派生に使用されます。minLength:1 maxLength:255

content_type(必須、文字列)許可:"image/png"、"image/jpeg"、"image/webp"、"image/gif"、"video/mp4"、"video/webm"、"audio/mpeg"
bytes(必須、整数)最小値: 1 最大値: 1073741824
sha256(必須、文字列)パターン: "^[a-f0-9]{64}$"
タグ(オプション、文字列)パターン: "^[A-Za-z0-9]{1,32}$"
folder_id(任意、文字列)

準備が整ったメディアの置き場となるメディアフォルダー。省略するとライブラリのルートに置かれます。フォルダーは、アップロードの宣言時(存在しない場合は folder_id で invalid_request)と確定時(操作が invalid_request で失敗するため、再度宣言してください)に存在している必要があります。アップローダー(docs/uploaders.md)は自分のフォルダーのいずれかを指定する必要があります(それ以外は outside_upload_scope)。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media/uploads'

レスポンス

ステータス意味本文とヘッダー
201

正確に1つのプライベートオブジェクト PUT に対する短期間の署名付き認可です。返されたメソッドと返されたすべてのヘッダーをそのまま送信してください。これがダッシュボードのアップロード方法でもあります。そのブラウザは、API の前にあるプロキシが 100 MB を超えるリクエストボディを拒否するため、バイトを API 経由ではなくオブジェクトストアへ直接 PUT します。

ブラウザはボディから Content-Length を自ら設定するため、返されたヘッダーのうちそれ以外をすべて送信します。

MediaUploadSession(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/selectors/preview

プロジェクト内のプレビューセレクター

現在のプロジェクト所有の準備済み画像またはビデオの読み取り専用プレビュー。ファイル名の順序と正規化されたポリシーを返します。ランダム再生はプレーヤーの各新しいパスでシャッフルされます。カーソルの進行、コンテンツ付与の発行、マニフェストの変更は行いません。1024件を超える一致はinvalid_requestを返します。

認証
projectBearer
リクエスト本文
SelectorPreviewInput
操作ID
previewSelectorInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
タイムゾーン(任意、文字列)メディアの利用可能期間の判定に使う IANA ゾーン。デフォルトは UTC。
rect(任意、オブジェクト)プリミティブの rect サイズ。selector.fit aspect では必須です。
プリミティブ(必須、文字列)許可:"image"、"video"
selector(必須、インライン)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/selectors/preview'

レスポンス

ステータス意味本文とヘッダー
200現在のセレクター一致。SelectorPreview(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/feedback/bugs

プロジェクト内バグレポート一覧

呼び出し元プロジェクトのバグレポートを最新順で最大100件返します。他のプロジェクトの提出物は返されません。フィードバックIDで所有するスレッドを読みます。v1にはページネーションカーソルがありません。各提出物はステータスとスタッフ/エージェントの返信(古い順)を含みます。

認証
projectBearer
リクエスト本文
なし
操作ID
listBugReportsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/feedback/bugs'

レスポンス

ステータス意味本文とヘッダー
200呼び出し元プロジェクトが所有するバグ報告。FeedbackList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/feedback/bugs

プロジェクト内のバグを報告

呼び出し元プロジェクトに対するバグレポートを1件記録します。提出の自身のフィールドは更新または削除できません。同じフィードバックスレッドの返信で修正や追加情報を加えてください。

完全一致する Idempotency-Key の正確な再試行は24時間オリジナルの送信を返し、重複作成しません。異なる本文は idempotency_mismatch を返します。すべての送信は保存前にスクリーニングされます。

本文が 12 文字未満または 3 単語未満の場合は submission_too_short を返します。問題やリクエストを説明しないテキスト(ランダムな文字列やキーボード連打)は submission_unclear を返します。スパム、リンクが多いテキスト、プロンプトインジェクションや悪意あるテキストは submission_rejected を返します。

拒否された送信は保存されず、問題の詳細は送信されたテキストを繰り返さず、同じIdempotency-Keyでの正確な再試行は同じ拒否を返します。

タイトル、本文、コンテキストに認証情報、クッキー、Authorizationヘッダー、完了ノンス、署名URL、オブジェクトキーを絶対に置かないでください。認証情報形状のテキスト(ScreenRigトークン、JWT、ベアラートークン、クラウドおよびAPIキー、秘密鍵)は保存前に[redacted]に置き換えられ、応答にも置き換えテキストが含まれます。

スクリーニングモデルが一時的に利用できない場合、送信は受け入れられバックグラウンドで再スクリーニングされます。1時間に数回の受け入れ後、プロジェクトはsubmission_screening_unavailable(500、Retry-After)となり、同じリクエストを後で再試行します。

認証
projectBearer
リクエスト本文
FeedbackWrite
操作ID
reportBugInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
タイトル(必須、文字列)単一行の要約。先頭と末尾の空白はトリムされ、制御文字は拒否されます。minLength:1 maxLength:120
body(必須、文字列)詳細説明。改行とタブのみ制御文字として使用できます。minLength:1 maxLength:4000
context(任意、FeedbackContext)

閉じた診断エンベロープ。すべてのメンバーはオプションの制約付きスカラーで、ネストは構造的に不可能、未知のメンバーはinvalid_requestで拒否されます。この形状はクライアントが引数値、資格情報、自由形式環境データを永続化できないように存在します。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/feedback/bugs'

レスポンス

ステータス意味本文とヘッダー
201保存されたバグレポート。同一の冪等リトライは同じ提出を返します。FeedbackSubmission(application/json);ヘッダー:RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
409

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
422

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
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)
GET/api/projects/{project_id}/feedback/features

プロジェクト内機能リクエスト一覧

呼び出し元プロジェクトの機能要望を最新順で最大100件返します。他のプロジェクトの提出物は返されません。フィードバックIDで所有するスレッドを読みます。v1にはページネーションカーソルがありません。各提出物はステータスとスタッフ/エージェントの返信(古い順)を含みます。

認証
projectBearer
リクエスト本文
なし
操作ID
listFeatureRequestsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/feedback/features'

レスポンス

ステータス意味本文とヘッダー
200呼び出し元プロジェクトが所有する機能リクエスト。FeedbackList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/feedback/features

プロジェクト内の機能を依頼

呼び出し元プロジェクトに対する機能リクエストを1件記録します。提出の自身のフィールドは更新または削除できません。同じフィードバックスレッドの返信で修正や追加情報を加えてください。

完全一致する Idempotency-Key の正確な再試行は24時間オリジナルの送信を返し、重複作成しません。異なる本文は idempotency_mismatch を返します。すべての送信は保存前にスクリーニングされます。

本文が 12 文字未満または 3 単語未満の場合は submission_too_short を返します。問題やリクエストを説明しないテキスト(ランダムな文字列やキーボード連打)は submission_unclear を返します。スパム、リンクが多いテキスト、プロンプトインジェクションや悪意あるテキストは submission_rejected を返します。

拒否された送信は保存されず、問題の詳細は送信されたテキストを繰り返さず、同じIdempotency-Keyでの正確な再試行は同じ拒否を返します。

タイトル、本文、コンテキストに認証情報、クッキー、Authorizationヘッダー、完了ノンス、署名URL、オブジェクトキーを絶対に置かないでください。認証情報形状のテキスト(ScreenRigトークン、JWT、ベアラートークン、クラウドおよびAPIキー、秘密鍵)は保存前に[redacted]に置き換えられ、応答にも置き換えテキストが含まれます。

スクリーニングモデルが一時的に利用できない場合、送信は受け入れられバックグラウンドで再スクリーニングされます。1時間に数回の受け入れ後、プロジェクトはsubmission_screening_unavailable(500、Retry-After)となり、同じリクエストを後で再試行します。

認証
projectBearer
リクエスト本文
FeedbackWrite
操作ID
requestFeatureInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
タイトル(必須、文字列)単一行の要約。先頭と末尾の空白はトリムされ、制御文字は拒否されます。minLength:1 maxLength:120
body(必須、文字列)詳細説明。改行とタブのみ制御文字として使用できます。minLength:1 maxLength:4000
context(任意、FeedbackContext)

閉じた診断エンベロープ。すべてのメンバーはオプションの制約付きスカラーで、ネストは構造的に不可能、未知のメンバーはinvalid_requestで拒否されます。この形状はクライアントが引数値、資格情報、自由形式環境データを永続化できないように存在します。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/feedback/features'

レスポンス

ステータス意味本文とヘッダー
201保存された機能リクエスト。同一の冪等リトライは同じ提出を返します。FeedbackSubmission(application/json);ヘッダー:RateLimit-Policy、RateLimit
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
409

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
422

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
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)
GET/api/projects/{project_id}/service-clients

プロジェクト内のサービスクライアント一覧

プロジェクトのサービスクライアント(仕様:プロジェクトが所有する顧客のサーバー、スクリプト、CIジョブ)、新しい順、ライブと取り消し済み、公開鍵、秘密ID、使用状況を含みます。秘密やダイジェストは含みません。プロジェクト機能が必要です。

認証
projectBearer
リクエスト本文
なし
操作ID
listServiceClientsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/service-clients'

レスポンス

ステータス意味本文とヘッダー
200サービスクライアント。ServiceClientList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/service-clients

プロジェクトでサービスクライアントを作成

名前、機能(省略時は6つすべて。各機能はマネージャーが持つものに限り、そうでなければ403)、アクセス権(既定は読み取り、または管理)、および公開JWKキー(OKP Ed25519、EC P-256、または2048ビット以上のRSA)および/またはシークレットtrueを持つプロジェクト所有のサービスクライアントを作成します。シークレットは一度だけここで返されます。組織あたり最大50のライブクライアント。

エージェントはアイデンティティスコープ、ライブアイデンティティ管理、プロジェクトのプロジェクト機能を持つ自身の管理権限、ライブ組織の管理者ロールが必要です;ユーザーはproject_idと新しい証明(種類service_client_change、クライアントIDまたは作成時はプロジェクトID)をボディに持つダッシュボードセッションを使用します。サービストークンは403で拒否されます。

スクリーンに限定されたメンバーは、エージェントの接続、資格情報の発行、プロジェクトのユーザー管理を行えません:outside_screen_scope(プロジェクトオーナーに依頼してください)。

認証
agentIdentityBearer
リクエスト本文
ServiceClientChange
操作ID
createServiceClientInProject

パラメーター

名前送信する必須?説明
project_idパス必須

リクエスト本文フィールド

フィールド説明
project_id(任意、文字列)ダッシュボード セッションのみ。
proof(任意、DashboardProof)
name(任意、文字列)minLength: 1 maxLength: 80
機能(任意、配列)
アクセス(任意、文字列)管理はレビュー承認可能な人が必要です(403 approver_required)。許可されるのは「read」、「propose」、「manage」です。
key(任意、オブジェクト)公開JWK:OKP Ed25519、EC P-256、または2048ビット以上のRSA。
secret(任意、真偽値)シークレットを生成(作成のみ)。
upload_scope(任意、UploadScope)

アップローダーが使えるもの(docs/uploaders.md):ページを変更できるプレイリストと、アップロード先のメディアフォルダー。フォルダーは一覧されたものそのもので、サブフォルダーは含まれません。書き込み時にプロジェクトの有効なオブジェクトを指していないIDは、その位置で invalid_request になります。後から削除されたものは無効なIDとして残りますが、何も許可しません。

範囲はリクエストごとに読み込まれるため、変更は次のリクエストから適用されます。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/service-clients'

レスポンス

ステータス意味本文とヘッダー
201サービスクライアント。ServiceClientResult(application/json)
402

feature_not_in_plan — アップロードスコープはアップローダーを作り、プロジェクトのプランにはアップローダーが含まれていません。required_plan が、含まれるプランを示します。スコープの絞り込みと削除は常に許可されます。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/media-sync-accounts

プロジェクトでメディア同期アカウント一覧

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.

認証
projectBearer
リクエスト本文
なし
操作ID
listMediaSyncAccountsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
カーソルクエリオプション前のページの next_cursor。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media-sync-accounts'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのアカウント。MediaSyncAccountList(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/media-sync-accounts

プロジェクトでメディア同期アカウントを作成

読み取りで同期するアカウントを追加します。kind microsoft365 は、プロジェクト独自の Microsoft Entra アプリの認証情報を保存し、同期が SharePoint や OneDrive for Business のフォルダーを読み取れるようにします。config.tenant_id はテナントのディレクトリ ID またはプライマリドメイン (common、organizations、consumers は拒否されます)、config.client_id はアプリのアプリケーション ID、secret はアプリのクライアントシークレットの 1 つの値です。アプリには、管理者の同意のもと、Microsoft Graph のアプリケーション権限 Sites.Selected (各サイトで付与) または Files.Read.All が必要です。

この 3 つの代わりに、config.connection_id でプロジェクトの Microsoft 接続 (createConnection) を、どちらのモードでも指定でき、その接続がサインインしてシークレットを保持します。kind canva は名前だけを受け付けます。アカウントは pending_consent になり、応答には authorize_url (authorize_expires_at まで有効な 1 回限りのリンク) が含まれ、Canva アカウントの所有者が Canva にサインインした状態でそれを開き、screenRIG の Canva 連携を通じて接続します。

この許可はプロジェクトに属するため、その同期は、接続した人がいなくなっても続きます。

Canva 連携のないサーバーは 409 canva_not_configured を返します。kind dropbox は canva と同様に動作します。アカウントは pending_consent になり、authorize_url は 1 回限りのリンクで、Dropbox アカウントの所有者が Dropbox にサインインした状態でこれを開き、読み取り専用のアクセス(files.metadata.read、files.content.read、account_info.read、sharing.read)を許可します。

接続は screenRIG の Dropbox アプリを通じて行われ、config.app_key でお客様自身の Dropbox アプリが指定されている場合は、そのアプリを通じて行われます(PKCE を使うためアプリシークレットは不要です。アプリのリダイレクト URI として https://API_ORIGIN/api/dropbox/callback を登録しておく必要があります)。

screenRIG の Dropbox アプリがないサーバーは、app_key のない dropbox アカウントに 409 dropbox_not_configured を返します。kind google_drive は即座に ready になり、config.service_account_email と共有されたフォルダーを読み取ります。config.service_account_email は screenRIG のサービスアカウントで、secret がお客様自身のサービスアカウントの JSON キーである場合は、そのサービスアカウントです。

screenRIG のサービスアカウントと共有されたフォルダーが同期されるのは、検証済みメールアドレスを持つプロジェクトのメンバーがそれを共有したか、所有している場合だけです。screenRIG のサービスアカウントがないサーバーは、キーのない google_drive アカウントに 409 google_drive_not_configured を返します。シークレットは保存時に封印され、返されることも、ログに記録されることもありません。media_sync_account.created を追記します。

同じ Idempotency-Key での同一の再試行は、同じアカウントを返します(Canva または Dropbox の再試行では新しいリンクが発行されます)。

認証
projectBearer
リクエスト本文
MediaSyncAccountWrite
操作ID
createMediaSyncAccountInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
種類(必須、文字列)許可:"microsoft365"、"canva"、"dropbox"、"google_drive"
name(必須、文字列)minLength: 1 maxLength: 80
config(任意、object)

microsoft365 の場合は、tenant_id と client_id(両方)に secret を組み合わせるか、connection_id だけを指定します。connection_id は、このプロジェクトの Microsoft 接続の ID です。dropbox の場合、app_key は任意で、お客様自身の Dropbox アプリを指定します。canva と google_drive には指定できません。

secret(任意、文字列)

tenant_id と client_id を指定した microsoft365 では必須です。アプリのクライアントシークレットの 1 つの値(ID ではありません)で、最大 1024 文字です。

google_drive の場合は任意で、お客様自身の Google Cloud サービスアカウントの JSON キー(type は service_account)を指定できます。その client_email がアカウントの service_account_email になります。指定しない場合、アカウントは screenRIG のサービスアカウントを通じて読み取ります。connection_id と同時には指定できず、canva と dropbox にも指定できません。minLength: 1 maxLength: 8192

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media-sync-accounts'

レスポンス

ステータス意味本文とヘッダー
201作成されました。シークレットはマスクされ、Canva または Dropbox のアカウントには authorize_url も含まれます。MediaSyncAccountConnect(application/json);ヘッダー:ETag, Cache-Control
400invalid_request。問題 (application/problem+json)
402feature_not_in_plan — プロジェクトのプランにはメディア同期が含まれていません。required_plan が、含まれるプランを示します。問題 (application/problem+json)
409

canva_not_configured(このサーバーには Canva 連携がない。kind canva のみ)、dropbox_not_configured(screenRIG の Dropbox アプリも config.app_key もない。kind dropbox のみ)、google_drive_not_configured(screenRIG のサービスアカウントもキーもない。kind google_drive のみ)、resource_conflict、または idempotency_mismatch。

問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/media-syncs

プロジェクトでメディア同期一覧

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.

認証
projectBearer
リクエスト本文
なし
操作ID
listMediaSyncsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
カーソルクエリオプション前のページの next_cursor。
account_idクエリオプションこのアカウント経由で読み取る同期だけを一覧表示します。
状態クエリオプションこの状態の同期だけを一覧表示します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media-syncs'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトの同期。MediaSyncList(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/media-syncs

プロジェクトでメディア同期を作成

provider canva:接続済みの Canva アカウント経由でデザイン(design はその ID または canva.com/design/ID/... アドレス)を読み取り、同期を保存して今すぐ実行対象にします。

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.

Canva が表示しなくなったデザインは、同期を状態 error(実行エラー design_unavailable)で停止させ、メディアはそのまま残します。

アカウントが見られないデザインやページは 409 media_sync_source_refused になります。provider dropbox: url は Dropbox 内のフォルダーのアドレス (https://www.dropbox.com/home/...)、接続済みアカウントが自分の Dropbox に追加した共有フォルダーのリンク、または / で始まるパスです。接続済みの Dropbox アカウントを通じて 1 回だけ読み取られ、同期が保存されて今すぐ実行対象になります。

チームスペース内のフォルダーは、チームのルートから読み取られます。各実行は Dropbox が保存しているフォルダー内の位置から続けられるため、変更だけが読み取られます。

アカウントが開けないフォルダーは 409 media_sync_source_refused、Dropbox が接続を認めなくなったアカウントは 409 dropbox_reconnect_required です。provider google_drive: url は Google Drive 上のフォルダーのアドレス (https://drive.google.com/drive/folders/ID) またはその ID で、アカウントの service_account_email と共有します(閲覧者で十分です)。

実行のたびにフォルダーを一覧し、各ファイルのチェックサムを比較します。Google ドキュメント、スプレッドシート、スライドのファイルは unsupported_type としてスキップされます。アドレスで開けないフォルダーは 409 media_sync_source_refused です。

screenRIG のサービスアカウントを通じる場合、フォルダーは、検証済みメールアドレスを持つプロジェクトのメンバーが共有または所有している必要があります(403 media_sync_sharer_not_member)。実行のたびに再確認され、実行エラー sharer_not_member は同期を状態 error で停止します。provider sharepoint: アカウントを通じてフォルダーのアドレスを読み取り、同期を保存して今すぐ実行対象にします。アドレスは、SharePoint のサイトアドレス (https://TENANT.sharepoint.com/sites/SITE/LIBRARY/FOLDER など) または共有リンクです。アプリがそれを参照できる必要があり、Sites.Selected ではサイトへの付与が、共有リンクでは Files.Read.All が必要です。folder_id はファイルの保存先となるメディアフォルダーです。指定しない場合、同期はソースフォルダーの名前を付けたメディアフォルダーを作成します。

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.

認証
projectBearer
リクエスト本文
MediaSyncWrite
操作ID
createMediaSyncInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
provider(必須、文字列)許可:"sharepoint"、"canva"、"dropbox"、"google_drive"
account_id(必須、文字列)プロバイダーに対応する種類のアカウント。sharepoint には microsoft365 を、canva、dropbox、google_drive にはそれぞれ同じ名前の種類を指定します。
URL(任意、文字列)

sharepoint(必須): フォルダーの SharePoint アドレスまたは共有リンク。フォルダーを見つけるために 1 回だけ読み取られ、保存されません。dropbox(必須): フォルダーの Dropbox アドレス、アカウントが追加した共有フォルダーのリンク、または / で始まるパス。google_drive(必須): フォルダーの Google Drive アドレスまたはその ID。maxLength: 4096

design(任意、文字列)canva(必須):デザインの ID、またはその canva.com/design/ID/... アドレス。maxLength: 2048
ページ(任意、配列)canva:同期するページ。省略するとすべてのページです。のちにページ数が減ったデザインでは、なくなったページは再生から外されます。
format(任意、文字列)canva:png はページごとに 1 枚の画像、mp4 はページをまとめた 1 本の動画になります。Allowed: "png", "mp4" default: "png"
folder_id(任意、文字列)ファイルの置き場となるメディアフォルダー。省略すると、ソースフォルダー名のフォルダーを作成します。
every(任意、整数)実行間隔(秒)。既定は 900 です。minimum: 300 maximum: 86400
name(任意、文字列)既定ではソースフォルダー名です。minLength: 1 maxLength: 80
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/media-syncs'

レスポンス

ステータス意味本文とヘッダー
201作成されました。今すぐ実行対象です。MediaSync(application/json);ヘッダー:ETag, Cache-Control
400invalid_request。問題 (application/problem+json)
402feature_not_in_plan — プロジェクトのプランにはメディア同期が含まれていません。required_plan が、含まれるプランを示します。問題 (application/problem+json)
403media_sync_sharer_not_member — screenRIG のサービスアカウントを通じて読み取った Google Drive のフォルダーが、検証済みメールアドレスを持つプロジェクトのメンバーによって共有または所有されていませんでした。問題 (application/problem+json)
409

media_sync_source_refused(プロバイダーがアプリ、その権限、またはフォルダーを拒否した)、dropbox_reconnect_required(Dropbox アカウントを再接続する必要がある)、dropbox_not_configured、google_drive_not_configured、resource_conflict(同じソースがすでにそのメディアフォルダーに同期されている)、または idempotency_mismatch。

問題 (application/problem+json)
500media_sync_source_unavailable:プロバイダーに接続できなかったか、失敗の応答がありました。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/fleet-links

プロジェクト内フリートリンク一覧

プロジェクトのフリートリンクを最も古いものから最大50件まで一覧表示します。以下の有効なManageでは各URLは空でurl_redactedがtrueです。URLはスクリーンを作成します。

認証
projectBearer
リクエスト本文
なし
操作ID
listFleetLinksInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/fleet-links'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのフリートリンクです。FleetLinkList(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/fleet-links

プロジェクトでフリートリンクを作成

フリートリンクを作成します:一つの Player URL(https://play.<domain>/player/#fleet=<secret>)で、開いたすべてのデバイスがこのプロジェクトの独自のスクリーンになります。ペアリングコードは不要です。Google 管理コンソールのキオスクアプリなどのデバイスマネージャーに配置してください。

新しいスクリーンにはリンクのタグ、フィールド、プレイリスト、デバイスからのラベル(管理者資産ID、次にロケーション)、それ以外は次のデフォルトラベルが付きます。すでにスクリーンを保持しているプレーヤーは新たに作成しません。キーは再読み込みや再起動後もスクリーンの識別子として維持されます。

パワーウォッシュまたは再インストール後、このプロジェクトのフリートリンクが作成したスクリーンのシリアルまたはDUIDを報告するデバイスは、古いキーが10分間サイレント状態であれば新しいスクリーンを作成せずにそのスクリーンを回復します(screen.recovered)。

シークレットは URL フラグメントで渡され、ブラウザーがサーバーに送信することはありません。max_screens はリンクが作成するスクリーンの数を制限し、expires_at はその時刻にリンクを終了します(無効にした場合と同じです)。組織に作成できるフリートリンクは、すべてのプロジェクトを合わせて最大50件です(fleet_link_limit_reached)。fleet_link.created を追加します。

同じ Idempotency-Key を付けた正確な再試行には、24時間同じ回答が返されます。

認証
projectBearer
リクエスト本文
FleetLinkWrite
操作ID
createFleetLinkInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
ラベル(必須、文字列)minLength: 1 maxLength: 80
enabled(任意、ブール値)デフォルトはtrueです。
タグ(オプション、ScreenTags)

フリートセレクタータグ(0〜16件の一意なタグ、各タグはメディアタグ構文に準拠)。ScreenPatch では配列全体が置き換えられ、空配列で全タグがクリアされます。重複や不正なタグはinvalid_requestです。タグを変更するとスクリーンのリビジョンが更新され(If-Matchで保護)、screen.updatedにdetails.tagsが追加されます。マニフェストリビジョンは変更されません。

タグはランタイムマニフェストにも認証にも決して含まれません。

fields(任意、オブジェクト)リンクが作成する各スクリーンの初期フィールドです。カード配置は {screen.field.NAME} でそれらを読み取ります。
playlist_id(任意、文字列)
max_screens(任意、整数)最小値: 1 最大値: 10000
expires_at(任意、文字列)リンクの有効期限です(RFC 3339)。期限を過ぎたリンクはスクリーンを作成も復元もしません。省略すると期限はありません。すでに過ぎた時刻も受け付けられ、その場合はリンクが直ちに期限切れになります。format: "date-time"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/fleet-links'

レスポンス

ステータス意味本文とヘッダー
201URLとともに作成されました。FleetLink(application/json);ヘッダー:Cache-Control
400invalid_request - 不明な playlist_id、または不正なタグやフィールドがあります。問題 (application/problem+json)
409fleet_link_limit_reached または idempotency_mismatch。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/webhooks

プロジェクト内の Webhook 一覧

プロジェクトの Webhook 通知を Webhook 形式で古い順に一覧表示します(最大50件)。GET /api/notifications はすべてのチャネルを一覧表示します。署名シークレットはここでは返されません。プロジェクト権限が必要です。レポート専用の認証情報は、レスポンスに受信先 URL が含まれるため、403 forbidden で拒否されます。

認証
projectBearer
リクエスト本文
なし
操作ID
listWebhooksInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/webhooks'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトのwebhookです。WebhookList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/webhooks

プロジェクトでWebhookを作成

プロジェクト自身の耐久イベントを署名付きHTTPS POSTとして受信するWebhookを作成します。URLはパブリックインターネットホストのhttpsでなければなりません:IPリテラルまたは名前のすべての現在のDNS回答はパブリックである必要があります(プライベート、ループバック、リンクローカル、CGNAT、2000::/3外のIPv6、ドキュメント、その他の予約済み範囲はwebhook_url_rejectedで拒否されます)。

ポートは443(デフォルト)または8443でなければなりません。そうでなければwebhook_url_rejectedです。ホストは配信前に解決され再確認され、接続は正確に確認済みのアドレスにダイヤルされるため、後でDNS回答が変わっても配信はリダイレクトされません。event_typesは正確なイベントタイプ(screen.online)または末尾が.*のプレフィックス(screen.*)をリストします。

組織に作成できる通知は、すべてのチャネルを合わせて最大50件です(webhook_limit_reached)。署名シークレットはサーバーが生成し、この応答と rotate-secret でのみ返されます。保管してください。同じ Idempotency-Key を付けた同一内容の再試行には、シークレットを含む同じ応答が24時間返されます。

配信は notification.created の後の最初のイベントから始まります。

認証
projectBearer
リクエスト本文
Webhook書き込み
操作ID
createWebhookInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
URL(必須、文字列)ポート443(デフォルト)または8443のパブリックインターネットホストのhttps URL。ユーザー情報やフラグメントはありません。maxLength:2048 フォーマット:「uri」
event_types(必須、WebhookEventTypes)

screen.online のような完全一致のイベントタイプ、または screen.* のような .* で終わるプレフィックス(screen. で始まるすべてのタイプ)。notification.test は購読によって配信されることはなく、POST /api/webhooks/{id}/test でのみ送信されます。

enabled(任意、ブール値)true
説明(任意、文字列)maxLength:200
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/webhooks'

レスポンス

ステータス意味本文とヘッダー
201作成されました。シークレットはここおよびシークレットのローテーション時にのみ表示されます。WebhookWithSecret(application/json);ヘッダー:Cache-Control
400invalid_request または webhook_url_rejected。問題 (application/problem+json)
409webhook_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)
GET/api/projects/{project_id}/alerts

プロジェクト内のアラート一覧

プロジェクトのスクリーンのアラートを一覧表示します。スクリーンと条件ごとに1件で、継続している間のもの(open)と、プランのイベント保持期間内に終了したもの(resolved)が対象です。

アラートは、その条件のイベントが届いたときに発生し(screen.offline、display_disconnected、temperature_high または on_battery のヘルス変更、screen.storage_shortfall、停滞している screen.manifest_upgrade、エラーレベルの screen.status_changed、判定が停止・空白・固まりの screen.glass_changed)、解消のイベントで解決されます。crashing は通知であり、アラートではありません。counts.attention は、確認済み・スヌーズ中・ミュート中のいずれでもない未解決のアラートの数で、ダッシュボードに表示される数です。

バックエンドが送信した再起動のためにスクリーンが再起動している間、再起動が完了するか送信から10分が経過するまで、screen_offline や display_disconnected のアラートは発生しません。その時点で条件が続いていれば、その瞬間にアラートが発生します。未解決のアラートが新しい順に先頭に来ます。次のページには、これまでどおり next_cursor を渡してください。

認証
projectBearer
リクエスト本文
なし
操作ID
listAlertsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
フォーマットクエリオプションjson(既定)はレポートを JSON で返します。csv、xlsx、pdf は同じ行を添付ファイルとして返します(ページ分割されたレポートは全ページ、最大 50000 行)。
状態クエリオプション
screen_idクエリオプション
beforeクエリオプション前のページの next_cursor。
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/alerts'

レスポンス

ステータス意味本文とヘッダー
200アラートの1ページ分。AlertList (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/alert-mutes

プロジェクト内のアラートのミュート一覧

終了していないプロジェクトのミュートを、終了時刻が近い順に一覧表示します(最大50件)。

認証
projectBearer
リクエスト本文
なし
操作ID
listAlertMutesInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/alert-mutes'

レスポンス

ステータス意味本文とヘッダー
200プロジェクトの現在のミュート。AlertMuteList (application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/alert-mutes

プロジェクトでアラートのミュートを作成

メンテナンスのため、指定した時刻(最大30日先まで)までスクリーンをミュートします。対象は、screen_ids で指定したスクリーンと、通知の送信時点で tags のいずれかが付いているすべてのスクリーンです。これらのスクリーンのアラートは引き続き発生・解決しますが、muted としてマークされ、要対応にはなりません。それらに関する通知の送信はすべてスキップされます(muted)。

組織の現在のミュートは、すべてのプロジェクトを合わせて最大50件です(alert_mute_limit_reached)。alert_mute.created を追加します。

認証
projectBearer
リクエスト本文
AlertMuteWrite
操作ID
createAlertMuteInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
screen_ids(任意、array)
タグ(オプション、ScreenTags)

フリートセレクタータグ(0〜16件の一意なタグ、各タグはメディアタグ構文に準拠)。ScreenPatch では配列全体が置き換えられ、空配列で全タグがクリアされます。重複や不正なタグはinvalid_requestです。タグを変更するとスクリーンのリビジョンが更新され(If-Matchで保護)、screen.updatedにdetails.tagsが追加されます。マニフェストリビジョンは変更されません。

タグはランタイムマニフェストにも認証にも決して含まれません。

until(必須、文字列)最大30日先まで。format: "date-time"
note(任意、文字列)maxLength:200
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/alert-mutes'

レスポンス

ステータス意味本文とヘッダー
201作成されました。AlertMute (application/json)
409alert_mute_limit_reached または idempotency_mismatch。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/notifications

プロジェクト内の通知を一覧表示

プロジェクトを対象にする組織の通知(すべてのチャネル)を古い順に一覧表示します(最大50件)。status、failing_since、last_success_at、last_failure_at はこのプロジェクトの値です。Webhook の署名シークレットはここでは返されません。

プロジェクト権限が必要です。レポート専用の認証情報は、レスポンスに受信先 URL と受信者が含まれるため、403 forbidden で拒否されます。

認証
projectBearer
リクエスト本文
なし
操作ID
listNotificationsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/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)
POST/api/projects/{project_id}/notifications

プロジェクト内で通知を作成

通知を作成します。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 の後の最初のイベントから始まります。

認証
projectBearer
リクエスト本文
NotificationWrite
操作ID
createNotificationInProject

パラメーター

名前送信する必須?説明
project_idパス必須
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]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/notifications'

レスポンス

ステータス意味本文とヘッダー
201作成されました。Webhook のシークレットは、ここと rotate-secret でのみ表示されます。Notification (application/json); ヘッダー: Cache-Control
400invalid_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)
409notification_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)
GET/api/projects/{project_id}/notes

プロジェクト内のメモ一覧

プロジェクトのノートを最新のものから一覧表示します。ノートはエージェントが将来の自分や他のエージェントのために書いた短いプレーンテキストの事実で、指示や承認ではありません。

すべての有効な資格情報の読み取りは、読み取り専用も含めてAPIメーターを減らしません。stateはopen(デフォルト)、resolved、allです。about_idは1つのスクリーンまたはプレイリストに関するノートを保持し、author_idは1つのエージェントが書いたノートを保持します。

次のページのafterとしてnext_cursorを渡してください;最終ページでは空です。newはこの呼び出し元が最後にメモを読んだ後に別のエージェントが書いた未読メモを示します。

メモの読み取りはabout_idやauthor_idのないオープンメモの最初のページです:その回答は前回の読み取りと比較して新規を計算し、読み取りマーカーを現在(後のページは以前のマーカーを保持)に移動します。

レビューも含みます:最大5件の未解決メモでレビュー期限が来ているもの(古い順)。呼び出し元はまだ保持しているか確認し、そうでなければ解決します。30日間未回答のレビューはnot_confirmedとして解決されます。

Manageアクセスを持つエージェントだけがマーカーを動かし30日間開始します。Readのみのエージェントやサービスクライアントは同じ回答を得て何も変更しません。他のページやフィルターは空のレビューを返し何も動かしません。カウントはプロジェクトの未解決ノート数と、この呼び出し元にとって新規か期限切れの数です。

スクリーンに限定されたエージェントには、自分のスクリーン、プレイリスト、プロジェクトに関するノートのみが一覧表示されます。一覧、レビュー、件数には、スコープ外のスクリーンに関するノートは含まれず、複数プロジェクトにまたがる一覧には、エージェントが限定されているプロジェクトは含まれないため、そのプロジェクトを選択してください。

認証
projectBearer
リクエスト本文
なし
操作ID
listNotesInProject

パラメーター

名前送信する必須?説明
project_idパス必須
状態クエリオプション
about_idクエリオプションこのスクリーンまたはplaylistに関するノートのみ。
author_idクエリオプションこのエージェントが書いたノートのみ。
以降クエリオプション前のページの next_cursor。
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/notes'

レスポンス

ステータス意味本文とヘッダー
2001ページのノート、レビュー対象のノートとカウント。NoteList(application/json)
400

安定した 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)
POST/api/projects/{project_id}/notes

プロジェクトにメモを追加

プロジェクトのエージェントにメモを追加します:他のエージェントが行動する事実であり、進捗報告、チャット、秘密ではありません。本文はトリム後のプレーンテキストで1~2000文字、改行を含むことがあります。

認証情報(トークン、キー、秘密鍵、URL内のパスワード)を含むテキストはnote_contains_credentialで拒否され、モデルへの指示と読めるテキストはnote_rejectedで拒否されます。何も保存されず、詳細はテキストを繰り返しません。名前は1つのスクリーン(アーカイブ含む)またはプロジェクトのプレイリストに関するものでなければnot_foundです。ttl_seconds(3600から31536000)は期限切れとして解決される一時的なメモを作成します。ttl_secondsなしのメモは追加または最後の確認から90日後にレビュー対象になります。名前はこのメモが置き換えたオープンメモを置き換えます:同じトランザクションで置き換えとして解決されます(既に解決済みの場合はnote_not_open)。

正規化したテキスト(前後の空白を除去し、連続する空白を 1 つにまとめ、小文字にしたもの)と about が未解決のメモと一致する本文は、新しく追加せずそのメモを確認して 200 で返します。note.added イベントは追加されません。組織の未解決メモは、すべてのプロジェクトを合わせて最大 200 件です。201 件目は note_limit_reached となり、その detail には最初に解決すべきメモが最大 5 件示されます。

note.added(置換されたノートの場合は note.resolved も)をテキストなしで追加します。同じ Idempotency-Key での正確な再試行は24時間最初の回答を返します。

スクリーンに限定されたエージェント(docs/screen-scope.md)では、スコープ外またはプロジェクトに不明なスクリーンを指す about、またはスコープ外のスクリーンに関するノートを指定する replaces は、outside_screen_scope(403)となり、何も保存されません。

認証
projectBearer
リクエスト本文
NoteWrite
操作ID
addNoteInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
body(必須、文字列)プレーンテキスト、トリム後1~2000文字。改行は保持。minLength: 1 maxLength: 2000
概要(任意、インライン)
ttl_seconds(任意、整数)追加後この期間だけノートを有効にします。指定しない場合、90日後にレビュー対象になります。最小: 3600 最大: 31536000
replaces(任意、文字列)このノートは置き換えられた未解決のノートです。置き換え済みとして解決されます。パターン: "^(?:(?:stage|qa|development)_)?nte_[A-Za-z0-9_-]{16,24}$"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/notes'

レスポンス

ステータス意味本文とヘッダー
201追加されました。メモ(application/json)
200テキストがオープンノートに一致し、確認されて返されました。メモ(application/json)
400

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
403

outside_screen_scope - 呼び出し元がスクリーンに限定されており、リクエストが指定する、または及ぶスクリーン、スクリーンフォルダー、セレクター、対象がその範囲外です(docs/screen-scope.md)。スコープ外のIDと存在しないIDには同じ応答が返されます。errors[0].screen_scope には呼び出し元のスコープが含まれ、書き込みは絞り込まれることなく全体が拒否されます。

問題 (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)
409note_not_open、note_limit_reached または idempotency_mismatch。問題 (application/problem+json)
422note_contains_credential または note_rejected。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/support/status

プロジェクト内のサポート状況

アクティブなすべてのプロジェクトの可用性と時間。chat_allowed は Standard を含むすべてのアクティブなプロジェクトで true です。human_available は、リクエストに応じて担当者がチャットに参加できる場合に true です(Education、Premium、Enterprise)。Standard と Plus にはドキュメントと AI サポートがあります。staffed は、スタッフが現在対応時間内かどうかを示します。Luna はすべてのプランですぐに回答します。

認証
projectBearer
リクエスト本文
なし
操作ID
supportStatusInProject

パラメーター

名前送信する必須?説明
project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/support/status'

レスポンス

ステータス意味本文とヘッダー
200サポート結果。SupportStatus(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/support/conversations

プロジェクト内のサポート会話一覧

プロジェクトの会話は最新順で最大100件です。スタッフの未読数は認証されたユーザーまたはエージェントごとにカウントされます。

認証
projectBearer
リクエスト本文
なし
操作ID
listSupportConversationsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
beforeクエリオプション前のページの次のカーソルからの会話 ID。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/support/conversations'

レスポンス

ステータス意味本文とヘッダー
200サポート結果。SupportConversationList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/support/conversations

プロジェクトでサポート会話を作成

すべてのプランで利用可能。Luna が最初にすぐ回答します。担当者が参加できる場合(サポートステータスの human_available)は、リクエストすると Luna が一時停止してスタッフが対応します。Standard と Plus では無視され、Luna が回答します。保存または Slack 送信前にスクリーニングされます。

8文字未満または3語未満の開始メッセージは submission_too_short を返します。質問や問題でないものは submission_unclear を返します。スパム、リンク過多のテキスト、プロンプトインジェクション、安全でないテキストは submission_rejected を返します。拒否されたテキストは保持されず Luna に送信されません。問題の詳細は繰り返し表示されません。

ScreenRig 資格情報以外の資格情報形式のテキスト(ベアラートークン、クラウドおよび API キー、秘密鍵)は保存前に [redacted] に置き換えられます。ScreenRig 資格情報は invalid_request を返します。新しい会話は1つの Slack スレッドで開始され、フォローアップはその中に残ります。同じキーのリクエストは24時間リプレイされます。拒否も含みます。

認証
projectBearer
リクエスト本文
SupportWrite
操作ID
createSupportConversationInProject

パラメーター

名前送信する必須?説明
project_idパス必須
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
body(必須、文字列)minLength: 1 maxLength: 4000
human_requested(任意、真偽値)

担当者を呼び出し、Luna を一時停止してスタッフを待ちます。担当者が参加できる場合にのみ有効です(human_available:Education、Premium、Enterprise)。Standard と Plus では無視され、Luna が回答します。デフォルト:false

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/support/conversations'

レスポンス

ステータス意味本文とヘッダー
201サポート結果。SupportSubmission(application/json)
422メッセージはスクリーニングで拒否されました:submission_too_shortまたはsubmission_unclear(最初のメッセージのみ)、またはsubmission_rejected。詳細はテキストを繰り返しません。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/reviews

プロジェクト内のレビュー一覧

プロジェクトのレビュー(docs/reviews.md):Proposeアクセス下で提案されたプレイリストとスクリーンの変更、および広告ネットワークの買い手が提出したクリエイティブ(種類ad_creative)です。

最新順で最大limit件(デフォルト50、最大100)をページごとに表示します。同じフィルターでnext_cursorをカーソルとして渡します。stateはpending(デフォルト)、decided(その他すべての状態)、またはall。kindは1つの種類に絞ります。

ダッシュボードセッションはすべての種類を読み取ります。ベアラーはその能力がカバーする種類(playlist_change のプレイリスト、screen_change のスクリーン、ad_creative の広告)を読み取り、読めない種類は空のページです。pending_count は呼び出し元が見るすべての種類の保留中レビュー数を数えます。

認証
projectBearer
リクエスト本文
なし
操作ID
listReviewsInProject

パラメーター

名前送信する必須?説明
project_idパス必須
状態クエリオプション
種類クエリオプション
制限クエリオプション
カーソルクエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/reviews'

レスポンス

ステータス意味本文とヘッダー
2001ページのレビュー。ReviewList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/card-data/{key}

プロジェクト Scoped_get カードデータ

ドキュメントとそのリビジョンを返します。ETagはリビジョンで、次の書き込みのIf-Match用です。

認証
projectBearer
リクエスト本文
なし
操作ID
projectScoped_getCardData

パラメーター

名前送信する必須?説明
project_idパス必須
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
キーパス必須カードデータキー。feed: で始まってはいけません。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/card-data/KEY'

レスポンス

ステータス意味本文とヘッダー
200カードデータドキュメントCardDataEntry(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PUT/api/projects/{project_id}/card-data/{key}

プロジェクト Scoped_put カードデータ

カードデータドキュメントを作成または置換します。プロジェクトのプレイリストのカード配置がキーにバインドされている場合、ドキュメントは各バインドされたカードの動的プロパティのみを保持し、それらに対して検証されなければなりません。そうでなければcard_data_invalidでカードとプロパティパスを指定して書き込みが拒否され、変更はありません。配置がバインドされていないキーは任意のJSONオブジェクトを受け入れます。

media: で始まるすべての文字列はメディア参照(media:<id>)であり、カードが描画する写真用です。任意のキーで、このプロジェクトの準備済み承認済み画像を指し、ドキュメントごとに最大256個の異なるメディアが許されます。そうでない場合、書き込みは拒否され、card_media_invalid がプロパティパスと media_id を示します。

キーを読み取るコンテンツを持つスクリーンは、そのメディアをGET /media/{media_id}.から取得できます。キーを読み取るプレースメントを表示するスクリーンはscreen.card_data_changedを受け取り、その場で再取得します。プロジェクトログはkv.updatedをcard_data_entryリソースと共に記録し、これは決してプレーヤーに届きません。

制限、クォータ、計測、リビジョン、冪等性はアプリケーションのK/Vストアによります。

エージェントと Webhook の書き込みにはレート制限もあり、組織ごとにプランで異なり(Standard と Plus は毎分60回、Education と Premium は600回、Enterprise は3,000回)、すべてのプランでキーごとに毎分60回までです。上限を超えた書き込みは rate_limited と Retry-After で拒否され、計測されません。

認証
projectBearer
リクエスト本文
CardDataWrite
操作ID
projectScoped_putCardData

パラメーター

名前送信する必須?説明
project_idパス必須
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
キーパス必須カードデータキー。feed: で始まってはいけません。
If-Matchヘッダーオプションオプションの正のリソースリビジョン。キーの作成または上書き時は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

リクエスト本文フィールド

フィールド説明
document(必須、オブジェクト)

カードデータドキュメント:最大1MiBのJSONオブジェクト。カード配置がキーにバインドされると、そのカードの動的プロパティのみを保持します。media:で始まる文字列はメディア参照で、media:<id>はこのプロジェクト内の準備済み承認済み画像を指します。

expires_at(任意、文字列)絶対期限。省略されたデータは期限切れになりません。形式:「date-time」
ttl_seconds(任意、整数)

最初に確定した書き込みからの TTL。expires_at とは同時に指定できません。再試行は元の有効期限を保ちます。両方を省略すると有効期限が解除されます。

書き込む側のスケジュールに合わせた長さにしてください。スクリーンがカードを表示している間に、カードのドキュメントが更新の書き込みなしに期限切れになると、カードは空白になり、通知条件 card_data_stale がプロジェクトに知らせるため、止まったジョブに気づけます。minimum: 1 maximum: 31536000

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/card-data/KEY'

レスポンス

ステータス意味本文とヘッダー
200カードデータドキュメントCardDataEntry(application/json)
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)
削除/api/projects/{project_id}/card-data/{key}

プロジェクト Scoped_delete カードデータ

カードデータドキュメントを削除します。キーに紐づくカードは、ドキュメントが再度書き込まれるまでガラス上で非表示になります。

認証
projectBearer
リクエスト本文
なし
操作ID
projectScoped_deleteCardData

パラメーター

名前送信する必須?説明
project_idパス必須
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
キーパス必須カードデータキー。feed: で始まってはいけません。
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/card-data/KEY'

レスポンス

ステータス意味本文とヘッダー
204削除済み本文なし
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/feeds/{family}

プロジェクト Scoped_get フィード

共有されたサードパーティフィードドキュメントを読み取ります:同じパラメータの組み込みカード配置が読むドキュメント(docs/feeds.md)と同じです。

クエリパラメーターは、ScreenRig-Feed-Key ヘッダーで示されるカードのフィードキーに正規化されます。weather、airquality、alerts は lat と lon (0.25 度のセルに丸めます)、earthquakes は lat、lon、radius_km (10 〜 20000、デフォルトは 500)、min_magnitude (0 〜 9、デフォルトは 2.5)、hours (1 〜 168、デフォルトは 24)、cyclones は basins (カンマ区切りの at、ep、cp、wp。デフォルトはすべて) と、任意で lat、lon、radius_km (その場所の近くの嵐)、tides は station (9414290 のような NOAA の潮汐予測観測所 ID) または lat と lon (100 km 以内で最も近い観測所。なければ invalid_request)、launches はパラメーターなし (世界の次の打ち上げ)、rates は base (ECB の基準通貨、デフォルトは EUR)、crypto は symbols (CoinGecko の ID またはティッカー、カンマ区切り、最大 20) と currency (デフォルトは usd)、headlines は url (http または https の RSS または Atom の URL)、drugalerts (screenrig.drugalerts/v1) はある国の最近のリコール報告で、country (us、ca、gb。必須) と category (デフォルトの drug、または food)、respiratory (screenrig.respiratory/v1) はある場所の週ごとのインフルエンザ、COVID-19、RSV の活動で、country (us または gb。必須) と region (米国の州、準州、DC を名前または郵便番号で、あるいはイングランドまたは UKHSA の地域。空なら国全体) を受け付けます。

リクエストはプロバイダーを呼び出しません。200 はドキュメント(スキーマ、fetchedAt、attribution とファミリーのフィールド、カード契約定義に準拠)で、その ETag はバイトの sha256 で If-None-Match は 304 を返します。Cache-Control max-age は次の予定取得まで有効です。202 はまだドキュメントなし:登録された読み取り要求で、フィードワーカーが約1分以内にキーを取得します(Retry-After)。

API読み取りは24時間有効なキーを保持します。組織は、すべてのプロジェクトを合わせて1日に最大50の新しいキーを登録します(rate_limitedを超えると)。このデプロイメントにソースがないファミリーはnot_foundを返します。

認証
projectBearer
リクエスト本文
なし
操作ID
projectScoped_getFeed

パラメーター

名前送信する必須?説明
project_idパス必須
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
familyパス必須フィードファミリー。
緯度クエリオプション
lonクエリオプション
radius_kmクエリオプション
min_magnitudeクエリオプション地震:最小マグニチュード。
時間クエリオプション地震:時間単位のウィンドウ。
basinsクエリオプションcyclones:at、ep、cp、wp のカンマ区切り。
stationクエリオプションtides: 9414290 のような NOAA の潮汐予測観測所 ID。指定しない場合は、lat と lon が 100 km 以内で最も近い観測所を選びます。
baseクエリオプション
記号クエリオプション
通貨クエリオプション
URLクエリオプション
countryクエリオプションdrugalerts: us、ca、gb。respiratory: us または gb。どちらも必須です。
categoryクエリオプションdrugalerts: drug (デフォルト) または food。
regionクエリオプションrespiratory: 米国の州、準州、DC を名前または郵便番号で、あるいはイングランドまたは UKHSA の地域。空の場合は国全体。
If-None-Matchヘッダーオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/feeds/FAMILY'

レスポンス

ステータス意味本文とヘッダー
200フィードドキュメントFeedDocument(application/json);ヘッダー:ETag、ScreenRig-Feed-Key
202まだドキュメントがありません。フィードワーカーが次のパスでキーを取得します。FeedPending(application/json);ヘッダー:Retry-After、ScreenRig-Feed-Key
304ドキュメントがIf-None-Matchと一致します。本文なし
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/advertising/networks/{seller_project_id}/inventory

プロジェクト Scoped_list 広告参加インベントリ

呼び出し元のメンバーシップ内の選択された在庫と再利用可能なスロット。販売者のスクリーンショット、プレイリスト、プロジェクト全体のデータは決して公開しません。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
projectScoped_listAdvertisingJoinedInventory

パラメーター

名前送信する必須?説明
project_idパス必須
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
seller_project_idパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/projects/PROJECT_ID/advertising/networks/SELLER_PROJECT_ID/inventory'

レスポンス

ステータス意味本文とヘッダー
200許可された在庫とスロット。AdvertisingJoinedInventory(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/projects/{project_id}/agents/self

プロジェクト Scoped_get 現在のエージェント

呼び出し元プロジェクトのベアラーにリンクされたエージェントのインストールとconnection_readyを返します。プロジェクトは少なくとも1人のメンバーがpasskeyまたはpasswordを持つと準備完了です。IDステータスは診断用でAPIメーターを消費しません。

認証
projectBearer
リクエスト本文
なし
操作ID
projectScoped_getCurrentAgent

パラメーター

名前送信する必須?説明
project_idパス必須
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/projects/PROJECT_ID/agents/self'

レスポンス

ステータス意味本文とヘッダー
200現在のエージェントとプロジェクトの接続準備状況。AgentSelfStatus(application/json);ヘッダー:Cache-Control
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/projects/{project_id}/agents/self/disconnect

プロジェクト Scoped_disconnect 現在のエージェント

呼び出し元のプロジェクトメンバーシップとそのプロジェクトトークンのみを取り消し、グローバルID、他のメンバーシップ、プロジェクトおよびコンテンツは保持します。同じ暗号的に有効な取り消されたベアラーで繰り返すことは、何もしない成功操作です。最後のアクティブエージェントを切断すると、allow_last_agent が明示的でない限り agent_lockout_risk を返します。APIメーターは課金しません。

読み取り専用を含むエージェントアクセス JWT は、エージェントをトークンのプロジェクトから切断します。メンバーシップは終了し、プロジェクトの同意はエージェントのグラントから外れ、その identity/project ペアは古いアクセストークンで切断されます。トークン内の他のプロジェクトは動作を続けます。切断後に同じ JWT で再試行すると無操作で成功します。

認証
revocableAgentBearer
リクエスト本文
AgentDisconnectRequest
操作ID
projectScoped_disconnectCurrentAgent

パラメーター

名前送信する必須?説明
project_idパス必須
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。

リクエスト本文フィールド

フィールド説明
allow_last_agent(任意、ブール値)最後のアクティブなエージェントベアラーの喪失を明示的に許容します。登録済みのダッシュボードパスキーは独立した管理権限を保持します。デフォルト: false
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/projects/PROJECT_ID/agents/self/disconnect'

レスポンス

ステータス意味本文とヘッダー
204エージェントが切断されました。本文なし;ヘッダー:Cache-Control
401

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
409

安定した 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)