API リファレンス

カードデータ API

組み込みカード用のカードデータ

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

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

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

組み込みカード用のカードデータ

GET/api/card-types

カードタイプ一覧

この環境の公開カタログから組み込みカードを検出し、ベンダーのフロアと統合します。更新とスキーマ検証はバックグラウンドで行われ、このルートはエッジバケットを呼び出しません。各エントリには現在のコピー、階層、その階層が許可するレイアウト、提供されるすべてのメジャーが一覧表示されます。

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

パラメーター

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

レスポンス

ステータス意味本文とヘッダー
200ID 順の組み込みカードカタログCardCatalogue(application/json)
デフォルト

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

問題 (application/problem+json)
GET/api/card-types/{id}

カードタイプを取得

現行メジャーバージョンの、配置の params とカードデータドキュメント向けの自己完結型 JSON スキーマ、フィードスキーマ、ティア、使用できるレイアウト、配置の例です。dynamic と記されたパラメーターは、配置が data キーを指定している場合、データドキュメントから取得されます。

文字列のパラメーターには {screen.name}、{screen.timezone}、{screen.field.NAME} を含めることができ、location パラメーターには文字列 {screen.location} を指定できます。バックエンドがスクリーンごとにこれらを展開します。公開する前に、例として入っているコンテンツの値を置き換えてください。不明な ID には card_not_found(404)が返されます。

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

パラメーター

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

レスポンス

ステータス意味本文とヘッダー
200カードプロパティスキーマと配置例CardDetails(application/json)
404

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

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

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

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

カード一覧

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

パラメーター

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

レスポンス

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

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

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

カードを作成

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

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

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

レスポンス

ステータス意味本文とヘッダー
201カードリソースCardInstance(application/json)
429

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

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
デフォルト

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

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

カードを取得

グローバルカードUID、または非推奨のカタログタイプセグメント。後者は/api/card-types.を指す非推奨および警告ヘッダーを追加します。

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

パラメーター

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

レスポンス

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

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

問題 (application/problem+json)
PATCH/api/cards/{id}

パッチカード

If-Matchはカードメタデータリビジョン(データリビジョンではない)をオプションで比較します。省略すると現在のリビジョンを更新。Idempotency-Keyはメソッド、UID、パラメータ、If-Matchに24時間結びつきます。再試行は記録された結果を再生し、削除後の204も含みます。入力変更はidempotency_mismatch。古いIf-Matchはrevision_conflict(412)を返します。

キーはカードUIDにスコープされます。

認証
projectBearer
リクエスト本文
object
操作ID
patchCard

パラメーター

名前送信する必須?説明
IDパス必須
Idempotency-Keyヘッダー必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。

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

フィールド説明
パラメーター(必須、オブジェクト)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/cards/RESOURCE_ID'

レスポンス

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

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

問題 (application/problem+json)
削除/api/cards/{id}

カード削除

If-Matchはカードメタデータリビジョン(データリビジョンではない)をオプションで比較します。省略すると現在のリビジョンを更新。Idempotency-Keyはメソッド、UID、パラメータ、If-Matchに24時間結びつきます。再試行は記録された結果を再生し、削除後の204も含みます。入力変更はidempotency_mismatch。古いIf-Matchはrevision_conflict(412)を返します。

キーはカードUIDにスコープされます。

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

パラメーター

名前送信する必須?説明
IDパス必須
Idempotency-Keyヘッダー必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' 'https://api.screenrig.ai/api/cards/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
204削除済み本文なし
デフォルト

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

問題 (application/problem+json)
GET/api/cards/{id}/data

インスタンスデータを取得

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

パラメーター

名前送信する必須?説明
IDパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/cards/RESOURCE_ID/data'

レスポンス

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

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

問題 (application/problem+json)
PUT/api/cards/{id}/data

インスタンスデータをPUT

認証
projectBearer
リクエスト本文
object
操作ID
putInstanceData

パラメーター

名前送信する必須?説明
IDパス必須
If-Matchヘッダーオプション
Idempotency-Keyヘッダーオプション

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

フィールド説明
document(必須、オブジェクト)
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/cards/RESOURCE_ID/data'

レスポンス

ステータス意味本文とヘッダー
200カードリソースCardDataEntry(application/json)
429

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

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
デフォルト

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

問題 (application/problem+json)
GET/api/cards/{id}/kv-webhooks

カードWebhook 一覧

カードの受信Webhookを古い順に一覧表示します(最大20件)。シークレットはここでは返されません。

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

パラメーター

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

レスポンス

ステータス意味本文とヘッダー
200カードのWebhook。CardKVWebhookリスト(application/json)
404card_not_found — このプロジェクトにカードがありません。問題 (application/problem+json)
デフォルト

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

問題 (application/problem+json)
POST/api/cards/{id}/kv-webhooks

カードWebhookを作成

このカードのデータドキュメントを書き込む Webhook を作成します。外部のシステムが、その url に JSON またはフォームの本文を送信します (POST /api/cards/{id}/kv-webhooks/{webhook_id}/write)。

マッピングがなければ、送信されたオブジェクトがそのままドキュメントになります。マッピングテンプレートは本文からドキュメントを組み立て、保存時に検証されます。signing true は ScreenRig-Signature ヘッダーも必須にします。verify は、ベンダー自身の署名 (GitHub、Stripe、Shopify、Slack、Linear、Vercel、Asana、または任意の HMAC 送信元) を、シークレットの代わりに送信の認証に使います。シークレットも並行して使えます。signing とは併用できず、そのシークレットは封印して保存され、返されることはなく、ヒントだけが返されます。handshake は、url が応答するベンダーのハンドシェイクを指定します (Microsoft Graph、monday.com、Trello、Azure Event Grid。verify slack と asana は自分のハンドシェイクに応答します)。

シークレットと署名シークレットが現れるのは、このレスポンス(および rotate-secret と署名を有効にする更新)だけです。すぐに送信側のシステムに保存してください。カードには最大20個のWebhookを作成できます(kv_webhook_limit_reached)。kv_webhook.created を追加します。

同じ Idempotency-Key での完全に同じ再試行には、シークレットを含む同じレスポンスが24時間返されます。

認証
projectBearer
リクエスト本文
CardKVWebhookCreate
操作ID
createCardKVWebhook

パラメーター

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

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

フィールド説明
説明(任意、文字列)maxLength:200
key_template(省略可、文字列)

{screen.field.NAME} を含む任意のカードデータキーテンプレートです。キー別モードでは、マッピングまたは送信本文が {documents:[{fields:{NAME:VALUE},document:{...}}]} を生成し、各出力が自分のフィールドでテンプレートを埋めます。キーは一意かつ有効で、カードインスタンスとフィードの名前空間の外である必要があります。書き込み開始前に、すべての出力を所有元のカードに照らして確認します。

更新時に空文字列を指定すると、単一ドキュメントモードに戻ります。

mapping(任意、インライン)テンプレート。最大64 KiBで、保存時に検証されます。
signing(任意、ブール値)デフォルト:false
verify(任意、WebhookVerifyWrite)

シークレットの代わりに、自身の署名で送信を認証するベンダー。これらのベンダーは、こちらのシークレットを送れないためです。

各ベンダーのヘッダーとスキームは、そのベンダー固有で固定です。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 を参照)。

handshake(任意、WebhookHandshake)

この 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 は応答しません。許可:"microsoft_graph"、"monday"、"trello"、"azure_event_grid"

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

レスポンス

ステータス意味本文とヘッダー
201URL、シークレット、署名する場合は署名シークレットとともに作成されました。CardKVWebhookWithSecrets(application/json);ヘッダー:Cache-Control
400invalid_request。コンパイルできないマッピングを含みます(errors[0].field が該当箇所を示します)。問題 (application/problem+json)
404card_not_found — このプロジェクトにカードがありません。問題 (application/problem+json)
409kv_webhook_limit_reached または idempotency_mismatch。問題 (application/problem+json)
デフォルト

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

問題 (application/problem+json)
PATCH/api/cards/{id}/kv-webhooks/{webhook_id}

カードWebhookを更新

description、mapping (null で削除)、enabled、signing、verify (null で削除。シークレットなしの場合、ベンダーが同じなら保存済みのものを保持します)、handshake (null で削除) を変更します。signing をオンにすると、新しい signing_secret が 1 回だけ返され、false でオフになります。無効な Webhook は、すべての送信に、間違ったシークレットと同じ応答をします。kv_webhook.updated を追記します。

認証
projectBearer
リクエスト本文
CardKVWebhookUpdate
操作ID
updateCardKVWebhook

パラメーター

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

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

フィールド説明
説明(任意、文字列)maxLength:200
key_template(省略可、文字列)

{screen.field.NAME} を含む任意のカードデータキーテンプレートです。キー別モードでは、マッピングまたは送信本文が {documents:[{fields:{NAME:VALUE},document:{...}}]} を生成し、各出力が自分のフィールドでテンプレートを埋めます。キーは一意かつ有効で、カードインスタンスとフィードの名前空間の外である必要があります。書き込み開始前に、すべての出力を所有元のカードに照らして確認します。

更新時に空文字列を指定すると、単一ドキュメントモードに戻ります。

mapping(任意、インライン)テンプレートを置き換えます。null で削除します。
enabled(任意、ブール値)
signing(任意、ブール値)
verify(任意、インライン)

ベンダーの検証を置き換えます。null で削除され、そのシークレットも削除されます。シークレットなしの場合、ベンダーが同じなら保存済みのものを保持するので、ヘッダーやウィンドウだけを変更できます。別のベンダーには、そのベンダー自身のシークレットが必要です。asana の検証は、いったん削除して設定し直してから初めて、新しいハンドシェイクを受け付けます。

handshake(任意、インライン)この URL が応答するハンドシェイクを設定します。null で削除されます。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/cards/RESOURCE_ID/kv-webhooks/WEBHOOK_ID'

レスポンス

ステータス意味本文とヘッダー
200このリクエストで署名を有効にした場合は signing_secret を含むWebhook。CardKVWebhookWithSecrets(application/json);ヘッダー:Cache-Control
400invalid_request。コンパイルできないマッピングを含みます。問題 (application/problem+json)
404card_not_found、または not_found — このカードにそのWebhookはありません。問題 (application/problem+json)
409idempotency_mismatch.問題 (application/problem+json)
デフォルト

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

問題 (application/problem+json)
削除/api/cards/{id}/kv-webhooks/{webhook_id}

カードWebhookを削除

Webhookを削除します。URLは即座に無効になりますが、カードはドキュメントを保持します。kv_webhook.deleted を追加します。

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

パラメーター

名前送信する必須?説明
IDパス必須
webhook_idパス必須アプリケーションのキー/バリューWebhookのIDの1つ。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/cards/RESOURCE_ID/kv-webhooks/WEBHOOK_ID'

レスポンス

ステータス意味本文とヘッダー
204削除されました。本文なし
404card_not_found、または not_found — このカードにそのWebhookはありません。問題 (application/problem+json)
デフォルト

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

問題 (application/problem+json)
POST/api/cards/{id}/kv-webhooks/{webhook_id}/rotate-secret

カードWebhook シークレットを回転

Webhookのシークレットを置き換え、新しいものを一度だけ返します。signing true の場合は、代わりに署名シークレットを置き換えます。古いものは即座に使えなくなります。kv_webhook.secret_rotated を追加します。

認証
projectBearer
リクエスト本文
CardKVWebhookRotate
操作ID
rotateCardKVWebhookSecret

パラメーター

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

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

フィールド説明
signing(任意、ブール値)デフォルト:false
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/cards/RESOURCE_ID/kv-webhooks/WEBHOOK_ID/rotate-secret'

レスポンス

ステータス意味本文とヘッダー
200新しいシークレット、または新しい署名シークレットを持つWebhook。CardKVWebhookWithSecrets(application/json);ヘッダー:Cache-Control
400invalid_request — 署名しないWebhookに signing true を指定しました。問題 (application/problem+json)
404card_not_found、または not_found — このカードにそのWebhookはありません。問題 (application/problem+json)
デフォルト

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

問題 (application/problem+json)
GET/api/cards/{id}/kv-webhooks/{webhook_id}/deliveries

カードWebhookの配信一覧

Webhook の配信ログです。新しい順に最大 100 件、7 日間保持されます。

この Webhook を指定した各送信が 1 行になり、時刻、結果 (written、unchanged、refused、invalid、handshake)、理由 (credentials、signature、signature_missing、signature_invalid、timestamp_missing、timestamp_stale、secret_pending、handshake_invalid、disabled、body、mapping、card_data_invalid、rate_limited、payment_required、internal)、失敗したカードデータのパスなどの短い詳細、応答のステータス、本文のサイズ、マルチパートの送信に含まれていたファイルパートの数 (無視されます) が記録されます。

本文、ヘッダー、認証情報は保存されません。すべての拒否が共有する 404 を送信が受け取った理由を、プロジェクトはここで確認できます。

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

パラメーター

名前送信する必須?説明
IDパス必須
webhook_idパス必須アプリケーションのキー/バリューWebhookのIDの1つ。
制限クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/cards/RESOURCE_ID/kv-webhooks/WEBHOOK_ID/deliveries'

レスポンス

ステータス意味本文とヘッダー
200配信。KVWebhookDeliveryリスト(application/json)
404card_not_found、または not_found — このカードにそのWebhookはありません。問題 (application/problem+json)
デフォルト

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

問題 (application/problem+json)
POST/api/cards/{id}/kv-webhooks/{webhook_id}/write

カードWebhookを受信

外部システムがカードのデータドキュメントを送信するURLです。Authorization ヘッダーにWebhook自身のシークレットを指定して認証します(Bearer <secret>、またはWebhook IDをユーザー名にしたHTTP Basic)。

Webhook を verify 付きで作成した場合、そのベンダー自身のヘッダー (WebhookVerifyWrite を参照) に有効な署名があれば、シークレットの代わりに送信が認証されます。シークレットも並行して使えます。

Webhookが署名する場合は、ScreenRig-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>" under the signing secret> も必要で、t はサーバーの時計から5分以内でなければなりません。

不明なカードや Webhook、間違っているか欠けているシークレットや署名、古いタイムスタンプ、無効な Webhook、そしてすべての GET は、同じ 404 not_found で応答します。プロジェクトは理由を配信ログで確認できます。

ベンダーのハンドシェイク用に設定された Webhook は、認証情報が求められる前に、そのハンドシェイクであるリクエストに最初に応答します。Slack の url_verification チャレンジ (署名付き。チャレンジで応答)、Microsoft Graph の validationToken (text/plain でそのまま返す)、Asana の X-Hook-Secret (そのまま返し、イベントの署名シークレットとして封印して保持)、monday.com の challenge、Azure Event Grid の SubscriptionValidationEvent (その validationResponse で応答)、Trello の HEAD チェック (この url の head 操作) です。

ハンドシェイクはカードデータを書き込まず、課金されず、レート予算も消費せず、結果 handshake で配信ログに記録されます。

本文は最大 1 MiB で、JSON、application/x-www-form-urlencoded (繰り返された名前は配列)、または multipart/form-data (各テキストフィールドは body.<field>、繰り返された名前は配列で、ファイルパートは無視され、配信ログに数えられます) です。マッピングがなければオブジェクトがそのままドキュメントになり、あれば、テンプレートが body と query からドキュメントを組み立てます。

ドキュメントはカードのデータとして検証され (card_data_invalid がパスを示します)、現在のドキュメントと同じものは書き込まれません (ステータス unchanged)。受け付けられた送信は課金される 1 回の API リクエストで、カードデータのイベントを追記します。Idempotency-Key (8 〜 200 文字) は、送信元の再試行を 24 時間重複排除します。

Webhook ごとに 1 分あたり最大 120 件の送信です。それぞれ、組織とカードの書き込みレート (PUT /api/card-data/{key}) にも数えられます。

認証
kvWebhookBearer または kvWebhookBasic
リクエスト本文
object
操作ID
receiveCardKVWebhook

パラメーター

名前送信する必須?説明
IDパス必須
webhook_idパス必須アプリケーションのキー/バリューWebhookのIDの1つ。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
ScreenRig-Signatureヘッダーオプションt=<unix seconds>,v1=<hex HMAC-SHA256 over "<t>.<raw body>">;Webhookが署名する場合に必須です。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/cards/RESOURCE_ID/kv-webhooks/WEBHOOK_ID/write'

レスポンス

ステータス意味本文とヘッダー
200カードのドキュメントが変わったかどうか、またはベンダーのハンドシェイクへの応答。CardKVWebhookWriteResult(application/json);ヘッダー:RateLimit-Policy、RateLimit、Cache-Control
400invalid_request — ボディが大きすぎる、空である、JSONまたはフォームではない、またはマッピングが失敗しました。問題 (application/problem+json)
402payment_required — プロジェクトが削除されています。送信がプロジェクトの残高を理由に拒否されることはありません。問題 (application/problem+json)
404not_found — 拒否されたすべての送信とすべての GET への唯一の応答です。問題 (application/problem+json)
409idempotency_mismatch、または card_data_invalid — カードがドキュメントを拒否しました。errors[0].field がパスを示します。問題 (application/problem+json)
429

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

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
デフォルト

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

問題 (application/problem+json)
HEAD/api/cards/{id}/kv-webhooks/{webhook_id}/write

Head Card KVWebhook

Trello が新しい Webhook に対して行うチェックです。ハンドシェイクが trello の Webhook には本文なしの 200 で応答し、それ以外のあらゆる Webhook、アドレス、リクエストには 1 つの 404 not_found で応答するため、リンクプレビューは何も知ることができません。何も書き込まず、課金されず、レート予算も消費しません。応答したチェックは、結果 handshake で配信ログに記録されます。

すべての GET は 404 で応答し、何も読み取りません。

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

パラメーター

名前送信する必須?説明
IDパス必須
webhook_idパス必須アプリケーションのキー/バリューWebhookのIDの1つ。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request HEAD 'https://api.screenrig.ai/api/cards/RESOURCE_ID/kv-webhooks/WEBHOOK_ID/write'

レスポンス

ステータス意味本文とヘッダー
200Webhook が Trello のハンドシェイクに応答します。本文なし;ヘッダー:Cache-Control
404not_found — それ以外のあらゆるリクエストへの唯一の応答です。問題 (application/problem+json)
デフォルト

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

問題 (application/problem+json)
GET/api/card-data

カードデータ一覧

プロジェクトのカードデータドキュメントを最大200件、キーの昇順で一覧表示します。next_cursorは最後に返されたキーで、次のページのafterとして渡します。これ以上ない場合はnullです。カードデータドキュメントはカード配置(メニューセクション、ティッカー項目、KPIタイル)の動的プロパティを保持し、配置のデータキー名が1つあります。

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

パラメーター

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

レスポンス

ステータス意味本文とヘッダー
200カードデータドキュメント一覧CardDataList(application/json)
デフォルト

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

問題 (application/problem+json)
GET/api/card-data/{key}

カードデータを取得

ドキュメントとそのリビジョンを返します。ETagはリビジョンで、次の書き込みのIf-Match用です。

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

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
キーパス必須カードデータキー。feed: で始まってはいけません。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/card-data/KEY'

レスポンス

ステータス意味本文とヘッダー
200カードデータドキュメントCardDataEntry(application/json)
デフォルト

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

問題 (application/problem+json)
PUT/api/card-data/{key}

カードデータをPUT

カードデータドキュメントを作成または置換します。プロジェクトのプレイリストのカード配置がキーにバインドされている場合、ドキュメントは各バインドされたカードの動的プロパティのみを保持し、それらに対して検証されなければなりません。そうでなければcard_data_invalidでカードとプロパティパスを指定して書き込みが拒否され、変更はありません。配置がバインドされていないキーは任意のJSONオブジェクトを受け入れます。

media: で始まるすべての文字列はメディア参照(media:<id>)であり、カードが描画する写真用です。任意のキーで、このプロジェクトの準備済み承認済み画像を指し、ドキュメントごとに最大256個の異なるメディアが許されます。そうでない場合、書き込みは拒否され、card_media_invalid がプロパティパスと media_id を示します。

キーを読み取るコンテンツを持つスクリーンは、そのメディアをGET /media/{media_id}.から取得できます。キーを読み取るプレースメントを表示するスクリーンはscreen.card_data_changedを受け取り、その場で再取得します。プロジェクトログはkv.updatedをcard_data_entryリソースと共に記録し、これは決してプレーヤーに届きません。

制限、クォータ、計測、リビジョン、冪等性はアプリケーションのK/Vストアによります。

エージェントと Webhook の書き込みにはレート制限もあり、組織ごとにプランで異なり(Standard と Plus は毎分60回、Education と Premium は600回、Enterprise は3,000回)、すべてのプランでキーごとに毎分60回までです。上限を超えた書き込みは rate_limited と Retry-After で拒否され、計測されません。

認証
projectBearer
リクエスト本文
CardDataWrite
操作ID
putCardData

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
キーパス必須カードデータキー。feed: で始まってはいけません。
If-Matchヘッダーオプションオプションの正のリソースリビジョン。キーの作成または上書き時は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

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

フィールド説明
document(必須、オブジェクト)

カードデータドキュメント:最大1MiBのJSONオブジェクト。カード配置がキーにバインドされると、そのカードの動的プロパティのみを保持します。media:で始まる文字列はメディア参照で、media:<id>はこのプロジェクト内の準備済み承認済み画像を指します。

expires_at(任意、文字列)絶対期限。省略されたデータは期限切れになりません。形式:「date-time」
ttl_seconds(任意、整数)

最初に確定した書き込みからの TTL。expires_at とは同時に指定できません。再試行は元の有効期限を保ちます。両方を省略すると有効期限が解除されます。

書き込む側のスケジュールに合わせた長さにしてください。スクリーンがカードを表示している間に、カードのドキュメントが更新の書き込みなしに期限切れになると、カードは空白になり、通知条件 card_data_stale がプロジェクトに知らせるため、止まったジョブに気づけます。minimum: 1 maximum: 31536000

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

レスポンス

ステータス意味本文とヘッダー
200カードデータドキュメントCardDataEntry(application/json)
429

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

問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit
デフォルト

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

問題 (application/problem+json)
削除/api/card-data/{key}

カードデータ削除

カードデータドキュメントを削除します。キーに紐づくカードは、ドキュメントが再度書き込まれるまでガラス上で非表示になります。

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

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
キーパス必須カードデータキー。feed: で始まってはいけません。
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/card-data/KEY'

レスポンス

ステータス意味本文とヘッダー
204削除済み本文なし
デフォルト

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

問題 (application/problem+json)
GET/api/feeds/{family}

フィードを取得

共有されたサードパーティフィードドキュメントを読み取ります:同じパラメータの組み込みカード配置が読むドキュメント(docs/feeds.md)と同じです。

クエリパラメーターは、ScreenRig-Feed-Key ヘッダーで示されるカードのフィードキーに正規化されます。weather、airquality、alerts は lat と lon (0.25 度のセルに丸めます)。earthquakes は lat、lon、radius_km (10 〜 20000、デフォルトは 500)、min_magnitude (0 〜 9、デフォルトは 2.5)、hours (1 〜 168、デフォルトは 24)。cyclones は basins (カンマ区切りの at、ep、cp、wp。デフォルトはすべて) と、任意で lat、lon、radius_km (その場所の近くの嵐)。tides は station (9414290 のような NOAA の潮汐予測観測所 ID) または lat と lon (100 km 以内で最も近い観測所。なければ invalid_request)。launches はパラメーターなし (世界の次の打ち上げ)。rates は base (ECB の基準通貨、デフォルトは EUR)。crypto は symbols (CoinGecko の ID またはティッカー、カンマ区切り、最大 20) と currency (デフォルトは usd)。headlines は url (http または https の RSS または Atom の URL)。cap (screenrig.cap/v1) はスクリーンに合う CAP アラートで、url (繰り返し指定可。CAP アラートまたは ATOM/RSS インデックスの URL を最大 5 件)、public (lat と lon をカバーする公開フィードも読み取ります。url がない場合のデフォルト)、lat と lon、geocode (繰り返し指定可の NAME:VALUE エリアコード)、min_severity、max_severity、min_urgency、min_certainty、event、exclude_event、sender、status (デフォルトは Actual)、scope (デフォルトは Public)、language (繰り返し指定可。優先順)、area_unknown (hide または show)。drugalerts (screenrig.drugalerts/v1) はある国の最近のリコール報告で、country (us、ca、gb。必須) と category (デフォルトの drug、または food)。respiratory (screenrig.respiratory/v1) はある場所の週ごとのインフルエンザ、COVID-19、RSV の活動で、country (us または gb。必須) と region (米国の州、準州、DC を名前または郵便番号で、あるいはイングランドまたは UKHSA の地域。空なら国全体)。almanac (screenrig.almanac/v1) は today カード向けの、ある日付の記念日、On This Day の出来事、太陽と月で、country (ISO 3166-1 alpha-2 コード。その国の祝日用)、language (On This Day の版: ar、bs、cs、de、en、es、fr、it、pt、ru、sv、tr、uk、zh。デフォルトは en)、任意で lat と lon (太陽用。0.1 度のセルに丸めます)、date (特定の 1 日。デフォルトは今日の前後の日)。outdoorsafety (screenrig.outdoorsafety/v1) は outdoor-safety カード向けの暑さで、lat と lon (天気の 0.25 度のセル) から求めた湿球黒球温度の推定値です。雷は報告しません。departures (screenrig.departures/v1) は 1 つのオープンデータプロバイダーの 1 〜 4 か所の停留所の次の発車で、provider (tfl、entur、digitransit) と stops (カンマ区切りの ID、最大 4 件: TfL の StopPoint ID、Entur の NSR の停留所または乗り場の ID、Digitransit の gtfsIds) を受け付け、発車順の 1 つのボードにまとめて 1 分ごとに取得します。bikeshare (screenrig.bikeshare/v1) は lat と lon (0.001 度のセル、約 100 m に丸めます) に最も近い GBFS のバイクシェアの拠点を、それぞれのセルからの距離とともに返し、system (一覧にあるシステム ID) か、指定しなければその場所をカバーする最も近い一覧のシステムから取得します (どれもカバーしない場合は system で invalid_request)。

リクエストはプロバイダーを呼び出しません。200 はドキュメント(スキーマ、fetchedAt、attribution とファミリーのフィールド、カード契約定義に準拠)で、その ETag はバイトの sha256 で If-None-Match は 304 を返します。Cache-Control max-age は次の予定取得まで有効です。202 はまだドキュメントなし:登録された読み取り要求で、フィードワーカーが約1分以内にキーを取得します(Retry-After)。

API読み取りは24時間有効なキーを保持します。組織は、すべてのプロジェクトを合わせて1日に最大50の新しいキーを登録します(rate_limitedを超えると)。このデプロイメントにソースがないファミリーはnot_foundを返します。

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

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
familyパス必須フィードファミリー。
緯度クエリオプション
lonクエリオプション
radius_kmクエリオプション
min_magnitudeクエリオプション地震:最小マグニチュード。
時間クエリオプション地震:時間単位のウィンドウ。
basinsクエリオプションcyclones:at、ep、cp、wp のカンマ区切り。
stationクエリオプションtides: 9414290 のような NOAA の潮汐予測観測所 ID。指定しない場合は、lat と lon が 100 km 以内で最も近い観測所を選びます。
baseクエリオプション
記号クエリオプション
通貨クエリオプション
URLクエリオプションヘッドライン:フィードの URL。最大 5 回繰り返し。
publicクエリオプション
ジオコードクエリオプションcap: NAME:VALUE、繰り返し可能(UGC:WAC033)。
min_severityクエリオプション
max_severityクエリオプション
min_urgencyクエリオプション
min_certaintyクエリオプション
イベントクエリオプションcap: 繰り返し可能。* は任意の文字列の連続にマッチします。
exclude_eventクエリオプション
senderクエリオプション
ステータスクエリオプション
スコープクエリオプション
言語クエリオプション
area_unknownクエリオプション
countryクエリオプションdrugalerts: us、ca、gb。respiratory: us または gb。どちらも必須です。almanac: ドキュメントが祝日を一覧にする ISO 3166-1 alpha-2 の国。
categoryクエリオプションdrugalerts: drug (デフォルト) または food。
regionクエリオプションrespiratory: 米国の州、準州、DC を名前または郵便番号で、あるいはイングランドまたは UKHSA の地域。空の場合は国全体。
dateクエリオプションalmanac: 今日の前後の日ではなく、特定の 1 日。
providerクエリオプションdepartures: 停留所の交通機関のプロバイダー。
stopsクエリオプションdepartures: カンマ区切りの 1 〜 4 件の停留所 ID (TfL 940GZZLUOXC、Entur NSR:StopPlace:337 または NSR:Quay:568、Digitransit HSL:1040129)。
systemクエリオプションbikeshare: 一覧にある GBFS のシステム ID。指定しなければ、lat と lon をカバーする最も近い一覧のシステム。
If-None-Matchヘッダーオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/feeds/FAMILY'

レスポンス

ステータス意味本文とヘッダー
200フィードドキュメントFeedDocument(application/json);ヘッダー:ETag、ScreenRig-Feed-Key
202まだドキュメントがありません。フィードワーカーが次のパスでキーを取得します。FeedPending(application/json);ヘッダー:Retry-After、ScreenRig-Feed-Key
304ドキュメントがIf-None-Matchと一致します。本文なし
デフォルト

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

問題 (application/problem+json)