POST /session
AvailableRecord an app launch/resume and return the current block decision.
POST
https://ctrlapp.krdcode.com/api/public/sdk/v1/sessionAuth:
Bearer <PUBLISHABLE_KEY>Body cap 32 KiB.
Body
json
{
"device_uid": "<DEVICE_ID>",
"device_id": "<uuid, optional>",
"external_user_id": "<optional>",
"platform": "ios",
"os_version": "17.4.1",
"app_version": "1.2.3",
"locale": "en-US",
"timezone": "America/New_York"
}Returns the current block decision. Cache the whole response — SDKs use the cached value on next launch so a killed app stays blocked even offline.
Security
/session bypasses rate limiting on purpose. The kill-switch endpoint must remain reachable even when a per-app or per-endpoint rate limit is misconfigured.
Errors
400— invalid body.401— bad key / signature.413— body over 32 KiB.