스크린타임 종료
`/screentime/start`로 시작한 활성 스크린타임을 종료합니다. 해당 시간은 오늘의 스크린타임 사용량에 반영되며, 현지 자정을 넘기는 경우 스케줄의 타임존을 기준으로 날짜별로 분할됩니다. 상태 의미: * `accepted` - `id`가 일치하는 스크린타임이 종료되었거나, 이미 종료된 스크린타임에 대한 재시도가 멱등적으로 처리되었습니다. `sessionId`에 활성 스크린타임이 없거나, 이 요청의 `id`가 활성 스크린타임을 시작한 `id`와 일치하지 않으면 `NOT_FOUND` 코드가 반환됩니다.
Authorization
api-key In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/screentime/end" \ -H "Content-Type: application/json" \ -d '{ "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672", "id": "3f8c1d24-6b5e-4a07-9c2f-8d1e7a4b6c90", "timestamp": "2026-06-24T16:30:00Z" }'{ "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672", "id": "3f8c1d24-6b5e-4a07-9c2f-8d1e7a4b6c90", "status": "accepted", "screentime": { "counter": { "timeUsedTodayMinutes": 75, "timeLimitTodayMinutes": 120, "timeRemainingTodayMinutes": 45, "dayResetsAt": "2026-06-25T00:00:00Z" } }}{ "error": "INVALID_INPUT", "errorMessage": "The request was missing a sessionId parameter."}세션의 활동 기록 전송 POST
제품에서 선언한 활동 유형에 대해 활동 기록을 일괄 전송합니다. 기록은 건별로 검증되며, 응답에는 기록별 상태(`accepted` 또는 사유가 포함된 `rejected`)가 담깁니다. 이미 수락된 `id`를 가진 기록을 다시 전송해도 안전한 무동작으로 처리되어 다시 `accepted`로 집계되고 중복 저장되지 않습니다. 세션이 존재하지 않거나 무효화된 경우에는 배치 전체가 거부됩니다.
스크린타임 상태 조회 GET
`sessionId`의 현재 스크린타임 상태를 반환합니다. 보호자가 설정한 규칙, 오늘의 사용량, 그리고 지금 플레이를 허용해도 되는지 여부가 포함됩니다. 플랫폼은 세션 시작 시점과 `Screentime.LimitWarning`, `Screentime.LimitReached`, `Screentime.QuietHoursWarning`, `Screentime.QuietHoursReached` 웹훅을 받은 뒤에 보관 중인 상태를 갱신하기 위해 이 API를 호출합니다. 보호자가 해당 세션에 스크린타임을 설정하지 않았거나, 설정했더라도 적용을 비활성화한 경우에는 `{ "enabled": false }`를 반환합니다.