Check if age gate should be displayed
Returns what a jurisdiction requires of an age gate, so the gate can be built before any player age is known. Call it when a player first arrives: the response says whether a gate must be shown at all, which ages the jurisdiction treats as significant, whether age assurance is required, and which age collection methods are approved there.
Authorization
api-key In: header
Query Parameters
The jurisdiction of the player, as either an ISO 3166-1 alpha-2 country code or an ISO 3166-2 subdivision code.
^[A-z]{2}(-[A-z0-9]{1,3})?$The platform providing the age signal.
Value in
- "k-id"
- "meta-horizon"
- "apple-ios"
- "google-play"
- "xbox"
The minimum age in years reported by the platform.
The maximum age in years reported by the platform.
The platform-specific age category (e.g. "digital-youth", "13-15", "teen").
The declaration type from the platform (e.g. Apple AgeRangeDeclaration or Google userStatus).
The verification ID for the k-id platform signal.
^[A-z0-9]{8}-[A-z0-9]{4}-[A-z0-9]{4}-[A-z0-9]{4}-[A-z0-9]{12}$uuidResponse Body
application/json
application/json
curl -X GET "https://example.com/age-gate/get-requirements?jurisdiction=US-CA"{ "shouldDisplay": true, "ageAssuranceRequired": true, "digitalConsentAge": 13, "civilAge": 18, "minimumAge": 0, "effectiveMinimumAge": 0, "accessAge": 0, "approvedAgeCollectionMethods": [ "date-of-birth", "age-slider", "platform-account" ], "permissions": [ { "name": "loot-boxes-paid-gameplay-impacting", "verifiedAgeThreshold": 18 } ]}{ "error": "INVALID_INPUT", "errorMessage": "Invalid jurisdiction"}Check age gate POST
Runs an age gate check and decides whether a player may enter the game, creating an age challenge when one is needed. Supply the player's jurisdiction with exactly one age signal — `dateOfBirth`, `age`, or `kuid`. Passing none, or more than one, is a bad request. With `kuid`, the age already recorded by the player's guardian is used and the resulting session or challenge is tied to that user. The response `status` tells you what to do next: `PASS` returns a session and the player continues, `CHALLENGE` returns a challenge to complete first, and `PROHIBITED` returns neither because the player is below the product's minimum age. A one-time password on a returned challenge expires. Call `/challenge/generate-otp` when you are ready to display it, and regenerate it periodically until the challenge is in progress.
Get age range for category POST
Converts a platform-reported age category into the age range it implies in a given jurisdiction. Supply the jurisdiction and a `platform` age signal naming the source platform and its category. Because each platform defines its own coarse categories, k-ID maps the category onto the numeric range of ages a player could be under that jurisdiction's rules.