プロジェクトと組織のライフサイクル
現在のプロジェクトは最後に使用されたものです。すべてのJSONエンベロープには組織とプロジェクトのコンテキストが含まれ、人間向け出力は両方を名前付けします。ID資格情報は選択されたプロジェクトのメンバーシップで制限されます。再試行状態はプロジェクトごとに別々に保持されます。
project list
project token --projects IDS
project use ID
project create NAME [--organization-id ID | --organization NAME]
project moves
project move --organization-id ID
project transfer-owner --user-id ID
project deletion-preview
project delete --name NAME --revision N --yes
organization list
organization rename ID NAME
project export DIR [--no-media] [--since YYYY-MM-DD]
agent disconnect --yes [--allow-lockout]
agent revoke-identity --yesproject list はアクセス可能なメンバーシップを検証します。project token --projects IDS は、このサインインのトークンが対象とするプロジェクトを、カンマまたはスペース区切りの同意済みプロジェクトID 1~64個に置き換えます。project use で 1 つ選択します。作成には組織内で一意の名前が必要で、現在のプロジェクトの組織がデフォルト、次に管理者の組織が選ばれます。指定がない場合、オーナーの認証済みメールドメインを持つ組織が優先されます。責任者がオーナーとなります。組織が保持できるプロジェクト数はプランごとに上限があり、各ユーザーは 1 つの無料 Standard 組織を持ち、2 つ目には Plus、Premium または Enterprise が必要です。現在のプロジェクトがなく組織も指定されていない場合、サーバーは同様にプロジェクトを配置します。--organization NAME は無料組織を持たないユーザーのみ新規組織を作成します。それ以外は free_organization_limit で作成が拒否され、詳細に使用すべき組織名が記載されます。登録はレート制限に従います。
オーナーはproject movesで返された宛先に移動するか、既存の検証済みメンバーに所有権を移転できます。移動にはスクリーンも含まれます。移動先の組織がすでにプランが許可する数のプロジェクトを持っている場合、project_limit_reached で拒否されます。削除には、プレビューで示された正確な現在の名前と正のリビジョンを使用します。非アーカイブのスクリーンがゼロであること、独自のプランがないこと、ライブ広告がないことが必要です。プロジェクトを削除できるのは、プロジェクトのオーナーまたはその組織の管理者だけです。エージェントは責任者のために削除します。誰もその登録を承諾していない間は、自分が登録したプロジェクトに限り単独で削除できます。メンバーにメールを送り、トゥームストーンを保持します。
組織名は重複できます。管理する組織の名前を変更するときは、明示的なIDを使います。組織には指定された管理者と所属メンバーがおり、管理者はダッシュボードから他の管理者やメンバーをメールで招待します。organization list は free と plan_required の組織に印を付け、new_organization_allowed を報告し、組織にライブラリプロジェクトがある場合は library_project_id にその名前を示します。プロジェクト一覧は、プロジェクトのコンテンツへのアクセスを与えません。支払うのは組織で、そのプラン、ストレージ、エージェントリクエストの上限はプロジェクトで共有されます。
login --project ID は同じアイデンティティでそのプロジェクトを要求します。このリクエストの明示的な承認のみがメンバーシップを付与します。agent disconnect --yes は1つのメンバーシップを取り消します(--allow-lockout を付けると、プロジェクトの最後のエージェントも取り消せます)。agent revoke-identity --yes はアイデンティティとすべてのメンバーシップを個別に取り消します。曖昧な応答の場合、ローカルの認証情報と再試行状態が保持され、後で調整されます。
広告レポートはイベント保持期間を超えて決済情報を保持します。カバレッジメタデータを確認してください:過去の再生が欠落しているか承認済みの期間が不明な場合は不明であり、ゼロではありません。レポートは完全な財務合計と不完全な結果履歴を持つことがあります。
プロジェクト、招待、診断
プロジェクトコマンドはメンバーシップの一覧表示、プロジェクトの選択、プロジェクトの作成、名前・所有者・移動・削除の管理を行います。招待は人をプロジェクトや広告ネットワークに招き入れます。
project show#
プロジェクトのレコードを読み取ります。
project show
パラメーターなし。
screenrig project show
project rename#
ダッシュボードのプロジェクト切り替えで表示される名前を設定
project rename NAME
project token#
このサインインのトークンが対象とするプロジェクトを置き換えます。
project token --projects IDS| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--projects IDS | string | はい | なし | 重複しない prj_ プロジェクトIDを、カンマまたはスペース区切りで1~64個。いずれもこのアイデンティティが同意したものです。 |
screenrig project token --projects prj_01EXAMPLEPROJECT0000,prj_01EXAMPLEOTHER000000サブセット全体を置き換えます。project list だけではアクセスは付与されません。応答が失われた場合、同一の再試行のためにローテーションのリクエストIDが保持されます。
project capabilities#
プロジェクトのプラン、独立したscreensおよびadvertiserの機能フラグ、および有効な機能セットを読み取ります。ルート拒否は古い機能読み取りより優先されます。
project capabilities
project uptime#
UTC日ごとのプロジェクトのスクリーン利用可能性を読み取ります。
project uptime [--day-from YYYY-MM-DD] [--day-to YYYY-MM-DD] [--format json|csv|xlsx|pdf] [--output FILE]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--day-from YYYY-MM-DD | string | いいえ | --day-toの29日前 | 最初の UTC 日(含む)。 |
--day-to YYYY-MM-DD | string | いいえ | 今日 | 最終UTC日(含む)。--day-fromの最大366日後。 |
--format FORMAT | string | いいえ | json | json はコマンドの応答です。csv、xlsx、または pdf は、すべての行を --output に書き込み、そのファイルの path、bytes、sha256、content_type、format を応答します。 |
--output FILE | パス | いいえ | ./project-uptime.FORMAT | csv、xlsx、pdf 用のファイルです。ディレクトリではなくファイルのパスで、- は使えません。既存のファイルは置き換えられます。json とは併用できません。 |
screenrig project uptime
screenrig project uptime --day-from 2026-09-01 --day-to 2026-09-30範囲とデフォルトは screen uptime のものです。data.items は UTC 日ごとに 1 行ずつ(古い順)表示します:online_s と offline_s はその日の状態が記録されたスクリーンで合計され、availability、coverage(そのスクリーンの 1 日のうち状態が記録された割合)、screens(状態が記録されたスクリーン数)です。本日の行はこれまでに終了した区間をカバーします。screen list は現在オンラインのユーザーを示します。
project health-trend#
UTC時間ごとのフリートの状態を読み取ります:報告中のスクリーン、ホット、ディスプレイ切断、クラッシュ。
project health-trend [--from TIME] [--to TIME] [--format json|csv|xlsx|pdf] [--output FILE]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--from TIME | string | いいえ | --toの24時間前 | 時間の包括的開始:秒とオフセットを含むRFC 3339の瞬間(UTCに正規化)、now、または 7d、12h、30m のような経過時間。 |
--to TIME | string | いいえ | 今 | 同じ形式での排他的な終了。--from の最大93日後。 |
--format FORMAT | string | いいえ | json | json はコマンドの応答です。csv、xlsx、または pdf は、すべての行を --output に書き込み、そのファイルの path、bytes、sha256、content_type、format を応答します。 |
--output FILE | パス | いいえ | ./health-trend.FORMAT | csv、xlsx、pdf 用のファイルです。ディレクトリではなくファイルのパスで、- は使えません。既存のファイルは置き換えられます。json とは併用できません。 |
screenrig project health-trend
screenrig project health-trend --from 7ddata.items は UTC 時間ごとのフリートのヘルスを一覧表示します:hour, screens_reporting, hot(80 ℃以上のピーク温度), display_disconnected, crashing(24 時間以内に 3 回以上のクラッシュ)。CLI は next_cursor まで追跡し、毎時 next_cursor null で応答します。各時間はレポートから最大約 5 分遅れます。
project export#
このプロジェクトのデータをオープン形式でディレクトリに書き出します。
project export <DIR> [--no-media] [--since YYYY-MM-DD]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<DIR> | パス | はい | なし | 書き込み先のディレクトリ。必要に応じて作成され、再実行すると続きから再開して更新されます。 |
--no-media | boolean | いいえ | オフ | 元のメディアファイルを省略します。マニフェストには、ハッシュとともに引き続き一覧されます。 |
--since YYYY-MM-DD | string | いいえ | プランがデータを保持する期間まで遡って | 再生数、稼働時間、再生状況の CSV とイベントログの最初の UTC 日。 |
screenrig project export ./export
screenrig project export ./export --no-media --since 2026-01-01DIR は、プロジェクト、スクリーン、スクリーンフォルダー、タグ、スクリーンごとのスケジュール、全リビジョンを含むプレイリスト、キャンペーン、ダイレクトキャンペーン、カードとそのデータ、ソース(認証情報は含みません)、通知、Webhook(署名シークレットと受信先 URL は含みません)、ミュート、アプリケーションのメタデータ、トリガー、レポート購読を JSON で取得します。元のメディアファイルは media/files に保存され、各ファイルの SHA-256 は media/manifest.json に記録されます。再生数、再生状況、稼働時間、アラートの CSV は data/ に、イベントログは log/events.jsonl に保存されます。export.json は最後に書き込まれ、すべてのファイルをサイズと SHA-256 とともに一覧し、各セクションの結果(ok、skipped、failed)を示します。再実行すると、完全なメディアファイルは保持され、途中までのファイルは続きから再開されます。認証情報で読み取れないセクションは skipped になります。警告 export_section_failed はコピーが不完全であることを意味するため、同じコマンドをもう一度実行してください。アプリケーションファイルは、--no-media を指定した場合も含め、complete: false と警告 export_application_content_omitted で省略として報告されます。復旧に備えて元のアプリケーションアーカイブを保管してください。各リクエストは課金対象の API リクエストで、メディアのダウンロードはエグレスです。
invitations#
プロジェクトメンバー、アップローダー、広告購入者の招待を作成、一覧表示、または取り消します。
invitations create (--email ADDRESS[,ADDRESS] | --link) [--kind member|uploader|ad-buyer]
[--screen-id IDS] [--screen-folder-id IDS] [--slot-id IDS] [--policy trusted|review_required]
[--folder-id IDS] [--playlist-id IDS] [--access propose|manage]
invitations list [--kind member|ad-buyer] [--status STATUS]
invitations revoke ID--kind のデフォルトは member です。メール配信が初期設定で、7日後に有効期限が切れます。--email ではカンマ区切りで、1回のリクエストにつき最大50件まで受信者を指定できます。--link はメンバー限定で、受信者は指定せず、本人に直接渡すための24時間有効な招待 URL を1回だけ返します。その URL をログ、メモ、共有記録に記載しないでください。リストでは返しません。組織ごとに未処理の招待は最大50件です。
広告購入者はメールのみ使用し、所有するスクリーンまたはスロットのスコープ(または両方)が必要です。--screen-idと--slot-idはカンマ区切りのIDを受け入れます。--policyはtrustedまたはreview_requiredを選択します。ステータスフィルターはqueued、sent、issued、accepted、revoked、expired、failedです。
--kind uploader は、--folder-id(1つ以上)で指定したメディアフォルダーと --playlist-id で指定したプレイリストだけで作業する人を招待します。その人はこれらのフォルダーにアップロードし、これらのプレイリストのページを追加、置換、削除できますが、それ以外はできません。変更は、レビューを承認できる人だけが付与できる --access manage を指定しない限り、レビュー待ちになります。--screen-folder-id(各フォルダーはその中のすべてのフォルダーを含みます)または --screen-id を付けた --kind member 招待は、承諾した人をそれらのスクリーンに限定します。--folder-id、--playlist-id、--access には --kind uploader が必要で、--slot-id と --policy には --kind ad-buyer が必要です。認証を参照してください。
screenrig invitations create --email teammate@example.com
screenrig invitations create --kind ad-buyer --email buyer@example.com --screen-id scr_LOBBY --policy review_requiredエージェントは招待を受け入れません。招待された人はメールを開き、サインインまたはパスキーを作成し、ダッシュボードで承認します。リンクサインアップは最初にメールを確認します。承認済み招待の取り消しはメンバーシップを元に戻しません。広告アクセスを取り消すにはバイヤーメンバーシップコントロールを使用してください。
agent status#
このインストールに使用可能な認証情報があるか報告します。
agent statusパラメーターなし。
screenrig agent status読み取り専用。ローカルまたはサーバー状態を変更せず、費用もかかりません。結果にはセッションのaccess、そのeffective_access、およびプロジェクトのレビュー設定や承認できないメンバーによってそれより低く制限されている場合はaccess_limited_by(projectまたはperson)が含まれます。プロジェクトがこのエージェントをスクリーンフォルダーとスクリーンに限定している場合、screen_scopeがそれらを一覧し(folder_ids(各フォルダーにはその中のすべてのフォルダーが含まれます)とscreen_ids)、person_screen_scopeはエージェントの責任者のスコープです。エージェントは両方が許可するスクリーンでのみ動作し、プロジェクト全体のエージェントにはどちらもありません。スコープ外ではコマンドはoutside_screen_scopeで応答します(終了コード3)。プロジェクトに新しいメモ、またはレビュー期限のメモがある場合は、警告notes_waitingが追加されます。
agent disconnect#
このエージェントの現在のプロジェクトでのメンバーシップを取り消します。
agent disconnect --yes [--allow-lockout]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--yes | boolean | はい | オフ | 取り消しを確認。これがなければ何も送信されません。 |
--allow-lockout | boolean | いいえ | オフ | プロジェクトの最後のエージェントの切断を許可します。指定しない場合、サーバーは agent_lockout_risk で拒否します。 |
screenrig agent disconnect --yes取り消すのは現在のプロジェクトのメンバーシップのみで、アイデンティティ、ほかのメンバーシップ、プロジェクトとそのスクリーンは残ります。応答が曖昧な場合はローカルの認証情報と再試行状態が残るため、再実行しても安全です。
agent revoke-identity#
このアイデンティティとそのすべてのプロジェクトメンバーシップを取り消します。
agent revoke-identity --yes| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--yes | boolean | はい | オフ | すべてのプロジェクトにわたる取り消しを確認。 |
screenrig agent revoke-identity --yes取り消しが確認されると、キャッシュされているすべてのプロジェクトのローカル認証情報と保留中の処理が消去されます。曖昧な失敗の場合は保持されます。
login#
このインストールを既存アカウントにサインインさせます。ダッシュボードでの本人の承認を得るか、サービスクライアントとしてサインインします。
login [--project ID] [--access read|propose|manage] [--name NAME] [--no-wait] [--resume ID]
login --client-id ID (--client-key-file PATH | --client-secret-file PATH)| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--project ID | string | いいえ | なし | ユーザーが承認するprj_プロジェクトを提案してください。 |
--access LEVEL | string | いいえ | 管理 | read、propose、またはmanage。最終的な選択は人が行います。 |
--name NAME | string | いいえ | なし | このインストールの名前を最大80文字で指定してください。 |
--no-wait | boolean | いいえ | オフ | 住所、コード、login_ハンドルをstatus: pendingで返します。 |
--resume ID | string | いいえ | なし | --no-waitが開始した保留中のサインインを待ちます。 |
--client-id ID | string | いいえ | なし | この設定を、人の代わりにサービスクライアント(scl_…)としてサインインさせます。承認は不要です。--no-wait、--project、--access、--name とは併用できません。 |
--client-key-file PATH | パス | --client-id とともに | なし | クライアントの秘密鍵。JWK または PEM。キーファイルとシークレットファイルのうち、ちょうど1つを指定します。 |
--client-secret-file PATH | パス | --client-id とともに | なし | クライアントのシークレットを保持するファイル。 |
screenrig login --access read
screenrig --config ci.json login --client-id scl_01EXAMPLECLIENT0000 --client-key-file ci-key.pemダッシュボードのアドレスと8文字のコードを標準エラーに印刷し、最大24時間待機します。ユーザーはコードが一致することを確認し、接続を1回押します。最後の1時間のダッシュボードサインイン後は2回目のパスキープロンプトはありません。エンベロープはstatus: signed_in、プロジェクト、組織およびaccessを報告します。サインイン済みのインストールで再度実行するとプロジェクトを追加するか、読み取り専用または提案プロジェクトを管理に昇格します。拒否はlogin_deniedで、有効期限はlogin_expiredです。
サービスクライアントの設定は専用のファイルにする必要があります。その --config を指定した以降のコマンドはすべてクライアントとしてサインインし、毎回キーまたはシークレットのファイルを読み取り、トークンはメモリに保持します。
logout#
このインストールのサインインを終了し、トークンを削除する。
logoutパラメーターなし。
screenrig logoutサーバー上のサインインを取り消し、保存されたトークンを削除して status: signed_out を報告します。サービスクライアントの設定では、保存されたクライアントを削除し、そのキーまたはシークレットのファイルは残します。サーバーに到達しなかった可能性のある失敗はトークンを保持するため、再実行は安全です。再度サインインするには screenrig login を実行してください。
dashboard#
通常のダッシュボードURLを開きます。このコマンドはサインインリンクを発行せず、セッションを作成せず、エージェント認証も不要です。
dashboard [open]
screenrig dashboard
ダッシュボードはサインイン後にその人のプロジェクトを表示します。ブラウザのプロジェクト選択はエージェントにバインドされたプロジェクトを変更しません。
dashboard reset-sign-in#
エージェント資格情報なしでサインインリセットメールを依頼
dashboard reset-sign-in --email ADDRESS確認応答は、そのメールにログインがあるかどうかを明かしません。メールで送信されたリセットは 1 時間で期限切れになります。本人は新しいパスキーを作成します。完了するとサインイン資格情報が置き換えられ、他のセッションは無効になります。プロジェクトの所有権が登録から保留中の間は、元の登録アドレスで --email を実行すると、7 日間有効な新しい登録招待もメールで送信されます。本人はそれを開き、サインインで承諾して所有権を取得します。
doctor#
このインストールをチェックし、名前ごとにすべてのチェックを報告します。
doctor [--repair-config]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--repair-config | boolean | いいえ | オフ | グループまたはその他のユーザーが読み取り可能な既存の設定ファイルの権限を厳しくします。 |
screenrig doctordata.checks は各チェック項目とそのステータス(pass、warn、fail)を示します。Node ランタイム、解決された設定パスとその権限、保存されている認証情報とサインインの終了時期、コントロールプレーンのオリジンとサービスルート、公開されている feedback 機能、オプションのメディアツールチェーン(ffmpeg, ffprobe, encoder_libx264, encoder_libx265, encoder_libwebp, cwebp, filter_hdr_tonemap)です。
チェックに失敗するとdoctorは非ゼロで終了しますが、warnでは非ゼロで終了しません。インストールに問題があると判断する前に個別の名前を確認してください。メディアツールチェーンが欠けている場合に影響を受けるのは、メディアを変換するコマンドのmedia upload、media upload-batch、media replace、playlist initのみです。
version#
バンドルされたCLIのバージョンとそのプロトコルアダプターを印刷します。
version
パラメーターなし。
screenrig version
セッションで最初にこれを実行します。成功したエンベロープはランチャーがバンドルされた CLI を解決したことを証明します。--version と -V はコマンドラインのどこからでも同じことを行います。
請求
プロジェクトのプランの上限と広告金額です。リクエスト、ストレージ、再生、その他プロジェクトが行うことは課金されません。ここでの金額は広告に関するものだけです。3つのコマンドはいずれも無料で、/api/billing の読み取りは1時間あたりのエージェントリクエスト上限に数えられません。
billing usage#
プランのストレージとエージェントリクエストの上限を読み取ります。
billing usageパラメーターなし。
screenrig billing usagedata.stored_bytes は使用中のストレージ、data.allowance.storage_bytes はプランのストレージ上限です。それを超えるアップロードは quota_exceeded で拒否されます。data.allowance.requests_per_hour は1時間あたりのエージェントリクエスト上限です(人向け出力では agent_requests_per_hour)。この1時間に残っているリクエスト数は、カウントされた各レスポンスの RateLimit ヘッダーにあります。
billing balance#
広告金額を米ドルで読み取ります:残高、予約済み、利用可能、支払い可能な収益。
billing balanceパラメーターなし。
screenrig billing balance広告主はカードまたはx402マシン決済で支払い、価格と収益は米ドルで、支払いは2027年1月1日に始まります。人向け出力はドルで表示し、JSONは10進の mcr メンバーをそのまま保ちます(10,000,000 mcr が US$1)。
billing statement#
計上済みの元帳エントリーを読み取ります。
billing statement [--cursor CURSOR] [--limit COUNT]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--cursor CURSOR | string | いいえ | 最初のページ | 前の明細のnext_cursor |
--limit COUNT | integer | いいえ | サーバーのデフォルト | 返すエントリーの最大数。 |
screenrig billing statement --limit 20エントリーは計上済みの元帳行で、米ドル建て、安定した順序で並びます。予約は保留として表示され、計上済みの収益や支出ではありません。訂正は元のエントリーを書き換えず、そこへリンクします。広告の請求は購入者に見え、販売者には総額、配信手数料、純額が見えます。