Delete session
Deletes a player session by its session ID. The session must belong to the calling product. By default this is a soft delete: the session is marked revoked, is no longer queryable, and its player ID becomes reusable, but the record itself is retained. **Irreversible.** Setting `hardDelete` to `true` instead permanently deletes the session and its embedded consent — this cannot be undone. Available only to developers explicitly enabled for hard delete.
Authorization
api-key In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/session/delete" \ -H "Content-Type: application/json" \ -d '{ "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672" }'{ "error": "NOT_FOUND", "errorMessage": "Session not found"}Get default permissions GET
Returns the permissions a player would receive by default in their jurisdiction, before any guardian consent. Supply the jurisdiction with at most one of `dateOfBirth`, `age`, or `kuid`; passing more than one is a bad request. With none, the player is treated as being of the current date's age. Nothing is persisted, so this is the endpoint for previewing what a jurisdiction permits before running an age gate.
Get session GET
Returns a previously created session, identified by `sessionId` or by `kuid` together with the product. Pass `etag` to make the read conditional: the session is returned only if it changed since the etag was issued, and an unchanged session responds `NOT_MODIFIED` instead. Poll with the etag rather than refetching the whole session. An `ACTIVE` status means the player meets the product's requirements, and the response carries the permissions in force for them. The etag covers the whole rendered response, including the `permissions`, `ageStatus` and `ageCategory` derived from your product and jurisdiction configuration — so a configuration change moves the etag even when the session itself did not change.