LivenessCallbackRequest
Provider callback payload. The handler accepts several aliases: result|status, submission_id|submissionId|metadata.submission_id|metadata.submissionId, session_id|sessionId|id. A signed timestamp (header X-Webhook-Timestamp, or signed body field sent_at/timestamp/created_at) is mandatory.
Properties
| Name | Type | Description |
|---|---|---|
| result | string | Outcome, case-insensitive. passed | failed | expired; provider synonyms are mapped: verified -> passed, requires_input/canceled -> failed. |
| status | string | Alias of result, used only when result is absent. |
| submission_id | string | KYC submission id (required, directly or via submissionId / metadata.*). |
| submissionId | string | Alias of submission_id. |
| metadata | object | Provider metadata; may carry submission_id / submissionId. |
| session_id | string | Provider verification session id. |
| sessionId | string | Alias of session_id. |
| id | string | Alias of session_id. |
| reason | string | Failure reason, stored on the liveness check and the E-07 EDD trigger. |
| document_forgery | boolean | true when the provider suspects a forged document. |
| face_match | number | Face-match score; non-numeric values are stored as null. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/infinihash-com/json-schema/infinihash-com-liveness-callback-request-schema.json",
"title": "LivenessCallbackRequest",
"description": "Provider callback payload. The handler accepts several aliases: result|status, submission_id|submissionId|metadata.submission_id|metadata.submissionId, session_id|sessionId|id. A signed timestamp (header X-Webhook-Timestamp, or signed body field sent_at/timestamp/created_at) is mandatory.",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/kyc-api-infinihash-openapi.json#/components/schemas/LivenessCallbackRequest",
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "Outcome, case-insensitive. passed | failed | expired; provider synonyms are mapped: verified -> passed, requires_input/canceled -> failed.",
"enum": [
"passed",
"failed",
"expired",
"verified",
"requires_input",
"canceled"
]
},
"status": {
"type": "string",
"description": "Alias of result, used only when result is absent."
},
"submission_id": {
"type": "string",
"description": "KYC submission id (required, directly or via submissionId / metadata.*)."
},
"submissionId": {
"type": "string",
"description": "Alias of submission_id."
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "Provider metadata; may carry submission_id / submissionId.",
"properties": {
"submission_id": {
"type": "string"
},
"submissionId": {
"type": "string"
}
}
},
"session_id": {
"type": "string",
"description": "Provider verification session id."
},
"sessionId": {
"type": "string",
"description": "Alias of session_id."
},
"id": {
"type": "string",
"description": "Alias of session_id."
},
"reason": {
"type": "string",
"description": "Failure reason, stored on the liveness check and the E-07 EDD trigger."
},
"document_forgery": {
"type": "boolean",
"description": "true when the provider suspects a forged document."
},
"face_match": {
"type": "number",
"description": "Face-match score; non-numeric values are stored as null."
}
}
}
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
curl "https://apis.io/api/v1/json-schemas/infinihash-com-liveness-callback-request"
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.