Verify a document, and optionally a selfie, synchronously
Send an Idempotency-Key header to make retries safe: the same key returns the original result with Idempotent-Replayed: true. Test keys (vn_test_) run the full pipeline and never store images.
POST
/
v1
/
verify
Verify a document, and optionally a selfie, synchronously
The checks’ verdict, only when a workflow made verdict stricter; null otherwise.
Options disponibles:
verified,
review,
rejected
workflow
object | null
The application’s workflow that ran on this verification (Grands comptes plan): version (null for the test draft), run_id, decided (it changed the verdict), reason, team, status (running while sends are queued, completed, or error: the checks’ verdict stands). Null when none ran.
Show child attributes
metadata
object | null
What you attached to the session or the request; null when nothing.
Show child attributes
timings
object
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"VerifNer","description":"Vérification d'identité pour les passeports et cartes d'identité du Niger.","colors":{"primary":"#2E5BFF","light":"#6F8DFF","dark":"#2449D6"},"logo":{"light":"https://mintcdn.com/verifner/ud8qHVyZEX2pvfnJ/logo/light.svg?fit=max\u0026auto=format\u0026n=ud8qHVyZEX2pvfnJ\u0026q=85\u0026s=721239d050e003f08cc06a11653e721f","dark":"https://mintcdn.com/verifner/ud8qHVyZEX2pvfnJ/logo/dark.svg?fit=max\u0026auto=format\u0026n=ud8qHVyZEX2pvfnJ\u0026q=85\u0026s=a9fe361c2479eec0e04e9a21cca213b7","href":"https://verifner.com"},"favicon":"https://mintcdn.com/verifner/ud8qHVyZEX2pvfnJ/favicon.svg?fit=max\u0026auto=format\u0026n=ud8qHVyZEX2pvfnJ\u0026q=85\u0026s=5692f8c483eb46db28b0b830c4be12b1","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python","php"]}},"navbar":{"links":[{"href":"/getting-started/pricing","label":"Tarifs"},{"href":"mailto:contact@verifner.com","label":"Support"},{"href":"https://status.verifner.com","label":"Statut"},{"icon":"github","href":"https://github.com/VerifNer","label":"GitHub"}],"primary":{"type":"button","label":"Console","href":"https://console.verifner.com"}},"footer":{"socials":{"website":"https://verifner.com","github":"https://github.com/VerifNer"}},"seo":{"indexing":"navigable"},"fonts":{"family":"Satoshi","source":"fonts/Satoshi-Variable.woff2","format":"woff2"},"styling":{"codeblocks":"dark","latex":false},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"fr","default":true,"href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"verifner","hasAudioNarration":false,"actualSubdomain":"verifner","customDomains":[],"gitSource":{"type":"github","owner":"verifner","repo":"verifner-platform","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ad17720b8cda8da45672812","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"fr","tag":"Documentation","count":27},{"language":"fr","tag":"Référence API","count":16},{"language":"fr","tag":"Endpoints","count":15},{"language":"fr","tag":"Intégration","count":8},{"language":"fr","tag":"Console","count":6},{"language":"fr","tag":"Démarrer","count":6},{"language":"fr","tag":"Sessions","count":5},{"language":"fr","tag":"Webhooks","count":5},{"language":"fr","tag":"Vérification","count":4},{"language":"fr","tag":"Référence","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:'Satoshi';src:url('/fonts/Satoshi-Variable.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}#content-area p:not([class*=\"font-\"]),#content-area li:not([class*=\"font-\"]),#content-area td:not([class*=\"font-\"]){font-weight:460}.code-block{background:#0b0c0e!important;border:1px solid #1f2229!important;border-radius:16px}.code-block div{background:transparent!important}.code-block pre,.code-block pre code{color:#e6e8ec!important}.code-block .shiki span{color:var(--shiki-dark, #e6e8ec)!important}.code-block button{color:#9aa0aa!important}.code-block button:hover{color:#ffffff!important}#sidebar-content .sidebar-group a,#sidebar-content .sidebar-group a *{font-weight:700!important}#sidebar-content .sidebar-group-header,#sidebar-content .sidebar-group-header *{font-weight:700!important}"}],"page":{"pagePath":"api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously","slug":"/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously","pageMetadata":{"title":"Verify a document, and optionally a selfie, synchronously","description":"Send an `Idempotency-Key` header to make retries safe: the same key returns the original result with `Idempotent-Replayed: true`. Test keys (`vn_test_`) run the full pipeline and never store images.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/verify","href":"/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Send an \", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" header to make retries safe: the same key returns the original result with \", _jsx(_components.code, {\n children: \"Idempotent-Replayed: true\"\n }), \". Test keys (\", _jsx(_components.code, {\n children: \"vn_test_\"\n }), \") run the full pipeline and never store images.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Verify a document, and optionally a selfie, synchronously","description":"Send an `Idempotency-Key` header to make retries safe: the same key returns the original result with `Idempotent-Replayed: true`. Test keys (`vn_test_`) run the full pipeline and never store images.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/verify","href":"/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Verify"],"summary":"Verify a document, and optionally a selfie, synchronously","description":"Send an `Idempotency-Key` header to make retries safe: the same key returns the original result with `Idempotent-Replayed: true`. Test keys (`vn_test_`) run the full pipeline and never store images.","parameters":["c1a9de24-f278-4113-8b4d-53cfb3d9b0c0"],"requestBody":"d3efcad6-fca7-443c-a65a-c70c0197612c","responses":{"200":"ef67e2f1-9696-4ff8-9c56-a758a2598494","201":"1c9ba235-069a-4488-a5ca-3fca74d78a73","400":"df8c881d-98e0-4ef0-820b-cea660a81b64","401":"56b5800e-da67-46e4-966c-de9e7042b5e4","402":"a292bfef-9580-4d0d-81ef-fdcf057bc4be","422":"6b90c7d8-7926-420c-80c7-dfd03edbeeb4","429":"7c1364bc-4c30-48d3-ac7a-10a796922066","503":"ef3de393-fde1-4340-a0be-7ed125fa4f75"},"method":"post","type":"path","servers":["6f8fb974-41e1-4156-a473-4788af287b3e"],"security":["b3c148d6-8aea-4eb6-9f36-88022972c9f7"],"path":"/v1/verify","baseUrlOptions":["https://api.verifner.com"],"title":"Verify a document, and optionally a selfie, synchronously","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","php"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c1a9de24-f278-4113-8b4d-53cfb3d9b0c0":{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255,"isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["front"],"properties":{"front":{"type":"string","format":"binary","description":"Document front (passport data page). JPEG, PNG or WebP, up to 12 MB.","isRequired":true,"uniqueKey":"front","typeLabel":"file"},"back":{"type":"string","format":"binary","description":"CNI back. Omit for a passport.","uniqueKey":"back","typeLabel":"file"},"selfie":{"type":"string","format":"binary","description":"Live photo of the holder. Omit to skip the face check.","uniqueKey":"selfie","typeLabel":"file"},"chip":{"type":"string","description":"Optional. The chip object of the JSON body, as a JSON string.","uniqueKey":"chip","typeLabel":"string"},"liveness":{"type":"string","description":"Optional. The liveness object of the JSON body, as a JSON string.","uniqueKey":"liveness","typeLabel":"string"},"metadata":{"type":"string","description":"Optional. The metadata object of the JSON body, as a JSON string. Ignored on a session upload: the session’s own applies.","uniqueKey":"metadata","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"front":"\u003cstring>","back":"\u003cstring>","selfie":"\u003cstring>","chip":"\u003cstring>","liveness":"\u003cstring>","metadata":"\u003cstring>"}}},"exampleType":"generated"},"application/json":{"schema":{"type":"object","required":["front"],"properties":{"front":{"type":"string","description":"base64","isRequired":true,"uniqueKey":"front","typeLabel":"string"},"back":{"type":"string","uniqueKey":"back","typeLabel":"string"},"selfie":{"type":"string","uniqueKey":"selfie","typeLabel":"string"},"chip":{"type":"object","description":"Files read from the document chip over NFC (ICAO 9303), base64, as read. Adds the chip_authenticity check.","required":["sod","dg1"],"properties":{"sod":{"type":"string","description":"EF.SOD, base64","isRequired":true,"uniqueKey":"chip.sod","typeLabel":"string"},"dg1":{"type":"string","description":"EF.DG1 (MRZ), base64","isRequired":true,"uniqueKey":"chip.dg1","typeLabel":"string"},"dg2":{"type":"string","description":"EF.DG2 (portrait), base64. Used for the face check when present.","uniqueKey":"chip.dg2","typeLabel":"string"}},"uniqueKey":"chip","typeLabel":"object"},"liveness":{"type":"object","description":"Active liveness, collected by the SDKs: the head-turn challenge shown to the person (directions in a random order, their own left and right) and the small frames taken while they followed it (320 px JPEG, 3 to 12). Needs a selfie. The server reads the head pose on each frame against the selfie and adds the liveness check; the frames are analysed and discarded, never stored.","required":["challenge","frames"],"properties":{"challenge":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","enum":["left","right","up"],"uniqueKey":"liveness.challenge.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"liveness.challenge","typeLabel":"enum\u003cstring>[]"},"frames":{"type":"array","minItems":3,"maxItems":12,"items":{"type":"string","description":"base64 JPEG, up to 200 KB","uniqueKey":"liveness.frames.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"liveness.frames","typeLabel":"string[]"}},"uniqueKey":"liveness","typeLabel":"object"},"metadata":{"type":"object","description":"Your own data for this session (an internal id, an amount, a product code), copied onto the verification and its events. At most 20 keys (a-z, 0-9, _), each a string (≤ 200 characters), a number or a boolean, 2 KB in all. Never personal data.","maxProperties":20,"propertyNames":{"pattern":"^[a-z][a-z0-9_]{0,39}$"},"additionalProperties":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"metadata.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"metadata.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"metadata.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"metadata.additionalProperties","typeLabel":"string | number | boolean"},"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"front":"\u003cstring>","back":"\u003cstring>","selfie":"\u003cstring>","metadata":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"ef67e2f1-9696-4ff8-9c56-a758a2598494":{"description":"Replayed from the idempotency key","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","pattern":"^vrf_[a-z0-9]{6,}$","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"verdict":{"type":"string","enum":["verified","review","rejected"],"description":"The published verdict: the workflow’s when one ran (it can only be stricter than the checks’), else the checks’.","isRequired":true,"uniqueKey":"verdict","typeLabel":"enum\u003cstring>"},"score":{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"score","typeLabel":"number"},"document_type":{"type":"string","enum":["passport","cni","unknown"],"isRequired":true,"uniqueKey":"document_type","typeLabel":"enum\u003cstring>"},"checks":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["mrz_checksum","expiry","viz_mrz_consistency","tamper","face_match","chip_authenticity","liveness"],"isRequired":true,"uniqueKey":"checks.items.[INDEX].name","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pass","warn","fail","skipped"],"isRequired":true,"uniqueKey":"checks.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"score":{"oneOf":[{"type":"number","maximum":1,"minimum":0,"isRequired":true,"uniqueKey":"checks.items.[INDEX].score.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"checks.items.[INDEX].score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"checks.items.[INDEX].score","typeLabel":"number | null"},"evidence":{"type":"object","properties":{"fr":{"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].evidence.fr","typeLabel":"string"},"en":{"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].evidence.en","typeLabel":"string"}},"required":["fr","en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"checks.items.[INDEX].evidence","typeLabel":"object"}},"required":["name","status","score","evidence"],"additionalProperties":false,"uniqueKey":"checks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"checks","typeLabel":"object[]"},"latency_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"latency_ms","typeLabel":"integer"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"status":{"type":"string","enum":["VERIFIED","REVIEW","REJECTED"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"document":{"type":"object","properties":{"type":{"type":"string","enum":["passport","cni","unknown"],"isRequired":true,"uniqueKey":"document.type","typeLabel":"enum\u003cstring>"},"country":{"oneOf":[{"type":"string","uniqueKey":"document.country.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"document.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"document.country","typeLabel":"string | null"},"fields":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"document.fields.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"document.fields.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"document.fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"document.fields","typeLabel":"object | null"},"mrz":{"type":"object","properties":{"lines":{"type":"array","items":{"type":"string","uniqueKey":"document.mrz.lines.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"document.mrz.lines","typeLabel":"string[]"},"valid":{"type":"boolean","isRequired":true,"uniqueKey":"document.mrz.valid","typeLabel":"boolean"}},"required":["lines","valid"],"additionalProperties":false,"uniqueKey":"document.mrz","typeLabel":"object"},"legibility":{"oneOf":[{"type":"number","uniqueKey":"document.legibility.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"document.legibility.oneOf.1","typeLabel":"null"}],"uniqueKey":"document.legibility","typeLabel":"number | null"}},"required":["type"],"additionalProperties":false,"uniqueKey":"document","typeLabel":"object"},"fields":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"fields.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"fields.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"fields","typeLabel":"object | null"},"face_match":{"oneOf":[{"type":"object","required":["similarity","matched"],"properties":{"similarity":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"face_match.oneOf.0.similarity.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"face_match.oneOf.0.similarity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"face_match.oneOf.0.similarity","typeLabel":"number | null"},"matched":{"type":"boolean","isRequired":true,"uniqueKey":"face_match.oneOf.0.matched","typeLabel":"boolean"},"faces_in_document":{"type":"number","uniqueKey":"face_match.oneOf.0.faces_in_document","typeLabel":"number"},"faces_in_selfie":{"type":"number","uniqueKey":"face_match.oneOf.0.faces_in_selfie","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"face_match.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"face_match.oneOf.1","typeLabel":"null"}],"uniqueKey":"face_match","typeLabel":"object | null"},"rules_verdict":{"oneOf":[{"type":"string","description":"The checks’ verdict, only when a workflow made `verdict` stricter; null otherwise.","enum":["verified","review","rejected"],"uniqueKey":"rules_verdict.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The checks’ verdict, only when a workflow made `verdict` stricter; null otherwise.","uniqueKey":"rules_verdict.oneOf.1","typeLabel":"null"}],"uniqueKey":"rules_verdict","typeLabel":"enum\u003cstring> | null"},"workflow":{"oneOf":[{"type":"object","description":"The application’s workflow that ran on this verification (Grands comptes plan): `version` (null for the test draft), `run_id`, `decided` (it changed the verdict), `reason`, `team`, `status` (`running` while sends are queued, `completed`, or `error`: the checks’ verdict stands). Null when none ran.","required":["version","draft","run_id","decided","reason","team","status"],"properties":{"version":{"oneOf":[{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"workflow.oneOf.0.version.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"workflow.oneOf.0.version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.oneOf.0.version","typeLabel":"integer | null"},"draft":{"type":"boolean","isRequired":true,"uniqueKey":"workflow.oneOf.0.draft","typeLabel":"boolean"},"run_id":{"type":"string","isRequired":true,"uniqueKey":"workflow.oneOf.0.run_id","typeLabel":"string"},"decided":{"type":"boolean","isRequired":true,"uniqueKey":"workflow.oneOf.0.decided","typeLabel":"boolean"},"reason":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"workflow.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"workflow.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.oneOf.0.reason","typeLabel":"string | null"},"team":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"workflow.oneOf.0.team.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"workflow.oneOf.0.team.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.oneOf.0.team","typeLabel":"string | null"},"status":{"type":"string","enum":["completed","running","error"],"isRequired":true,"uniqueKey":"workflow.oneOf.0.status","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.oneOf.0","typeLabel":"object"},{"type":"null","description":"The application’s workflow that ran on this verification (Grands comptes plan): `version` (null for the test draft), `run_id`, `decided` (it changed the verdict), `reason`, `team`, `status` (`running` while sends are queued, `completed`, or `error`: the checks’ verdict stands). Null when none ran.","uniqueKey":"workflow.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow","typeLabel":"object | null"},"metadata":{"oneOf":[{"type":"object","description":"What you attached to the session or the request; null when nothing.","additionalProperties":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"metadata.oneOf.0.additionalProperties","typeLabel":"string | number | boolean"},"uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"type":"null","description":"What you attached to the session or the request; null when nothing.","uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | null"},"timings":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"timings.additionalProperties","typeLabel":"number"},"uniqueKey":"timings","typeLabel":"object"}},"required":["id","verdict","score","document_type","checks","latency_ms","created_at"],"additionalProperties":false,"description":"Five checks, each with bilingual evidence. `final_verdict` appears on reads once a reviewer decided.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","verdict":"verified","score":0.5,"document_type":"passport","checks":[{"name":"mrz_checksum","status":"pass","score":0.5,"evidence":{"fr":"\u003cstring>","en":"\u003cstring>"}}],"latency_ms":4503599627370495,"created_at":"2023-11-07T05:31:56Z","status":"VERIFIED","document":{"type":"passport","country":"\u003cstring>","fields":{},"mrz":{"lines":["\u003cstring>"],"valid":true},"legibility":123},"fields":{},"face_match":{"similarity":123,"matched":true,"faces_in_document":123,"faces_in_selfie":123},"rules_verdict":"verified","workflow":{"version":0,"draft":true,"run_id":"\u003cstring>","decided":true,"reason":"\u003cstring>","team":"\u003cstring>","status":"completed"},"metadata":{},"timings":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"1c9ba235-069a-4488-a5ca-3fca74d78a73":{"description":"Verdict","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"id":{"type":"string","pattern":"^vrf_[a-z0-9]{6,}$","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"verdict":{"type":"string","enum":["verified","review","rejected"],"description":"The published verdict: the workflow’s when one ran (it can only be stricter than the checks’), else the checks’.","isRequired":true,"uniqueKey":"verdict","typeLabel":"enum\u003cstring>"},"score":{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"score","typeLabel":"number"},"document_type":{"type":"string","enum":["passport","cni","unknown"],"isRequired":true,"uniqueKey":"document_type","typeLabel":"enum\u003cstring>"},"checks":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["mrz_checksum","expiry","viz_mrz_consistency","tamper","face_match","chip_authenticity","liveness"],"isRequired":true,"uniqueKey":"checks.items.[INDEX].name","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pass","warn","fail","skipped"],"isRequired":true,"uniqueKey":"checks.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"score":{"oneOf":[{"type":"number","maximum":1,"minimum":0,"isRequired":true,"uniqueKey":"checks.items.[INDEX].score.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"checks.items.[INDEX].score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"checks.items.[INDEX].score","typeLabel":"number | null"},"evidence":{"type":"object","properties":{"fr":{"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].evidence.fr","typeLabel":"string"},"en":{"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].evidence.en","typeLabel":"string"}},"required":["fr","en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"checks.items.[INDEX].evidence","typeLabel":"object"}},"required":["name","status","score","evidence"],"additionalProperties":false,"uniqueKey":"checks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"checks","typeLabel":"object[]"},"latency_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"latency_ms","typeLabel":"integer"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"status":{"type":"string","enum":["VERIFIED","REVIEW","REJECTED"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"document":{"type":"object","properties":{"type":{"type":"string","enum":["passport","cni","unknown"],"isRequired":true,"uniqueKey":"document.type","typeLabel":"enum\u003cstring>"},"country":{"oneOf":[{"type":"string","uniqueKey":"document.country.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"document.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"document.country","typeLabel":"string | null"},"fields":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"document.fields.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"document.fields.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"document.fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"document.fields","typeLabel":"object | null"},"mrz":{"type":"object","properties":{"lines":{"type":"array","items":{"type":"string","uniqueKey":"document.mrz.lines.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"document.mrz.lines","typeLabel":"string[]"},"valid":{"type":"boolean","isRequired":true,"uniqueKey":"document.mrz.valid","typeLabel":"boolean"}},"required":["lines","valid"],"additionalProperties":false,"uniqueKey":"document.mrz","typeLabel":"object"},"legibility":{"oneOf":[{"type":"number","uniqueKey":"document.legibility.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"document.legibility.oneOf.1","typeLabel":"null"}],"uniqueKey":"document.legibility","typeLabel":"number | null"}},"required":["type"],"additionalProperties":false,"uniqueKey":"document","typeLabel":"object"},"fields":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"fields.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"fields.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"fields","typeLabel":"object | null"},"face_match":{"oneOf":[{"type":"object","required":["similarity","matched"],"properties":{"similarity":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"face_match.oneOf.0.similarity.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"face_match.oneOf.0.similarity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"face_match.oneOf.0.similarity","typeLabel":"number | null"},"matched":{"type":"boolean","isRequired":true,"uniqueKey":"face_match.oneOf.0.matched","typeLabel":"boolean"},"faces_in_document":{"type":"number","uniqueKey":"face_match.oneOf.0.faces_in_document","typeLabel":"number"},"faces_in_selfie":{"type":"number","uniqueKey":"face_match.oneOf.0.faces_in_selfie","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"face_match.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"face_match.oneOf.1","typeLabel":"null"}],"uniqueKey":"face_match","typeLabel":"object | null"},"rules_verdict":{"oneOf":[{"type":"string","description":"The checks’ verdict, only when a workflow made `verdict` stricter; null otherwise.","enum":["verified","review","rejected"],"uniqueKey":"rules_verdict.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The checks’ verdict, only when a workflow made `verdict` stricter; null otherwise.","uniqueKey":"rules_verdict.oneOf.1","typeLabel":"null"}],"uniqueKey":"rules_verdict","typeLabel":"enum\u003cstring> | null"},"workflow":{"oneOf":[{"type":"object","description":"The application’s workflow that ran on this verification (Grands comptes plan): `version` (null for the test draft), `run_id`, `decided` (it changed the verdict), `reason`, `team`, `status` (`running` while sends are queued, `completed`, or `error`: the checks’ verdict stands). Null when none ran.","required":["version","draft","run_id","decided","reason","team","status"],"properties":{"version":{"oneOf":[{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"workflow.oneOf.0.version.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"workflow.oneOf.0.version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.oneOf.0.version","typeLabel":"integer | null"},"draft":{"type":"boolean","isRequired":true,"uniqueKey":"workflow.oneOf.0.draft","typeLabel":"boolean"},"run_id":{"type":"string","isRequired":true,"uniqueKey":"workflow.oneOf.0.run_id","typeLabel":"string"},"decided":{"type":"boolean","isRequired":true,"uniqueKey":"workflow.oneOf.0.decided","typeLabel":"boolean"},"reason":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"workflow.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"workflow.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.oneOf.0.reason","typeLabel":"string | null"},"team":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"workflow.oneOf.0.team.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"workflow.oneOf.0.team.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"workflow.oneOf.0.team","typeLabel":"string | null"},"status":{"type":"string","enum":["completed","running","error"],"isRequired":true,"uniqueKey":"workflow.oneOf.0.status","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"workflow.oneOf.0","typeLabel":"object"},{"type":"null","description":"The application’s workflow that ran on this verification (Grands comptes plan): `version` (null for the test draft), `run_id`, `decided` (it changed the verdict), `reason`, `team`, `status` (`running` while sends are queued, `completed`, or `error`: the checks’ verdict stands). Null when none ran.","uniqueKey":"workflow.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow","typeLabel":"object | null"},"metadata":{"oneOf":[{"type":"object","description":"What you attached to the session or the request; null when nothing.","additionalProperties":{"oneOf":[{"type":"string","maxLength":200,"uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"metadata.oneOf.0.additionalProperties","typeLabel":"string | number | boolean"},"uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"type":"null","description":"What you attached to the session or the request; null when nothing.","uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | null"},"timings":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"timings.additionalProperties","typeLabel":"number"},"uniqueKey":"timings","typeLabel":"object"}},"required":["id","verdict","score","document_type","checks","latency_ms","created_at"],"additionalProperties":false,"description":"Five checks, each with bilingual evidence. `final_verdict` appears on reads once a reviewer decided.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","verdict":"verified","score":0.5,"document_type":"passport","checks":[{"name":"mrz_checksum","status":"pass","score":0.5,"evidence":{"fr":"\u003cstring>","en":"\u003cstring>"}}],"latency_ms":4503599627370495,"created_at":"2023-11-07T05:31:56Z","status":"VERIFIED","document":{"type":"passport","country":"\u003cstring>","fields":{},"mrz":{"lines":["\u003cstring>"],"valid":true},"legibility":123},"fields":{},"face_match":{"similarity":123,"matched":true,"faces_in_document":123,"faces_in_selfie":123},"rules_verdict":"verified","workflow":{"version":0,"draft":true,"run_id":"\u003cstring>","decided":true,"reason":"\u003cstring>","team":"\u003cstring>","status":"completed"},"metadata":{},"timings":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"df8c881d-98e0-4ef0-820b-cea660a81b64":{"description":"Malformed request","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"56b5800e-da67-46e4-966c-de9e7042b5e4":{"description":"Missing, malformed or revoked key","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"a292bfef-9580-4d0d-81ef-fdcf057bc4be":{"description":"`insufficient_balance`: live key, and the prepaid wallet cannot pay for this verification. Nothing was run or billed; top up in the console.","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"6b90c7d8-7926-420c-80c7-dfd03edbeeb4":{"description":"`unreadable` (blurred front), `not_an_image`, or `extraction_failed`","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"7c1364bc-4c30-48d3-ac7a-10a796922066":{"description":"Rate limit: 120 requests per minute per key","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"ef3de393-fde1-4340-a0be-7ed125fa4f75":{"description":"`service_busy`: too many verifications at once; nothing was recorded or billed. Retry after the Retry-After header (5 s).","content":{"application/json":{"schema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"b3c148d6-8aea-4eb6-9f36-88022972c9f7":{"apiKey":{"type":"http","scheme":"bearer","description":"`vn_live_…` or `vn_test_…`, from the console.","scopes":[],"schemeName":"apiKey"}}},"servers":{"6f8fb974-41e1-4156-a473-4788af287b3e":{"url":"https://api.verifner.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"`vn_live_…` or `vn_test_…`, from the console.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"`vn_live_…` or `vn_test_…`, from the console.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"verifner","siteName":"VerifNer","title":"Verify a document, and optionally a selfie, synchronously - VerifNer","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"fr":{"href":"/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously","matchLevel":0}}},"lastModified":"2026-10-16T01:00:20.378Z","originalFileLocation":"api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously.mdx","locale":"fr"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Send an Idempotency-Key header to make retries safe: the same key returns the original result with Idempotent-Replayed: true. Test keys (vn_test_) run the full pipeline and never store images.\">\u003cmeta data-mint-head name=\"application-name\" content=\"VerifNer\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Verify a document, and optionally a selfie, synchronously - VerifNer\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send an Idempotency-Key header to make retries safe: the same key returns the original result with Idempotent-Replayed: true. Test keys (vn_test_) run the full pipeline and never store images.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"VerifNer\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://verifner.mintlify.site/_mintlify/api/og/v2?division=Verify\u0026amp;title=Verify+a+document%2C+and+optionally+a+selfie%2C+synchronously\u0026amp;description=Send+an+%60Idempotency-Key%60+header+to+make+retries+safe%3A+the+same+key+returns+the+original+result+with+%60Idempotent-Replayed%3A+true%60.+Test+keys+%28%60vn_test_%60%29+run+the\u0026amp;theme=669b848bbd9c20999c8d2e86\u0026amp;signature=c4cb57f7d392b15565589367dfe0a4ed017489b7b1c3dba71fee5aabd33d9883\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Verify a document, and optionally a selfie, synchronously - VerifNer\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send an Idempotency-Key header to make retries safe: the same key returns the original result with Idempotent-Replayed: true. Test keys (vn_test_) run the full pipeline and never store images.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://verifner.mintlify.site/_mintlify/api/og/v2?division=Verify\u0026amp;title=Verify+a+document%2C+and+optionally+a+selfie%2C+synchronously\u0026amp;description=Send+an+%60Idempotency-Key%60+header+to+make+retries+safe%3A+the+same+key+returns+the+original+result+with+%60Idempotent-Replayed%3A+true%60.+Test+keys+%28%60vn_test_%60%29+run+the\u0026amp;theme=669b848bbd9c20999c8d2e86\u0026amp;signature=c4cb57f7d392b15565589367dfe0a4ed017489b7b1c3dba71fee5aabd33d9883\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/verifner/HLe7HcUYihMCBm0I/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"VerifNer\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2E5BFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://verifner.mintlify.app/#organization\",\"name\":\"VerifNer\",\"url\":\"https://verifner.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/verifner/ud8qHVyZEX2pvfnJ/logo/light.svg?fit=max\u0026auto=format\u0026n=ud8qHVyZEX2pvfnJ\u0026q=85\u0026s=721239d050e003f08cc06a11653e721f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://verifner.mintlify.app#website\",\"name\":\"VerifNer\",\"url\":\"https://verifner.mintlify.app\",\"publisher\":{\"@id\":\"https://verifner.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously#webpage\",\"url\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously\",\"name\":\"Verify a document, and optionally a selfie, synchronously\",\"description\":\"Send an Idempotency-Key header to make retries safe: the same key returns the original result with Idempotent-Replayed: true. Test keys (vn_test_) run the full pipeline and never store images.\",\"dateModified\":\"2026-10-16T01:00:20.378Z\",\"isPartOf\":{\"@id\":\"https://verifner.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"VerifNer\",\"item\":\"https://verifner.mintlify.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verify a document, and optionally a selfie, synchronously\",\"item\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously#apireference\",\"headline\":\"Verify a document, and optionally a selfie, synchronously\",\"name\":\"Verify a document, and optionally a selfie, synchronously\",\"description\":\"Send an Idempotency-Key header to make retries safe: the same key returns the original result with Idempotent-Replayed: true. Test keys (vn_test_) run the full pipeline and never store images.\",\"url\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously\",\"mainEntityOfPage\":{\"@id\":\"https://verifner.mintlify.app/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously#webpage\"},\"dateModified\":\"2026-10-16T01:00:20.378Z\",\"publisher\":{\"@id\":\"https://verifner.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://verifner.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"VerifNer\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"VerifNer\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously.md","siteName":"VerifNer","nav":{"global":null,"languages":[{"language":"fr","default":true,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":""}]},{"tab":"Référence API","icon":"code","groups":[{"group":"Introduction","pages":[{"title":"Référence API","description":"Tous les endpoints de l'API VerifNer.","href":"/api-reference/introduction"}]},{"group":"Endpoints","pages":[{"group":"Verify","pages":[{"title":"Verify a document, and optionally a selfie, synchronously","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/verify","href":"/api-reference/verify/verify-a-document-and-optionally-a-selfie-synchronously"},{"title":"Read a verification","description":null,"deprecated":null,"version":null,"openapi":"/openapi.json get /v1/verifications/{id}","href":"/api-reference/verify/read-a-verification"},{"title":"Get a short-lived URL to a stored image","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/verifications/{id}/images/{kind}","href":"/api-reference/verify/get-a-short-lived-url-to-a-stored-image"}]},{"group":"Sessions","pages":[{"title":"Open a session for the web SDK","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/sessions","href":"/api-reference/sessions/open-a-session-for-the-web-sdk"},{"title":"Read a session and its outcome","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/sessions/{id}","href":"/api-reference/sessions/read-a-session-and-its-outcome"},{"title":"Upload from the browser with the client token","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/sessions/{id}/verify","href":"/api-reference/sessions/upload-from-the-browser-with-the-client-token"},{"title":"Read the chip access key from a document photo","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/sessions/{id}/mrz","href":"/api-reference/sessions/read-the-chip-access-key-from-a-document-photo"},{"title":"Check a document photo before it is confirmed","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/sessions/{id}/precheck","href":"/api-reference/sessions/check-a-document-photo-before-it-is-confirmed"}]},{"group":"Webhooks","pages":[{"title":"List endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks","href":"/api-reference/webhooks/list-endpoints"},{"title":"Register an endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks","href":"/api-reference/webhooks/register-an-endpoint"},{"title":"Remove an endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/{id}","href":"/api-reference/webhooks/remove-an-endpoint"},{"title":"Last 50 deliveries with their state and attempts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{id}/deliveries","href":"/api-reference/webhooks/last-50-deliveries-with-their-state-and-attempts"},{"title":"Live event stream (server-sent events)","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/events","href":"/api-reference/webhooks/live-event-stream-server-sent-events"}]},{"group":"Logs","pages":[{"title":"Recent API calls, newest first","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/logs","href":"/api-reference/logs/recent-api-calls-newest-first"}]},{"group":"API Reference","pages":[{"title":"Sent after every verdict and again after a human review with `final verdict` set","version":null,"deprecated":null,"openapi":"/openapi.json webhook verification.completed","href":"/api-reference/sent-after-every-verdict-and-again-after-a-human-review-with-`final_verdict`-set"}]}]}]}]}]},"basePath":"","title":"Verify a document, and optionally a selfie, synchronously - VerifNer","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}