OpenAPI YAMLOpenAPI JSON問題 YAMLAPI の概要
スキーマインデックス
AccessLevel— 必須: none読み取り(読み取り専用) < 提案 < 管理。提案は読み取り、貢献(メディア、メモ、コメント、サポート、フィードバック、スクリーンショット、広告ドラフト)を行い、プレイリストとスクリーンの変更をレビューに変換します(docs/reviews.md)。
AccessLimitedBy— 必須: noneeffective_accessが資格情報のアクセスより低い理由。project - プロジェクトがエージェントの変更にレビューを要求。person - エージェントの責任者が承認できないメンバー。
AdslotPageWrite— 必須: id, type, adslot_id全画面広告スロット。最大16のadslotページと、少なくとも1つの可視性のない通常ページはサーバーチェックであり、ここには表現されません。
AdvertisingAvailability— 必須: estimated_plays, booked_plays, available_plays, screens, observed_from, observed_to, flight_start, flight_end見積もり:対象スクリーンが観測期間に生んだスロット発生数をフライト全体に投影し、同じスクリーンで他のダイレクト目標がまだ必要とする再生数を差し引いた値です。
AdvertisingAvailabilityQuery— 必須: flight_start, flight_endAdvertisingCampaign— 必須: id, revision, name, state, pause_reasons, price_change_pending, daily_cap_mcr, lifetime_cap_mcr, reserved_mcr, spent_mcr, flight_start, flight_end, networks, created_at, updated_atAdvertisingCampaignDraft— 必須: name, daily_cap_mcr, lifetime_cap_mcr, flight_start, flight_end, networksAdvertisingCampaignList— 必須: campaignsAdvertisingCampaignNetwork— 必須: seller_project_id, membership_id, admission_generation, screen_ids, slot_ids, creative_ids, network_cap_mcr, network_reserved_mcr, network_spent_mcr, accepted_pricing_generation, price_change_pending, barrier_generation, enabledAdvertisingCampaignNetworkDraft— 必須: seller_project_id, screen_ids, slot_ids, creative_idsAdvertisingCategory— 必須: none広告主のカテゴリ。同じカテゴリの広告 2 本が、スクリーンの同じ広告ブレークで再生されることはありません。カテゴリのない広告は分離されません。
AdvertisingCreative— 必須: id, revision, media_id, media_revision, sha256, kind, content_type, duration_ms, width, height, bytes, state, created_atAdvertisingCreativeCreate— 必須: media_idAdvertisingCreativeList— 必須: creativesAdvertisingCreativeReview— 必須: id, seller_project_id, creative_revision, state, created_atAdvertisingDaypart— 必須: start, endAdvertisingDeliveryReport— 必須: gross_mcr, fee_mcr, net_mcr, completed, interrupted, unbillable, rows, coverageAdvertisingDeliveryRow— 必須: screen_id, slot_id, reservation_id, gross_mcr, fee_mcr, net_mcr, completed_atAdvertisingDirectCampaign— 必須: id, revision, name, advertiser, state, flight_start, flight_end, reserved_plays, delivered_plays, media_ids, image_duration_ms, screen_ids, slot_ids, venue_types, cities, tags, dayparts, overbooked, pace, created_at, updated_atAdvertisingDirectCampaignDraft— 必須: name, advertiser, flight_start, flight_end, media_idsダイレクトキャンペーン:販売者が自身の広告インベントリで社外の広告主向けに結んだ取引です。金銭の移動はありません。
AdvertisingDirectCampaignList— 必須: direct_campaignsAdvertisingDirectPace— 必須: status, expected_plays目標に対する配信状況。目標はフライト全体にわたって均等に積み上がります。
AdvertisingDirectPrice— 必須: model, amount, currency販売者が記録した取引価格。screenRIG がこれを請求することはなく、レポートの金額算出に使われます。
AdvertisingDirectReport— 必須: campaign_id, name, advertiser, from, to, delivered_plays, reserved_plays, pace, plays, played_ms, not_played, rowsAdvertisingDirectReportRow— 必須: day, screen_id, slot_id, media_id, plays, played_msAdvertisingDirectValue— 必須: model, amount, currency配信済み再生に適用された記録済み価格:cpm は 1,000 再生あたり、flat は料金全体です。
AdvertisingFillStats— 必須: from, to, occurrences, direct, marketplace, vast, unfilled, fill_rate, unfilled_reasons, days要求期間と重なるUTCの全時間における販売者の広告枠供給。要求発生数、ソース別充填数、最初の要求の理由付き未充填発生数を含みます。要求は最大35日で、実効範囲は35日と1時間に及ぶ場合があります。
AdvertisingFillStatsDay— 必須: day, occurrences, direct, marketplace, vast, unfilled, fill_rateAdvertisingInventory— 必須: screen_id, revision, ads_enabled, audience_tags, rate_override_mcr_per_15s, rate_revision, created_at, updated_atAdvertisingInventoryList— 必須: inventoryAdvertisingInventoryWrite— 必須: ads_enabledAdvertisingJoinedInventory— 必須: inventory, slotsAdvertisingJoinedNetwork— 必須: seller_project_id, membership_id, policy, admission_generation, scope, price_change_pending, default_rate_mcr_per_15sAdvertisingJoinedNetworkList— 必須: networksAdvertisingMembership— 必須: id, seller_project_id, admission_generation, policy_revision, policy, scope, state, revision, created_at, updated_atAdvertisingMembershipList— 必須: membershipsAdvertisingMembershipScope— 必須: policy, screen_ids, slot_idsAdvertisingNetwork— 必須: id, revision, enabled, rate_revision, pricing_generation, seller_fee_bps, seller_fee_revision, created_at, updated_atAdvertisingNetworkCreate— 必須: nameAdvertisingQuote— 必須: id, campaign_id, campaign_revision, revision, state, expires_at, items, pricing_generations, created_atAdvertisingQuoteAccept— 必須: quote_idAdvertisingQuoteItem— 必須: seller_project_id, screen_id, slot_id, creative_id, duration_ms, rate_mcr_per_15s, play_price_mcr, pricing_generation, fee_bps, fee_revisionAdvertisingRate— 必須: rate_mcr_per_15sAdvertisingReportCoverage— 必須: mode, outcomes_complete再生結果カウントのカバレッジ。金銭合計は常に不変の決済から取得。outcomes_complete が false の場合、カウントは観測された下限で履歴欠落はゼロではありません。
AdvertisingReview— 必須: id, creative_id, creative_revision, state, created_atAdvertisingReviewDetail— 必須: review, creativeAdvertisingReviewList— 必須: reviewsAdvertisingReviewRejection— 必須: reasonAdvertisingScope— 必須: screen_ids, slot_idsAdvertisingSellerCampaign— 必須: id, buyer_project_id, name, state, flight_start, flight_end, screen_ids, slot_ids, creative_ids, review_state, enabled, price_change_pending, updated_at呼び出し元の販売者のネットワークだけに限定した、送信済みの購入者キャンペーン。
AdvertisingSellerCampaignDelivery— 必須: completed, reserved_mcr, gross_mcr, fee_mcr, net_mcr呼び出し元の販売者のネットワークにおける、累計の確定済み再生数と金額、および現在の保留額。
AdvertisingSellerCampaignDetail— 必須: campaign, deliveryAdvertisingSellerCampaignList— 必須: campaignsAdvertisingSlot— 必須: id, revision, name, enabled, accepted_media, max_image_duration_ms, max_video_duration_ms, muted, rate_override_mcr_per_15s, rate_revision, created_at, updated_atAdvertisingSlotList— 必須: slotsAdvertisingSlotWrite— 必須: name, accepted_media, max_image_duration_ms, max_video_duration_msAdvertisingSpendReport— 必須: campaign_id, spent_mcr, reserved_mcr, completed, unbillable, pending, coverageAgent— 必須: id, name, agent_type, capabilities, state, authenticated_requests, metered_credits, created_atAgentCapability— 必須: none1つのエージェント資格能力領域です。能力は資格発行時に固定されます。変更するには新しいエージェントを接続し、古いものを切断してください。標準の順序はこの列挙型の順序で、能力リストに重複はありません。
AgentConnection— 必須: connection_id, name, agent_type, status, capabilities, expires_at, created_atAgentDisconnectRequest— 必須: noneAgentInput— 必須: noneAgentList— 必須: itemsAgentScreenScopeUpdate— 必須: screen_scopeAgentSelfStatus— 必須: agent, connection_readyAlert— 必須: id, screen_id, condition, state, since, muted, attentionスクリーンの条件が続いている間の1件です。読み取る側は、不明な条件を、名前を特定できない条件として扱います。
AlertAcknowledge— 必須: noneAlertActor— 必須: kind, idAlertList— 必須: items, next_cursor, countsAlertMute— 必須: id, screen_ids, tags, until, created_atAlertMuteList— 必須: itemsAlertMuteWrite— 必須: untilスクリーンID またはタグが少なくとも1つ必要です。
AppStoreNotificationAcknowledgement— 必須: acknowledgedAppStoreNotificationRequest— 必須: signedPayloadAppStoreOffer— 必須: account_token, products, education_eligible, education_eligibility_source, can_purchase, current_plan_id, subscriptionAppStoreProduct— 必須: product_id, plan_idAppStoreSubscription— 必須: organization_id, plan_id, product_id, original_transaction_id, environment, expires_at, auto_renews, status組織の App Store サブスクリプション。
AppStoreTransactionRequest— 必須: signed_transactionApplication— 必須: id, name, revision, created_at, updated_atApplicationEventContext— 必須: primitive_id, codeApplicationEventReport— 必須: severity, code, contextApplicationList— 必須: itemsApplicationPlacement— 必須: playlist_id, playlist_name, page_id, primitive_id, release_id, release, controller, rect, canvas, screen_count1 つのプレイリストの 1 ページ上にある、アプリケーションプリミティブ 1 つ。
ApplicationRename— 必須: nameApplicationUploadCommit— 必須: sha256, compressed_bytes宣言したアーカイブを再度指定します。他のバイトを指定するコミットは invalid_request で拒否されます。
ApplicationUploadDeclaration— 必須: sha256, compressed_bytes, expanded_bytes, file_countストリーミングアップロードがヘッダーとして送信するメタデータとともに、CLI で生成された tar.gz を宣言します。
ApplicationUploadSession— 必須: id, application_id, release_id, operation, upload_url, method, headers, expires_atApplicationUsage— 必須: placements, screensArchivedProjectDevice— 必須: screen_id, label, hostAuditActor— 必須: kindAuditActorKind— 必須: noneAuditClient— 必須: kindAuditEntry— 必須: id, scope, at, actor, source, action, resource, changesAuditFieldChange— 必須: path, before, afterAuditHead— 必須: scope, seq, hash, floor_seq, floor_hash, unsealed, formatAuditList— 必須: items, next_cursorAuditProblem— 必須: seq, code, detailAuditResource— 必須: typeAuditRevision— 必須: typeAuditSource— 必須: none変更の経路: ダッシュボードのセッション、HTTP API、screenrig CLI、MCP ツールの呼び出し、書き込みリースを持つスタッフ、署名されたデバイスの呼び出し、受信 Webhook、またはサーバー自身(承認済みの変更を適用するワーカー)。
AuditVerifyResult— 必須: ok, scope, checked, head, problemsAutoTopUpDisabledSettings— 必須: enabled無効にしても、保存済みの金額と月間の支出額は保持されます。任意の金額フィールドは、入力途中の下書きも含めて無視されます。
AutoTopUpEnabledSettings— 必須: enabled, threshold_cents, amount_cents, monthly_limit_centsAutoTopUpSettings— 必須: noneAutoTopUpView— 必須: enabled, threshold_cents, amount_cents, monthly_limit_cents, paused, this_month_centsBIBrowse— 必須: items, next_cursorGrafana: dashboards (uid, title, folder, tags), or with dashboard set that dashboard's panels (id, title, type) and the dashboard itself. Power BI: workspaces (id, name), or with workspace set that workspace's reports (id, name, embed_url) and the workspace itself. Tableau: views (path as Workbook/View, name).
BICheck— 必須: name, okBIConnection— 必須: id, project_id, kind, name, config, embed_origin, secret, last_test, revision, created_at, updated_atプロジェクトから 1 つの BI システムへのアクセス。接続はそれぞれ 1 つのプロジェクトに属します。
BIConnectionConfig— 必須: noneBIConnectionList— 必須: items, next_cursorBIConnectionPatch— 必須: noneBIConnectionWrite— 必須: name, kind, configBISecret— 必須: set, hint保存済みシークレットの表示形式です。シークレット自体は返されません。
BITarget— 必須: noneビューが表示するもの。接続がある 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 も)。
BITestReport— 必須: at, ok, checksBIView— 必須: id, project_id, kind, name, target, refresh_s, rotate_s, fit, revision, status, embed_url, created_at, updated_atBIViewError— 必須: at, code, detailBIViewList— 必須: items, next_cursorBIViewPatch— 必須: noneBIViewStatus— 必須: last_ok_at, last_errorビューが最後に画面上でどうだったかを示します。結果が変わったときだけ変わります。
BIViewTest— 必須: at, ok, checksBIViewWrite— 必須: nameconnection_id を設定する場合は、url と target のどちらか一方だけを指定します (Tableau では、rotate_sheets だけを持つ target と url を併用できます。Web ビューは url を受け取り、target は受け取りません)。または、kind (grafana、powerbi、tableau) と target.public_url だけを指定します。
BIWebCookie— 必須: name, value, domainサインイン済みのブラウザーからエクスポートしたクッキーセットの 1 つのクッキー。
BIWebSession— 必須: state, cookies, cookies_updated_at, last_login_at, login_failures, retry_atWeb 接続のクッキーとサインイン。state: idle (まだ何もない。最初のキャプチャでサインインする)、active、login_needed (ページがサインインページを表示した。次のキャプチャでサインインする)、paused (サインインに成功しなかった。次は retry_at まで待つ)、stopped (サインインが 5 回連続で拒否された。認証情報を変更する)、expired (クッキーだけを持つ接続で、そのクッキーが使えなくなった。新しいクッキーセットを渡す)。
BIWebStep— 必須: actionスクリプト化されたサインインの 1 ステップ。goto: url (https、公開)。fill: selector と value。click と wait_for: selector。press: value (Enter や Tab などのキー名)、必要に応じて先にフォーカスする selector。wait_ms: ms。
値には {{username}}、{{password}}、{{otp}} を含められ、レンダラーがサインインの情報から埋めます。値にパスワードやコードを書かず、プレースホルダーだけを入れてください。
BillingBalance— 必須: wallet_revision, remaining_mcr, reserved_mcr, available_mcr, sources, withdrawalBillingPayer— 必須: kind, idBillingPaymentMethod— 必須: brand, last4, exp_month, exp_yearBillingPayoutStatus— 必須: rails_available, unavailable_reasonBillingPlanSubscription— 必須: subscription_id, plan, status, entitlement, cancel_at_period_endBillingPortalSession— 必須: urlBillingSourceBucket— 必須: remaining_mcr, reserved_mcrBillingSources— 必須: nonredeemable, purchased, ad_earnedBillingStatement— 必須: entries, next_cursorBillingStatementEntry— 必須: sequence, journal_id, kind, amount_mcr, amount_credits, amount_usd, occurred_atBillingUsageAllowance— 必須:storage_bytes, api_events, storage_mcr_per_gb_month支払者1人が無料で得られる内容で、カノニカルな10進文字列として表されます。帯域幅は課金されることはないため、割り当てはありません。
BillingUsageAmounts— 必須:bandwidth_bytes, storage_mcr, api_eventsBillingWithdrawal— 必須: eligible_earned_mcr, amount_usd_cents, threshold_exclusive_usd_cents, allowed, blockers, rails_availableBrowserLinkClaim— 必須: session_id, status, screenBrowserLinkClaimRequest— 必須: codeBrowserLinkClaimScreen— 必須: id, public_id, state, public_urlBrowserLinkEvent— 必須: session_id, status, event_id, expires_atBrowserLinkSession— 必須: session_id, code, display_code, status, expires_atBrowserLinkStatus— 必須: session_id, code, display_code, status, continuation_path, expires_atBrowserProvisioningCompletion— 必須: screen, public_urlBrowserProvisioningExchange— 必須: provisioning_token, exchange_idCLIEnrollment— 必須: project, agent, connection_ready, token, issuance_id, issuance_expires_at, invitationCLIEnrollmentOAuth— 必須: project, agent, connection_ready, issuance_id, issuance_expires_at, invitation, access_token, token_type, expires_in, refresh_token, refresh_expires_at, scopeoauth資格情報形式での登録。登録の権限(client screenrig-cli、新プロジェクトのManageで全機能、identity access Manage)が最初のトークンペアを発行します。issuance_expires_at前の正確な再試行は同じペアを返し、それ以降はcredential_issuance_expiredを返します。
CLIEnrollmentRequest— 必須: client_idCampaign— 必須: id, name, playlist_id, audience, priority, paused, reserved, revision, created_at, updated_atコンテンツキャンペーン:from、until、windows がスクリーンのタイムゾーンで成り立つ間、audience のすべてのスクリーンが playlist_id を表示します。from、until、windows がない場合は常時です。
CampaignAudience— 必須: noneキャンペーンが対象とするスクリーン:all(すべてのルールが一致)、any(いずれか 1 つ以上が一致)、tag(スクリーンがそのタグを持つ)、screen_id(そのスクリーン)、folder(そのスクリーンフォルダーとその中のすべてのフォルダーにあるスクリーン、GET /api/screen-folders。フォルダーが存在する必要があります)のうちちょうど 1 つ。
ルールのネストは最大 3 階層、audience のルールは最大 500 件です。{"all": []} はプロジェクトのすべてのスクリーンです。それ以外では all と any に 1 件以上のルールが必要です。
CampaignList— 必須: itemsCampaignPatch— 必須: noneCampaignPreviewRequest— 必須: bodyCampaignPromote— 必須: revisionCampaignReach— 必須: published, current, at, empty_groupsオーディエンスに一致するアクティブなスクリーンの数。ペアリング中のスクリーンは数に含まれません。
キャンペーンが再生される場所ではなく、オーディエンスに一致する数を数えます。デフォルトのプレイリストがないアクティブなスクリーンも一致しますが、何も再生しません。published はキャンペーンが最後に公開されたとき (作成時、または異なる audience、playlist_id、paused で更新したとき) の数、current は最新の数です。
アクティブなスクリーンのタグ、フォルダー、状態の変更やフォルダーの移動があると、変更された対象をオーディエンスに含むキャンペーンが、変更が止まってから約 15 秒後に再集計され、campaign.reach_changed (published, previous, current。公開による場合は republished が true) が追加されます。さらに、オーディエンスのタグやフォルダーのうちスクリーンへの一致が始まった、または止まったものごとに campaign.group_changed (kind, value, matched) が追加されます。空のタグやフォルダーをオーディエンスから外す公開では、removed true と matched 0 の campaign.group_changed が追加されます。
到達数が導入されてから公開も再集計もされていないキャンペーンでは存在しません。
CampaignRevision— 必須: revision, created_at, change, current, campaignキャンペーンの保存済みリビジョン 1 件: 書き込み後のキャンペーンの状態です。change はその作成要因を示します: created、edited (更新またはスケジュールインポート)、restored または promoted (以前のリビジョンのコピーで、restored_from で指定)、baseline (履歴が始まったときにキャンペーンが保持していたリビジョンで、書き込みが記録される前のもの)。
このリーダーが知らない値は edited として扱われます。
CampaignRevisionList— 必須: itemsCampaignScreens— 必須: campaign_id, counts, itemsCampaignStatus— 必須: campaign_id, screen_id, status1つのスクリーンにおける1つのキャンペーンの状態。
自身のスタック(schedule.stack)を解決し受信する Player のスクリーンでは、時間条件を満たすキャンペーンはそのスタックが定めた位置に配置されます。帯状またはメインのキャンペーンは自身の領域で再生され、ディスプレイロックは対象ディスプレイで再生されます。スタックに含まれないものは pending または blocked(playlist_unavailable)になります。playing: スクリーンに表示中。pending: 表示されるべきもので、1分以内に切り替わる。waiting: 現在は from、until、windows の範囲外(8日以内に開始する場合は next_start が開始時刻)。ended: until を過ぎた。outranked: 有効だが、スクリーンのテイクオーバー(reason takeover)または別のキャンペーン(reason campaign、by)が優先される。conditional: 時間条件を満たし、Player だけが観測する条件も満たす間に再生される(reason interaction: スクリーンを操作中の人がいる、data: データ条件)。paused。blocked: ここでは表示できない(reason no_default_playlist、no_timezone、または playlist_unavailable: 再生リストが存在しない、未承認、またはスクリーンに適合しない。region_not_laid_out: このスクリーンのどのディスプレイにも配置されておらず、スタックから除外される(帯が対象ディスプレイのどれにも収まらない、またはディスプレイロックがスクリーンの出力を一つも指定していない)。または stack_only: スクリーンの Player は自身のスタックを解決せず、領域、ディスプレイロック、操作、データ条件はスタックを解決する Player だけが反映する)。not_in_audience。
CampaignWrite— 必須: name, playlist_id, audienceCanvasBackground— 必須: none堅牢な標準大文字#RRGGBBAA、または上下方向の線形グラデーション。
CanvasColor— 必須: none正規化大文字 sRGB RRGGBBAA。
CapPull— 必須: noneCAP はプラットフォームがトリガーを読み取り、対象スクリーンの場所とカウントするアラートを指定します:cap-alert カード配置のパラメータ(docs/feeds.md「CAP アラート」)。各ソース URL は、名前を含むすべてのトリガーと配置ごとに1分に1回フェッチされます。
情報源がない場合、プラットフォームの公開フィード(NWS、カナダNAAD、地域コードに対応したMeteoAlarm)が位置情報をカバーします。最も深刻な一致アラートが、プッシュメッセージと同様に対象スクリーンを制御します。情報源がない場合(キャンセルまたは期限切れ)、プルアラートは終了します。
古くなったか失敗したソースはアラートを終了しません。location は sources が指定されていない場合に必須です。
Capabilities— 必須: api_version, protocol_version, application_compressed_bytes, application_expanded_bytes, application_package_bytes, application_file_count, application_file_bytes, application_path_depth, application_path_bytes, media_image_bytes, media_audio_bytes, media_video_bytes, playlist_max_pages, playlist_max_items_per_page, playlist_max_media_per_selector, transition_max_duration_ms, screens_per_project, project_content_bytes, founding_period_ends_at, featuresCardCatalogue— 必須: cardsCardCreate— 必須: type, paramsCardDataEntry— 必須: key, document, bytes, sha256, revision, created_at, updated_atCardDataList— 必須: items, next_cursorCardDataSummary— 必須: key, bytes, sha256, revision, created_at, updated_atCardDataWrite— 必須: documentCardDetails— 必須: id, major, version, params_schema, data_schema, feed, tier, layouts, exampleCardFile— 必須: src, sha256CardInstance— 必須: id, project_id, type, major, params, created_at, updated_at, revisionCardKVWebhook— 必須: id, card_id, description, mapping, enabled, signing, url, created_at, updated_atカードのデータドキュメントを書き込む受信Webhookです。
CardKVWebhookCreate— 必須: noneCardKVWebhookList— 必須: itemsCardKVWebhookRotate— 必須: noneCardKVWebhookUpdate— 必須: noneCardKVWebhookWithSecrets— 必須: noneCardKVWebhookWriteResult— 必須: statusCardRequirements— 必須: cardml, featuresCardSummary— 必須: id, title, short, category, tags, tier, layouts, majorsComments— 必須: commentsCommentsWrite— 必須: commentsConnection— 必須: id, project_id, provider, mode, name, status, last_error, config, secret, last_test, revision, created_at, updated_atプロジェクトが再利用できる Microsoft または Google へのアクセス。ソース、Power BI 接続、SharePoint メディア同期アカウントは、独自の認証情報を持つ代わりに、config.connection_id で接続を 1 つ指定します。
ConnectionCheck— 必須: name, ok, detailConnectionConfig— 必須: none接続がシークレット以外に指定する内容。そのプロバイダーとモードが使うメンバーだけが含まれます。シークレット、キー、更新トークンがここに入ることはありません。
ConnectionConfigWrite— 必須: noneMicrosoft、モード own_app: 両方のメンバー。Google の接続と、モード screenrig_app では受け付けられません。
ConnectionConsent— 必須: none1 回限りの同意リンクとともに返される接続です。このリンクを含むのは、それを作る書き込みだけです。モード screenrig_app での接続の作成と POST /api/connections/{id}/connect が該当します。同意する人は consent_expires_at より前に consent_url を開きます。これは 1 回の同意のリンクです。その人にだけ送ってください。接続の読み取りにこれが含まれることはありません。
ConnectionError— 必須: code, message, at接続が動作していない理由。メッセージは固定の文で、Microsoft の場合は AADSTS コードが加わります。呼び出し元が送ったテキストが繰り返されることはありません。
ConnectionList— 必須: items, next_cursorConnectionPatch— 必須: noneConnectionSecret— 必須: set, hintレスポンスが接続のシークレット、キー、更新トークンをどのように示すか。値が返されることはありません。
ConnectionTest— 必須: at, ok, checksConnectionWrite— 必須: provider, mode, nameCreatedProject— 必須: project, organizationCreditPurchase— 必須: id, status, amount_cents, credits, creditedDashboardAgentAction— 必須: project_idDashboardApplicationPreviewLaunch— 必須: release_id, launch_url, expires_atDashboardApplicationSummary— 必須: countDashboardBalance— 必須: credit_remaining, credit_included, credit_resetDashboardBoot— 必須: noneダッシュボードシェル用の 1 回のリクエスト。各メンバーは、対応するルートがこの同じセッションに対して返すボディで、そのルートが 2xx で応答しない場合は含まれません。advertising_network は、プロジェクトにネットワークがない場合は null です。
DashboardDisplayName— 必須: noneトリムされた印刷可能な表示名、最大80バイトのUTF-8。制御文字、URLのようなテキスト、@、www.、://、認証情報を拒否します。認証は含みません。
DashboardEmail— 必須: email, email_verified, email_revision現在のユーザー自身のメールビューです。変更が保留中でも検証済みアドレスは有効で、保留中の候補は所有者のみが見えます。
DashboardEmailVerificationAccepted— 必須: statusDashboardHealthSummary— 必須: display_disconnected, hot, crashing, stale状態別にカウントされたヘルスレポート付きのアクティブスクリーン。スクリーンは複数の状態にカウントされることがあります。display_disconnected、hot、crashingは最新レポートが現在の(古くない)オンラインスクリーンのみをカウントし、staleはレポートが35分以上前のオンラインスクリーンのみをカウントします。
DashboardMe— 必須: user_id, display_name, email, password, passkeys, created_atDashboardMediaSummary— 必須: count, bytesセッションのプロジェクトにおける、準備完了メディアのカウンター。bytes は保存されたメディアのバイト数のみを数えます。リリースツリーとキー/値エントリーも含むプロジェクトの used_bytes 合計とは異なります。image_bytes、video_bytes、audio_bytes は bytes をプリミティブ別に分割したもので、image、video、audio が唯一のプリミティブである間は、常に合計が bytes になります。別のプリミティブが保存されるようになった場合、この 3 つの合計は bytes を下回ります。
DashboardMember— 必須: user_id, display_name, joined_at, passkeys, password, owner, externalDashboardMemberList— 必須: items, viewer_user_id, viewer_is_ownerDashboardPasskey— 必須: id, name, credential_id, provider, created_at, last_used_atDashboardPasskeyAssertion— 必須: ceremony_id, request_optionsDashboardPasskeyAssertionComplete— 必須: ceremony_id, credentialDashboardPasskeyComplete— 必須: ceremony_id, credentialDashboardPasskeyList— 必須: rp_id, user_handle, itemsDashboardPasskeyPatch— 必須: nameDashboardPasskeyProof— 必須: type, ceremony_id, credentialDashboardPasskeyRegistration— 必須: ceremony_id, creation_optionsDashboardPasswordLogin— 必須: email, passwordDashboardPasswordProof— 必須: type, passwordDashboardPasswordSet— 必須: password, proofDashboardPendingEmail— 必須: email, expires_atDashboardProject— 必須: status, created_at, email, screen_count, screen_limit, used_bytes, reserved_bytes, content_limit_bytes, event_retention_days, name1つのプロジェクトのステータス、連絡先、強制制限、使用状況、保持、公開全クレジット状態。内部プラン識別子は非公開です。
DashboardProjectList— 必須: itemsDashboardProjectListItem— 必須: id, name, last_used_atDashboardProjectReference— 必須: id, nameDashboardProjectSwitch— 必須: project_idDashboardProof— 必須: noneDashboardProofRequest— 必須: proofDashboardReauthentication— 必須: ceremony_id, optionsDashboardReauthenticationRequest— 必須: kindDashboardSSOProof— 必須: type直近のシングルサインオンによる証明です。現在のセッションが組織のIDプロバイダー経由で 10 分以内にサインインしている間は有効で、セレモニーもシークレットも伴いません。それ以外の場合、ルートは reauthentication_required を返し、ユーザーはプロバイダー経由で再度サインインします(POST /api/session/sso-starts、intent は reauth)。
DashboardScreenSummary— 必須: total, online, pairing_pending, active, archivedセッションのプロジェクトに対するスクリーンカウンター。totalはpairing_pendingとactiveの合計で、アーカイブ済みを除き、プロジェクトのscreen_countと一致します。onlineはScreen.onlineと同様にライブペアリングされたランタイムイベントストリームから導出され、保存されたブール値やPlayerのハートビートではありません。
DashboardSession— 必須: user_id, display_name, email, project, auth_method, authenticated_at, expires_at, dev_auth, staff, shadow, passkey_enrollment_required, email_verification_required人物セッション。識別子は説明的で、セッションクッキーが権限を確立します。プロジェクトがない人物はproject: nullです。
DashboardSessionOrganization— 必須: id, name, managedユーザーのホーム組織。
DashboardSessionSSO— 必須: organization_id, provider_name, linkedユーザーのシングルサインオンの状況。ユーザーの検証済みアドレスが、IDプロバイダー接続を持つ組織のドメインのものである場合は常に含まれます。linked は、ユーザーがその接続でサインインするかリンクするまで false です。SSO セッションはサインインから 24 時間有効で、利用しても延長されません。
DashboardStaffWriteMode— 必須: request_id, project_id, expires_atDashboardSummary— 必須: screens, media, applicationsDeletedProject— 必須: id, screens, paired_screens_active, paired_screens_archived, paired_screens_completed_pending, agents, media, applications, playlists, membershipsDemoRequestInput— 必須: email, country, screen_range, organization, budget, timezone, source, flow_idDemoResult— 必須: route, booking, review_requested, video_url, email, country, timezone, flow_id, sourceDemoSlots— 必須: slots, timezoneDemoSource— 必須: noneDeviceSessionRequest— 必須: noneCookie ペアリング済みブラウザーのミント。本文は任意。未知のメンバーは無視されます(docs/player-compatibility.md §1.1)。
DisplayWindow— 必須: daysDocsPage— 必須: url, title, markdown, truncated, sections, corpus_commitDocsSearchResponse— 必須: results, corpus_commitDocsSearchResult— 必須: url, title, section, snippet, scoreEducationEligibilitySource— 必須: noneeducation_eligible を誰が判断したかを示します。staff はスタッフによる判断で、どちらの結果でも最終的です。school_email は、管理者の認証済み K-12 学校メールアドレスによる自動判定です(k12.ca.us や sch.uk のような学校ドメインが対象で、.edu や .ac.uk のような一般的な教育機関ドメインは対象外)。空文字列は、誰も判断していないことを意味します。
EmailVerifyRequest— 必須: tokenEmailVerifyResult— 必須: purpose, statusEmptyPaymentRequest— 必須: noneEnrollmentInvitation— 必須: id, status, expires_atEvent— 必須: cursor, type, severity, message, atEventActor— 必須: user_id, display_nameこの変更を引き起こしたダッシュボードユーザー。オプションであり、エージェント、CLI、プレーヤー、ワーカーが生成したすべてのイベントでは存在しません。このフィールドはダッシュボードの変更を区別し、すべてのトラフィックにラベルを付けるものではありません。説明的な帰属のみであり、認可ではありません。display_nameは登録時にユーザーが選択した名前で、検証されていません。
EventAgent— 必須: agent_id, name, agent_type安全なエージェント主体の帰属は、イベントが認証されたエージェントベアラーによって直接引き起こされた場合にのみ存在します。これは決して認可ではありません。
EventCommand— 必須: name, methodこのイベントを引き起こしたエージェントのリクエスト。任意であり、ダッシュボードユーザー、プレーヤー、ワーカーが生成したすべてのイベントで存在しません。説明的な帰属のみであり、認可ではありません。すべてのフィールドはサーバーが一致したルートまたは問題レジストリから書き込みます。
コマンドオブジェクトは引数ベクター、リクエストボディ、ヘッダー、または呼び出し元が選択したテキストを持てません。意図的にそのためのフィールドはありません。name と method はエージェントリクエストがコミットされたすべてのイベントに現れます。
結果フィールドはagent.commandイベントでのみ表示されます。これはドメインイベントをコミットしなかったリクエストの記録であり、コミットされたドメインイベント自体がリクエスト成功の証明です。
EventList— 必須: items, next_cursorFeedDocument— 必須: schema, fetchedAt, attributionFeedPending— 必須: key, state, retry_after_secondsFeedbackContext— 必須: none閉じた診断エンベロープ。すべてのメンバーはオプションの制約付きスカラーで、ネストは構造的に不可能、未知のメンバーはinvalid_requestで拒否されます。この形状はクライアントが引数値、資格情報、自由形式環境データを永続化できないように存在します。
FeedbackList— 必須: itemsFeedbackReplyWrite— 必須: textFeedbackResponse— 必須: id, text, status, created_at1つの不変のスタッフまたはエージェントの返信。著者不在はスタッフ返信を示します。プレーンテキスト(表示コンテキストに応じてエスケープ);資格情報形式のテキストは保存前に[redacted]に置換。
FeedbackStatus— 必須: noneスタッフが送信状況を示します。waiting_on_userは送信エージェントに情報を求め、エージェントの返信で再開または報告が閉じられます。「planned」報告はステータスを維持します。
FeedbackSubmission— 必須: id, kind, title, body, created_at1つのプロジェクトスコープの提出物。自身のフィールド(id、kind、title、body、context、created_at)は書き込み後に変わりません。statusはスタッフ応答までopenで、その後は最新応答の状態;エージェント返信は入力待ちまたはクローズ済みのレポートを再オープンし、「planned」レポートは状態を維持。
レスポンスはスタッフとエージェントの返信で、最古順に最大20件、編集や削除はされません。各返信はプロジェクトのイベントストリームにfeedback.respondedイベントを追加します(resource.idは送信ID、詳細はresponse_id、status、fixed_in、authorを含み、テキストは含みません)。
送信IDは決して認可ではなく、所有するプロジェクトのみが読み取ります。
FeedbackWrite— 必須: title, bodyFleetLink— 必須: id, label, enabled, tags, screens_created, revision, created_at, updated_atこのプロジェクトで、開いたすべてのデバイスを独自のスクリーンにする Player の URL です。
FleetLinkList— 必須: itemsFleetLinkPatch— 必須: noneFleetLinkWrite— 必須: labelGroupBinding— 必須: binding_id, group_id, group_name, role, created_atGroupBindingCreate— 必須: group_id, roleGroupBindingGroup— 必須: id, display_name, member_countGroupBindingList— 必須: bindings, groupsHLSStreamSource— 必須: protocol, urlHealthResponse— 必須: statusHealthTrend— 必須: items, next_cursorHealthTrendHour— 必須: hour, screens_reporting, hot, display_disconnected, crashingHostContext— 必須: platformPlayer が動作するシェルとハードウェア。デバイス名を示すヒント。資格情報や認可ではありません。Ed25519 キーのみが認可します。
スクリーンごとに保存され、1つを含むすべてのセッションミントで置き換えられ、スクリーン削除時に削除されます。操作ログには書き込まれず、問題応答にも表示されず、所有者以外のプロジェクトには返されません。プロジェクト API で読み取り専用。ScreenPatch は書き込み不可。
HostDevice— 必須: noneオプションのハードウェア識別子。duidとserialだけが回復ヒントで参照されます。プレーヤーでの読み取り失敗はフィールドを省略します。
IceServer— 必須: urlsRTCIceServer。ブラウザーがブロックし、トリクルも行われないため、ポート 53 の URL は取り除かれます。
IdentityProvider— 必須: connection_id, kind, preset, name, jit, service_provider, ready_to_require, policy, revision, created_at, updated_at組織のシングルサインオン接続。シークレットは含まれません。
IdentityProviderCertificate— 必須: sha256, subject, not_afterIdentityProviderOIDC— 必須: issuer, client_id, client_secret_set, scopesIdentityProviderOIDCWrite— 必須: client_idIdentityProviderSAML— 必須: idp_entity_id, idp_sso_url, certificatesIdentityProviderSAMLWrite— 必須: noneIdentityProviderServiceProvider— 必須: oidc_redirect_uri, saml_entity_id, saml_acs_url, saml_metadata_urlIDプロバイダーに入力する値。ダッシュボードのオリジンと接続 ID から導出されます。
IdentityProviderTest— 必須: at, ok, subject_present接続を通じた直近のテストサインインの結果。
IdentityProviderWrite— 必須: kind, preset, name, proofInvitation— 必須: id, kind, delivery, status, project_id, created_at, expires_atInvitationAcceptRequest— 必須: token, modecreate_loginとリセットには新しい認証情報が必要です。create_loginリンクは検証済みサインアップクッキーを必要とし、その表示名とメールを使用します。
メールアドレス create_login には display_name が必要です。signed_in は10分以内のサインイン、または招待IDに紐づく invitation_accept 証明が必要です。buyer は ad_buyer のみに適用されます。新しい buyer プロジェクトはクレジットがゼロから始まります。
InvitationAccepted— 必須: kind, project_id, nextInvitationAdvertising— 必須: screen_ids, slot_ids, policy販売者所有の範囲:少なくとも1つのスクリーンまたはスロット。スクリーンのみ、スロットのみ、または両方が許容されます。
InvitationBuyer— 必須: noneInvitationCreate— 必須: kindメール配信にはメールが必要です。リンク配信は project_member のみで、メールや広告は含まれません。ad_buyer には広告が必要です。1組織につき最大50件の未処理メンバー・buyer 招待が可能です。同種・同アドレスの未処理メール招待は再利用されます。
InvitationCreated— 必須: invitationsInvitationCredential— 必須: noneInvitationEmailVerificationAccepted— 必須: status, expires_atInvitationEmailVerificationRequest— 必須: token, display_name, emailInvitationInspect— 必須: id, kind, delivery, project, expires_at, person, modes, methods消費しない検査です。person はリンクの場合 null です。サインアップ検証状態は報告しませんが、リンクがそのアドレスにのみ送られたサインインリセットは、それを完了すると未検証のアカウントが置き換えられるかどうか(replaces_unverified_account)を示します。メールモードは create_login または signed_in で、リンクは両方を提供し、リセットは reset を提供します。
InvitationInspectRequest— 必須: tokenInvitationIssued— 必須: id, kind, delivery, status, project_id, created_at, expires_atInvitationKind— 必須: noneInvitationList— 必須: items, next_cursorInvitationPasskeyOptionsRequest— 必須: token, modeInvitationPasswordCredential— 必須: type, passwordInvitationSignup— 必須: email, display_name, verified, expires_atInvitationStatus— 必須: noneKVEntry— 必須: application_id, key, value_base64, content_type, bytes, sha256, revisionKVList— 必須: items, next_cursorKVSummary— 必須: application_id, key, content_type, bytes, sha256, revisionKVWebhook— 必須: id, application_id, key, description, url, created_at受信したキー/バリューWebhookです。シークレットはcreateとrotate-secretのみが返します。
KVWebhookCreate— 必須: keyKVWebhookDelivery— 必須: at, outcome, status, bytes, request_idKVWebhookDeliveryList— 必須: itemsKVWebhookList— 必須: itemsKVWebhookWithSecret— 必須: noneKVWebhookWriteResult— 必須: key, revision, bytes, sha256, content_type, updated_atKVWrite— 必須: value_base64LevelDate— 必須: date特定の 1 つの市民日付で、終日、またはウィンドウと同じく start と end の間です。from と until の間に始まり、例外日ではないものが対象です。
LevelInteraction— 必須: none誰かがスクリーンを操作している間、そのレベルは有効です。タッチ、クリック、キー入力から、入力がないまま idle_s 秒たつまでです。典型的な用途は、アトラクトループの上に重ねるインタラクティブなページです。idle_s は保存されて返されます(省略時は 60)。
LevelMonthly— 必須: noneスクリーンのタイムゾーンでの毎月の発生:day(1~31。その日がない月は対象外)、または nth(1~4、-1 は最終)と weekday。start と end はウィンドウと同じで、発生が始まる日付がその発生に属します。
LinearGradientBackground— 必須: type, stops上から下への線形グラデーション。角度フィールドはありません。stopsは2から8のエントリで、[0, 1]の範囲で厳密に増加し、最初はat=0、最後はat=1です。
LinearGradientStop— 必須: at, color上下方向の線形キャンバス背景の1つのストップ。at=0 は上端、at=1 は下端です。
LiveFrames— 必須: live_id, stateライブセッションのフレームアダプターの進捗。オープンスキーマ。
LiveSession— 必須: state, screen_id, viewer_urlスクリーンのライブセッション。オープンスキーマ。
LiveStartRequest— 必須: noneLiveViewer— 必須: viewer_id, live_id, offer, ice_servers, expires_atビューアー向けのリレーのオファー。オープンスキーマ。
LiveViewerAnswer— 必須: answerManifestActivatedContext— 必須: manifest_revisionManifestActivatedReport— 必須: severity, code, contextManifestUpgradeContext— 必須: manifest_revision, stateManifestUpgradePlaylist— 必須: id, name, revision発行済みまたはキューに入っている希望リビジョンの背後にあるプレイリストの識別子:desired_playlistは正確な希望付与または現在の有効な割り当て前の読み取り専用共有コンテンツ目標を使用します。active_playlistは常に正確に認識された過去の付与を使用し、新しい割り当てやコンテンツ編集は使用しません。idとリビジョンはオペレーターが読み取るプレイリストバージョン(Target v42 / Playing v41)であり、nameはプレイリストの表示名です。プレイリストが存在しないか解決できない場合はnullです。
欠落した過去の有効な権限はnullであり、作り出された改訂ではありません。キューにある望ましい目標はコンテンツアクセスを付与しません。
ManifestUpgradeReport— 必須: severity, code, contextセッションスクリーンの1つの最新優先マニフェストアップグレードライフサイクルスナップショット。
サーバーはスクリーンごとに 1 つのスロットを保存し、そこからプロジェクトの読み取りモデル Screen.manifest_upgrade を導出します。古い、置き換え済み、またはアクティベーション前のレポートは変更なしで受け入れ(202)、競合として拒否されず、レポートは権限を昇格しません。severity はエンベロープのみで、派生プロジェクトイベントの severity は状態から来ます。
McrString— 必須: none正確な整数ミリクレジット量を標準的な10進文字列で。1クレジットは1000 mcr。
Media— 必須: id, filename, primitive, content_type, operation_id, sha256, bytes, revision, state, created_at, updated_atMediaAvailability— 必須: none動的セレクターがメディアを選べる時期を、各スクリーンのタイムゾーンで指定します。[from, until) の範囲内で、windows、monthly、dates のいずれかの発生(3 つのいずれも指定しない場合は毎日)にあたり、その日付が except にないことが条件です。スケジュールのレベル文法から data と interaction を除いたものです。
MediaAvailabilityPatch— 必須: availabilityMediaCommit— 必須: content_type, bytes, sha256サーバーが保存されたオブジェクトとバイト単位で再検証できるもののみを宣言します。ここではコーデックの識別は宣言しません。サーバーは非同期検証中にコンテナから導出するため、クライアントはプレーヤーの動作を左右するコーデックを主張できません。
MediaFolder— 必須: id, name, parent_id, revision, created_at, updated_at1つのメディアライブラリフォルダー。:folderによるプレイリストセレクターは、その直下の準備済みファイルを直接再生し、サブフォルダーのファイルは再生しません。
MediaFolderCreate— 必須: nameMediaFolderList— 必須: itemsMediaFolderPatch— 必須: noneMediaGenerationReference— 必須: nonemedia_id または b64 のどちらか一方のみ。HTTP URLは拒否されます。
MediaGenerationRequest— 必須: prompt単一の静止画像を要求します。プロンプトは顧客のバイトであり、決して返されず、ログにも記録されず、プロジェクトSSEに公開されません。aspect_ratioはデフォルトで16:9です。qualityはlow、medium、highのいずれかで、デフォルトはmediumです。tagはアップロードタグのようにレディメディアオブジェクトに保存されます。オプションの参照はインラインのbase64またはプロジェクトmedia_idです。HTTP URLは拒否されます。
1つのリクエストのすべての参照(インラインと media_id 両方)の合計サイズは25165824バイト(24 MiB)を超えてはなりません。超えたリクエストは拒否されます。
Standard では、イントロフロア(2027-01-01 までマイナス1,000,000クレジット、その後ゼロ)後に、静止画のベンダーコストの2倍を全クレジットで切り上げてカバーできない残高は payment_required を返します。ただし開発環境は除きます。その他のプランは残高を理由に拒否されることはありません。
MediaGenerationUsage— 必須: quality, credits, usd顧客向けデビットは1つの保存された静止画に対して行われ、succeeded になった media.generate の Operation の result に含まれる usage です。qualityは要求された品質で画像を変更し、固定価格ではありません。クレジットはその静止画のベンダーコストの2倍で、ScreenRigクレジットの整数に切り上げられます。usdはそのクレジットのドル換算です。
ベンダー名、ベンダーコスト、トークン数は決して含みません。
MediaList— 必須: itemsMediaMove— 必須: folder_idmedia_ids と folder_ids のいずれかに少なくとも1つのID、最大で合計1000。
MediaMoveResult— 必須: media, foldersMediaReplace— 必須: upload_idMediaRestore— 必須: noneMediaRestorePending— 必須: status, review, warningsMediaRestored— 必須: media, warningsMediaSelectorTagFilter— 必須: noneMediaSelectorWeights— 必須: none重み付きセレクターのシェア。メディア ID または tag:NAME をキーとします。
アイテムの重みは、そのメディア ID のキーがあればその値、なければ所持するタグのうちアルファベット順で最初の tag:NAME キーの値で、その重みはそのキーを持つ選択内のアイテムで均等に分割されます。そのため、クリエイティブの数にかかわらずスポンサーのシェアは保たれます。どちらもない場合、アイテムは重み 1 の単独グループとして扱われます。
完全なサイクルごとに、各アイテムがちょうどそのシェア分再生されます。
MediaSingleTagPatch— 必須: tagMediaSync— 必須: id, project_id, account_id, provider, name, folder_id, every_s, state, source, next_run_at, revision, created_at, updated_at1 つのソースフォルダーを 1 つのメディアフォルダーと同期させたもの。
MediaSyncAccount— 必須: id, project_id, kind, name, config, secret, state, revision, created_at, updated_at同期が読み取りに使うもの: プロジェクト独自の Microsoft Entra アプリの認証情報(microsoft365)、ユーザー 1 人による Canva(canva)または Dropbox(dropbox)への接続、フォルダーの共有先である Google サービスアカウント(google_drive)。クライアントシークレット、トークン、キーは封印され、返されることはありません。
MediaSyncAccountConfig— 必須: noneMediaSyncAccountConnect— 必須: none1 回限りの同意リンクとともに返されるアカウント。Canva または Dropbox アカウントの作成と media sync account connect の応答がこれにあたります。Canva または Dropbox アカウントの所有者は、authorize_expires_at より前に、Canva または Dropbox にサインインした状態で authorize_url を開きます。これは 1 回の同意のリンクです。その人にだけ送ってください。アカウントの読み取りにこのリンクが含まれることはありません。
MediaSyncAccountList— 必須: items, next_cursorMediaSyncAccountPatch— 必須: noneMediaSyncAccountWrite— 必須: kind, nameMediaSyncCheck— 必須: name, ok, detailMediaSyncDesign— 必須: id, title接続した本人が見られる Canva のデザイン。
MediaSyncDesignList— 必須: items, continuationMediaSyncList— 必須: items, next_cursorMediaSyncPatch— 必須: noneMediaSyncRun— 必須: at, status, added, updated, removed, pending_delete, skipped_total同期の最後の実行の概要。
MediaSyncRunError— 必須: code, detailMediaSyncSecret— 必須: set, hintレスポンスにおけるアカウントのクライアントシークレット、Canva または Dropbox アカウントのトークン(接続すると set になり、hint なし)、Google Drive アカウント独自のサービスアカウントキー(アカウントがキーを持つ場合に set になり、hint は private_key_id の末尾 4 文字)の示し方。値が返されることはありません。
MediaSyncSkipped— 必須: name, reasonMediaSyncSource— 必須: web_url同期が読み取るソース。同期の作成時に解決されます。SharePoint フォルダーには drive_id と item_id があります。Dropbox フォルダーには item_id と path、Google Drive フォルダーには item_id、共有ドライブにある場合は drive_id、そして shared_by があります。Canva デザインには design_id と、それに続くメンバーがあります。
MediaSyncTest— 必須: at, ok, checksMediaSyncWrite— 必須: provider, account_idMediaTagPatch— 必須: noneMediaTagsPatch— 必須: tagsMediaUploadDeclaration— 必須: filename, content_type, bytes, sha2561回のアップロードを宣言します。バイト数の最大値はプランに依存しない転送上限であり、実際に可能なサイズではありません。画像のコンテンツタイプはさらに20,971,520バイト(20MiB)に制限されており、それを超える画像の宣言はバイト転送前にinvalid_requestで拒否されます。
その画像の境界はバイトのみのゲートです:宣言は画像をデコードせずにこれを強制し、アニメGIFやアニメWebPにも静止画と同様に適用されます。デフォルトプランに製品ストレージ制限はありません。
カスタムストレージ上限がある場合は最初にチェックされ、その上限に収まらない宣言は、バイトが転送される前に quota_exceeded で拒否されます。
クレジットが残っていない Standard プロジェクトは、その支払者がこのアップロードで保存するバイト数が 1000000000 bytes(1 GB、Standard の無料ストレージ)を超えると、payment_required で declare と commit を拒否されます。帯域幅が課金されることはありません。
audio/mpeg(MP3)宣言は178257920バイト、170 MiBに制限され、それを超えると同様に拒否されます。事前確認には media_audio_bytes を読み取ってください。
video/mp4またはvideo/webm宣言は、プロジェクトのプランによって制限されます(Standardは500000000バイト、500 MB、その他のすべてのプランは1000000000バイト、1 GB)。それを超えると同様に拒否され、適用される上限が示されます。事前確認には GET /api/project/capabilities の media_video_bytes を読み取ってください。
プランを変更しても、その後の宣言にのみ影響します。保存済みの動画は引き続き再生されます。画像の制限は capabilities ドキュメントの media_image_bytes、またはプロジェクトの project_content_bytes や content_limit_bytes で確認してください。オプションのタグは準備完了メディアオブジェクトに保存され、コミット時に再宣言されません。
オプションのsource_filenameは、クライアントがアップロード前にバイトをトランスコードした場合に呼び出し元の元ファイル名を記録します。準備完了オブジェクトのファイル名はそこから派生し、異なるソースが衝突しません(photo.pngがphoto.webpとしてアップロードされた場合はphoto.png.webpとして保存、photo.jpgはphoto.jpg.webp、元のphoto.webpはphoto.webpのまま)。
MediaUploadSession— 必須: id, operation, upload_url, method, headers, expires_atMediaUploadSource— 必須: filename, content_type, sha256, bytes正規化されたEXIF方向を取り込む際に検証済みの元アップロードID。読み取り専用;再試行の認識に使用します。準備済みメディアのダイジェスト、サイズ、タイプは正規化された配信バイトを示します。
MediaUsage— 必須: playlists, screensMediaUsagePlaylist— 必須: id, name, uses, screen_countMediaUse— 必須: kind, where1 つのプレイリストがメディアファイルを保持する、または到達する 1 つの方法。複数のページでそうしているプレイリストも、1 つの使用として数えます。
MediaVersion— 必須: number, current, filename, content_type, sha256, bytes, source, created_atMediaVersionActor— 必須: kindMediaVersionPage— 必須: items, next_cursorMediaWarning— 必須: code, detail, playlistsMediaWarningPlaylist— 必須: id, nameMemberActivity— 必須: id, project_id, user_id, display_name, at, kind, action, outcome, status, sourceMemberActivityClient— 必須: kindエッジリクエストログでクライアントが名前付けされ、User-Agent と Sec-CH-UA-Platform から解析されます。
MemberActivityKind— 必須: nonesign_in と sign_in_failed は auth_method を持ちます。credential_changed は passkey の追加、名前変更、削除、password 設定、email 変更要求または検証です。reauthenticated はチェック済み証明(action reauthentication.<proof kind>)です。mutation はその他のダッシュボード変更です。
MemberActivityList— 必須: items, next_cursor, recorded_sinceMemberActivityOutcome— 必須: none400未満はOK、4xxは拒否、5xxは失敗。
MemberActivityResource— 必須: typeMemberApproverUpdate— 必須: can_approveMemberScreenScopeUpdate— 必須: screen_scopeMemberUploadScopeUpdate— 必須: upload_scopeNativeIdentityChallenge— 必須: nonce, expires_at, aud, op, request_hash署名前に返された op と request_hash をローカル計算値と比較してください。各ノンスは120秒で期限切れ、一度のみ使用可能です。
NativeIdentityChallengeRequest— 必須: kid, op, request_hashすべてのチャレンジに対して操作とそのrequest_hashを指定してください。未知のキーの場合はpublic_keyとop=pairing.startも必要です。チャレンジ作成はキーの登録ではありません。
NativeIdentityProof— 必須: kid, public_key, signatureコンパクトJWS保護ヘッダーは正確に {"alg":"EdDSA"}。クレームは kid、nonce、aud=screenrig-runtime、op、整数の iat/exp、非空の jti、request_hash。
コンテキスト証明は最大 120 秒持続し、発行されたチャレンジ期限までに期限切れになります。request_hash は screenrig.native.identity.request.v1 と op で始まる、NUL で結合された UTF-8 文字列の小文字 SHA-256 16 進数です。
pairing.start と session.mint に Idempotency-Key を追加します。pairing.complete には正確な srp_ ペアリング認証情報と completion_nonce を追加します。identity.reset には何も追加しません。すべての証明には request_hash が含まれている必要があります。キャッシュされた操作結果でも、新しい証明または有効な短期間のレシートがある正確な証明が必要です。
重複または不明なJWS/JWKメンバー、非正規のbase64url、素数順序でないキーは拒否されます。不明なリクエストボディメンバーは無視されます。
NativeIdentitySessionRequest— 必須: kid, public_key, signatureNativeIdentityProofはop=session.mintとオプションのホストヒントを含みます。現在のホストは画面に保存されたホストを置き換えます。ファームウェアとシェルのバージョンは画面の寿命で変動するためです。ヒントは認証に影響せず、署名された証明のみが影響します。
不明なメンバーは無視され、ホストと再生は寛容に読み取られます(docs/player-compatibility.md §1.1)。
NativePairingComplete— 必須: completion_nonce, public_key, signatureNativePairingCompletion— 必須: screen, public_urlNativePairingFleetLink— 必須: statusこのペアリングセッションで提示されたフリートリンクが行ったこと。claimedとrecoveredはスクリーンが既に選択されており、プレーヤーはコードを表示せずにペアリングを完了します。その他のステータスは通常のクレーム用にコードをガラスに残します。
NativePairingRecovery— 必須: offered開始リクエストのホストduidまたはシリアルが、異なるキーにバインドされた既存のスクリーンと正確に1つ一致した場合にのみ存在します。スクリーン、ラベル、プロジェクトは含まれません。オファーはプロジェクト側でScreen.recovery_pendingおよびscreen.recovery_offeredイベントとして表面化し、所有プロジェクトのみが確認できます。
識別子が曖昧な場合、マッチがない場合と同様に正確に存在しません。マッチしたスクリーンのキーが過去10分以内に生存を示した場合、またはそのスクリーンがローリング1時間内に3回のオファーを受けた場合も同様です。ペアリングコードはマッチがない場合と同様に発行および表示されます。Playerはこれをpairing.recovery_offeredのログ記録のみに使用します。
NativePairingSession— 必須: code, pairing_credential, expires_atNativePairingStart— 必須: kid, public_key, signature登録またはロケーター作成前に秘密鍵所有の証明が必要です。正確なIdempotency-Keyに紐づく新しいpairing.startチャレンジに署名してください。署名されていない開始は拒否されます。オプションのhostオブジェクトはデバイスのヒントであり資格情報ではありません。これは請求時にスクリーンに保存され、プロジェクト側でのリカバリーオファーを開くことがあります。
不明なボディメンバーは無視されます。ホストヒントは寛容に読み取られます。不明なホストキーは無視され、不正なホストフィールドは破棄されますが拒否はされません(docs/player-compatibility.md §1.1.1)。
NativeRuntimeSession— 必須: paired, capabilities, event_cursor, public_url, runtime_credentialランタイム所有のネイティブセッション(docs/player-compatibility.md §8)。リーダーは未知のメンバーと未知の機能値を無視します。新しいメンバーは、それをカバーする権限を持つセッションにのみ送信されます。
NextAction— 必須: command, reasonNote— 必須: id, body, about, state, author, created_at, confirmed_at, review_at, expires_at, resolved_at, resolution, dueプロジェクトのメモです。エージェントが書いたコンテキストであり、指示や承認ではありません。本文はプレーンテキストとして表示します。
NoteAbout— 必須: type, idNoteAuthor— 必須: agent_id, name, agent_typeノートが追加された時の書き込みエージェント。帰属であり権限ではありません。
NoteCounts— 必須: open, new, dueプロジェクトの未解決ノートと、この呼び出し元に新規で期限が来ている数です。
NoteList— 必須: items, next_cursor, review, countsNotePage— 必須: items, next_cursorNoteResolution— 必須: cause, reason, byNoteResolve— 必須: reasonNoteResolvedBy— 必須: kind, id, nameノートを解決した人。agent_typeはエージェントの場合に存在。帰属であり権限ではありません。
NoteWrite— 必須: bodyNotification— 必須: id, channel, conditions, screen_tags, hold_minutes, enabled, revision, status, created_at, updated_at組織の通知を、プロジェクトまたは組織が読み取った形で表します。組織のすべてのプロジェクト、または選択したプロジェクト (project_ids) を対象にし、対象の各プロジェクトのスクリーン、ソース、キャンペーン、カードに作用します。
プロジェクトは、自身を対象にする通知を同じ id で読み取ります(通知の対象がそのプロジェクトだけの場合は変更も)。status と失敗時刻はそのプロジェクト自身のものです。組織は通知の全体を読み取ります。
条件はスクリーンごとに追跡されます。対象のスクリーンにそのイベントが届くと条件が発生し、hold_minutes の間続いてスクリーンがまだその状態にある場合に、通知が送信されます。通知の送信後に条件が解消すると、続けて解決済みの通知が送信されます。
待機時間内に解消した条件では、何も送信されません。待機時間中にアラートが確認またはスヌーズされた条件や、ミュートの対象になっているスクリーンの条件でも同様です。
メール: 約2分以内に送信時刻を迎える通知をまとめて、受信者ごとに1通のメールを送信します。メールには各スクリーンと条件が一覧で記載され、ダッシュボード内のスクリーンとこの通知へのリンクが付きます。通知メールは無料です。
アラートメールとテストメールにはどれも、宛先の本人専用の配信停止リンク (List-Unsubscribe と List-Unsubscribe-Post ヘッダーとフッター) があり、サインインなしで、この通知のメールをその人にだけ止めます。unsubscribed を参照してください。
Webhook:各通知は JSON として POST されます {type: alert.opened または alert.resolved, id, notification_id, project_id, condition, screen {id, name}, since, at, event_id, severity}。id は配信 ID、since は条件が始まった時刻、at は条件が十分長く続いた(opened)または解消した(resolved)時刻、event_id はその元となるイベントのカーソルで、severity(info、warning、error)は、すべての Webhook 通知で alert.opened ではその条件の重大度、alert.resolved では info です。
キャンペーンの通知には、reach {published, current}(reach_dropped: キャンペーンの公開時に到達していたスクリーンと、通知の送信時に到達しているスクリーン)、または audience_group {kind: tag or folder, value: タグまたはフォルダー ID}(group_empty)も含まれ、メールとチャットでは同じ内容が文章で伝えられます。
min_severity または severity を設定した通知は、メール、Slack、Telegram、Teams の本文にもそれを記載します。
Teams と PagerDuty は常に実効の重大度を表示します。screen_offline の alert.resolved には、終了した障害の原因(ScreenOutage.likely_cause)を示す likely_cause も含まれ、不明な場合は null です。スクリーンの復帰後、最初のヘルスレポートが原因を判定するまで最大2分待機し、メールにも原因が記載されます。
再起動はすぐに判定されます。ネットワークまたはプラットフォームが原因の場合は、画面の復帰後に受信するヘルスレポートが必要で、Player はそれを最大 15 分後に送ることがあります。そのため、それより前に送信された通知は null になり、原因は ScreenOutage.likely_cause と screen.outage_classified に表示されます。
メールとチャットのチャネルは、5 分以内に同じ状態になり、ネットワーク、場所、モデル、Player のバージョン、またはタグを共有する 3 台以上の画面を、1 件の通知と 1 件の復旧通知にまとめます(NotificationDeliveryGroup)。ほかの画面の通知は grouped としてスキップされます。
Webhook は引き続き画面ごとに 1 件ずつ通知を送ります。event_types は、GET /api/events が返すのと同じ JSON オブジェクトとして POST されます。
すべての POST リクエストには、ScreenRig-Webhook-Id(通知ID)、ScreenRig-Event-Id(通知では配信ID、イベントではイベントカーソル。再試行しても変わらないため、重複排除に使用してください)、User-Agent、そして ScreenRig-Signature t=<unix seconds>,v1=<hex HMAC-SHA256 over "<t>.<raw body>" keyed with the secret string> が含まれます。
10秒以内に返された 2xx の応答は成功として扱われます。それ以外は、指数バックオフ(30秒から倍々に延びて最長1時間、ジッターあり)で24時間再試行された後、失敗として扱われます。メールの失敗も同様に再試行されます。
スクリーンの通知と screen.* イベントは無料です。それ以外のイベントは、listen-stream イベントと同様に従量課金の対象です。status は、failing_since 以降に成功したものがない間は failing です。72時間連続で失敗すると、通知は無効になり(disabled_reason は delivery_failures)、notification.disabled が追加されます。
NotificationActiveHours— 必須: timezone, windows発生通知が送信される時間帯:timezone で解釈されるウィンドウ(screenrig.schedule/v1)。ウィンドウが閉じている間に送信期限を迎えた通知は、次に開くまで待機し(outside hold、デフォルト)、その時点で条件がまだ成り立っていれば送信されるため、先に条件が解消すれば何も送信されません。または、スキップされます(outside drop。last_error outside_hours)。
送信済みの発生通知に対する解決通知は、時間帯の内外を問わず常に送信され、テストは時間帯を無視します。crashing は他の条件と同様に保留または破棄されます。時間帯は通知が最初に送信されるときに判断し、失敗した通知は時間帯にかかわらず通常のスケジュールで再試行されます。
時間帯の追加、変更、削除を行うと、以前の時間帯のために保留されていた通知が直ちに再判定されます。
NotificationCondition— 必須: noneスクリーンの重要な状態変化です。screen_offline:Player が接続を失いました(screen.offline、プレゼンスが途切れてから 60 秒後に記録されます)。screen.online で解消します。display_disconnected:Player がディスプレイの切断を報告しています(screen.health_changed の change が display_disconnected)。display_reconnected で解消します。running_hot:デバイスが高温のしきい値以上の温度を報告しています(temperature_high)。temperature_normal で解消します。on_battery:デバイスにバッテリーがあり、最新のヘルスレポートでバッテリーの source が none、つまり電源に接続されていない状態になっています(screen.health_changed の change が on_battery)。レポートがそれ以外の電源(plugged_in)を示すと解消します。
この通知は、スクリーンがバッテリーで動作していることを示しますが、原因は示しません。storage_full:Player のストレージがコンテンツを保持できません(screen.storage_shortfall)。screen.storage_shortfall_cleared で解消します。content_stuck:スクリーンのコンテンツ更新が retrying、failed、blocked、partial のいずれかの状態です(screen.manifest_upgrade)。後の状態がそのいずれでもなくなると解消します。not_playing:Player がコンテンツの代わりにエラーレベルのステータスを表示しています(level が error の screen.status_changed。storage_full を除く)。ステータスがエラーでなくなると解消します。loop_stalled:Player は問題を報告しておらずコンテンツも最新ですが、スクリーンのループが許す時間より長くメディアの開始がバックエンドに届いていません(再生の判定が stalled の screen.glass_changed。Screen.glass が、いつ判定し何を判定しないかを示します)。メディアの開始が届くか、スクリーンがオフラインになるなどして判定されなくなると解消します。glass_blank と glass_frozen:バックエンドが、ループ全体を覆う一連のスクリーンショットを読み取り、そのすべてが単一の無地の色(glass_blank)、またはすべて同じ画像(glass_frozen)でした(画像の判定が blank または frozen の screen.glass_changed。Screen.glass が、いつ判定し何を判定しないかを示します)。連続する 2 枚のスクリーンショットが動く画像を示すか、スクリーンが判定されなくなると解消します。
判定されなくなった画面はアラートを閉じますが、回復した様子が確認されたわけではないため、メールとチャットの通知は回復通知を送りません(解決の行は no_longer_judged としてスキップされます)。メディアの開始、または良好なスクリーンショット 2 枚の場合は送られます。crashing:プレーヤーがクラッシュまたはレンダラーの再起動を繰り返しました(screen.health_changed の change が crash_spike または renderer_restart_spike)。即座に送信され、待機時間も解決通知もありません。source_failed と source_stale は画面ではなくデータソースに関するものです。通知の screen メンバーにはソースの id と名前が入り、リンクはソースのページを指します。screen_tags はソースに一致しないため、タグで範囲を絞った通知はソースを監視しません。source_failed:ソースの更新に失敗しました(source.status_changed で state が error)。次に更新が成功したとき(state が ok)に解消されます。source_stale:ソースの最後の正常な更新が stale_after_seconds より古くなっています。これはカードのデータが期限切れになり、それに依存するページがフォールバックする時点です(source.stale)。次に更新が成功したときに解消されます。
どちらもスクリーンのアラートではありません。reach_dropped と group_empty はスクリーンではなくキャンペーン(スケジュールスタックの共有レベル)に関するもので、通知の screen メンバーにはキャンペーンの ID と名前が入り、リンク先はダッシュボードのキャンペーンのカレンダーです。キャンペーンはプロジェクトに属するため、screen_tags と audience がこれらを制限することはありません。reach_dropped: 再集計の結果、スクリーンがキャンペーンのタグやフォルダーから外れた、またはアーカイブや削除されたため、キャンペーンの到達数が最後に公開したときより減っていることが分かりました (campaign.reach_changed で current が published を下回る)。通知する減少の大きさは reach_drop で設定します。再び同じ数のスクリーンに到達すると解消されます。
新しいベースラインを設定する公開、またはキャンペーンの削除でも解消され、ページャーのインシデントと Webhook のアラートはクローズされますが、復旧メールやチャット通知は送信されません (no_longer_judged)。group_empty: キャンペーンのオーディエンスのタグまたはフォルダーに一致するスクリーンがありません (campaign.group_changed で matched 0)。タグまたはフォルダーごとに 1 件の通知 (audience_group) となり、再びスクリーンに一致するか、公開でオーディエンスから外されると (removed true) 解消されます。外された場合、ページャーのインシデントと Webhook のアラートはクローズされますが、復旧メールやチャット通知は送信されません (no_longer_judged)。
スクリーン自身のスケジュールエントリはスクリーンではなくプレイリストを対象にするため、到達数を持つのはキャンペーンだけです。
どちらもスクリーンのアラートではありません。card_data_stale はスクリーンではなくカードに関するものです。通知の screen メンバーにはカードの ID とその名前 (「天気カード」のようなカードの種類) が入り、リンクはそのカードを配置しているページのダッシュボードのページエディターで (どのページも配置していない場合は通知自身のページ)、since はそのデータが期限切れになった時刻です。
カードのデータドキュメントを、エージェント、ジョブ、または人が有効期限付き (ttl_seconds または expires_at。card data put --ttl のように) で書き込み、スクリーンがそのカードを表示している間に、更新の書き込みがないままその有効期限に達すると開き (card.data_expired)、そのスクリーンではカードが空白になります。カードのデータへの書き込みが届くと解消されます (card.data_renewed)。
データソースのドキュメントは通知されません。ソースの有効期間で期限切れになり、source_stale がそれを対象にします。どのスクリーンにも表示されていないカード、また通知の期限が来る前に更新された、削除された、またはすべてのスクリーンから外されたカードは、何も送りません。
カードのデータを削除すると、回復の通知を出さずに通知が終了します。公開によってリーチの減少が終了するのと同じです (no_longer_judged)。止まったジョブに気づけるよう、ttl_seconds は書き込む側のスケジュールに合わせた長さにしてください。データソースと同様に、カードにはスクリーンタグがありません。screen_tags に限定した通知はカードを監視せず、スクリーンのアラートでもありません。
読み取る側は、不明な値を存在しないものとして扱います。
NotificationConditions— 必須: noneNotificationDelivery— 必須: id, notification_id, event_id, event_type, state, attempts, created_atNotificationDeliveryAttempt— 必須: attempt, at, status, error, duration_msNotificationDeliveryAttemptList— 必須: itemsNotificationDeliveryGroup— 必須: id, attribute, value, count1 件の通知が代表する画面のグループ。プロジェクトの 3 台以上の画面が 5 分以内に同じ状態になり、同じ値を共有すると、メール、Slack、Teams、PagerDuty、Telegram の通知は、画面ごとではなく、それらをまとめて 1 件の通知として送ります。
あとから同じ状態になった画面が、開いているグループの構成値を持っている場合は、新しい通知なしでそのグループに加わり、最後の画面が復旧したときに 1 件の通知でグループ全体を知らせます。Webhook 通知は引き続き画面ごとに 1 件ずつ送ります。
NotificationDeliveryList— 必須: items, next_cursorNotificationDestination— 必須: noneSlack、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 としてのみ現れます。
NotificationEventTypes— 必須: noneWebhook のみ。プロジェクトイベントも、発生するたびに、Webhook が送信するのとまったく同じ形で POST されます。screen.online のような完全一致のタイプ、または screen.* のように .* で終わるプレフィックスを指定します。notification.test が配信されることはありません。
NotificationList— 必須: itemsNotificationPatch— 必須: noneNotificationProjectIDs— 必須: none組織のライブプロジェクト。各プロジェクトは1回だけ指定します。空のリストはどのプロジェクトも対象にしません。
NotificationReachDrop— 必須: nonereach_dropped 通知を送る、キャンペーンの到達数の最小の減少です。screens は失ったスクリーンの最小数(デフォルトは 1)、percent は設定されている場合に、キャンペーンの公開時に到達していたスクリーンに対する最小の割合で、減少は両方を満たす必要があります。
これより小さい減少では通知はキューに入らず、キューに入った通知も、送信時刻までに減少がこれを下回った場合はスキップされます (condition_cleared)。reach_dropped 条件がある場合のみ有効で、この条件のない通知では invalid_request になります。
NotificationRecipients— 必須: noneメールのみ。owner(通知の送信時にプロジェクトを所有しているユーザー)、またはプロジェクトのメンバーであるユーザーの user_id を指定します。メンバーではない user_id は invalid_request になります。それぞれ、確認済みのメールアドレス宛てにメールが送信されます。その後プロジェクトを離れたユーザーや、確認済みのメールアドレスがないユーザーはスキップされます。
NotificationSeverity— 必須: none通知の重大度(低い順)。発生通知には条件の重大度が付きます。通知の severity が別の指定をしていない限り、screen_offline は error、その他のすべての条件は warning です。解決通知とテストは info です。
NotificationSeverityOverrides— 必須: noneこの通知における条件から重大度へのマップ。たとえば {"not_playing": "error"}。min_severity の判定に使われ、Teams と PagerDuty がその条件に表示する重大度です。記載のない条件はデフォルトのままです。パッチでは、空のオブジェクトは null と同様にすべての上書きをクリアします。
NotificationTelegramChat— 必須: noneTelegram のみで、Telegram では必須です。投稿先のチャット:数値の ID(グループやチャンネルでは負の値)または @channelname。認証情報ではありません。
NotificationUnsubscription— 必須: user_id, atNotificationWrite— 必須: channelemail は受信者に送信し、webhook は url に署名付きで POST します。slack、teams、pagerduty、telegram は、書き込み専用の destination(telegram は telegram_chat_id も必要)を使って、障害ごと・画面ごとに 1 件のメッセージをチャットまたはページャーに投稿し、その後に復旧メッセージを送ります。PagerDuty はインシデントを開いて解決します。これらには 1 つ以上の条件が必要で、event_types は受け付けません。
OAuthAuthorization— 必須: id, client_name, client_registered, redirect_host, access, capabilities, created_at, expires_atOAuthAuthorizationRedirect— 必須: redirect_uriOAuthError— 必須: errorOAuthTokenResponse— 必須: access_token, token_type, expires_inOnboardingSiteCTA— 必須: label, path, href, atユーザーがウェブサイトでクリックしたサインアップまたはサインインのリンク。
OnboardingSiteVisit— 必須: path, atOnboardingStepName— 必須: noneエントリーフローのステップ。表示順に並んでいます。email_verified、email_gate_reached、およびアカウントのマイルストーン(agent_connected、screen_paired、playlist_with_content、activated)は、サーバーが書き込むか結合するもので、クライアントが送信する名前ではありません。
OnboardingStepRequest— 必須: journey_id, stepOnboardingValue— 必須: noneステップでユーザーが入力した内容:入力されたアドレス(email_submitted、reset_requested)、名前(signup_name_entered)、はいまたはいいえ(signup_marketing_choice)、選択されたオプションまたはフォローアップのテキスト(question_answered、question_follow_up)、招待で入力されたアドレスまたは名前。パスワード、コード、トークンは決して含まれません。空の値は存在しないものとして扱われます。
Operation— 必須: id, kind, state, created_at, updated_atOperationAccepted— 必須: id, release_id, operation_idOrganizationAdminInvitation— 必須: id, kind, delivery, status, recipient_email, organization_id, created_at, expires_atOrganizationAdminInvitationCreate— 必須: emailsOrganizationAdminInvitationCreated— 必須: invitationsOrganizationAdminInvitationList— 必須: items, next_cursorOrganizationAdmins— 必須: admins, candidates, revisionOrganizationAdminsUpdate— 必須: admin_user_idsOrganizationBillingUsage— 必須:org_id, period, pool, allowance, stored_bytes, screens, projects, next_cursorOrganizationDomainChallenge— 必須: organization_id, challenge_id, domain, name, value, expires_atOrganizationDomainInput— 必須: domainOrganizationDomainProof— 必須: challenge_idOrganizationDomainRemoved— 必須: statusOrganizationGuestPolicy— 必須: mode, domains適用中の組織のゲストポリシー。ゲストとは、ホーム組織が別の組織であるか、ホーム組織を持たないユーザーのことです。ポリシーによって、すでにメンバーであるユーザーが削除されることはありません。
OrganizationGuestPolicyDomain— 必須: none検証済みメールアドレスの @ の後に現れる、2つ以上のラベルを持つ小文字の DNS 名(国際化ドメイン名は xn-- 形式)。
OrganizationGuestPolicyMode— 必須: noneallow はすべてのゲストを受け入れます。domains は検証済みメールアドレスが一覧のドメインのいずれかにあるゲストを受け入れます(完全一致)。none はゲストを一切受け入れません。ホームメンバーがゲストになることはありません。
OrganizationGuestPolicyResult— 必須: mode, domains, outside_policy現在適用中のゲストポリシーと、そのポリシーが受け入れないユーザーの数です。
OrganizationGuestPolicyUpdate— 必須: modeOrganizationLibraryUpdate— 必須: project_idOrganizationList— 必須: organizations, new_organization_allowedOrganizationMemberInvitation— 必須: id, kind, delivery, status, recipient_email, organization_id, created_at, expires_atOrganizationMemberInvitationCreate— 必須: emailsOrganizationMemberInvitationCreated— 必須: invitationsOrganizationMemberInvitationList— 必須: items, next_cursorOrganizationNotificationList— 必須: itemsOrganizationNotificationPatch— 必須: noneNotificationPatch と project_ids。
OrganizationNotificationWrite— 必須: channelNotificationWrite と、通知の対象となるプロジェクト。project_ids を省略するか null にすると、後から追加されるプロジェクトを含む組織のすべてのプロジェクトが対象になります。リストを指定すると、そのプロジェクトだけが対象になります。各プロジェクトは組織のライブプロジェクトである必要があります。
OrganizationPayments— 必須: organization_id, available, local_simulation, purchasesOrganizationPeople— 必須: projects, people, truncatedOrganizationPeopleMembership— 必須: project_id, role, can_approveOrganizationPeoplePerson— 必須: user_id, display_name, email, admin, member, managed, outside_guest_policy, projectsOrganizationPeopleProject— 必須: project_id, nameOrganizationPerson— 必須: user_id, display_name, emailOrganizationPersonal— 必須: none組織は1つのプロジェクトのラッパーに過ぎません:ライブプロジェクトは1つだけ、検証済みドメインなし、組織プランなし(現在も予定もなし)、そのプロジェクトのオーナー以外に管理者なし。ダッシュボードは組織レベルを非表示にします。
OrganizationProject— 必須: id, name, organization_id, status, screen_countOrganizationProjectAccess— 必須: project_id, joinedOrganizationProjectAccessChange— 必須: project_id, user_id, accessOrganizationProjectAccessRequest— 必須: changesOrganizationProjectAccessResult— 必須: changesOrganizationProjectOwner— 必須: project_id, owner_user_idOrganizationProjectOwnerUpdate— 必須: user_idOrganizationProjectPage— 必須: projects, next_cursorOrganizationRename— 必須: nameOrganizationSummary— 必須: id, name, personalOrganizationView— 必須: id, name, personal, revision, admin, home, project_count, plan_id, free, plan_required, education_eligible, education_eligibility_sourcePageDataCondition— 必須: keyカードデータの述語は協定世界時の前に評価されます。データがない場合や期限切れの場合は一致しません。ページは通常の時間制限も守ります。ホスト機能 page.conditions が必要です。古いホストではページが無効化されます。
PageFailure— 必須: page_id, code, atこのスクリーンの最新の受理済みplayback.page_failedレポート。プレーヤーが報告するまで存在しません。読み取り専用のプロジェクトヘルスメタデータで、スクリーンのリビジョンやマニフェスト権限は変更しません。
PageVisibility— 必須: enabledオプションのページ表示スケジュール。advanceの兄弟であり、screenrig.canvas/v1の一部ではありません。再生オーケストレーションを説明し、ジオメトリではありません。サーバーはこれらのルールを検証しデータとして保持します。プレーヤーはマニフェストルートで公開されたスクリーンのタイムゾーンに対して評価します。
ページは enabled が true、現在時刻が [from, until) 内、windows がなければ有効、あるいは少なくとも1つの window が一致すると有効です。すべてのプレイリストは visibility フィールドなしのページを最低1つ保持し、有効なコンテンツが常に存在します。評価ルールの適合ベクトルは packages/schedule-contract の screenrig.schedule/v1 ファミリーです。
PageVisibilityWindow— 必須: days1つの繰り返し市民時間ウィンドウ。startとendを省略すると1日全体を選択。endがstart以下の場合、ウィンドウは日跨ぎでstartの日が所有し、例:金曜22:00から02:00は土曜朝まで。
PairScreen— 必須: codePairingClaim— 必須: screen, public_urlPairingClaimedEvent— 必須: type, completion_noncePairingComplete— 必須: completion_noncePairingCompletion— 必須: screen, public_urlPairingSession— 必須: code, expires_atPasskeyAdditionProof— 必須: authorization_ceremony_id, authorization_credentialPlaybackAggregate— 必須: screen_id, media_id, filename, day, play_count, last_page_id, last_manifest_revision, first_started_at, last_started_atPlaybackAggregateCsv— 必須: noneRFC 4180 の CSV(CRLF 区切り、UTF-8、ヘッダー行 screen_id,media_id,filename,primitive,day,play_count,last_page_id,last_manifest_revision,first_started_at,last_started_at 付き)。時刻は RFC 3339 UTC です。=、+、-、@、タブ、または復帰で始まるセルには先頭にシングルクォートを付け、スプレッドシートで評価されないようにします。
Content-Disposition は playback-aggregates.csv と命名。ヘッダー後に失敗したストリームは接続で中止されます。
PlaybackAggregateList— 必須: itemsPlaybackApplicationStartedContext— 必須: manifest_revision, page_id, primitive_id, release_idPlaybackApplicationStartedReport— 必須: severity, code, contextページ上のアプリケーションプリミティブの1つの可視開始:アプリケーションがガラス上で可視になり、Playerコントローラーがページ表示ごとに1回報告します。アプリ内容は自身の可視性を報告せず、パッケージダウンロードは開始ではありません。
送信スクリーンは認証済み。ページ、プリミティブ、リリース、マニフェストの識別は観測報告であり、コンテンツや権限のチェックはありません。1 つの耐久性のある再生記録を保存します(GET /api/playback/plays)。プロジェクト所有のリリース/アプリケーションのハウスキーピングタイムスタンプは回復可能なバッチ投影で追跡されます。
通常の再生確認はオプションのクレジット残高ヘッダーを省略します。アプリ起動の1日集計行はありません。再生記録が証拠です。
PlaybackCompleteness— 必須: day_from, day_to, measured_plays, missing_plays, completeness, days, gaps, truncatedday_from から day_to まで(両端を含む)の UTC の日について、スクリーンが行った再生のうちバックエンドに届いた数を示します。measured_plays と missing_plays は days の合計で、completeness は measured_plays を両者の合計で割った値です(両方が 0 の場合は null)。days には、計測された再生または欠落した再生がある日だけが古い順に並びます。gaps には、再生番号の欠番が新しい順に並びます。
番号のない再生(古いプレーヤー、再生番号の導入前に保存された再生開始)は、ここに示す数値のいずれにも含まれません。
PlaybackCompletenessDay— 必須: day, measured_plays, missing_plays, completenessUTC の受信日1日分の再生番号の状況です。
PlaybackGap— 必須: screen_id, day, from, to, missing_playsプレーヤーが飛ばした再生番号の連続範囲です。その数だけ再生が行われたものの、届いていません。
PlaybackGrant— 必須: noneバックエンドが許可した再生ハンドシェイク:mintのPlaybackHandshakeとこのバックエンドがサポートするものの交差部分で、セッションに署名済みです。交差がなければセッションから省略され、ハンドシェイクなしで発行されたセッションは変更されません。プレイヤーはmanifest_versionsに3が含まれる場合のみ/screen/manifestを使用します。
PlaybackHandshake— 必須: noneオプションの再生ハンドシェイク。Playerがmintで宣言します。これは動作を選択するヒントであり、認可ではありません。未知のメンバーや型の違うエントリーは無視され、オブジェクトでない値は何も交渉しません。mint応答はPlaybackGrantとしてサポートされる交差を反映します。adslot-v1はペアリング済みセッションにのみ付与されます。
PlaybackMediaStartedContext— 必須: media_id, manifest_revision, page_id, primitivePlaybackMediaStartedReport— 必須: severity, code, contextページ上の画像または動画プリミティブの1つの可視開始。Playerはメディアのページ表示ごとに1回これを送信します。画像は動画と同様です。1つの表示内のループは再開始ではありません。送信スクリーンは認証済みで、メディア、ページ、プリミティブ、マニフェストIDは内容や権限チェックなしの観測です。
成功は耐久性のある生データ挿入を確認します。日次カウントは回復可能なバッチ投影で続きます。通常の再生確認はオプションのクレジット残高ヘッダーを省略します。
PlaybackPageFailedContext— 必須: page_id, codePlaybackPageFailedReport— 必須: severity, code, context1ページが準備できなかったことを報告します。受理されるとサーバーは Screen.last_page_failure を置き換え、同じトランザクション内で永続的なプロジェクト専用の playback.page_failed イベントを追加します。スクリーンのリビジョンやマニフェスト権限は変更しません。
PlaybackPlay— 必須: screen_id, page_id, media_id, primitive, received_at画像、動画、アプリケーションの1つの耐久性のあるプレーヤー報告開始。
セッションはスクリーンとプロジェクトを認証します。アイテム、ページ、マニフェスト、プリミティブ、リリースの識別は観測報告であり、コンテンツアクセスは許可しません。playlist_id と playlist_revision はオプションのメタデータで、対応するスクリーンマニフェストから非同期に補完されます。メタデータがない場合は欠落のままです。
アプリケーション開始は空の media_id と primitive を持つ release_id を含みます。primitive_id と started_at は Player が報告した場合のみ存在し、started_at は [received_at - 24時間, received_at + 5分] に制限されます。
JSON ページには、スクリーン、メディア、プレイリスト、アプリケーションの名前も、ページが返される時に読み取られる表示用テキストとして含まれます。CSV エクスポートと xlsx、pdf のレポートには、これらの名前は含まれません。
PlaybackPlayCsv— 必須: noneRFC 4180 の CSV(CRLF 区切り、UTF-8、ヘッダー行 screen_id,playlist_id,page_id,primitive_id,media_id,primitive,started_at,received_at,manifest_revision,playlist_revision の固定順)。値がない場合は空セルです。時刻は RFC 3339 UTC です。=、+、-、@、タブ、または復帰で始まるセルには先頭にシングルクォートを付けます。
Content-Disposition は playback-plays.csv と命名。完全なエクスポートは最後の CRLF レコード後に終了しトレーラーなし。ヘッダー後に失敗したストリームは接続で中止(クライアントはトランスポートエラーを受け、正常終了はしません)されるため、最後の received_at から再試行します。
PlaybackPlayList— 必須: items, next_cursorPlaybackTotals— 必須: by, day_from, day_to, truncatedday_fromからday_toまでのUTC日単位の再生合計。days(by=day)、screens(by=screen)、media(by=media)、screen_days(by=screen_day、スクリーンごとにグループ化、ランク順、日昇順)のいずれか1つがあり、リクエストで指定されたもの。truncatedはランキングで一部のキーが切り捨てられた場合にtrue。
PlaybackTotalsDay— 必須: day, play_count, first_started_at, last_started_atPlaybackTotalsMedia— 必須: media_id, play_count, first_started_at, last_started_atPlaybackTotalsScreen— 必須: screen_id, play_count, first_started_at, last_started_atPlaybackTotalsScreenDay— 必須: screen_id, day, play_countPlaybackVideoStartedContext— 必須: media_id, manifest_revision, page_idPlaybackVideoStartedReport— 必須: severity, code, context1つの可視ビデオ開始を報告します。これはplayback.media_startedの原始的なビデオと同じ日次集計を使います。開始ごとに1件送信してください。両方送信すると開始が2回カウントされます。画像とビデオ両方を報告する場合はplayback.media_startedを使ってください。
PlayerBrowserIdentity— 必須: kind, version, pwaブラウザエンジンとブラウザプレーヤーのインストールモード(ネイティブシェル含む)。不正なオプションのブラウザヒントは拒否せずに破棄されます。
PlayerCardsIdentity— 必須: noneプレーヤーが搭載する組み込みカードライブラリ(docs/player-compatibility.md §3.1):ライブラリの CalVer と各カードの semver、メジャーは画面がレンダリングするカード配置を示します。プレーヤーと共に画面に保存されます。不正なエントリーは1つずつ破棄され、400 にはなりません。
PlayerIdentity— 必須: kindPlayer の自己識別は、3つのミントルートでのみ送信されます(docs/player-compatibility.md §3.1)。これはヒントであり認証ではなく、ネイティブ証明には含まれません。寛容に読み取られます:不明なメンバーは無視され、無効なオプションメンバーは単独で破棄され、オブジェクトでないか有効な種類がない Player は何も宣言しません。
400は決して返しません。ペアリング済みのミントはスクリーンに保存し、運営者のフリートヒストグラム用です。
PlayerPublicKey— 必須: kty, crv, xPlayerShellIdentity— 必須: kindWeb Player が動作するシェル。互換トークンは記録され、付与されません。無効な種類はシェルを破棄します。
Playlist— 必須: id, name, revision, pagesPlaylistAdvance— 必須: nonePlaylistAdvanceWrite— 必須: nonePlaylistApplicationAdvance— 必須: mode, max_msPlaylistApplicationPrimitive— 必須: id, primitive, release_id, rect, layer, content_fitPlaylistApplicationPrimitiveWrite— 必須: id, primitive, release_id, layer, content_fitPlaylistApproval— 必須: state, review_idこのプレイリストのレビューが保留中の間に存在します。プレイリスト自体はライブ(承認済み)バージョンです。
PlaylistAudio— 必須: tracks, loop, volumeデフォルトを埋めた保存済みプレイリストサウンドトラック。
PlaylistAudioCue— 必須: track通常ページのオプションのサウンドトラックヒント。ページが現在のものになると、Playerは既に再生中でなければ名前付きトラックの開始から切り替えます。restart trueはそれでも再起動します。シーケンスはそのトラックから続きます。
Player はヒントを無視する場合があります。track はプレイリストのオーディオ内のトラック ID を指定する必要があります。プレイリストオーディオなしのキューは invalid_request です。広告スロットページでは許可されません。advance モードの audio_end を持つページはキューされたトラックの終了時に終了します。これはこのキューが必要です。
PlaylistAudioEndAdvance— 必須: mode, max_msPlaylistAudioEndAdvanceWrite— 必須: modeページはサウンドトラックのトラックが終了すると終わります。ページはaudio_cueを持ち、プレイリストはオーディオサウンドトラックを持つ必要があります(docs/playlist-audio.md)。
PlaylistAudioTrack— 必須: id, media_idPlaylistAudioWrite— 必須: tracksオプションのプレイリストサウンドトラック:ページが変わる間連続再生される順序付き準備済みオーディオ(MP3)メディア(docs/playlist-audio.md)。ページ変更は停止や再起動をしません。PUTはプレイリスト全体を置き換えるため、audioを省略するとサウンドトラックが削除されます。
PlaylistCanvas— 必須: width, height, backgroundPlaylistCardPrimitive— 必須: id, primitive, card, major, params, rect, layer, content_fit, controllerPlaylistCardPrimitiveWrite— 必須: id, primitive, card, layout, content_fitプレーヤーがネイティブに描画する組み込みカード(時計、天気、メニューボード、ティッカー、KPI タイルなど、screenrig.cards.contract/v1 のベンダーカードカタログ)。レイアウトは次のいずれかです:フル(全体)、フリー(任意の位置とレイヤー)、センター(900×420)、ワイド(左右30、上下80のインセット)、ヘッダー(上端全体、高さ80)、フッター(下端全体、高さ80)、コーナー(270 四方)、チップ(240×70)、ストリップ(端全体、高さ120)。1080p デザイン単位で、min(キャンバス幅、高さ)/1080 でスケーリングします。コーナーとチップはアンカーコーナー(左上、右上、左下、右下)を、ストリップはアンカーエッジ(上、下、左、右)を指定します。他のレイアウトは指定しません。
無料を除き、サーバーはキャンバスまたはフレームディスプレイの cover から rect と layer を派生します。省略するか、正確に派生したものを送信してください。
ページは最大で、フル、センターまたはワイドカード各1枚、各コーナーにコーナーカードまたはチップカード各1枚、各辺にストリップ1枚(プレゼンス付きカードは通常ストリップと共有可能)を保持します。ヘッダーは上辺の通常ストリップ枠を使い、フッターは下辺の枠を使うため、各辺は最大1枚で、プレゼンス付きカードは共有可能です。
ストリップを保持する角や欠けた部分は120を超えて移動し、ヘッダーやフッターは80を超えて移動します。
フォーマット付きプレイリストでは、displaysはレイアウトが派生するフレームです(fullはフレーム、cornerはフレームの角;freeはdisplaysを拒否)、カードスケールはタイルのmin(幅、高さ) / 1080 = 1でフレームから派生しません。2枚のカードがスロットを競合または互いのストリップを越えて移動するのは、フレームが同じdisplayを共有する場合のみです(displaysなしはすべてのdisplay)。
カードのティアによって使用できるレイアウトが決まります(GET /api/card-types)。core はレイアウト9種類すべてに対応し、fullscreen は full に対応します。params には配置の静的なプロパティ(テーマ、場所、タイトル、列の定義)が入り、再公開したときにのみ変わります。
params 内の文字列には {screen.name}、{screen.timezone}、{screen.field.NAME} を含めることができ、location パラメーターには文字列 {screen.location} を指定できます。バックエンドがスクリーンごとにこれらを展開するため、1つのプレイリストで各スクリーンにそれぞれの値が表示されます。data には、カードの動的なプロパティ(メニューのセクション、ティッカーの項目、KPI タイル)を保持するカードデータドキュメント(GET/PUT /api/card-data/{key})の名前を指定します。エージェントは再公開せずにこれを変更できます。data キー内の {screen.field.NAME} はスクリーンごとのドキュメントを読み取ります(例: menu-{screen.field.store_number})。
data がある場合、params は動的プロパティを持ちません。ない場合、params は全設定を持ちます。params 内の文字列で media: で始まるものはメディア参照で、media:<id> はこのプロジェクトの準備済み画像を指し、カードが描画します(spotlight people[].photo、product-grid products[].photo)。カードは画像 URL を使用しません。
公開は不明なカードや主要かつ無効なパラメータ(card_invalid)、カードが持てないレイアウト、アンカー、矩形、レイヤー(card_layout_invalid)、ページ上で1箇所を主張するカード(card_layout_conflict)、プロジェクトに準備済み画像がないメディア参照(card_media_invalid)、カードが拒否するバウンドキーの保存ドキュメント(card_data_invalid)を拒否します。
配置を表示するスクリーンはそのメディアを許可され、ライブ書き込みは名前を指定した保留中のメディアを承認します。by:id セレクターと同様。サードパーティのフィード(天気)を持つカードは、サーバーが静的パラメータから導出したキーから読み取ります。
PlaylistCreateRequest— 必須: noneプレイリストのページ、作成元のテンプレート、または組み込みのスターター。
PlaylistDisplays— 必須: noneフォーマット付きプレイリストのみ。プリミティブが対象とするディスプレイ:1..format.displays の範囲で、壁のタイルの長方形を埋める、昇順で重複のない1始まりのディスプレイ番号。例:[2]、[1, 2]、または4列のグリッドでは [2, 3, 6, 7]。行または列では連続します。
サーバーはrectをそれらのタイルの外接矩形として導出します。rectは省略されるか、導出された値とまったく同じです。保存され、読み取り時に返されます。
PlaylistDurationAdvance— 必須: mode, after_msPlaylistExpandRequest— 必須: nonePlaylistExpanded— 必須: pagesPlaylistFormat— 必須: noneプレイリストが作成される対象:ビデオウォール (PlaylistWallFormat) または領域 (PlaylistRegionFormat) のどちらか一方で、両方ではありません。フォーマットのないプレイリストは、ページとして任意のスクリーンにバインドされる通常のプレイリストです。
PlaylistFromTemplate— 必須: playlist_idテンプレートからプレイリストを作成します。現在のページに値を入力し、すべてのプレイリストのルールで検証します。メディアの値は適切な種類の準備完了のメディア、アドレスの値は http または https のアドレスである必要があります。
PlaylistFromTemplateWrite— 必須: name, from_templateテンプレートからプレイリストを作成します。name と from_template のみを送ります。
PlaylistIframePrimitive— 必須: id, primitive, src, title, rect, layer, content_fit, controllerPlaylistIframePrimitiveWrite— 必須: id, primitive, src, title, layer, content_fitPlaylistImagePrimitive— 必須: id, primitive, selector, resolved_media, rect, layer, content_fit, controllerPlaylistImagePrimitiveWrite— 必須: id, primitive, selector, layer, content_fitPlaylistInstance— 必須: id, name, revision, template_revision, outdatedPlaylistInstanceList— 必須: itemsPlaylistIntrinsicSize— 必須: width, heightPlaylistList— 必須: itemsPlaylistMediaEndAdvance— 必須: mode, max_msPlaylistMediaEndAdvanceWrite— 必須: modePlaylistMediaSelector— 必須: nonePlaylistMediaSelectorByAll— 必須: byPlaylistMediaSelectorByFolder— 必須: by, folder_idプリミティブの直下のメディアフォルダー内の準備済みファイル(GET /api/media-folders)、サブフォルダーのものではなく、by:all のように順序付けと間隔調整されています。タグのように、フォルダーはセレクター解決時に毎回読み込まれるため、ファイルの移動は次のループから再生画面の表示を変えます。
playlistの書き込みには、プロジェクト内にフォルダーが存在する必要があります。空でも構いません。プリミティブの準備済みファイルがないか、後で削除されたフォルダーは何にも一致しません。プレーヤーはby:allとして受け取り、サーバーがフォルダーを解決します。
PlaylistMediaSelectorByID— 必須: by, media_idPlaylistMediaSelectorByIDs— 必須: by, media_idsPlaylistMediaSelectorByTag— 必須: byPlaylistPage— 必須: id, canvas, transition, advance, primitivesPlaylistPageAdd— 必須: pagePlaylistPageStructure— 必須: id1ページと、個人が変更する2つのページ設定。advanceは存在時にページのadvanceを置き換え、省略時は維持;広告スロットページはなし。visibilityはオブジェクト時にページのvisibilityを置き換え、nullで削除、省略時は維持。
enabled true のみを設定する可視性オブジェクトは無効操作で拒否されます。ルールを削除するには null を送信してください。
PlaylistPageV2— 必須: nonePlaylistPageWrite— 必須: id, canvas, transition, advance, primitivesPlaylistPageWriteV2— 必須: nonePlaylistPatch— 必須: none省略されたフィールドは保持されます。供給されたname、pages、audio、formatはそれらのトップレベル値を置き換えます。audioまたはformatがnullの場合は削除します。pagesが省略された場合は供給されたformatと保存されたpagesを照合し、formatが省略された場合は供給されたpagesと保存されたformatを照合します。identity、revision、comments、timestampsはここで設定できません。
コメントは独自のエンドポイントを持ちます。
PlaylistPrimitive— 必須: nonePlaylistPrimitiveLocked— 必須: noneロックされたプリミティブは、テンプレートの固定ブランドコンテンツ(ロゴ、背景、レイアウト、テーマ)です。追加、削除、移動、編集、ロックの解除ができるのは、プロジェクトのオーナーまたは承認できるメンバーだけで、テンプレートから作成したプレイリストでもロックされたままになります。省略するとロックされません。ロックされたプリミティブはフィールドを読み取れません。
それ以外の人による書き込みは primitive_locked(403)となり、Propose では確認依頼になります。
PlaylistPrimitiveWrite— 必須: nonePlaylistRect— 必須: x, y, width, heightPlaylistRegionFormat— 必須: region, orientationディスプレイの一辺に沿ってページの上に描かれるストリップ。header は上端、footer は下端、side は右端で全高です。orientation は、そのストリップの対象となるディスプレイの向きで、回転後の視聴者から見た向きです。
すべてのページは同じキャンバス (幅と高さ) を持ちます。header または footer は縦より横が長く、side は横より縦が長く、長辺は短辺の 2 倍以上でなければなりません。そうでなければ pages[i].canvas で 400 invalid_request になります。
プレイリストは画像とカードのプリミティブのみを含み (video、stream、iframe、application、広告スロットのページは拒否されます)、サウンドトラックを持ちません (音声は拒否されます)。プリミティブはディスプレイを指定しません。
領域プレイリストは、スクリーンのデフォルト、フォルダーのデフォルト、テイクオーバーにはなりません。covers にその領域を設定したスケジュールエントリまたはキャンペーンとして再生されます (covers が main の場合とフルページの場合は拒否されます)。covers が header、footer、side の場合は、その領域の領域プレイリストが必要です。
ストリップがターゲットとするどのディスプレイにもレイアウトされない場合、エントリまたはキャンペーンは 409 playlist_format_mismatch で拒否されます。ストリップは、その向きのディスプレイにレイアウトされます。判定は、Player が回転後に報告するサーフェス (報告がない場合はスクリーンのウォールの回転) で行い、ストリップがディスプレイの半分以下しか覆わない場合に限られます (header または footer は高さ、side は幅)。
キャンペーンが拒否されるのは、そのオーディエンスのどのスクリーンにもレイアウトされない場合だけです。混在するオーディエンスのうち、レイアウトされないスクリーンでは、キャンペーンはそのスクリーンのスタックから外れ、その説明は region_not_laid_out になります。
プレイリストを領域の内外へ、または別の領域へ移すフォーマットの変更は、スクリーンのスケジュール、テイクオーバー、デフォルト、フォルダーのデフォルト、キャンペーンのいずれかがそのプレイリストを使用している間、409 resource_conflict で拒否されます。
PlaylistResolvedMedia— 必須: media_id, intrinsic_sizePlaylistRevision— 必須: revision, created_at, change, name, page_count, currentOne stored revision of a playlist. change says what made it: created (the first revision), edited (a replace, patch, structure change or applied review), promoted (a copy of an earlier revision, named by restored_from), or baseline (the revision the playlist held when its history began, before any write recorded one).
このリーダーが知らない値は edited として扱われます。
PlaylistRevisionAuthor— 必須: type, nameリビジョンを作成した人。プロジェクトのイベントログでの呼び名で示されます。書き込みが誰も示さなかった場合(ベースラインやシステムの作業)は含まれません。
PlaylistRevisionDetail— 必須: revision, playlistPlaylistRevisionList— 必須: itemsPlaylistStarterWrite— 必須: starter組み込みの「緊急のお知らせ」テンプレート(見出しとメッセージ)を追加します。starter のみを送り、必要なら name も送ります。
PlaylistStinger— 必須: noneトランジション専用スティンガーカード(メジャー1)。すべてのメンバーは任意で、デフォルトは合成ランタイム配置にあります。hang_ms はデフォルト1000で、トランジション duration_ms の最大60%です(サーバーで検証)。logo はこのプロジェクトの準備済み画像名で、カードメディアの権限パスを使用します。
PlaylistStreamPrimitive— 必須: id, primitive, sources, fallback_media_id, rect, layer, content_fit, muted, controller, resolved_mediaPlaylistStreamPrimitiveWrite— 必須: id, primitive, sources, fallback_media_id, layer, content_fitPlaylistStructurePatch— 必須: noneプレイリストの構造で、ページの表示内容は含みません(patchPlaylistStructure)。省略されたメンバーは保持されます。指定された名前は置き換えられます。指定された pages はプレイリストが保持するページの完全な新しい順序です:省略された保存済みページは削除されます。
ページ内容(キャンバス、トランジション、audio_cue、プリミティブ、コメント)とサウンドトラックは送信できず、常に保存されたものです。
PlaylistTemplateField— 必須: name, label, typeテンプレートが受け取る値です。ページはこれを {field.NAME} として読み取ります。カードの params(テキストとアドレスのフィールド)、画像または動画のセレクターの media_id(メディアフィールド)、iframe の src 全体(アドレスフィールド)です。
PlaylistTemplateFields— 必須: noneフィールドを宣言するとプレイリストはテンプレートになります。ページが読み取るすべてのトークンは正しい型の宣言済みフィールドを指し、すべてのフィールドが読み取られる必要があります。フィールドのないプレイリストはトークンを読み取りません。テンプレートは画面に表示されません(playlist_is_template)。fields を含まない PUT はフィールドを保持し、null または空の配列は削除します。
PlaylistTransition— 必須: type, duration_msページトランジション。typeとduration_msは両方必須で、OpenAPIはデフォルトを設定しません。スワイプ作成例はduration_ms 600を使用しますが、これはスキーマのデフォルト値ではありません。
PlaylistV2— 必須: id, name, revision, pagesPlaylistV2List— 必須: itemsPlaylistValuesChange— 必須: valuesPlaylistVideoPrimitive— 必須: id, primitive, selector, resolved_media, muted, loop, rect, layer, content_fit, controllerPlaylistVideoPrimitiveWrite— 必須: id, primitive, selector, layer, content_fitPlaylistWallFormat— 必須: displays, arrangement, orientationプレイリストが作成されるビデオウォール:2〜12台のディスプレイ、1920 x 1080(横向き)または1080 x 1920(縦向き)のタイルを、行、列、またはグリッドに配置します。行配置は1行でディスプレイが列に、列配置は1列でディスプレイが行に並び、グリッドはcolumns列とdisplays / columns行になります。
ディスプレイ n は、列 (n - 1) mod columns、行 floor((n - 1) / columns) に位置します:左から右、次に上から下の順です。
幅w、高さhのタイルをc列r行に並べたキャンバスは(c * w, r * h)です。例:3台の横向きディスプレイの行は5760 x 1080、2台の縦向きディスプレイの列は1080 x 3840、12台の横向きディスプレイの4列グリッドは7680 x 3240。
すべての通常ページのキャンバス幅と高さは正確に一致する必要があります。そうでない場合、pages[i].canvasで400 invalid_requestになります。そのようなプレイリストのカードスケールはタイルの最小値(幅、高さ)/1080 = 1です。
フォーマット付きプレイリストは、壁の形状(ディスプレイ数 = 出力数、配置、列数、回転が 90 度または 270 度の場合に限り縦向き)が同じスクリーンにのみバインドできます。そうでなければ 409 playlist_format_mismatch エラーになります:割り当て、フリート割り当て、スケジュールエントリ、テイクオーバー。フォーマットなしプレイリストは任意のスクリーンにバインドされます。
PlaylistWarning— 必須: code, message, page_id, primitive_id書き込みの作成者が対処すべき事項。書き込みは内容を保存しており、警告で失敗することはありません。プレイリストの書き込みはプレイリストに、スクリーンの書き込み(updateScreen、ダッシュボードのフィールド、位置情報、プレイリストのルート)はスクリーンに、フリートの割り当ては結果ページに、警告を付けて応答します。
2つのコード。iframe_framing_refused:iframe プリミティブ(その src または fallback_src)が指定する公開 https ページが、X-Frame-Options(DENY、SAMEORIGIN、または廃止された ALLOW-FROM)、または Player ウェブアプリのオリジンを許可しない Content-Security-Policy の frame-ancestors リストを送信している場合。
Player ウェブアプリと macOS、Samsung Tizen、LG webOS、BrightSign の Player はページをフレーム化するため表示できません。Android、Linux、Windows の Player は iframe ページを全画面で開くため影響を受けません。
バックエンドは書き込み確定後に応答ヘッダーを読み取り、1 回の書き込みで最大 8 件の異なるページを確認します。時間内に接続できないページやエラーを返すページは報告されません。各ページは最初に使用するプリミティブを示して 1 回表示され、プロジェクトログに playlist.iframe_framing_refused イベント(警告)が追加されます。
スクリーントークンを含む src は1つのページではなく、読み取られません。screen_fact_missing:書き込みが反映されるスクリーンに、iframe の src またはアプリケーションの params がスクリーントークン({screen.field.NAME}、{screen.location.…}、{screen.timezone})を通じて読み取る値がない、または持っている値を埋め込むとマニフェストが拒否するもの(2048文字を超えるアドレス、. または .. のパスセグメント、起動 URL 内で4096文字を超える起動パラメーター)になる場合、スクリーンが値を持つまで、そのプリミティブはそのスクリーンのマニフェストから除外されます(マニフェスト診断 screen_fact_missing または screen_fact_invalid)。
1回の書き込みにつき1つの警告が、該当する最初のプリミティブ、リストされたどのスクリーンも埋められなかったトークン(最大64個)、影響を受ける最初の20件のスクリーン、およびその総数を示します。
プレイリストの書き込み(置換、パッチ、構造変更、プロモート、または適用されたレビュー)は、そのプレイリストを表示するスクリーンに反映されます。スクリーンの書き込みは、そのスクリーン、つまり表示中のプレイリストと割り当てられたばかりのプレイリストに反映されます。フリートの割り当ては、そのページのスクリーンに反映されます。スクリーン変更の承認は、指定されたスクリーンに反映されます。
PlaylistWrite— 必須: name, pagesPlaylistWriteV2— 必須: name, pagesPrimitiveEnter— 必須: typeオプションのオブジェクトエンター。プレイリスト書き込みとランタイムマニフェストはこのオブジェクトをそのまま使用します。内部でsnake_caseの名前変更はありません。省略は静止時の完全不透明度を意味します。オプションの整数staggerは0から8で、共有の500ms遅延後にstagger*120msの開始遅延を加えます。省略または0は今日の開始です。期間はscreenrig.canvas/v1の名前付き定数です。
PrimitiveMotion— 必須: noneオプションの永続的なオブジェクトモーション。プレイリスト書き込みとランタイムマニフェストはこのオブジェクトをそのまま使用します。内部でsnake_caseの名前変更はありません。省略はエンター後にプリミティブが静止したままであることを意味します。
未補間でコピー。spin と drift は画像とビデオのみ適用。アプリケーションと iframe の spin または drift はサーバーが拒否(motion_not_allowed_for_primitive)。path は画像、ビデオ、アプリケーション、iframe に適用。この制限は OpenAPI if/then としてはエンコードされません。
PrimitiveMotionDrift— 必須: type, zoom, direction, speedclipRect 中心での連続ゆっくりスケールとゆっくり移動の組み合わせ。画像とビデオのみ。サーバーはアプリケーションと iframe のドリフトを拒否します。ピンポン動作でジャンプしません。
PrimitiveMotionPath— 必須: type, points, rate作成済みの矩形の後にキャンバス単位の経路点に沿った平行移動。loopは省略時にloopがデフォルト。画像、ビデオ、アプリケーション、iframeで有効。
PrimitiveMotionPoint— 必須: x, yPrimitiveMotionSpin— 必須: type, direction, speedclipRect 中心での連続回転。画像とビデオのみ。サーバーはアプリケーションと iframe のスピンを拒否します。
Problem— 必須: errors, instance, request_idPlayer向けのランタイム、コンテンツ、プローブルート(RuntimeProblem)を除くすべてのルートが返す問題ドキュメント。エラー自体はerrors[0]で、ステータス、コード、タイプ、タイトル、詳細、ヒントを含みます。ドキュメントメンバーのみがトップレベルに残ります。分岐はerrors[0].codeで行い、詳細やヒント(散文)は使いません。
責任があるリクエストフィールドには errors[0].field が追加されます。さらに責任があるフィールドごとに、そのフィールドの詳細を持つエントリーが追加されます。
ProblemError— 必須: status, code, type, title, detail, hint問題ドキュメントの1つのエラー。これ以降のメンバーはこのエラーをさらに説明します(例:not_ready依存)。
ProblemField— 必須: field, code, detailProject— 必須: id, revision, status, email, used_bytes, reserved_bytes, screen_count, content_limit_bytes, screen_limit, credit_remaining, created_at, updated_at, nameProjectBillingUsage— 必須:period, usage, stored_bytes, allowanceProjectCapabilities— 必須: project_id, plan_id, features, feature_revision, capabilities, media_video_bytes, plan_features, limitsProjectContext— 必須: project, organizationProjectContextList— 必須: projectsProjectCreate— 必須: nameProjectDeleteConfirmation— 必須: name, revisionProjectDeletionPreview— 必須: project, organization, devices, allowedProjectFeatures— 必須: advertiser, screensProjectMove— 必須: organization_idProjectMoveDestinations— 必須: organizationsProjectName— 必須: noneトリムされた印刷可能なプロジェクト名。制御文字、URLのようなテキスト、@、www.、://を拒否します。
ProjectOwnerTransfer— 必須: user_idProjectPatch— 必須: nameProjectPlanFeature— 必須: id, enabled, required_planProjectPlanFeatures— 必須: featuresets, featuresプロジェクトが持つプラン機能です。プランとプロジェクトの featuresets によって決まり、クレジットで解除されることはありません。プロジェクトが持っていない機能は feature_not_in_plan(402)で拒否され、その required_plan は、その機能を含む一般販売されている最も下位のプランを示します。
ProjectPlanLimits— 必須: screens, members, video_bytes, event_retention_daysプランと featuresets が与えるプロジェクトの上限で、受け付け時に適用される数値です。0 はプランによる上限なしを意味します。
ProjectUptime— 必須: itemsProvisionScreen— 必須: noneRTSPStreamSource— 必須: protocol, urlReadyResponse— 必須: status, degradedReleaseLaunch— 必須: launch_url, expires_atReport— 必須: kind, title, generated_at, columns, rows, truncatedレポートを表として返します。columns は行の各メンバーが何かを示します。行には、列に表示されない追加のメンバー(フォルダーの階層用の id、parent_id、depth)が含まれます。パーセントの列は 0〜100 です。
ReportCatalog— 必須: items, formatsReportColumn— 必須: key, label, typeReportKindInfo— 必須: kind, title, description, paramsReportParam— 必須: name, descriptionReportSchedule— 必須: cadenceReportSubscription— 必須: id, name, kind, filters, schedule, format, enabled, recipients, revision, created_at, updated_atReportSubscriptionList— 必須: itemsReportSubscriptionPatch— 必須: noneReportSubscriptionRecipient— 必須: user_idReportSubscriptionWrite— 必須: name, kind, schedule, format, recipientsReseller— 必須: id, name, spread_bps, spread_effective_at, customer_count, review_state, customer_limitResellerCustomer— 必須: organization_id, name, plan_id, delegated_at, project_count, screen_count, stored_bytes, annual_list_cents, annual_wholesale_centsResellerCustomerPage— 必須: items, next_cursorResellerCustomerProject— 必須: id, name, status, screen_count, memberResellerCustomerProjectPage— 必須: projects, next_cursorResellerEnrollment— 必須: organization_idResellerList— 必須: itemsResellerStatement— 必須: reseller_id, name, period, spread_bps, lines, usage_list_mcr, usage_wholesale_mcr, plan_annual_list_cents, plan_annual_wholesale_centsResellerStatementLine— 必須: organization_id, name, plan_id, delegated_from, project_count, screen_count, stored_bytes, api_events, usage_list_mcr, usage_wholesale_mcr, plan_annual_list_cents, plan_annual_wholesale_centsResellerSummary— 必須: id, nameReview— 必須: id, kind, state, subject, proposer, url, created_at, updated_at, impactReviewAdCreative— 必須: creative_id, creative_revision, content_pathReviewApproveRequest— 必須: noneReviewBlocker— 必須: id, state, subjectReviewChangesRequest— 必須: noteReviewDecider— 必須: noneReviewDecisionResult— 必須: reviewReviewDependentResult— 必須: id, stateReviewImpact— 必須: screensReviewList— 必須: items, next_cursor, pending_countReviewLocation— 必須: project_id, project_nameReviewMediaChange— 必須: media_id, filename, before, afterselector_refreshレビューで問われている1つのメディアアイテムの保留中の変更。
ReviewMediaFields— 必須: tags, folder_idReviewMediaFile— 必須: sha256, bytes, content_typeReviewMediaPlaylist— 必須: id, name, screens, media_added, media_removedReviewMediaReplace— 必須: media_id, filename, source, version, before, after, aspect_changed, playlistsmedia_replace レビューが対象とする、1 つのメディアアイテムのファイルの置換。承認されるまで、メディアは元のファイルのままです。
ReviewPageEdit— 必須: op, page_idReviewPending— 必須: status, review提案アクセスでのレビュー対象の書き込み、または任意のアクセスレベルで保護されたスクリーンに及ぶ書き込み。ユーザーがレビューを承認するまで、変更は画面に反映されません。保護されたものは2人目の承認者が決定します(docs/screen-scope.md)。
ReviewPerson— 必須: user_id, nameReviewPlaylistChange— 必須: operation, base_revision, proposed, diffReviewPlaylistDiff— 必須: name_changed, pages_added, pages_removed, pages_changed, soundtrack_changed, media_added, media_removedReviewPolicy— 必須: agent_changes_require_review, review_policy_revisionReviewPolicyUpdate— 必須: agent_changes_require_reviewReviewPreview— 必須: live, proposed保存された形状のライブおよび提案されたプレイリストはGET /api/playlists/{id}で返されます(resolved_media付きのページ)。
ReviewProposer— 必須: kindReviewProtectedCampaign— 必須: nonecampaign_create、campaign_update、または campaign_delete。
ReviewProtectedChange— 必須: subkindprotected_change レビューの保存された入力。2人目の承認者が承認すると、所有するサービスを通じて適用されます。campaign、folder、move のうち、subkind が示す1つだけが存在します。承認は base_revision で再実行されます。移動したキャンペーンやフォルダーがあると、レビューは古くなります(review_stale)。
ReviewProtectedFolder— 必須: nonefolder_create、folder_update、folder_delete、または folder_unprotect。
ReviewProtectedMove— 必須: folder_id, screen_ids, folder_idsscreens_move、POST /api/screens/move の本文。
ReviewRejectRequest— 必須: reasonReviewScreenChange— 必須: action, screens, request, playlist_idsReviewSubject— 必須: type, id, nameReviewSummary— 必須: id, kind, state, url, subject, impactRuntimeAdslotCandidate— 必須: page_id, occurrence_id, check_sequence, earliest_start_atRuntimeAdslotEvent— 必須: event_id, decision_id, occurrence_id, kind, client_sequenceRuntimeAdslotEventBatch— 必須: eventsRuntimeAdslotEventResponse— 必須: resultsRuntimeAdslotEventResult— 必須: event_id, stateRuntimeAdslotMedia— 必須: kind, duration_ms, content_type, bytes, sha256, content_path, fitRuntimeAdslotPage— 必須: id, type, adslot_id全画面広告スロット。adslot-v1が付与されたペアリングセッションにのみ送信されます。未知のページタイプのPlayerはそのページを破棄します。
RuntimeAdslotResolveRequest— 必須: manifest_revision, candidatesRuntimeAdslotResolveResponse— 必須: server_time, resultsRuntimeAdslotResult— 必須: occurrence_id, check_sequence, stateRuntimeAdvance— 必須: modeRuntimeApplicationPackage— 必須: version, url, bytes, sha256, entrypoint, contentType独立して検証されたアプリケーションツリーからのみ構築された不変の正規化パッケージです。ネイティブプレーヤーはバイトとSHA-256を検証し、このリリースを原子単位で保持してオフラインの最終正常状態復元に使用します。URLは認可に紐づく転送参照であり、公開または永続的なオブジェクトURLではありません。
RuntimeApplicationPrimitive— 必須: id, primitive, applicationId, releaseId, launchUrl, origin, protocol, grantId, package, rect, layer, contentFitRuntimeAudio— 必須: loop, volume, tracksプレイリストのサウンドトラック(docs/playlist-audio.md)。プレイリストにあり、少なくとも1つのトラックが投影されている場合のみ出力されます。Player はトラックを順番に再生し、ページシーケンサーとは独立しています。ページの変更、トランジション、表示は再生を一時停止または再開しません。
トラックIDはidとmediaIdとsha256の組み合わせで、srcは含みません。したがって、再生中のトラックを保持するマニフェスト更新は再起動しません。実効ゲインはボリューム×プレーヤーボリュームです。欠陥トラックは独自に破棄されます(invalid_audio_track)。
RuntimeAudioCue— 必須: track, restartaudio_cue を作成したページで発せられるサウンドトラックヒント。ページが現在のものになるとき:異なるトラックが再生中、または再生されていない場合は、そのトラックの最初から切り替えます。トラックが再生中の場合は、restart が true のときのみ再起動します。シーケンスはトラックから続行されます。ヒントは無視されることがあります。マニフェストトラックを指定しないキューは破棄されます(invalid_audio_cue)。
RuntimeAudioTrack— 必須: id, mediaId, src, sha256, bytes, contentType, durationMs, grantIdRuntimeCanvas— 必須: width, height, viewportFit, backgroundRuntimeCardPrimitive— 必須: id, primitive, card, major, params, rect, layer, contentFit組み込みカードです。CardML 機能を宣言するプレーヤーの場合、バックエンドはピン留めされたメジャー内で保持されたリビジョンと必要な機能を考慮し、最新の互換公開リビジョンを選択します。該当するものがない場合、カードは card_unavailable の診断付きで省略され、空のページは削除されます。
Player はカードのデフォルト、次にパラメータ、データがある場合は GET /screen/card-data/{data} のドキュメントの動的プロパティ(カードが動的とマークしたキーのみ)をマージします。
データ付きカードは最初のドキュメントが届くまで非表示で、到着後にフェードインします。screen.card_data_changed のキーでその場で再取得します。feed がある場合は同じルートから取得し、カードに feed として渡します。カードや主要部分がないプレーヤーは何も描画しません。
params またはデータドキュメント内の文字列で media: で始まるものはメディア参照(media:<id>)であり、Player はカードが描画する前に保持しているバイトに解決し、できない場合は空白にします。params やデータからカードに URL を渡すことはありません。media は準備済み画像の params 名をリストし、画像プリミティブの resolvedMedia が持つ記述子も含むため、Player はマニフェスト到着時にそれらをダウンロードして検証します。公開後に消えたメディアへの参照は存在せず、カードはフォールバックを描画します。
データドキュメントが指定するメディアは、ドキュメントの到着時に /media/{media_id} から取得されます(ETag は sha256)。カードのメディアがページを保持することはありません。配置の {screen.name}、{screen.timezone}、{screen.field.NAME}、{screen.location} トークンは、このスクリーン向けにバックエンドがすでに展開しているため、params と data にはこのスクリーン自身の値が入っています。
RuntimeChrome— 必須: schema_version, bannerランタイム所有の chrome(docs/player-compatibility.md §8)。リーダーは知っているメンバーのみを読み、その他は無視します。理解できないバナー形状は表示されません。
RuntimeCodecs— 必須: noneこの正確な再生のサーバー由来の RFC 6381 コーデックリストで、クライアント宣言ではありません。contentType の兄弟プロパティです。Player は contentType に続けて codecs="VALUE" の能力クエリを形成できます。コーデックが判別できない動画はアップロード時に拒否されます。このプロパティは任意です。値がないことはコーデック非対応を意味しません。
現在のプレゼンス値は1つのビデオトラックエントリを含みます。文法はカンマ区切りの複数エントリを許可します。
RuntimeCommandResultWrite— 必須: statePOST /screen/commands/{command_id}/result の本文です。不明なメンバーは無視されます(docs/player-compatibility.md §1.1)。
RuntimeConditionReport— 必須: severity, code, contextRuntimeDisplay— 必須: noneスクリーンのディスプレイ制御。デバイス上で評価されます(docs/player-compatibility.md §6.5):電源のスケジュールとオーバーライド、アイドル時の暗転の設定、明るさのモード。スクリーンにない場合は省略され、ディスプレイはオペレーターの明るさでオンのままです。不明なメンバーは無視されます。
RuntimeHealthWrite— 必須: nonePUT /screen/health の本文。すべてのメンバーは任意です。プラットフォームが測定できるものを送信してください。不明なメンバーは無視され、範囲外の値は破棄されます(拒否されません)。整数は JSON の整数です。
RuntimeHostHint— 必須: platformペアリング開始、完了、アイデンティティセッション発行時のオプションのネイティブホストヒント。デバイス名を示し、認可には使われません。
寛容に読み取ります(docs/player-compatibility.md §1.1.1):不明なメンバーは無視、誤ったフィールドや機能エントリは破棄、最大32機能を保持、オブジェクトでない値やパターン外プラットフォームはヒント全体を破棄。これらはリクエスト拒否しません。
Player は登録済みのプラットフォーム値と以下のメンバーのみを送信します。事前契約のないバックエンドは他の値を拒否するためです。
RuntimeHostHintDevice— 必須: noneオプションのネイティブホストヒント内のハードウェア識別子。不正なフィールドは破棄されます。
RuntimeIframeCookie— 必須: name, value, domain, path, secure, httpOnly, sameSite共有ブラウザータブのCookie。ブラウザーのCookie API形式で、値は秘密情報です。
RuntimeIframePrimitive— 必須: id, primitive, src, title, rect, layer, contentFitRuntimeImagePrimitive— 必須: id, primitive, selector, resolvedMedia, grantId, rect, layer, contentFitRuntimeImageResolvedMedia— 必須: mediaId, src, intrinsicSize, sha256, bytes, contentTypeRuntimeIntrinsicSize— 必須: width, heightRuntimeKVEntry— 必須: application_id, key, value_base64, content_type, bytes, sha256, revisionRuntimeKVList— 必須: itemsRuntimeKVSummary— 必須: application_id, key, content_type, bytes, sha256, revisionRuntimeKVWrite— 必須: value_base64RuntimeKiosk— 必須: lockキオスクロック(docs/player-compatibility.md §6.5)。スクリーンの kiosk.lock がオンの間は、すべてのセッションで送出され、それ以外では省略されます。自身を画面に固定できる Player は、lock が true の間は固定し、メンバーがない場合または lock が false の場合は固定を解除します。固定できない Player はこれを無視します。不明なメンバーは無視されます。
RuntimeLiveHeartbeat— 必須: connectionPlayer 自身のレポート。オープンスキーマ。
RuntimeLiveHeartbeatAnswer— 必須: lease_until, max_untilRuntimeLiveJoin— 必須: live_id, ice_servers, lease_until, max_until, heartbeat_ms, videoPlayer の配信先と、その制限。オープンスキーマ。
RuntimeLiveJoinRequest— 必須: none空です。ボディは省略できます。
RuntimeLiveOffer— 必須: sdptype を除いたセッション記述。Player のオファーとリレーの応答に使われます。
RuntimeLiveStopped— 必須: reasonRuntimeManifest— 必須: schemaVersion, manifestRevision, grantId, contentGeneration, screenId, screenLabel, playlistRevision, generatedAt, pages決定論的な screenrig.canvas/v1 のキャンバス、長方形、フィット、およびソース順契約を使用した不変のランタイムマニフェストです。読み取り側の追加プロパティは許可されており、この契約のプレーヤーは未知のキーを無視します(互換性ルール2)。書き込みスキーマは閉じたままです。
ページは通常のキャンバスページであり、adslot-v1が付与されたペアセッションの場合は全ページadslotページです。adslotページがないマニフェストはハウスコンテンツです。
RuntimeManifestDiagnostic— 必須: level, code, detail1つのフェイルセーフ実行時投影省略。プレーヤーとCLIが表示することがありますが、認可ではありません。
RuntimeMediaSelector— 必須: noneRuntimeMediaSelectorByAll— 必須: by, oneAtATimeRuntimeMediaSelectorByID— 必須: by, mediaId, oneAtATimeRuntimeMediaSelectorByIDs— 必須: by, mediaIds, oneAtATimeRuntimeMediaSelectorByTag— 必須: by, oneAtATimeRuntimeObservationSurfaceWrite— 必須: id, width, height, pixel_ratio, presentationRuntimeObservationWrite— 必須: observed_at, surfacesPUT /screen/observation の本文。不明なメンバーは無視されます(docs/player-compatibility.md §1.1)。保存される値はプロジェクトの ScreenObservation です。
RuntimeOrigins— 必須: content配信されたオリジン許可リスト(docs/player-compatibility.md §2.3)。Playerに付与されたorigins-v1のミント応答にのみ存在します。
Player はコンテンツをコンパイル済みコンテンツ起源と結合し、無効なエントリは無視します。release_suffix は有効な DNS サフィックス(2 ラベル以上)の場合のみコンパイル済みリリースサフィックスを置き換えます。ランタイム起源がリリースを自身で提供する場合(ローカル開発)は存在しません。
配信されたセットは資格情報のオリジンを変更せず、バックエンドはこのセッションのミントが配信しなかったオリジンにURLを付けません。Playerは検証済みの最終良好オブジェクトを保存し、後のセッションでオリジンがなくてもそのLKGは有効です。
RuntimePage— 必須: contractVersion, id, canvas, transition, advance, primitivesRuntimePairingScreen— 必須: id, public_id, label, state, revision, manifest_revision, content_access_generation, created_at, updated_atペアリングおよびブラウザプロビジョニング完了時のランタイム所有スクリーンサマリー。メンバーセットは固定されています:プロジェクトのスクリーンフィールドはここに表示されません(docs/player-compatibility.md §8)。state は以下の3つの値のいずれかです。
RuntimePrimitive— 必須: noneRuntimeProblem— 必須: type, title, status, detail, instance, code, request_id, errorsPlayer向けのスクリーン(/screen/)とメディア(/media/)ルート、ペアリングストリーム、プローブルート(/.ready、/.health)の問題ドキュメント:すべてのメンバーがトップレベルにフラットにあります。ストア配布のPlayerはトップレベルのcodeとactionを読み取るため(docs/player-compatibility.md §5)、この形状は変わりません。その他のルートはProblemを返します。
RuntimeRect— 必須: x, y, width, heightRuntimeReport— 必須: none報告の本文とコンテキストは寛容に読み取られます(docs/player-compatibility.md §1.1)。コードは独自のコンテキストメンバーを必要とし、他のメンバーは無視されます。プレイヤーは以下のメンバーのみ送信し、事前契約のバックエンドは他を拒否します。
RuntimeScreenLabel— 必須: screen_label保存されたスクリーン名。マニフェストが screen_label として保持する値。
RuntimeScreenLabelWrite— 必須: screen_labelPUT /screen/screen-label の本文。サーバーは screen_label の前後の空白を取り除き、制御文字を含まない 1~120 文字を保存します。不明なメンバーは無視されます(docs/player-compatibility.md §1.1)。
RuntimeScreenPlaylist— 必須: playlist_id変更後にスクリーンに割り当てられたプレイリスト。
RuntimeScreenPlaylistWrite— 必須: playlist_idPUT /screen/playlist の本文。不明なメンバーは無視されます(docs/player-compatibility.md §1.1)。
RuntimeScreenPlaylists— 必須: playlists, moreスクリーンのオンデバイスピッカーが提供するプレイリストは、名前のアルファベット順(大文字小文字無視)、次にid順です。
RuntimeSelectorPlaylistSnapshot— 必須: selections, pageMaxMs1つのスタックプレイリストの選択内容。そのプレイリスト自身のページIDで指定されます。
RuntimeSelectorSnapshot— 必須: manifestRevision, snapshotRevision, selections, pageMaxMsRuntimeSession— 必須: paired, capabilities, event_cursor, public_urlランタイム所有のセッション(docs/player-compatibility.md §8)。リーダーは未知のメンバーと未知の機能値を無視します。新しいメンバーは、それをカバーする権限を持つセッションにのみ送信されます。
RuntimeSessionRequest— 必須: public_id匿名ビューアミント。未知のメンバーは無視されます(docs/player-compatibility.md §1.1)。
RuntimeStack— 必須: levels, playlistsスクリーンのスタックのすべてのレベル。schedule.stack ホスト機能を宣言したプレーヤーにのみ、スタックに複数のレベルがある場合にのみ送信されます(docs/player-compatibility.md §6.11)。マニフェストのルートメンバーは最下位レベルのプレイリストです。プレーヤーは、スケジュール契約を使って自分でレベルを解決します。
RuntimeStackPlaylist— 必須: playlistRevision, pagesRuntimeStatusWrite— 必須: observed_at, chipPUT /screen/status の本文。不明なメンバーは無視されます(docs/player-compatibility.md §1.1)。保存される値はプロジェクトの ScreenStatus です。
RuntimeStorageWrite— 必須: observed_at, volume, cache, durability, plan, transfer_24hPUT /screen/storage の本文。不明なメンバーは無視されます(docs/player-compatibility.md §1.1)。保存される値はプロジェクトの ScreenStorage とサーバーの received_at です。
RuntimeStreamPrimitive— 必須: id, primitive, sources, muted, fallback, grantId, rect, layer, contentFitRuntimeSuspension— 必須: message, sinceスクリーンが一時停止している間に出力されます(docs/player-compatibility.md §6.9)。pages は [] で diagnostics はなく、Player はコンテンツなし画面の代わりに message を全画面の通知として表示します。since は、スクリーンが最初に一時停止された時刻です。マニフェストリビジョンはこの通知専用のもので、プレイリストのものではなく、スクリーンにプレイリストが割り当てられている必要はありません。
RuntimeTelemetryBatch— 必須: telemetry_epoch, stream_id, sequence, created_at, reports耐久FIFOプレーヤーキューは1分あたり最大1回の通常バッチをランダムな位相で送信し、満杯時は早めに送信します。JSONボディ合計は最大256KiB、レポートは最大64件で各32KiBまで。すべてのレポートは発生時刻と安定した play_id を保持します。
202までディスク上に不変のインフライトバッチを1つ保持し、確認後にのみシーケンスを増やし、応答が失われたり再起動した場合は同じバイトを再試行します。シーケンスは1から始まりギャップはありません。
重複排除はスクリーンごとに最大8つのライブストリームを保持し、それぞれのウォーターマークはバッチが再生可能な24時間以上保持されます。認証情報の更新時も同じストリームを維持します。レコードは明示的な会計後24時間でローカルに期限切れになります。manifest.activatedとmanifest.upgradeは個別かつ即時のままです。
インタラクティブな書き込み、広告解像度、コンテンツ取得、スクリーンショット、SDK の emitConfirmed() も即時です。ヘルスサンプリングは 15 分間隔を維持し、緊急の表示/ヘルス遷移は即時送信されます。観察と通常のヘルススナップショットは最新優先で元の発生時刻を保持します。ヘルスには health.write が必要です。
既存の個別レポートは引き続き受け入れられます。レポートのアイテム乱用制限は新しいアイテムごとに適用され、HTTPエンベロープごとではありません。コミットされたリプレイはリクエストの受付のみ消費します。
RuntimeTransition— 必須: type, durationMs作成されたページ遷移。プレーンムーブはタイプ、期間、およびオプションの装飾を保持します。スティンガーは両方のレイヤーの上に通常のカードコンテンツ形状を持ちます。コードが欠落しているか互換性のないPlayerインタープリターの場合、遷移は同じ期間のクロスフェードに劣化し、transition_unavailableの診断が表示されます。
RuntimeTransitionCard— 必須: primitive, card, major, params, version, src, sha256, model, requiresキャンバスカードと同じ予測カードコンテンツで、キャンバス配置ジオメトリはありません。スティンガーはメジャー1に固定され、params に durationMs と hangMs を含みます。
RuntimeUpgradeNotice— 必須: state, player_kind, recommendedプレイヤーの比較可能なバージョンがplayer_kindの推奨バージョン未満の場合、mintレスポンスに表示されます(docs/player-compatibility.md §6.1)。プレイヤーはプラットフォームアップデートチェックを開始し、画面には何も表示しません。リーダーは知らない状態のメンバーを無視します。
RuntimeVerbosity— 必須: nonePlayer が生成し表示する最も低いログレベルとトーストレベル (docs/player-compatibility.md §6.12)。スクリーンがどちらかを設定している場合、すべてのセッションで送られます。設定されていないメンバーは省略されます。エラーは常に生成され表示されます。Player は不明なメンバーや値を無視し、デフォルトを保ちます。
RuntimeVideoPrimitive— 必須: id, primitive, selector, resolvedMedia, muted, loop, grantId, rect, layer, contentFitRuntimeVideoResolvedMedia— 必須: mediaId, src, intrinsicSize, sha256, bytes, contentTypeRuntimeWall— 必須: outputs, arrangement, rotation, spanスクリーンの Player がレイアウトするビデオウォール(docs/player-compatibility.md §6.8)。スクリーンにウォールがある場合のみ送出。不明なメンバーは無視されます。
SCIMError— 必須: schemas, statusRFC 7644 セクション 3.12 のエラードキュメント。
SCIMEvent— 必須: at, action, statusSCIMEventList— 必須: eventsSCIMGroupList— 必須: groupsSCIMGroupProjectBinding— 必須: binding_id, project_id, project_name, roleSCIMGroupSummary— 必須: id, display_name, member_count, bindingsSCIMResource— 必須: noneRFC 7643 と RFC 7644 がそのルートで定める形式の SCIM 2.0 ドキュメントです。どれに当たるかは各オペレーションに記載されています。User リソースまたは Group リソース、ListResponse、PatchOp メッセージ、ServiceProviderConfig、ResourceType、Schema のいずれかです。screenRIG が使用しないメンバーは受け付けられ、無視されます。
SCIMSettings— 必須: enabled, base_url, tokens, user_count, group_countSCIMSettingsWrite— 必須: enabled, proofSCIMToken— 必須: id, name, prefix, created_atSCIMTokenCreate— 必須: name, proofSCIMTokenCreated— 必須: id, name, prefix, created_at, tokenシークレットを含む SCIMToken。一度だけ返されます。
SSODiscovery— 必須: sso, required, accountアドレスがサインインまたはサインアップする方法です。sso、required、provider_name はアドレスのドメインのみで決まります。account は、有効なユーザーがそのアドレスを保持しているかどうかを示します。
SSODiscoveryRequest— 必須: emailSSOErrorCode— 必須: noneシングルサインオンによるサインインが完了しなかった場合に、終了時に返される安定したコード。POST /api/sso/finish のリダイレクト先アドレスにある #sso_error= の値であり、IDプロバイダーのテストが失敗した場合のコードでもあります。no_email:プロバイダーがメールアドレスをアサートしませんでした。email_unverified:プロバイダーがアドレスを未検証としました。domain_not_allowed:アドレスが組織の検証済みドメインのものではありません。account_exists:そのアドレスは、独自のサインインを持つアカウントにすでに属しています。ユーザーはこれまでどおりサインインし、アカウントからアイデンティティをリンクします(intent は link)。managed_elsewhere:別の組織がそのユーザーを管理しています。subject_mismatch:アカウントは、同じプロバイダーの別のアイデンティティにリンクされています。not_provisioned:そのアドレスを持つユーザーがおらず、接続はユーザーを作成しません。sso_required:組織がそのアドレスにシングルサインオンを必須としています。staff_account:screenRIG のスタッフアカウントが、顧客のIDプロバイダーによってサインイン、引き継ぎ、リンクされることはありません。expired:サインインが 10 分を超えました。bad_state:サインインの state またはブラウザーとの結び付きが一致しないか、すでに使用されています。interaction_required:サイレント更新にはユーザーの操作が必要です。provider_refused:プロバイダーがエラーで応答しました。provider_unavailable:プロバイダーに接続できないか、読み取れませんでした。verification_failed:プロバイダーのトークンまたはアサーションの検証に失敗しました。deactivated:ユーザーは無効化されています。
SSOPolicy— 必須: required, break_glass_user_ids, passkey_admin_ids, policy_revisionSSOPolicyWrite— 必須: required, break_glass_user_ids, proofSSOStart— 必須: redirect_urlSSOStartRequest— 必須: emailSSOTestStart— 必須: redirect_urlScheduleCalendar— 必須: subject, from, to, screens, groupsScheduleCalendarConflict— 必須: kind, level_idsScheduleCalendarGroup— 必須: key, screens, screen_ids, displays, levels, spans, on_screen, conflictsScheduleCalendarOnScreen— 必須: display, from, toScheduleCalendarSpan— 必須: level_id, from, to, stateScheduleImportCommitted— 必須: preview, appliedScheduleImportLevel— 必須: key, action, home, content, screens, priority, rowsScheduleImportPreview— 必須: name, columns, valid, fingerprint, summary, rows, levels, removalsScheduleImportRemoval— 必須: homeScheduleImportRequest— 必須: rowsScheduleImportResolved— 必須: kind, id, nameScheduleImportRow— 必須: row, statusScheduleImportRowError— 必須: code, messageScheduleImportSummary— 必須: rows, rows_with_errors, levels, creates, updates, unchanged, removes, screens, playlistsSchedulePreview— 必須: gained, lost, calendarキャンペーンまたはスケジュールの書き込みで変わる内容。gained は、現在は載せていない書き込みのレベルを新たに載せるスクリーン、lost は、載せているレベルをもう載せなくなるスクリーンです。スタックに載ったままのレベルはどちらにも当てはまらず、calendar に表示されます。
SchedulePreviewReach— 必須: count, screen_idsScreen— 必須: id, public_id, label, revision, manifest_revision, manifest_upgrade, content_access_generation, state, online, created_at, updated_atScreenAction— 必須: noneタイプで識別される1つのフリートアクション。各メンバーは自身のパラメータのみを持ち、他タイプのメンバーは未知フィールドでinvalid_requestです。
ScreenActionAddTags— 必須: type, tagsスクリーンがまだ持っていないタグを追加します。16タグを超える場合はinvalid_requestで失敗します。
ScreenActionAssign— 必須: type, playlist_idScreenActionClearDisplaySchedule— 必須: type各スクリーンの表示スケジュールを削除します。スケジュールがないスクリーンは問題なく変更されません。
ScreenActionClearPlaylist— 必須: type各スクリーン自身のデフォルトプレイリストを解除し、ペアリングとほかのコンテンツレベルは保持します。有効なコンテンツがない場合、Player は待機画面を表示します。割り当てと同じくレビュー対象です。
ScreenActionClearPlaylistSchedule— 必須: type各スクリーンのプレイリストスケジュールを削除します。スケジュールがないスクリーンは問題なく変更されません。
ScreenActionClearRebootSchedule— 必須: type各スクリーンの再起動スケジュールを削除します。スケジュールのないスクリーンは ok で変更されません。管理アクセスのみ。
ScreenActionDisplay— 必須: type, powerScreenDisplayWriteと同じルール。Idempotency-Keyにフリート記録がない場合、untilはリクエストクロックに対してチェックされ、各スクリーンでも再度チェックされます。
ScreenActionDisplayClear— 必須: type各スクリーンの手動表示オーバーライドを終了します(DELETE /api/screens/{id}/display)。オーバーライドがないスクリーンは問題なく変更されません。
ScreenActionMaintenance— 必須: typeスクリーンごとに POST /api/screens/{id}/clear-cache、/restart-app、/update。ホストが機能を宣言していないスクリーンは、単独で command_unsupported により失敗します。オフラインのスクリーンは、オンラインになるまでコマンドを queued のまま保持します(expires_in_s)。
ScreenActionReboot— 必須: typeスクリーンごとに POST /api/screens/{id}/reboot を実行します。ホストが reboot を宣言していないスクリーンだけが reboot_unsupported で失敗します。オフラインのスクリーンは、オンラインになるまで再起動を queued のまま保持します(expires_in_s)。
ScreenActionReload— 必須: typeスクリーンごとに POST /api/screens/{id}/reload を実行します。オフラインのスクリーンは、オンラインになるまで再読み込みを queued のまま保持します(expires_in_s)。
ScreenActionRemoveTags— 必須: type, tagsリストされたタグを削除します。スクリーンにないタグは無視されます。
ScreenActionRequest— 必須: selector, actionScreenActionResult— 必須: action, matched, succeeded, failed, resultsScreenActionScreenResult— 必須: screen_id, status1つのスクリーンの結果。ok は単一スクリーン経路の結果を保持します。assign、tag、takeover、takeover_clear、set_playlist_schedule、clear_playlist_schedule、set_reboot_schedule、clear_reboot_schedule のアクションでは revision(tag アクションでは tags も)、reload では reload、toast では toast です。failed は、そのスクリーン自身のリクエストが返したはずの問題を保持します。
ScreenActionSelector— 必須: noneScreenActionSelectorFolder— 必須: by, folder_idスクリーンフォルダーとその中のすべてのフォルダーにあるすべてのアクティブスクリーン、作成順。スクリーン数制限なし。
ScreenActionSelectorIds— 必須: by, screen_idsScreenActionSelectorTag— 必須: by, tagタグにtagを含むすべてのアクティブスクリーン、作成順。スクリーン数制限なし。
ScreenActionSetDisplaySchedule— 必須: type, enabled, windows各スクリーンのディスプレイスケジュール(ScreenDisplayScheduleWrite)を置き換えます。配信前に正規化されます。タイムゾーンがないスクリーンは単独でinvalid_requestになります。
ScreenActionSetPlaylistSchedule— 必須: type, entries各スクリーンのプレイリストスケジュールを同じエントリーで置き換えます(ScreenPlaylistScheduleWrite)。エントリーIDは配信前に割り当てられます。タイムゾーンやデフォルトプレイリストがないスクリーンは単独でinvalid_requestになります。
ScreenActionSetRebootSchedule— 必須: type, enabled, windows各スクリーンの再起動スケジュール(ScreenRebootScheduleWrite)を置き換えます。ファンアウトの前に一度正規化されます。管理アクセスのみ。タイムゾーンのないスクリーンは単独で invalid_request で失敗し、Player が reboot を宣言していないスクリーンは reboot_unsupported で失敗します。
ScreenActionSetTags— 必須: type, tags各スクリーンのタグセットを置き換えます。空の配列はクリアします。
ScreenActionTakeover— 必須: type, playlist_idScreenTakeoverWriteと同じルール。Idempotency-Keyにフリート記録がない場合、untilはファンアウト前にリクエストクロックに対してチェックされ、各スクリーンでも再度チェックされます。
ScreenActionTakeoverClear— 必須: type各スクリーンのテイクオーバーを終了します。テイクオーバーがないスクリーンは問題なく変更されません。
ScreenActionToast— 必須: type, level, textScreenToastWriteと同じレベル、テキスト、期間ルール。ファンアウト前に一度検証されます。
ScreenCampaigns— 必須: screen_id, itemsScreenCommand— 必須: id, type, state, requested_at, expires_atScreen.commands に含まれる、スクリーンに依頼された再起動、再読み込み、clear_cache、restart_app、update の1件です。オンラインのスクリーンに送られたコマンドは sent として保存されます。
オフラインのスクリーンに依頼されたものは、ランタイムイベントなしで queued として保存されます。expires_at より前にバックエンドがスクリーンの次のオンライン遷移を適用すると、この id と expires_at でイベントが追加され、コマンドは sent になります。
各コマンドにはランタイムイベントがちょうど1つあるため、Player が同じコマンドを2回受け取ることはありません。expires_at を過ぎた queued のコマンドは、読み取り時に expired として導出されます。同じ種類のより新しいコマンドは、queued のままの古いコマンドを置き換えます。sent の再起動は、uptime_s を含むヘルスレポートが sent_at より後の起動を示すと done になります。再読み込みが done になることはありません。
clear_cache、restart_app、update は、Player が報告すると、cause と detail とともに done または failed になります。
ScreenCommandPage— 必須: items, next_cursorScreenCommandWrite— 必須: nonePOST /api/screens/{id}/reboot、/reload、/clear-cache、/restart-app、/update の任意の本文です。本文が空の場合はデフォルトのままです。
ScreenDeviceSettingsPatch— 必須: noneスクリーンのアイドル時の暗転と明るさの設定、およびキオスクロックの変更 (patchScreenDeviceSettings)。本文は2つのメンバーの少なくとも一方を指定し、それ以外のメンバーは指定しません。
ScreenDisplay— 必須: requested, sourceディスプレイの電源状態。requested は現在スクリーンが表示すべき状態で、有効なオーバーライドがあればそれ、なければスクリーンのタイムゾーンで評価された有効なディスプレイスケジュール、それもなければオン(source は override、schedule、default のいずれか)です。until は次に状態が変わる時刻(判明している場合)。reported は Player の最新のヘルス display(power、connected、reported_at、35 分後に stale)です。idle と brightness は、スクリーンの display.idle と display.brightness の設定です(ScreenPatch で設定)。
スクリーンにスケジュール、オーバーライド、アイドル時の暗転と明るさの設定、報告されたディスプレイのいずれもない場合は存在しません。
ScreenDisplayBrightness— 必須: modedisplay.brightness:auto はデバイスの周囲の明るさをウィンドウの明るさに対応付けます。fixed(デフォルト)はオペレーターの明るさを維持します。ホスト機能 brightness.auto を宣言する Player が適用します。Player がこれを宣言するのは、デバイスに光センサーがある場合だけです。
ScreenDisplayIdle— 必須: after_s, wakedisplay.idle:タッチやキー操作がないまま、または wake に presence がある場合は画面の前に誰もいないまま after_s 秒が経過すると、画面が暗転します(デバイスのカメラをデバイス上で解析し、画像はデバイスの外に出ません)。復帰イベントで画面が即座に再び点灯し、暗転した画面を復帰させたタッチは消費されます。
画面が暗転している間、Player はディスプレイスケジュールの場合と同様にディスプレイオフの状態になります。再生を停止し(再生回数の記録も広告もなし)、ヘルスで display.power が off であることを報告し、復帰すると再開します。パネルをオフに保つディスプレイスケジュールまたはオーバーライドが優先され、device.display を保持しているアプリケーションは、そのページが画面に表示されている間、アイドル時の暗転より優先されます。
ホスト機能 display_power.idle を宣言する Player が適用します。
ScreenDisplayOverride— 必須: override_id, power, until, ends_at, set_atScreenDisplayPatch— 必須: noneScreenDisplayReported— 必須: reported_at, stalePlayer が最後に報告したディスプレイの状態レポート。電源と接続状態の観測値で、要求された電源状態とは独立しています。stale は、レポートが35分間ない場合に true になります。これは状況の参考情報であり、電源がキャプチャ失敗の原因であることの証明ではありません。
ScreenDisplaySchedule— 必須: enabled, windows, updated_atScreenDisplayScheduleView— 必須: display_scheduleScreenDisplayScheduleWrite— 必須: enabled, windowsScreenDisplayWrite— 必須: powerScreenEffectivePlaylist— 必須: id, sourceスクリーンのランタイムマニフェストが構築されるプレイリスト:takeoverがあればそれ、なければ最初に適用されるキャンペーン(entry_id はキャンペーン ID)、それもなければ最初に一致するプレイリストスケジュールエントリ(entry_id)、それもなければ割り当てられたデフォルト、さらになければスクリーンを含む最も近いフォルダーのデフォルトプレイリスト(source は folder、entry_id はフォルダーID)です。until はこれが変わると分かっている次の瞬間(takeover終了または8日以内の次のスケジュール境界)で、時間ベースの変更がない場合は含まれません。
バウンダリーワーカーは最大60秒遅れて変更を適用します。プレイリストを表示できないテイクオーバーやエントリーはスキップされます。画面にプレイリストがない場合は存在しません。
ScreenExplainAt— 必須: instant, effective_playlist, verdicts, not_judgedinstant にスクリーンが表示するものとその理由を、境界スイープが実行するリゾルバーから求めます。スクリーンのテイクオーバー、プレイリストスケジュール、プロジェクトのキャンペーンは、当時の状態ではなく現在の状態で読み取られます。プレイリストが存在しない、または未承認のキャンペーンは、スイープと同様にスキップされます。
自身のスタック(schedule.stack)を解決する Player のスクリーンでは、判定はそのスタックを読み取り、not_judged にその旨が示されます(player_stack)。
ScreenFieldsPatch— 必須: fieldsスクリーンのフィールドの変更です(patchScreenFields)。本文にほかのメンバーはありません。
ScreenFolder— 必須: id, name, parent_id, revision, created_at, updated_at1つのスクリーンフォルダー。スクリーンが入るフォルダーは最大1つです(Screen.folder_id)。フォルダーは、そのスクリーンと、その中のすべてのフォルダーのスクリーンを対象とします。
ScreenFolderCreate— 必須: nameScreenFolderDeleteResult— 必須: levelsScreenFolderList— 必須: itemsScreenFolderPatch— 必須: noneScreenGlass— 必須: noneバックエンドが、受信したレポートから、プレーヤー自身の申告ではなく画面の映像について下した結論です。何も言えない確認ではこのメンバーは含まれません。プロジェクト API では読み取り専用です。認可や受け入れの根拠にはなりません。ScreenPatch では書き込めません。
ScreenGlassChangedDetails— 必須: check, verdict, previous, since, evidenceプロジェクト専用の永続的な screen.glass_changed イベントの details オブジェクトで、画面に対する確認の判定が変わったときに追加されます。ランタイムのオーディエンスコマンドではなく、GET /screen/events では配信されません。
loop_stalled 条件は再生の判定が stalled になると開始し、それ以外になると終了します。glass_blank と glass_frozen は画像の判定が blank または frozen になると開始し、それ以外になると終了します。
ScreenHealth— 必須: reported_at, stale最新のデバイスヘルスレポート(PUT /screen/health)、サニタイズ済み、サーバーのreported_at付き。Playerが送信しなかったメンバーは不在。reported_atが35分以上前ならstaleはtrue;staleなヘルスは表示され続け削除されません;アーカイブとスクリーン回復でクリアされます。
トランジションは、プロジェクト限定の screen.health_changed を details.changes とともに追加します。details.changes は {change, ...} のリストです:display_disconnected、display_reconnected、display_power (from、to)、temperature_high (80 ℃以上)、temperature_normal (再び 75 ℃未満)、on_battery (battery.source が none になった。報告された場合は level_percent)、plugged_in (再びそれ以外の電源になった。source)、crash_spike と renderer_restart_spike (24 時間のカウントが前回のスパイクイベントから 3 以上増えた。crashes_24h または renderer_restarts_24h と previous)。battery はデバイスが報告した場合にのみ存在し、バックエンドは on_battery の条件のための battery.source 以外は何も読み取らず、原因も推測しません。
読み取り専用。認可ではありません。
ScreenHealthHistory— 必須: noneレポート(解像度 raw)または時間別集計(解像度 hour)のページ。
ScreenHealthHour— 必須: hour, reports, temperature_max_c, temperature_avg_c, cpu_load_max, memory_used_ratio_max, wifi_rssi_min_dbm, display_disconnected, crashes_24h_max, renderer_restarts_24h_max, last_reported_at1つのスクリーンの1時間(UTC)内のレポート。メンバーが null の場合、その時間のレポートがありません。
ScreenHealthHours— 必須: resolution, hours, next_cursorScreenHealthSample— 必須: reported_at1つの保存されたデバイスヘルスレポート:Screen.health から stale、cpu.utilization_percent、cpu.app_percent を除いたもの。これらは最新のレポート(Screen.health)のみが持ちます。Player が送信しなかったメンバーは存在しません。
ScreenHealthSamples— 必須: resolution, samples, next_cursorScreenIdentifyAccepted— 必須: identify_id, duration_ms, expires_atScreenIdentifyDetails— 必須: identify_id, label, screen_id, duration_ms, at, expires_at永続的な player.identify イベントの details オブジェクト。
ScreenIdentifyWrite— 必須: noneScreenKiosk— 必須: lockkiosk.lock:Player が自身を画面に固定します(startLockTask による Android の画面固定。初回は画面の前にいる人が確認し、固定中はステータスバー、ホーム、最近使ったアプリが無効になります。デバイスオーナーとして動作するマネージドフレーバーは、そのロックタスクを維持します)。ロックがオンの間のみ存在します。
オペレーター設定パネルには「キオスクロックを解除」があり、次のマニフェストまたは再起動で再び適用されるまで固定を解除します。ホスト機能 kiosk_lock を宣言する Player が適用します。
ScreenKioskPatch— 必須: lockScreenLevelChange— 必須: source, id, playlist_id, screensScreenLevelChanges— 必須: gained, lost書き込みが、変更対象のスクリーンのスケジュールに与える影響:スクリーンが対象に加わる(gained)または外れる(lost)キャンペーン、およびデフォルトでなくなる、またはデフォルトになるフォルダーのデフォルトプレイリスト。screens はレベルごとの影響を受けるスクリーン数です。
タグの書き込みでは、キャンペーンのエントリーが対象への所属を報告します。スクリーンが加わる、または外れるすべてのライブキャンペーンが対象で、そこで再生されるかどうかはスクリーンのデフォルトのプレイリストによって決まります。移動またはフォルダーの変更では、それを再生するスクリーン上でフォルダー対象が移動するキャンペーンが一覧表示されます。
ScreenLink— 必須: hint, created_atストレージを保持しないブラウザー(vMix や OBS のブラウザーソースなど)で1つのスクリーンを開く Player URL。
ScreenLinkSessionRequest— 必須: screen_link画面リンクのシークレットと、任意の host、playback、player ヒント。未知のメンバーは無視され、host、playback、player は寛容に読み取られます(docs/player-compatibility.md §1.1)。シークレットは認証情報であり、ログにも応答にも出力されません。
ScreenLinkSummary— 必須: hint, created_aturl を含まないスクリーンのリンク。スクリーンにリンクがある間のみ存在します。読み取り専用で、POST と DELETE /api/screens/{id}/link が変更します。
ScreenList— 必須: itemsScreenLocation— 必須: latitude, longitudeスクリーンの場所です。10進数の度で表した座標に、任意の短い地名と住所を付けられます。カードの配置は {screen.location} トークンを通じてこれを読み取り、スクリーン一覧では地点からの距離(near)で絞り込めます。
ScreenLocationPatch— 必須: locationスクリーンの場所の変更です(patchScreenLocation)。本文にほかのメンバーはありません。
ScreenMaintenanceAccepted— 必須: command_id, command, expires_at, stateScreenManifestUpgrade— 必須: desired_revision, active_revision, desired_playlist, active_playlist, state, code, attempt, retry_at, missing_page_count, state_since, reported_atこのスクリーンの常時存在する計算済み manifest-upgrade 状態で、発行された希望リビジョンまたはキューに入った共有プレイリストのコンテンツ目標、最後にサーバーが承認したアクティブな manifest リビジョン(manifest.activated)、最新の受理された manifest.upgrade レポートスロットから読み取り時に導出されます。
読み取り専用のプロジェクト状態:本文は誰も書き込めず、レポートは権限を昇格しません。active_revisionは最後に承認されたアクティベーションであり、すべての同時セッションが既に表示している証明ではありません。
オフライン状態は決して失敗を生じません。リトライ中の状態で期限切れのretry_atはクライアント表示であり、サーバーの判断ではありません。desired_revisionがnullはなしを意味します。pending状態は一致するレポートのない希望リビジョンを示します。activatingはまだ承認待ちのガラス上のターゲットを示します。desired_revisionと一致しなくなったレポートスロットは新しいレポートが一致するまで無視されるため、新しいdesired_manifestは何もクリアせずにpendingを導きます。
次のマニフェスト連絡が共有編集の希望する権限、希望するリビジョン、プレイリストを発行する前に、それらのキューされた目標を読み取り専用の意図として公開できます。アクセスは付与されません。アクティブなIDは常に正確に認識された過去の権限から来ます。古いアクティベーションは新しいキューされた目標を現在のものとして発表できません。
ScreenMove— 必須: folder_idscreen_ids と folder_ids を合わせて1個以上、最大で合計1000個の ID。
ScreenMoveResult— 必須: screens, folders, levelsScreenNamePatch— 必須: nameスクリーンの新しい名前(patchScreenName)。本文にほかのメンバーはありません。
ScreenNotJudged— 必須: code, detail説明が判定しないもの。
ScreenObservation— 必須: observed_at, surfacesPlayer報告の再生サーフェス。最初の受理されたPUT /screen/observation.までScreenに存在しません。プロジェクトAPIの読み取り専用です。ScreenPatch、PairScreen、ペアリングボディ、セッションボディ、キャンバス、ランタイムマニフェスト、およびPOST /screen/reportsでは書き込みできません。
ScreenObservationSurface— 必須: id, width, height, pixel_ratio, presentationScreenOutage— 必須: offline_sinceスクリーンの直近のプレゼンス停止と、復帰後の最初のヘルスレポートで判定された場合は、スクリーンが応答しなかった理由。新しい停止があると置き換わり、停止が記録されるようになってから一度もオフラインになっていないスクリーンにはありません。
原因は、そのレポートに含まれる Player 自身の稼働時間カウンターから、デバイスの時計ではなく停止期間と照らして読み取られます。device_restart(停止開始後にデバイスが起動した)、app_crash(Player が起動し、24 時間のクラッシュ回数が増えた)、app_restart(Player が起動し、デバイスは起動していない)、network(どちらも起動しておらず、screenRIG を指すものがない)、platform(どちらも起動しておらず、停止中に player.stream_down レポートが screenRIG に届いた、またはスクリーンが応答しなくなったときにプレゼンスの監視が停止中か回復中だった)です。likely_cause は不明の場合は含まれず、推測せず不明のままになります。稼働時間のないレポート、停止開始に近すぎるレポート、スクリーン復帰後に起きた再起動、再接続から 1 分以内の Player レポートでは何も判定しません。
レポートが判定するのは、スクリーンが復帰してから 35 分以内に限られます。device_restart は停電と再起動を区別できず、network はスクリーン自身のネットワークと上流のネットワークを区別できません。
判定が出ると、プロジェクト専用のイベント screen.outage_classified が詳細 {offline_since, back_at, likely_cause, evidence, online_event_id} 付きで 1 回だけ追加され、オフラインだったスクリーンの解決通知には、通知の送信時点までに判定されていれば原因が記載されます。読み取り側は、知らない likely_cause を unknown として扱います。読み取り専用で、認可には使いません。
ScreenPatch— 必須: noneScreenPlayPageAccepted— 必須: screen_id, playlist_id, page_id, manifest_revision, expires_atScreenPlayPageDetails— 必須: page_id, playlist_id, manifest_revision, expires_atdurable player.play_page イベントの詳細オブジェクト。
ScreenPlayPageWrite— 必須: page_idScreenPlayerIdentity— 必須: legacy, seen_at最新のペアリング済みランタイムミントからの確定アイデンティティ。読み取り専用の表示メタデータで、認可は含まれません。内部の権限とミントフィールドは非公開。
ScreenPlaylistPatch— 必須: playlist_id画面のプレイリストの割り当て(patchScreenPlaylist)。ボディにほかのメンバーはありません。
ScreenPlaylistSchedule— 必須: entries, updated_atサーバー評価済みプレイリストスケジュール。これは決してランタイムマニフェストに届かず、マニフェストは選択した有効なプレイリストから構築されます。PUT /api/screens/{id}/playlist-schedule.で書き込みます。
ScreenPlaylistScheduleView— 必須: entriesScreenPlaylistScheduleWrite— 必須: entriesScreenPresenceHistory— 必須: items, next_cursorScreenPresenceTransition— 必須: at, stateScreenProvisioning— 必須: screen, public_url, provisioning_url, expires_atScreenRebootAccepted— 必須: reboot_id, expires_at, stateScreenRebootSchedule— 必須: enabled, windows, updated_atバックエンドがスクリーンを再起動するウィンドウ。設定されている間のみ存在します。
ScreenRebootScheduleView— 必須: reboot_schedule, next_reboot_atScreenRebootScheduleWrite— 必須: enabled, windowsScreenRecoveryHost— 必須: noneこのスクリーンの回復を要求するデバイスが何であるか、ペアリング開始のホストオブジェクトからコピーされます。説明フィールドのみ;duid、シリアル、macは含みません。不在のフィールドは報告されていません。
ScreenRecoveryPending— 必須: expires_atこのスクリーンのハードウェア識別情報を提示したネイティブのペアリングセッションが、所有プロジェクトのPOST /api/screens/{id}/recovery/confirm. による確認を待っています。期限はペアリングセッション自身の有効期限であり、提供デバイスの説明的ホストフィールド(duid、シリアル、macは含まれません)を含みます。
DUID はパネル上のどのアプリケーションからも読み取れるため、オファーはフィッシングのリスクとなります。確認前に host.model と host.firmware を目の前のディスプレイと比較してください。
サーバーはスクリーンのバウンドキーが過去 10 分以内にライフを示した場合(セッションミント、ランタイムストリーム、マニフェスト取得、プレゼンスハートビート)にオファーを拒否し、スクリーンごとにローリング 1 時間あたり最大 3 件のオファーを受け入れます。新しいオファーは保留中のものを置き換えます。確認済み、期限切れ、新規スクリーンとして請求済みは除外。読み取り専用。
ScreenReloadAccepted— 必須: reload_id, expires_at, stateScreenReplaceWrite— 必須: withScreenScheduleEntry— 必須: id, playlist_idScreenScheduleEntryWrite— 必須: playlist_idプレイリストスケジュールの 1 つのエントリーで、スクリーン自身のスタックのレベルです(packages/schedule-contract SEMANTICS.md の Levels and the stack)。id は任意で(省略すると entry_N が順に割り当てられます)、スケジュール内で一意です。
すべてのルールメンバーの条件を満たしている間だけ有効です。from(含む)と until(含まない)はオフセットなしの分精度の市民時間の境界、windows、monthly、dates のいずれかの発生(3 つのいずれも指定しない場合は毎日)で、その日付が except にないこと、data はカードデータの条件、interaction は誰かがスクリーンを操作している間です。
エントリは少なくとも 1 つのルールメンバーを設定します。data、interaction、covers、および出力を除外する displays ロックは、独自のスタックを解決する Player が適用します。ほかの Player 向けのサーバー側の解決では、そのようなエントリはスキップされます(stack_only)。
ScreenSchedulePreviewRequest— 必須: entriesScreenScheduleRevision— 必須: revision, created_at, change, current, entriesスクリーンのプレイリストスケジュールの保存済みリビジョン 1 件: 書き込み後の entries リスト全体です (entries なし: スクリーンにスケジュールがなかった)。revision は書き込み時のスクリーンのリビジョンです。change は edited、restored (以前のリビジョンのコピーで、restored_from で指定)、または baseline (履歴が始まったときにスクリーンが保持していたスケジュール) のいずれかです。
ScreenScheduleRevisionList— 必須: itemsScreenScheduleWindow— 必須: daysスクリーンのタイムゾーンでの1つの screenrig.schedule/v1 ウィンドウ。曜日は月曜から日曜で保存されます。開始と終了を省略すると終日になります。end <= start は日付をまたぎ、開始日の所有となります(金曜22:00-02:00は土曜の朝まで)。開始と終了が同じ場合は24時間実行されます。
ScreenScope— 必須: folder_ids, screen_idsスコープ付きメンバーまたはエージェントが操作できる対象(docs/screen-scope.md):一覧のスクリーンフォルダーとその内側のすべてのフォルダーにあるスクリーン、および一覧のスクリーン。合計で少なくとも1つのID。書き込み時にプロジェクトの有効なフォルダーまたはスクリーンを指さないIDは、その位置で invalid_request です。後で削除されると、何も付与しない無効なIDが残ります。
スコープはリクエストごとに読み取られるため、変更は次のリクエストから適用されます。タグはスコープになりません。
ScreenScreenshotAccepted— 必須: capture_id, expires_atScreenScreenshotFailedDetails— 必須: capture_id, reasondurable screen.screenshot_failed イベントの詳細オブジェクト。
ScreenScreenshotReadyDetails— 必須: capture_id, bytes, width, height, sha256durable screen.screenshot_ready イベントの詳細オブジェクト。ピクセルとオブジェクトキーは含まれません。
ScreenScreenshotRequestedDetails— 必須: capture_id, expires_at, max_width_divisor, max_height_divisor, format, quality, max_bytesdurable screen.screenshot_requested イベントの詳細オブジェクト。画像バイトとオブジェクトキーは含まれません。
ScreenScreenshotStatus— 必須: stateScreenStackStatus— 必須: manifest_revision, levels, playing, reported_atスクリーンの Player がスタックについて最後に報告した内容 (docs/player-compatibility.md §6.11):各レベルの準備状況と、各ディスプレイが各領域 (ページと各ストリップ) で表示しているレベル。独自のスタックを解決する Player に限り、そのスタックが最新である間のみ存在します。
ScreenStatus— 必須: chip, observed_at, received_atスクリーンの Player が PUT /screen/status で最後に報告したステータスチップ(docs/player-compatibility.md §9.5)。ランクで勝つ screenrig.overlay/v1 の条件、または Player がチップを表示しない場合は null。最初に受理されたレポートまで存在しません。IDリセット、アンペア、アーカイブでクリアされます。
Player の最後のレポートであるため、スクリーンがオンラインでない場合(Screen.online)、他のすべての Player レポートと同様に、消費者はこれを古いものとみなします。level と icon は chip に対するバックエンドのカタログから取得され、Player からは取得されず、chip が null の場合は存在しません。プロジェクトAPIで読み取り専用です。認証や入場は決して行いません。ScreenPatchは書き込みできません。
ScreenStatusChangedDetails— 必須: chip永続的なプロジェクト専用の screen.status_changed イベントの詳細オブジェクト。PUT /screen/status が保存済みの chip、level、icon を変更したときに追加されます。chip が null の場合、level と icon は存在しません。このタイプはランタイムのオーディエンスコマンドではなく、GET /screen/events では配信されません。
ScreenStorage— 必須: observed_at, received_at, volume, cache, durability, plan, transfer_24hサニタイズされたプレーヤーストレージレポート。最初の承認されたPUT /screen/storage.まで存在しません。IDリセット、アンペア、アーカイブでクリアされます。消費者は24時間以上古いreceived_atを古いものとみなします。プロジェクトAPIで読み取り専用です。認証や入場は決して行いません。ScreenPatchは書き込みできません。
ScreenStorageCache— 必須: house_used_bytes, capacity_bytes, reserve_bytes, protected_bytes, fallback_bytes, warm_bytes, ad_headroom_bytesScreenStorageExcludedPage— 必須: page_id, reasonScreenStorageForecast— 必須: manifest_revision, fit, excluded_page_count, basis, received_at最後に報告された容量とスクリーンの希望マニフェストからの概算定常状態ターゲット選択(プランA.3のみ、トランジションなし)。ストレージレポートがない場合は不在とし、利用者は不明として読みます。基準はreported_capacityです。ストレージレポート到着時およびスクリーンのマニフェスト改訂変更時に再計算されます。認証や入場ではありません。
ScreenStorageForecastDryRun— 必須: fit, excluded_page_count, required_bytes, capacity_bytes, basis, received_at1つのプレイリストの事前割り当てフィットドライラン。fit、excluded_page_count、およびrequired_bytesはプランA.3のターゲット選択から来ます。スクリーンの最後の報告された容量に対する基準はreported_capacityです。遷移予測はなく、ローカルとして扱われるものはありません。required_bytesはプレイリストの各ページの保持コストです。fit unknownはスクリーンにストレージ報告がないか、プレイリストのコンテンツ参照が準備できていないことを意味します。その場合、required_bytes、capacity_bytes、およびreceived_atはnullです。received_atはストレージ報告の受領時刻で、24時間以上古い報告は古くなりますが、Screen.storage_forecastと同様に予測に使用されます。
読み取り専用メタデータであり、認証や入場ではありません。
ScreenStorageForecastRequest— 必須: playlist_id事前割り当て適合ドライランの本文。playlist_idは認証されたプロジェクトのプレイリストでなければなりません。他のプロジェクトまたは不明なIDはnot_found。
ScreenStoragePlan— 必須: manifest_revision, fit, transition, required_bytes, target_bytes, excluded_pagesScreenStorageShortfall— 必須: at, fit, required_bytes, capacity_bytes, excluded_page_countプレイヤーの報告する適合が部分的、transition_blocked、またはnone_fitの場合に存在します。ただし、唯一のブロック理由がanchor_unavailableのtransition_blockedプランは除きます:これは空きのあるデバイスでのダウンロード失敗であり、不足ではありません。atは条件が始まった時刻です。
条件が開始したときに1回設定され、終了時に削除されます。各遷移はプロジェクト専用イベントscreen.storage_shortfallまたはscreen.storage_shortfall_clearedを1つ追加します。これらのイベントはGET /screen/events.では配信されません。identity reset、unpair、archiveでScreen.storageでクリアされます。
読み取り専用のプロジェクト状態メタデータ。スクリーンリビジョンやマニフェスト権限を変更せず、認可ではありません。
ScreenStorageTransfer— 必須: new, refetch, repair, failedScreenStorageVolume— 必須: total_bytes, available_bytesScreenSurfaceChangedDetails— 必須: observed_at, surfaces永続的な screen.surface_changed プロジェクトイベントの詳細オブジェクト。ピクセルは含まれません。このタイプはランタイムのオーディエンスコマンドではなく、GET /screen/events. で配信されません。
ScreenSuspendWrite— 必須: messageScreenSuspension— 必須: message, sinceスクリーンが一時停止している間に存在します(docs/player-compatibility.md §6.9)。ランタイムマニフェストは、同じオブジェクトを suspension メンバーとして持ちます。
ScreenTags— 必須: noneフリートセレクタータグ(0〜16件の一意なタグ、各タグはメディアタグ構文に準拠)。ScreenPatch では配列全体が置き換えられ、空配列で全タグがクリアされます。重複や不正なタグはinvalid_requestです。タグを変更するとスクリーンのリビジョンが更新され(If-Matchで保護)、screen.updatedにdetails.tagsが追加されます。マニフェストリビジョンは変更されません。
タグはランタイムマニフェストにも認証にも決して含まれません。
ScreenTagsPatch— 必須: tagsスクリーンの完全な新しいタグセット(patchScreenTags)。配列はスクリーンが持つすべてのタグを置き換え、空の配列はすべてクリアします。本文に他のメンバーはありません。
ScreenTakeover— 必須: playlist_id, until, set_atuntil まで、キャンペーン、スケジュール、割り当てよりも優先されるプレイリストです。until が null の場合は、クリアされるまで優先されます。
ScreenTakeoverWrite— 必須: playlist_idScreenTimelineSegment— 必須: from, to, sourceScreenToastAccepted— 必須: expires_atScreenToastDetails— 必須: level, text, duration_ms, expires_atdurable screen.toast イベントの詳細オブジェクト。色は含まれません。
ScreenToastWrite— 必須: level, textScreenUptime— 必須: itemsScreenVerbosityPatch— 必須: noneスクリーンのログレベルとトーストレベルの変更 (patchScreenVerbosity)。本文には 2 つのメンバーのうち少なくとも 1 つを指定し、それ以外は指定しません。
ScreenVerdict— 必須: kind, playlist_id, verdict説明対象の時刻における候補です。won: リゾルバーが選ぶもの(自身のスタックを解決する Player のスクリーンでは、対象ディスプレイの自身の領域を埋める)。outranked: 有効だが、by が勝った候補を示す。not_started: from より前。ended: until の時刻以降(テイクオーバーの場合はその終了)。outside_hours: from と until の間で、ウィンドウの外。conditional: 自身のスタックを解決する Player のスクリーンで、時間条件を満たし、Player だけが観測する条件も満たす間に再生される(reason interaction または data)。off: 適用されず、reason が理由を示す。
ScreenWall— 必須: outputs, arrangementスクリーンのPlayerがレイアウトするビデオウォール:1つのキャンバスを表示する2〜12の出力。設定には display.wall ホスト機能を宣言したPlayerが必要です(docs/player-compatibility.md §6.5, §6.8)。フォーマット付きプレイリストは壁全体にまたがります。
ScreenshotCaptureID— 必須: noneオプションのstage_、qa_、またはdevelopment_プレフィックス、その後にshot_とランダムなサフィックス。新しいサフィックスはoOlLを除く16文字の英数字を使用します。保持されたレガシーサフィックスは受け入れられます。
SelectorPreview— 必須: primitive, selector, matched_count, candidatesSelectorPreviewInput— 必須: primitive, selectorSelectorPreviewMedia— 必須: media_id, filename, tagsServiceClient— 必須: id, project_id, name, capabilities, access, state, created_by, keys, secrets, created_at, updated_at, authenticated_requests, tokens_issuedServiceClientChange— 必須: noneServiceClientKey— 必須: kid, alg, thumbprint, jwk, added_atServiceClientList— 必須: itemsServiceClientResult— 必須: clientServiceClientSecret— 必須: id, hint, added_atSessionDescription— 必須: type, sdpSessionSSOStartRequest— 必須: intentSignInPolicy— 必須: password, passkey, passkey_enrollment_required, policy_revision, federated検証済みユーザーサインインポリシー。パッシブなデフォルトはローカルサインインを維持します。強制された組織ポリシーはIDプロバイダー経由のサインインを指示します。
SignInResetAccepted— 必須: status既知・未知のアドレスで同一。アドレス、認証情報、プロジェクト、配信状況は返されません。
SignInResetRequest— 必須: emailSignupCreated— 必須: user_id, project_id, organization_idSignupHeardDetail— 必須: noneheard の補足です。kind は短い一覧から選んだ項目を示し、text は自由記述です。
SignupPasskeyOptionsRequest— 必須: email, display_nameSignupProfile— 必須: noneサインアップ後にユーザーが行う回答。すべてのメンバーは任意で、null にでき、未回答またはスキップを意味します。
SignupRequest— 必須: email, display_name, marketing_email, credentialメールアドレスと表示名は、セレモニーの開始時に使われたものです。
Source— 必須: id, name, kind, target, enabled, config, preset, settings, secrets, refresh_seconds, stale_after_seconds, revision, status, created_at, updated_atSourceArea— 必須: key, name, rooms, status, screensSourceCreate— 必須: name, targetJSON、CSV、Sheets の設定では、{screen.field.NAME} トークンを含むカードデータキー key_template を指定できます。マッピングは単一ドキュメントの代わりに {documents:[{fields:{NAME:VALUE},document:{...}}]} を生成します。各出力は対象カードに照らして検証されます。
キーは一意で、カードインスタンスとフィードの名前空間の外に置きます。source test はエンベロープをプレビューし、すべての出力を検証します。各キーにはソースの有効期間が適用されます。含まれないキーは既存のデータと有効期限を維持します。ストレージ障害で一部の書き込みが残った場合、次の実行で再試行します。
SourceError— 必須: code, message, atSourceKind— 必須: noneデータの取得元です。ics は iCalendar と webcal:// のアドレスを読み取ります(ほかの種類は /docs/sources に記載)。利用できない種類は kind に対して invalid_request を返します。
SourceList— 必須: items, next_cursorSourcePreset— 必須: name, title, category, description, kind, cards, fields, secrets, refresh_seconds, min_refresh_seconds, stale_after_seconds, attribution, docsjson データソースの、あらかじめ用意されてテスト済みの設定。
SourcePresetAttribution— 必須: textSourcePresetCard— 必須: type, defaultSourcePresetField— 必須: name, label, type, required, help人がプリセットに伝える 1 つの項目。テキストは pattern と max_length で検証され、選択は options のいずれかで、リストは fields で埋められた min_items から max_items 個のオブジェクトを持ちます。
SourcePresetList— 必須: itemsSourcePresetOption— 必須: value, labelSourcePresetSecret— 必須: name, label, help, how_to_get, requiredプリセットが必要とする認証情報で、secrets の name の下に入力します。
SourceRoom— 必須: key, status, screensSourceRoomRef— 必須: id, nameSourceRoomScreen— 必須: id, name, kind, field, value, statusSourceRooms— 必須: source_id, room_field, room_key_prefix, area_field, area_key_prefix, rooms_as_of, summary, rooms, areas, screens, warnings部屋またはエリアごとにドキュメントを書き込むデータソースの部屋のマッピングです。データソースが最後に成功した更新で提供していた部屋と、それを読むスクリーンを対応づけます。
スクリーンは、そのフィールドに値があるか、スクリーン自身のプレイリストが、データキーがキープレフィックスに {screen.field.NAME} を続けたものであるカードを配置している場合に、そのフィールドのレポートに含まれます。フォルダー、キャンペーン、スケジュールレベルを経由して到達するプレイリストはたどりません。
SourceRoomsSummary— 必須: rooms, unmapped_rooms, areas, unmapped_areas, screens, missing_screens, unknown_screensSourceSecretView— 必須: set, hint, updated_atSourceStaleAfter— 必須: noneデータソースが更新できないとき、カードが最後の正常なデータを保持する期間(秒)。
データソースは、最後に成功した更新からこの期間後に期限切れになるようにドキュメントを書き込みます。失敗が続くと、ドキュメントはオフラインのものを含むすべてのスクリーンで空になり、データに依存する表示条件のページは後続のページに切り替わります。失敗していないデータソースは、更新のたびに期限を延長します。
refresh_seconds の 2 倍以上にします。null は、データソースが再び更新されるまで最後の正常なデータを保持します(momentus 以外のすべての種類の既定値。momentus は作成時にメンバーを省略すると 1800)。失敗しているデータソースがこの期間を過ぎると期限切れ(status.stale)となり、source.stale が追加されます。
SourceStatus— 必須: state, last_attempt_at, last_success_at, last_change_at, next_run_at, failures, stale, data_expires_at, error, warnings, stats直近の実行の結果です。state は pending(まだ実行されていない)、ok(直近の取得が成功し、カードがドキュメントを受け入れた)、error(直近の実行が失敗し、カードは最後に成功したドキュメントを保持している)、disabled のいずれかです。ok は、元のデータが正しいか最新かどうか、またどのスクリーンがカードを表示しているかは判断しません。
SourceTarget— 必須: card_idSourceTestRequest— 必須: noneSourceTestResult— 必須: document, valid, warnings, stats, fetched_atSourceUpdate— 必須: noneStackLevel— 必須: id, source, playlist_idスクリーンのスタックの 1 つのレベルです(packages/schedule-contract SEMANTICS.md の Levels and the stack)。id は takeover、campaign:ID、schedule:ENTRY_ID、default、folder:FOLDER_ID のいずれかで、record_id はキャンペーン、エントリー、フォルダーを指し、name はキャンペーンまたはフォルダーの名前です。rule がない場合は常に成立します。
StackLevelRule— 必須: noneStreamSource— 必須: noneStreamSourceWrite— 必須: noneストリームソース。ソースは url だけを指定し、スキームでプロトコルを決めることもできます。https は hls、rtsp と rtsps は rtsp です。
SupportConversation— 必須: id, subject, created_at, updated_at, last_sequence, human_requested, unread_staff, closedSupportConversationList— 必須: items, next, unread_staff_totalSupportHours— 必須: timezone, start, end, weekdays, excludes_bc_holidaysSupportMessage— 必須: id, conversation_id, sequence, role, author, body, created_atSupportMessageList— 必須: itemsSupportRead— 必須: sequenceSupportStatus— 必須: chat_allowed, available, staffed, human_available, hours, human_wait_seconds, docs_urlSupportSubmission— 必須: conversation, messageSupportWrite— 必須: bodyTrigger— 必須: id, kind, label, target, default_for_seconds, url, username, revision, created_at, updated_atCAP アラートトリガーまたはオーバーレイトリガー。パスワードは create と rotate-secret だけが返します。
TriggerAlert— 必須: id, revision, state, status, msg_type, sender, identifier, until, screens, started_at, updated_atトリガーの最新アラート、CAPメッセージフィールドから。
TriggerAlertScreens— 必須: targeted, taken_over, cleared, skipped, failed, pending最新のテイクオーバー変更内容。デフォルトプレイリストがない、アーカイブ済み、消失したスクリーンはカウントせず、クリア時は別のテイクオーバーが置き換えたスクリーンも除外します。
保護されたスクリーンフォルダー内のスクリーンはそのまま残され、スキップではなく protected として数えられます。アラートの終了(キャンセル、オールクリア、オペレーターによる解除)は、そのようなスクリーンにトリガーが設定した内容を引き続き解除します。
TriggerClear— 必須: noneTriggerDelivery— 必須: at, outcome, status, bytes, request_idTriggerDeliveryList— 必須: itemsTriggerList— 必須: itemsTriggerOverlay— 必須: show, style, enabled, signing, alerts, screens, pendingオーバーレイトリガーの設定と状態。
TriggerOverlayAlert— 必須: id, until, started_at, updated_at, revisionTriggerOverlayReceipt— 必須: outcome, trigger_id, until, activeTriggerOverlayRequest— 必須: noneオーバーレイトリガーへの 1 回の送信(トリガーの mapping があればそれを適用した後の内容)。解除では、alert_id、clear、state 以外のメンバーは無視されます。
TriggerOverlayScreens— 必須: targeted, holding, taken_over, removed, edge_taken, skipped, failed直近のファンアウトが対象スクリーンに行ったこと。保護されたスクリーンフォルダー内のスクリーンはそのまま残され、スキップではなく protected として数えられます。アラートの終了は、引き続きトリガーがそのスクリーンに設定した内容を解除します。
TriggerOverlayStyle— 必須: noneオーバーレイの描画に使うテキストカードの静的パラメーター。レイアウトはトリガーが選びます。
TriggerOverlayWrite— 必須: showTriggerPatch— 必須: noneTriggerReceipt— 必須: outcome, trigger_idTriggerSecretRotate— 必須: noneTriggerTarget— 必須: nonetag と screen_ids のどちらか一方のみ。
TriggerWithPassword— 必須: noneTriggerWithSecrets— 必須: noneTriggerWrite— 必須: label, targetUDPStreamSource— 必須: protocol, group, portURLStreamSource— 必須: urlUploadScope— 必須: playlist_ids, folder_idsアップローダーが使えるもの(docs/uploaders.md):ページを変更できるプレイリストと、アップロード先のメディアフォルダー。フォルダーは一覧されたものそのもので、サブフォルダーは含まれません。書き込み時にプロジェクトの有効なオブジェクトを指していないIDは、その位置で invalid_request になります。後から削除されたものは無効なIDとして残りますが、何も許可しません。
範囲はリクエストごとに読み込まれるため、変更は次のリクエストから適用されます。
UptimeDay— 必須: day, online_s, offline_s, availability, coverage1つのUTC日。availabilityはonline_sをonline_sとoffline_sで割った値で、記録がない場合はnullです。coverageは1日のうち記録された状態のある割合(プロジェクト行の各報告スクリーンの日単位)、0から1の範囲です。ギャップはcoverageを下げ、オフライン時間にはなりません。intervals(スクリーン行)はその日に触れた記録済みインターバル数、screens(プロジェクト行)は記録状態のあったスクリーン数、liveは現在までのオープンインターバルを含むスクリーン日のマークです。
UsageFrame— 必須: page_id, primitive_id, rectメディアファイルを指定する画像または動画プリミティブ 1 つ。そのフレームと、ファイルがフレームをどのように埋めるかを含みます。
UsageScreen— 必須: id, label, screen, playlist_ids, how挙げられたプレイリストの少なくとも 1 つを使用しているアクティブなスクリーン 1 台。
UsageScreenHow— 必須: playlist_id, usesUsageTagFilter— 必須: all, any, noneタグセレクターのフィルター。ファイルが一致するのは、all のタグをすべて持ち、any が指定されている場合は any のタグを少なくとも 1 つ持ち、none のタグを 1 つも持たないときです。省略形のタグセレクターは、タグを 1 つ指定した all です。
UsageTrack— 必須: index, idUserEmailChangeAccepted— 必須: noneUserEmailChangeRequest— 必須: email, proof新しい証明を使って検証済みメールアドレスの変更を要求します。検証中は現在のメールアドレスが有効です。古いアドレスには警告のみ送信され、元に戻すリンクはありません。
VerifiedOrganizationDomain— 必須: domain, organization_id, state, verified_atVersionResponse— 必須: version, commit, api_version, protocol_versionWebhook— 必須: id, url, event_types, enabled, revision, status, created_at, updated_atプロジェクトのWebhookです。Playerログレコード(runtime.reported)は配信されません。
一致する各プロジェクトイベントは、GET /api/events が返すのと同じ JSON オブジェクトとして url に POST され、ヘッダーに ScreenRig-Webhook-Id、ScreenRig-Event-Id(イベントカーソル、リトライ間で安定)、User-Agent、ScreenRig-Signature t=<unix seconds>、v1=<hex HMAC-SHA256 over "<t>.<raw body>"(秘密文字列でキー化)を含みます。
10秒以内の 2xx 応答は成功です。それ以外のステータス、リダイレクト(追従しません)、タイムアウト、接続または TLS 障害は指数バックオフ(30秒から1時間まで倍増、ジッターあり)で24時間再試行し、失敗となります。タイムアウトが3回連続した場合、応答があるまで試行タイムアウトは5秒に短縮されます。
Webhook は最大1回の試行を同時に行い、プロジェクト全体で最大2回まで、すべてのサーバーで共有されます。配信は少なくとも1回で順不同です。ScreenRig-Event-Id で重複排除します。
各試行は、リッスンストリームのイベントと同様に計測されます(月間10,000件の API/SSE 枠を超えると1クレジット)。リッスンストリームで無料のイベントは、ここでも無料です:screen.*、runtime.*、alert_mute.*、application.event、playback.page_failed、agent.command。
送信が行われる前に拒否された試行(url_rejected、dns_failed)は課金されません。payment_required と secret_unavailable は再試行の間隔を空けますが、failing や自動無効化の対象としてはカウントされません。status は、failing_since 以降に成功した配信がない間は failing です。72時間連続で失敗すると、Webhook は無効になり(disabled_reason は delivery_failures)、notification.disabled が追加されます。
WebhookDelivery— 必須: id, webhook_id, event_id, event_type, state, attempts, created_atWebhookDeliveryAttempt— 必須: attempt, at, status, error, duration_msWebhookDeliveryAttemptList— 必須: itemsWebhookDeliveryList— 必須: items, next_cursorWebhookEventTypes— 必須: nonescreen.online のような完全一致のイベントタイプ、または screen.* のような .* で終わるプレフィックス(screen. で始まるすべてのタイプ)。notification.test は購読によって配信されることはなく、POST /api/webhooks/{id}/test でのみ送信されます。
WebhookHandshake— 必須: noneこの URL が応答するベンダーのハンドシェイクで、ここに署名スキームがないベンダー向けです。microsoft_graph は、validationToken クエリパラメーターを持つ POST に、デコードしたトークンを text/plain でそのまま返して応答します。monday は {"challenge": "..."} の JSON POST に同じ JSON で応答します。trello は HEAD チェックに 200 で応答します。azure_event_grid は SubscriptionValidationEvent (aeg-event-type: SubscriptionValidation) に {"validationResponse": "<validationCode>"} で応答します。verify.vendor slack は Slack の署名付き url_verification チャレンジに応答し、verify.vendor asana は Asana の X-Hook-Secret ハンドシェイクに応答して、そのシークレットをイベントの検証用に保持します。
ハンドシェイクに応答するのは、そのベンダー用に設定された Webhook だけです。何も書き込まず、課金されず、レート予算も消費せず、結果 handshake で配信ログに記録されます。無効な Webhook は応答しません。
WebhookList— 必須: itemsWebhookPatch— 必須: noneWebhookVerify— 必須: vendor, secretWebhook またはトリガーのベンダー検証を、読み取りで示される形で表します。シークレットは常にヒントだけです。
WebhookVerifyVendor— 必須: noneWebhookVerifyWrite— 必須: vendorシークレットの代わりに、自身の署名で送信を認証するベンダー。これらのベンダーは、こちらのシークレットを送れないためです。
各ベンダーのヘッダーとスキームは、そのベンダー固有で固定です。github は X-Hub-Signature-256、sha256=、本文の 16 進 HMAC-SHA256 を送ります。stripe は Stripe-Signature、t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<body>"> を送ります (シークレットのローテーション中は複数の v1、t は 5 分以内)。shopify は X-Shopify-Hmac-Sha256、本文の base64 の HMAC-SHA256 を送ります。slack は X-Slack-Signature、v0=、"v0:<X-Slack-Request-Timestamp>:<body>" の 16 進 HMAC-SHA256 を送ります (5 分以内)。linear は Linear-Signature、本文の 16 進 HMAC-SHA256 を送り、本文のメンバー webhookTimestamp (Unix ミリ秒) は 1 分以内でなければなりません。vercel は x-vercel-signature、本文の 16 進 HMAC-SHA1 を送ります。asana は X-Hook-Signature、Asana のハンドシェイクの X-Hook-Secret をキーとした本文の 16 進 HMAC-SHA256 を送ります。generic_hmac は、指定したヘッダーに HMAC-SHA256 で署名する任意の送信元です。
有効な署名を持つ送信は、シークレットなしで受け付けられ、シークレットも並行して使えます。verify は signing と併用できません。送信は、レート予算を消費する前に、届いたままの本文で判定されます。Slack と Asana は、それぞれのハンドシェイクにも応答します (WebhookHandshake を参照)。
WebhookWithSecret— 必須: id, url, event_types, enabled, revision, status, created_at, updated_at, secretWebhook とその署名シークレットです。作成または rotate-secret の時のみ返されます。
WebhookWrite— 必須: url, event_typesWebsiteSetupCode— 必須: code, expires_at