iDenfy · Schema
AgeEstimationTokenRequest
AMLAge VerificationBank VerificationBiometricsComplianceFraud PreventionIdentity VerificationKYBKYCMCPOpen BankingRegTechSanctions ScreeningWebhookA2A
Properties
| Name | Type | Description |
|---|---|---|
| min_age | integer | Minimum age the end user must meet. |
| confidence_threshold | number | Minimum model confidence to accept an estimate without a step-up. |
| buffer | integer | Age band (in years) around `min_age` that triggers a step-up instead of an immediate decision. Must not exceed `min_age`. Applies to the AI estimate only, never to a document-derived age. |
| escalation | object | Action when the estimate is uncertain. `DOC` = document step-up; `NONE` = resolve as `UNCERTAIN`. |
| retry_limit | integer | Max estimation attempts before the session locks. |
| save_photo | boolean | Whether the analysed selfie is stored for sessions from this token. |
| expiry_minutes | integer | Token validity window in minutes from creation. |
| success_redirect | string | Redirect after a `SUCCESS` outcome (blank = built-in result screen). |
| underage_redirect | string | Redirect after an `UNDERAGE` outcome. |
| uncertain_redirect | string | Redirect after a terminal `UNCERTAIN` outcome. |
| webhook_url | string | Per-session override for where the result notification is sent. Blank = use your account's default Age Estimation webhook notification. |
| client_id | stringnull | Your own identifier for the end user; echoed back in the result webhook for correlation. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/idenfy/main/json-schema/idenfy-age-estimation-token-request-schema.json",
"title": "AgeEstimationTokenRequest",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/idenfy-age-estimation-api-openapi.yml#/components/schemas/AgeEstimationTokenRequest",
"type": "object",
"properties": {
"min_age": {
"type": "integer",
"minimum": 1,
"maximum": 120,
"description": "Minimum age the end user must meet."
},
"confidence_threshold": {
"type": "number",
"format": "float",
"minimum": 0,
"maximum": 100,
"description": "Minimum model confidence to accept an estimate without a step-up."
},
"buffer": {
"type": "integer",
"default": 0,
"minimum": 0,
"maximum": 20,
"description": "Age band (in years) around `min_age` that triggers a step-up instead of an immediate decision. Must not exceed `min_age`. Applies to the AI estimate only, never to a document-derived age."
},
"escalation": {
"allOf": [
{
"$ref": "#/$defs/AgeEstimationEscalationEnum"
}
],
"default": "DOC",
"description": "Action when the estimate is uncertain. `DOC` = document step-up; `NONE` = resolve as `UNCERTAIN`."
},
"retry_limit": {
"type": "integer",
"default": 3,
"minimum": 1,
"maximum": 3,
"description": "Max estimation attempts before the session locks."
},
"save_photo": {
"type": "boolean",
"default": true,
"description": "Whether the analysed selfie is stored for sessions from this token."
},
"expiry_minutes": {
"type": "integer",
"default": 60,
"minimum": 5,
"maximum": 1440,
"description": "Token validity window in minutes from creation."
},
"success_redirect": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"default": "",
"description": "Redirect after a `SUCCESS` outcome (blank = built-in result screen)."
},
"underage_redirect": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"default": "",
"description": "Redirect after an `UNDERAGE` outcome."
},
"uncertain_redirect": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"default": "",
"description": "Redirect after a terminal `UNCERTAIN` outcome."
},
"webhook_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"default": "",
"description": "Per-session override for where the result notification is sent. Blank = use your account's default Age Estimation webhook notification."
},
"client_id": {
"type": [
"string",
"null"
],
"maxLength": 100,
"description": "Your own identifier for the end user; echoed back in the result webhook for correlation."
}
},
"required": [
"min_age",
"confidence_threshold"
],
"$defs": {
"AgeEstimationEscalationEnum": {
"enum": [
"DOC",
"NONE"
],
"type": "string"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/idenfy-age-estimation-token-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.