API overview
One HTTP RPC surface for age gates, sessions, permissions, consent challenges and age verification.
HTTP RPC · JSON
Every check, one surface.
GET and POST over HTTPS, JSON in and out, one API key per product. Sixty-odd methods, all documented with live request builders.
The k-ID API is an HTTP RPC-style web API for interacting with k-ID. It provides methods for initiating Verifiable Parental Consent (VPC), initiating age verification, and getting enabled permissions for a player.
API structure
The k-ID API is a collection of HTTP RPC-style methods. All URLs are in the form https://{host}/api/v1/{method}. While it's not a REST API, those familiar with REST should be at home with its foundations in HTTP. All API methods use the GET or POST HTTP methods, depending on whether the API has side effects.
Arguments are passed as query parameters for GET methods, and as JSON in the request body for POST methods. All responses are in JSON format.
Base URLs
Live Mode:
https://game-api.k-id.com/api/v1/Test Mode:
https://game-api.test.k-id.com/api/v1/Endpoints
Age gate
| Endpoint | Description |
|---|---|
/age-gate/get-requirements | Get age gate requirements for a jurisdiction |
/age-gate/check-age-category | Check age category for a player |
/age-gate/check | Check age and create or update session |
/age-gate/get-default-permissions | Get default permissions for a jurisdiction |
Sessions
| Endpoint | Description |
|---|---|
/session/get | Get session by session ID or kuid |
/session/upgrade | Upgrade session permissions |
/session/update-jurisdiction | Update session jurisdiction |
/session/set-guardian-managed-session-permissions | Set guardian-managed session permissions |
/session/unlink-parent | Unlink a parent from a session |
Challenges
| Endpoint | Description |
|---|---|
/challenge/get | Get challenge details |
/challenge/get-status | Get challenge status |
/challenge/send-email | Send challenge email notification |
/challenge/generate-otp | Generate one-time password for challenge |
/challenge/invite-parent | Create a parent-invite challenge |
/challenge/cancel-invite | Cancel a parent invite |
/challenge/send-email-with-payment-verification | Send email with payment verification |
Age verification
| Endpoint | Description |
|---|---|
/age-verification/perform-facial-age-estimation | Perform facial age estimation verification |
/age-verification/perform-id-verification | Perform ID document verification |
/age-verification/perform-age-key-verification | Perform AgeKey verification |
/age-verification/perform-connect-id-verification | Perform ConnectID verification |
/age-verification/perform-credit-card-verification | Perform credit card verification |
/age-verification/perform-trusted-adult-verification | Perform trusted adult verification |
/age-verification/perform-access-age-verification | Perform access age verification with all methods |
/age-verification/perform-age-appeal | Perform age appeal verification |
/age-verification/perform-custom-age-verification | Perform custom age verification |
/age-verification/get-status | Get age verification status |
Widgets
| Endpoint | Description |
|---|---|
/widget/generate-age-gate-url | Generate age gate widget URL |
/widget/generate-direct-notices-url | Generate data notices widget URL |
/widget/generate-manage-session-permissions-url | Generate session permissions management widget URL |
/widget/generate-e2e-url | Generate end-to-end widget URL |
Screentime
| Endpoint | Description |
|---|---|
/screentime/start | Start screentime |
/screentime/end | End screentime |
/screentime/push | Submit completed screentime usage segments for a session |
/screentime/request-override | Request a screentime override |
/screentime/get-state | Get screentime state |
Activity
| Endpoint | Description |
|---|---|
/activity/push | Push activity records for a session |
/test/send-activity-digest | Send a test weekly activity digest email |
Transactions
| Endpoint | Description |
|---|---|
/transaction/push | Submit completed money-flow transactions for a session |
/transaction/request-purchase | Request parental approval for a purchase |
/transaction/lookup-provider | Normalize a merchant of record's payment into a standard format |
Test
| Endpoint | Description |
|---|---|
/test/set-challenge-status | Set challenge status (test only) |
/test/set-age-verification-status | Set age verification status (test only) |