EndpointsAge gate

Check age gate

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.

POST
/age-gate/check
AuthorizationBearer <token>

In: header

Header Parameters

Kid-Target-Product-Id?integer

Optional header for Account System Products to perform cross-product age gate checks. The value must be the product ID of the target product within the same organization. The target product must not itself be an Account System Product.

Request Body

application/json

Check age gate

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/age-gate/check" \  -H "Content-Type: application/json" \  -d '{    "jurisdiction": "US-CA",    "dateOfBirth": "2012-06-15",    "age": 13,    "kuid": "12b9fa0e-6d6d-4903-a1fc-f2233027b71d",    "platformAgeSignal": {      "name": "meta-horizon",      "category": "TN"    },    "subject": {      "id": "id-12345678-1234-1234-1234-123456789012"    },    "options": {      "termsOfServiceDocument": "xbox-tos",      "privacyPolicyDocument": "xbox-privacy-policy",      "additionalLegalLinks": [        "steam-tos",        "xbox-conduct"      ],      "playerAgeAssurance": {        "redirectUrl": "https://example.com/verify/complete"      }    }  }'

{  "status": "PASS",  "session": {    "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",    "kuid": "12b9fa0e-6d6d-4903-a1fc-f2233027b71d",    "ageStatus": "LEGAL_ADULT",    "ageCategory": "adult",    "etag": "e889efb9e8a985308e82bed78c5aef7f37f50cf36b7337bf654980d0bab7a574",    "status": "ACTIVE",    "dateOfBirth": "2005-04-15",    "jurisdiction": "US-CA",    "managedBy": "PLAYER",    "permissions": [      {        "name": "text-chat-public",        "enabled": false,        "managedBy": "GUARDIAN"      },      {        "name": "text-chat-private",        "enabled": true,        "managedBy": "PLAYER"      },      {        "name": "forums",        "enabled": false,        "managedBy": "PROHIBITED"      }    ]  }}