スクリーンタイムの状態を取得する
`sessionId` に対する現在のスクリーンタイムの状態を返します。保護者が設定したルール、当日の利用状況、そして現時点でプレイを許可してよいかどうかが含まれます。プラットフォームは、セッション開始時と、`Screentime.LimitWarning`、`Screentime.LimitReached`、`Screentime.QuietHoursWarning`、`Screentime.QuietHoursReached` のWebhookを受信した後に、保持している状態を更新するためにこのAPIを呼び出します。 保護者がそのセッションのスクリーンタイムを設定していない場合、または設定済みでも制限の適用を無効にしている場合は `{ "enabled": false }` を返します。
Authorization
api-key In: header
Query Parameters
uuidResponse Body
application/json
application/json
curl -X GET "https://example.com/screentime/get-state?sessionId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "enabled": true, "access": { "allowed": true }, "state": { "timeUsedTodayMinutes": 75, "continuousUsageMinutes": 30, "timeLimitTodayMinutes": 120, "timeRemainingTodayMinutes": 45, "dayResetsAt": "2026-06-25T00:00:00Z" }, "schedule": { "timezone": "UTC", "breakReminderIntervalMinutes": 45, "dailyLimits": [ { "day": "mon", "limitMinutes": 120 }, { "day": "tue", "limitMinutes": 120 }, { "day": "wed", "limitMinutes": 120 }, { "day": "thu", "limitMinutes": 120 }, { "day": "fri", "limitMinutes": 120 }, { "day": "sat", "limitMinutes": 180 }, { "day": "sun", "limitMinutes": 180 } ], "quietHours": [ { "name": "Bedtime", "days": [ "mon", "tue", "wed", "thu", "fri" ], "start": "21:00", "end": "07:00" } ] }}{ "error": "INVALID_INPUT", "errorMessage": "The request was missing a sessionId parameter."}スクリーンタイムを終了する POST
`/screentime/start` で開始したアクティブなスクリーンタイムを終了します。その時間は当日のスクリーンタイム利用時間に加算され、現地の深夜0時をまたぐ場合はスケジュールのタイムゾーンに従って日付ごとに分割されます。 ステータスの意味: * `accepted` - `id` に一致するスクリーンタイムが終了したか、すでに終了済みのスクリーンタイムに対する再試行が冪等に処理されました。 `sessionId` に対してアクティブなスクリーンタイムが存在しない場合、またはこのリクエストの `id` がアクティブなスクリーンタイムを開始した `id` と一致しない場合は、`NOT_FOUND` コードが返されます。
セッションの完了済みスクリーンタイム利用区間を送信する POST
k-IDセッションについて、完了済みのスクリーンタイム利用区間を1件以上送信します。各イベントは、利用がいつ始まり、どれだけ続いたかを記録します。利用時間が事後にしか分からない場合(区間をバッファリングして定期的にアップロードするバックエンドや、終了時にセッション合計を報告するゲームエンジンなど)にこのAPIを使用します。 受理された各区間の `durationSeconds` は、プレイヤーの当日のスクリーンタイム合計に加算されます。区間が保護者の設定したタイムゾーンで深夜0時をまたぐ場合は両方の日付に分割され、各日の合計が実際にその日に発生した利用時間を反映します。 イベントはそれぞれ独立して処理されます。レスポンスにはイベントごとのステータスが含まれます。 * `accepted` - 区間が記録され、当日の合計に加算されました。すでに受理済みの `id` を持つイベントを再送しても安全な無操作となり、再び `accepted` として数えられ、二重に加算されることはありません。そのため、ネットワーク障害後の再試行で二重計上されることはありません。 * `rejected` - 区間が検証に失敗しました。`reason` がどのルールに違反したかを示します。 セッションが存在しない場合や無効化されている場合は、バッチ全体が拒否されます。 リアルタイムの制限シグナル(`Screentime.LimitWarning`、`Screentime.LimitReached`、`Screentime.BreakReminder`)はこのAPIからは発火しません。しきい値を超えた時点でこれらのWebhookを発火させる必要がある場合は、`/screentime/start` と `/screentime/end` を使用してください。