EndpointsScreentime

Start screentime

Marks the start of active screentime on this product. While screentime is active, k-ID delivers real-time webhooks - `Screentime.BreakReminder`, `Screentime.LimitWarning`, and `Screentime.LimitReached` - that fire at the moment a threshold is crossed, not only when usage ends. Status semantics: * `accepted` - screentime was started, or a retried call against an already-active session was absorbed idempotently. * `replaced` - a different `id` was sent while screentime was already active for this `sessionId`; the prior screentime was automatically ended and its duration counted toward today's screentime usage. Use this to recover when the prior screentime was never explicitly ended (e.g. after an app or device restart). Only one active screentime is supported per `sessionId` at a time. Calls must be made in real time - the `timestamp` value cannot be more than 5 minutes in the past.

POST
/screentime/start
AuthorizationBearer <token>

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/start" \  -H "Content-Type: application/json" \  -d '{    "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",    "id": "3f8c1d24-6b5e-4a07-9c2f-8d1e7a4b6c90",    "timestamp": "2026-06-24T16:00:00Z"  }'
{  "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",  "id": "3f8c1d24-6b5e-4a07-9c2f-8d1e7a4b6c90",  "status": "accepted",  "screentime": {    "counter": {      "timeUsedTodayMinutes": 45,      "timeLimitTodayMinutes": 120,      "timeRemainingTodayMinutes": 75,      "dayResetsAt": "2026-06-25T00:00:00Z"    }  }}