The user opens the MiniApp and receives a short code. Enter it here — the user confirms in the app, and you get the verified age back. No onboarding, no ID data.
The user opens the MiniApp and sees a code.
Enter the code here and verify.
The user confirms with "Yes" in the app.
You receive the confirmed age.
You can also integrate age verification directly server-to-server. Two endpoints, one API key, no onboarding.
…X-API-Key…Send the code that the user sees in the MiniApp. The response comes back immediately with a requestId; you fetch the actual result by polling the second endpoint.
| Field | Type | Description |
|---|---|---|
code * | string | 4–8 characters, alphanumeric — as shown in the MiniApp. |
partnerName * | string | Shown to the user in the MiniApp. |
expectedName | string | Optional. Enables name-match mode. |
# Verify code curl -X POST https://altersbestatigung.temmuz.uk/api/v1/verify \ -H "X-API-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{"code":"ABCDE","partnerName":"shop.de"}'
{
"requestId": "T6w64F8gpKYBEBvrvYjGb4YJiG5yki5p",
"status": "pending",
"expiresAt": 1778246397189
}
| Code | Meaning |
|---|---|
401 | invalid_api_key — key missing or invalid. |
400 | invalid_body — body incomplete or malformed. |
404 | code_not_found — code unknown. |
410 | code_expired — code expired. |
409 | code_not_available — code currently unavailable. |
Poll every 1–2 seconds until status is no longer pending. On confirmed you get the age back.
curl https://altersbestatigung.temmuz.uk/api/v1/verify/<requestId> \ -H "X-API-Key: <YOUR_API_KEY>"
{
"requestId": "T6w64F8…",
"status": "confirmed",
"age": 36
}
No ID data is transmitted. You receive only the confirmed age (or a yes/no answer for name match). In this demo environment, the base URL and API key are openly visible for testing purposes.