A single endpoint creates both User Verification and Business Verification sessions. The workflow’s type determines which kind:
Pass a KYC workflowworkflow_id → a User Verification (KYC) session is created. Response session_kind: "user".
Pass a KYB workflowworkflow_id → a Business Verification (KYB) session is created. Response session_kind: "business".
Configure workflows in the console at Workflows → Create workflow. A workflow is either KYC or KYB at creation time; you cannot switch types afterward.
When the workflow has an E-signature step that takes documents from the session (signature_documents_source set to session or both), send them in sign.documents. Each document is the file in base64, so Didit never has to fetch it from a URL.
Shown to the signer. 1 to 255 characters. Defaults to file_name.
file_name
Required. Ends in .pdf or .docx. 1 to 255 characters.
content_base64
Required. A PDF can have up to 20 MB and 100 pages, without a password, scripts or attached files. A Word file can have up to 20 MB and is converted to PDF while the request runs, in at most 25 seconds; the PDF then has the same limits. Up to 5 Word files per session.
fields
Optional. Up to 200 fields to place on the document, in the field shape without id. Each field needs a key and a type, and either a position (page, x, y, width and height) or an anchor. role defaults to the step’s signer and required and label default from the type. Didit sets position from where the field sits. Pages and positions refer to the PDF, or to the converted PDF for a Word file.
Without fields, the signer reads the document and agrees to it.
Instead of a position, a field can carry an anchor: a piece of text in the document that marks where the field goes. Anchors suit documents you generate for each session, for example from a Word template. For workflow documents, place fields in the console.
anchor property
Rules
text
1 to 64 characters, searched in the document’s text. For a Word file, in the converted PDF.
occurrence
first (default) places one field at the first match. all places one field per match, and the keys after the first get _2, _3 and so on.
offset_x, offset_y
Fractions of the page. The field’s top-left corner is the top-left corner of the anchor text plus these offsets.
width, height
The field’s size, as fractions of the page.
When the text isn’t in the document, the call returns 400 with field_anchor_not_found and the field’s key. Didit doesn’t remove the anchor text from the PDF, so write it in the same color as the page background.
sign.field_values sets the value of every field whose prefill is api.<key>, on workflow documents and session documents alike. It’s an object keyed by those <key> names. Values are strings of 1 to 500 characters for text and data fields, and booleans for a checkbox.
A session takes up to 20 documents and 50 MB in total. The call returns 400 with a sign error when:
The workflow has no E-signature step.
You sent sign.documents and the step only takes workflow documents.
The step takes session documents only and you sent none, or it has no workflow documents and you sent none.
A document is too large, isn’t valid base64 or isn’t a supported file.
A Word file is refused with signature_document_not_supported, or can’t be converted and returns signature_document_conversion_failed, each with the reason listed in Supported files.
A field is invalid, its anchor isn’t found (field_anchor_not_found), or a field value is refused.
Calling create again for the same workflow_id and vendor_data returns the pending session. If that call sends sign, its documents, fields and field values must be identical to the first ones (same order, titles, file names, content, fields and values). Anything different returns 400 with {"sign": "signature_document_changed"}: use a different vendor_data, or wait until the pending session finishes.
On a sandbox-mode application, pass sandbox_scenario to pre-load a deterministic outcome (approve, a specific decline, or an In Review scenario) without touching real providers or your balance:
sandbox_scenario is rejected with 400 on live applications. If you don’t know the outcome yet at create time, arm (or re-arm) it later via POST /v3/session/{session_id}/sandbox/arm/, as long as the session is still Not Started: the hosted flow’s pre-flow scenario picker uses this same endpoint. See Sandbox & Test Data for the full scenario catalog, the magic-value registry, and the arm endpoint’s request/response shape.
The hosted flow and native SDK 4.10.0 or later can show an explicit biometric consent step before the first face capture, depending on the application’s consent mode and where the person is. Two optional fields feed that decision:
user_state: where the person lives, when you know it (US-IL, IL or Illinois). In Auto mode, a covered state makes the flow ask.
biometric_consent: an object with given_at and text_version, for consent you already collected. The flow does not ask again.
Native SDKs below 4.10.0 cannot show the step: their sessions run as before and the decision reports the consent as not collected. See Biometric consent.
Important: disclosure and consent still happen in your product
Create Session generates a verification URL and session token. It does not by itself prove that you showed the user the disclosures or obtained the consent required for your specific use case.If you start a Didit session from your own application, website, SDK wrapper, or white-label flow, you should handle the legal layer in your own UX before the user starts capture.
If your workflow includes document capture, selfie capture, liveness, or biometrics, collect explicit affirmative consent wherever the applicable law or your legal position requires it.
If you use a custom UI, custom domain, or API-only journey, render these disclosures in your own product before sending the user into the Didit flow.
Keep your own record of notice / consent text, timestamp, and related metadata if your legal team requires an audit trail.
Legal requirements vary by jurisdiction. White-label branding does not remove Didit’s role in the verification flow. Review your implementation with counsel before launch if you operate in jurisdictions with biometric-specific rules.
Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is wrong, revoked or expired; 403 means no key was sent, the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.
Stable identifier of the workflow that defines which verification steps the session will run. Workflows are created and managed in the Workflows page of the Console. The workflow_id also implicitly selects whether the session is KYC or KYB.
A unique identifier for the user being verified, such as a UUID, email, or internal user ID. This field is used for: (1) User grouping — sessions with the same vendor_data are linked to the same user profile in the Users tab. (2) Cross-session duplicate detection — when checking for duplicated faces, documents, phone numbers, emails, IP addresses, or device fingerprints, sessions with the same vendor_data are treated as the same user and excluded from matches. Without vendor_data, every session is treated as a unique user and all potential duplicates are surfaced. We strongly recommend always providing a vendor_data to reduce noise in duplicate detection.
Optional duplicate-detection realm inside your organization. Duplicate face checks compare this session only with other sessions that carry the same segment, so separate account bases (personal and business accounts, or one per B2B sub-client) do not flag a person who legitimately holds one account in each. Omit it to use the single default realm, which is what every session uses today. Blocklist and allowlist matching ignore this field.
URL to redirect the user to after verification completes. Didit automatically appends verificationSessionId and status (Approved, Declined, In Review) as query parameters. Custom URL schemes (e.g. myapp://) are supported for mobile callbacks. If omitted, the workflow's default callback_url is used. When the application has allowed domains (allowed_domains on PATCH /v3/webhook/), an http or https callback must be on one of those origins (same scheme, host and port), otherwise the request fails with 400 on callback: callback must be on one of the application's allowed domains: https://app.example.com. Custom URL schemes are always accepted.
Determines which device should handle the redirect to the provided callback URL. Use initiator to redirect only the device that started the flow, completer for the device that finishes it, or both to allow either device to trigger the callback. If you ever notice the callback not triggering reliably, we recommend setting this value to both.
Arbitrary JSON stored with the session and echoed back in the response and webhooks. Any JSON value is accepted (object, string, number, array), but a JSON object of key/value pairs is recommended. Not shown to the end user. Use it to pass your own correlation ids, A/B variants, or business context.
Tags added to the session when it is created, by name. Up to 10, each up to 50 characters. Names are case-insensitive and stored in upper case. A name that does not exist yet in the application is created as a new tag. The tags show on the session in the console, where you can filter by them.
Language code (ISO 639-1) for the verification process interface. Controls the language displayed to the end user during verification. If not provided, the browser's language will be automatically detected and used. Check all the supported languages here.
User contact information that can be used for notifications, prefilling verification forms, and phone verification. This includes email address, preferred language for communications, and phone number.
Expected user details used to cross-validate against the data extracted from the user's ID document, Proof of Address, and other verification steps. Mismatches are surfaced as warnings on the decision; some fields (e.g. id_country, expected_document_types) also alter the user-facing flow. For Business Verification (KYB) workflows only the business fields (company_name, registry_country, registration_number) are used — they pre-fill the company registry search for the user — and all person-level fields are ignored.
Base64-encoded portrait image of the end user's face (max 2MB; JPEG, PNG, WebP, or TIFF). Used as the reference image to match against the liveness capture when the workflow is a Biometric Authentication workflow with Face Match enabled, or any graph workflow where Face Match runs before ID Verification (OCR). Optional when the vendor_data user already has a stored face image: Didit reuses it automatically, resolved in priority order: approved liveness face, ePassport chip photo, ID document portrait, manually enrolled profile face (only faces from approved sessions or faces you enrolled yourself are reused). When provided, portrait_image always takes precedence over the stored face. If omitted and no stored face exists (or vendor_data is not sent), session creation fails with 400. Ignored for other workflow types.
Sandbox-only scenario slug. Only accepted when the API key belongs to a sandbox-mode application; rejected on live applications. When set, the create flow expands the scenario's bundled magic values onto the session's input fields (contact_details, expected_details) so the mocked providers reproduce the scenario's outcome through the real workflow pipeline. See the scenario catalog at GET /v1/sandbox/scenarios/ or Sandbox & Test Data. You can also arm (or re-arm) a scenario after create via POST /v3/session/{sessionId}/sandbox/arm/, as long as the session is still Not Started. For non-doc lookup, use lookup_partial_match, lookup_no_match, or lookup_provider_error to test the configured attempt budget and fallback. For identity wallets, use wallet_cancelled, wallet_timeout, or wallet_provider_error; approve simulates a verified wallet. All catalog wallets can be tested in sandbox, including schemes unavailable on live applications. Simulated attempts are not charged.
E-signature input for this session. documents are the documents to sign, for a workflow whose E-signature step takes documents from the session (signature_documents_sourcesession or both): up to 20 documents and 50 MB in total. field_values fills the fields whose prefill is api.<key>, on workflow and session documents alike. Creating a session again for the same workflow_id and vendor_data returns the pending session; if that call sends sign, its documents, fields and values must be identical to the first ones, and anything different returns 400 with {"sign": "signature_document_changed"}. See E-signature documents.
Where the person lives, when you know it: an ISO 3166-2 subdivision code (US-IL, ES-M) or a US state code or name (IL, Illinois). A state whose law requires explicit biometric consent (Illinois, Texas, Colorado) makes the verification flow ask for it before capturing a face, with trigger declared_state. An unrecognized value returns 400. See Biometric consent.
Explicit biometric consent you already collected from the person. It satisfies the requirement, so the verification flow does not ask again, and the decision records it as status: "given" with trigger customer_collected. An answer the person already gave in the flow is never replaced. See Biometric consent.
Show child attributes
Response
Session created (or returned, if an unfinished session with the same vendor_data already exists on the workflow's latest published version). The response is the serialized session, including the hosted verification url to redirect the user to.
12-character URL-safe token that authorizes the end user to access the hosted verification flow at url. Valid until the session expires. Treat it as a secret — anyone holding it can open the verification flow for this session.
Hosted verification URL to redirect the end user to. The URL embeds the session_token and, if configured, uses your white-label domain. When the request includes language, the URL contains a language path segment — https://verify.didit.me/{language}/session/{session_token} (e.g. /es/session/...); without language, the segment is omitted.
Arbitrary JSON payload you stored with the session at creation time. Echoed back verbatim — whatever JSON value you sent (object, string, number, array) is returned as-is, though a JSON object is recommended. Not shown to the end user. Always present in responses; null when not provided at creation time.
Current status of the session. Newly created sessions return Not Started. If a non-finished session already existed for the same vendor_data on the workflow's latest published version, the returned status reflects that existing session.
Final redirect URL the user is sent to after completing the flow. Didit appends ?verificationSessionId={session_id}&status={status} to this URL. Falls back to the workflow's configured callback URL when not provided in the request; null when neither is set. When the application has allowed domains and this URL is a web URL outside them (for example a workflow default set before the list changed), the hosted flow does not redirect the user to it.
Stable identifier of the workflow this session runs on. Always the workflow's stable group identifier — even if you referenced a specific workflow version UUID in the request (backward-compatible lookup), the response carries the stable workflow_id. Use it to correlate the session with the workflow you configured in the Console.
Version number of the published workflow version the session was pinned to at creation. Didit resolves workflow_id to the workflow's latest published version when the session is created, and the session keeps running that version even if the workflow is republished later.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Didit Docs","description":"The best way to integrate identity and fraud checks into your app. One API, four product lines (KYC · KYB · Transaction Monitoring · Wallet Screening), 220+ countries, 14,000+ documents, sub-2s inference, $10 free credit/month.","colors":{"primary":"#2567FF","light":"#90B1FF","dark":"#1B4FE0"},"logo":{"light":"https://mintcdn.com/didit-0f962782/dCzNNoYCusBNdK3I/logo/didit.svg?fit=max\u0026auto=format\u0026n=dCzNNoYCusBNdK3I\u0026q=85\u0026s=9f162fb8295fa1fd9300a24b293ce0b7","dark":"https://mintcdn.com/didit-0f962782/TefoKXCbZA_GIK5a/logo/didit-logo-wordmark-white.svg?fit=max\u0026auto=format\u0026n=TefoKXCbZA_GIK5a\u0026q=85\u0026s=c8c541689c814ca6a2c873cf6185a3a7","href":"https://docs.didit.me"},"favicon":"https://mintcdn.com/didit-0f962782/t6r0B-WdGMU5mSS-/favicon.ico?fit=max\u0026auto=format\u0026n=t6r0B-WdGMU5mSS-\u0026q=85\u0026s=b291917b960ebe959ae3b1aa233eafa8","api":{"examples":{"prefill":true},"mdx":{"auth":{"method":"key","name":"x-api-key"},"server":"https://verification.didit.me"}},"background":{"color":{"light":"#FFFFFF","dark":"#1A1A1A"}},"navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Sign in","href":"https://business.didit.me"}},"footer":{"socials":{"x":"https://x.com/didit","github":"https://github.com/didit-protocol","linkedin":"https://linkedin.com/company/91001155","website":"https://didit.me"}},"search":{"prompt":"Search Didit docs..."},"seo":{"metatags":{"twitter:site":"@didit","theme-color":"#2567FF","apple-mobile-web-app-title":"Didit Docs"},"organization":{"id":"https://didit.me/#organization","name":"Didit","legalName":"Didit Protocol","url":"https://didit.me","logo":"https://didit.me/logos/primary-horizontal-light.png","sameAs":["https://www.linkedin.com/company/91001155","https://www.youtube.com/@getdidit","https://github.com/didit-protocol","https://x.com/didit"]},"indexing":"navigable"},"fonts":{"heading":{"family":"Inter","weight":500},"body":{"family":"Inter","weight":400}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page moved or never existed. [Back to docs](/)"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/didit-0f962782/Xkecx-xLq1K2abHK/images/og-thumbnail-backplate.png?fit=max\u0026auto=format\u0026n=Xkecx-xLq1K2abHK\u0026q=85\u0026s=c699fa252554b2ac8d4c631e209a1473","fonts":{"family":"Inter"}},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"href":"es"},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"href":"pt-br"},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"href":"ja"},{"language":"de","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Anmelden","href":"https://business.didit.me"}},"href":"de"},{"language":"fr","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Assistance"},{"icon":"signal","href":"https://status.didit.me","label":"Statut"}],"primary":{"type":"button","label":"Se connecter","href":"https://business.didit.me"}},"href":"fr"},{"language":"it","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Supporto"},{"icon":"signal","href":"https://status.didit.me","label":"Stato"}],"primary":{"type":"button","label":"Accedi","href":"https://business.didit.me"}},"href":"it"},{"language":"pt","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sessão","href":"https://business.didit.me"}},"href":"pt"},{"language":"ca","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suport"},{"icon":"signal","href":"https://status.didit.me","label":"Estat"}],"primary":{"type":"button","label":"Inicia la sessió","href":"https://business.didit.me"}},"href":"ca"},{"language":"id","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Dukungan"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Masuk","href":"https://business.didit.me"}},"href":"id"},{"language":"ru","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Поддержка"},{"icon":"signal","href":"https://status.didit.me","label":"Статус"}],"primary":{"type":"button","label":"Вход","href":"https://business.didit.me"}},"href":"ru"},{"language":"ko","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"지원"},{"icon":"signal","href":"https://status.didit.me","label":"상태"}],"primary":{"type":"button","label":"로그인","href":"https://business.didit.me"}},"href":"ko"},{"language":"zh","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"支持"},{"icon":"signal","href":"https://status.didit.me","label":"状态"}],"primary":{"type":"button","label":"登录","href":"https://business.didit.me"}},"href":"zh"},{"language":"ar","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"الدعم"},{"icon":"signal","href":"https://status.didit.me","label":"الحالة"}],"primary":{"type":"button","label":"تسجيل الدخول","href":"https://business.didit.me"}},"href":"ar"},{"language":"hi","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"सहायता"},{"icon":"signal","href":"https://status.didit.me","label":"स्थिति"}],"primary":{"type":"button","label":"साइन इन करें","href":"https://business.didit.me"}},"href":"hi"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"didit-0f962782","hasAudioNarration":false,"actualSubdomain":"didit-0f962782","customDomains":["docs.didit.me"],"gitSource":{"type":"github","owner":"didit-protocol","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af649d0b7f5fc4a3755ded8","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"ar","tag":"مرجع API","count":436},{"language":"ca","tag":"Referència de l'API","count":436},{"language":"de","tag":"API-Referenz","count":436},{"language":"es","tag":"Referencia de la API","count":436},{"language":"fr","tag":"Référence API","count":436},{"language":"hi","tag":"API संदर्भ","count":436},{"language":"id","tag":"Referensi API","count":436},{"language":"it","tag":"Riferimento API","count":436},{"language":"ja","tag":"APIリファレンス","count":436},{"language":"ko","tag":"API 레퍼런스","count":436},{"language":"pt-BR","tag":"Referência da API","count":436},{"language":"pt","tag":"Referência da API","count":436},{"language":"ru","tag":"Справочник API","count":436},{"language":"zh","tag":"API 参考","count":436},{"language":"en","tag":"API Reference","count":428},{"language":"en","tag":"Database Validation","count":129},{"language":"ar","tag":"التحقق من قواعد البيانات","count":129},{"language":"ca","tag":"Validació en bases de dades","count":129},{"language":"de","tag":"Datenbankvalidierung","count":129},{"language":"es","tag":"Validación de base de datos","count":129},{"language":"fr","tag":"Validation en base de données","count":129},{"language":"hi","tag":"डेटाबेस सत्यापन","count":129},{"language":"id","tag":"Validasi Database","count":129},{"language":"it","tag":"Validazione su database","count":129},{"language":"ja","tag":"データベース検証","count":129},{"language":"ko","tag":"데이터베이스 검증","count":129},{"language":"pt-BR","tag":"Validação de banco de dados","count":129},{"language":"pt","tag":"Validação de base de dados","count":129},{"language":"ru","tag":"Проверка по базам данных","count":129},{"language":"zh","tag":"数据库核验","count":129},{"language":"ca","tag":"Primers passos","count":93},{"language":"de","tag":"Erste Schritte","count":93},{"language":"es","tag":"Primeros pasos","count":93},{"language":"ja","tag":"はじめに","count":93},{"language":"ko","tag":"시작하기","count":93},{"language":"pt-BR","tag":"Primeiros passos","count":93},{"language":"ru","tag":"Начало работы","count":93},{"language":"en","tag":"Get Started","count":87},{"language":"ar","tag":"ابدأ الآن","count":87},{"language":"fr","tag":"Commencer","count":87},{"language":"hi","tag":"शुरू करें","count":87},{"language":"id","tag":"Mulai","count":87},{"language":"it","tag":"Inizia","count":87},{"language":"pt","tag":"Começar","count":87},{"language":"zh","tag":"快速开始","count":87},{"language":"ko","tag":"인증","count":85},{"language":"en","tag":"User Verification","count":74},{"language":"ar","tag":"التحقق من المستخدمين","count":74},{"language":"ca","tag":"Verificació d'usuaris","count":74},{"language":"de","tag":"Benutzerverifizierung","count":74},{"language":"es","tag":"Verificación de usuarios","count":74},{"language":"fr","tag":"Vérification des utilisateurs","count":74},{"language":"hi","tag":"उपयोगकर्ता सत्यापन","count":74},{"language":"id","tag":"Verifikasi Pengguna","count":74},{"language":"it","tag":"Verifica degli utenti","count":74},{"language":"ja","tag":"ユーザー認証","count":74},{"language":"ko","tag":"사용자 인증","count":74},{"language":"pt-BR","tag":"Verificação de usuários","count":74},{"language":"pt","tag":"Verificação de utilizadores","count":74},{"language":"ru","tag":"Проверка пользователей","count":74},{"language":"zh","tag":"用户验证","count":74},{"language":"en","tag":"Integrate / SDKs","count":67},{"language":"ar","tag":"التكامل / SDKs","count":67},{"language":"ca","tag":"Integració / SDK","count":67},{"language":"de","tag":"Integrieren / SDKs","count":67},{"language":"es","tag":"Integración / SDKs","count":67},{"language":"fr","tag":"Intégrer / SDK","count":67},{"language":"hi","tag":"इंटीग्रेट करें / SDK","count":67},{"language":"id","tag":"Integrasi / SDK","count":67},{"language":"it","tag":"Integrazione / SDK","count":67},{"language":"ja","tag":"連携 / SDK","count":67},{"language":"ko","tag":"연동 / SDK","count":67},{"language":"pt-BR","tag":"Integração / SDKs","count":67},{"language":"pt","tag":"Integrar / SDKs","count":67},{"language":"ru","tag":"Интеграция / SDK","count":67},{"language":"zh","tag":"集成 / SDK","count":67},{"language":"en","tag":"Travel Rule","count":58},{"language":"ar","tag":"Travel Rule","count":58},{"language":"ca","tag":"Travel Rule","count":58},{"language":"de","tag":"Travel Rule","count":58},{"language":"es","tag":"Travel Rule","count":58},{"language":"fr","tag":"Travel Rule","count":58},{"language":"hi","tag":"Travel Rule","count":58},{"language":"id","tag":"Travel Rule","count":58},{"language":"it","tag":"Travel Rule","count":58},{"language":"ja","tag":"トラベルルール","count":58},{"language":"ko","tag":"Travel Rule","count":58},{"language":"pt-BR","tag":"Travel Rule","count":58},{"language":"pt","tag":"Travel Rule","count":58},{"language":"ru","tag":"Travel Rule","count":58},{"language":"zh","tag":"Travel Rule","count":58},{"language":"en","tag":"Verification","count":48},{"language":"ar","tag":"التحقق","count":48},{"language":"ca","tag":"Verificació","count":48},{"language":"de","tag":"Verifizierung","count":48},{"language":"es","tag":"Verificación","count":48},{"language":"fr","tag":"Vérification","count":48},{"language":"hi","tag":"सत्यापन","count":48},{"language":"id","tag":"Verifikasi","count":48},{"language":"it","tag":"Verifica","count":48},{"language":"ja","tag":"検証","count":48},{"language":"pt-BR","tag":"Verificação","count":48},{"language":"pt","tag":"Verificação","count":48},{"language":"ru","tag":"Верификация","count":48},{"language":"zh","tag":"验证","count":48},{"language":"en","tag":"Authentication","count":37},{"language":"ar","tag":"المصادقة","count":37},{"language":"ca","tag":"Autenticació","count":37},{"language":"de","tag":"Authentifizierung","count":37},{"language":"es","tag":"Autenticación","count":37},{"language":"fr","tag":"Authentification","count":37},{"language":"hi","tag":"प्रमाणीकरण","count":37},{"language":"id","tag":"Autentikasi","count":37},{"language":"it","tag":"Autenticazione","count":37},{"language":"ja","tag":"認証","count":37},{"language":"pt-BR","tag":"Autenticação","count":37},{"language":"pt","tag":"Autenticação","count":37},{"language":"ru","tag":"Аутентификация","count":37},{"language":"zh","tag":"身份认证","count":37},{"language":"en","tag":"Digital ID wallets","count":35},{"language":"en","tag":"User and Business Verifications","count":35},{"language":"ar","tag":"محافظ الهوية الرقمية","count":35},{"language":"ar","tag":"التحقق من المستخدمين والشركات","count":35},{"language":"ca","tag":"Carteres d'identitat digital","count":35},{"language":"ca","tag":"Verificacions d'usuaris i empreses","count":35},{"language":"de","tag":"Digitale ID-Wallets","count":35},{"language":"de","tag":"Benutzer- und Unternehmensverifizierungen","count":35},{"language":"es","tag":"Wallets de identidad digital","count":35},{"language":"es","tag":"Verificaciones de usuarios y empresas","count":35},{"language":"fr","tag":"Portefeuilles d'identité numérique","count":35},{"language":"fr","tag":"Vérifications des utilisateurs et des entreprises","count":35},{"language":"hi","tag":"डिजिटल ID वॉलेट","count":35},{"language":"hi","tag":"उपयोगकर्ता और व्यवसाय सत्यापन","count":35},{"language":"id","tag":"Dompet ID Digital","count":35},{"language":"id","tag":"Verifikasi Pengguna dan Bisnis","count":35},{"language":"it","tag":"Wallet di identità digitale","count":35},{"language":"it","tag":"Verifiche di utenti e aziende","count":35},{"language":"ja","tag":"デジタルIDウォレット","count":35},{"language":"ja","tag":"ユーザーと企業の認証","count":35},{"language":"ko","tag":"디지털 신분증 지갑","count":35},{"language":"ko","tag":"사용자 인증 및 기업 확인","count":35},{"language":"pt-BR","tag":"Carteiras de identidade digital","count":35},{"language":"pt-BR","tag":"Verificações de usuários e empresas","count":35},{"language":"pt","tag":"Carteiras de identidade digital","count":35},{"language":"pt","tag":"Verificações de utilizadores e empresas","count":35},{"language":"ru","tag":"Цифровые ID-кошельки","count":35},{"language":"ru","tag":"Верификация пользователей и компаний","count":35},{"language":"zh","tag":"数字身份钱包","count":35},{"language":"zh","tag":"用户与企业验证","count":35},{"language":"ko","tag":"거래 모니터링","count":28}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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","href":"/_mintlify/custom/didit-0f962782/714dd91730ddd114/style.css"}],"page":{"pagePath":"sessions-api/create-session","slug":"/sessions-api/create-session","pageMetadata":{"title":"Create Session API: Start KYC or KYB Verification","sidebarTitle":"Create Session","description":"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.","keywords":["create session API","verification session API","KYC session API","KYB session API","identity verification API","POST /v3/session","pay-per-call KYC","$0.33 full KYC","no contract identity verification","Didit API"],"openapi":"openapi-25.json POST /v3/session/","href":"/sessions-api/create-session"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const __snippet_AGENT_PROMPT_LABELS_qsruim={en:{copy:`Copy`,copied:`Copied`,copyTitle:`Copy prompt to clipboard`,copiedTitle:`Copied!`,pasteInto:`Paste into`},es:{copy:`Copiar`,copied:`Copiado`,copyTitle:`Copiar el prompt al portapapeles`,copiedTitle:`¡Copiado!`,pasteInto:`Pegar en`},\"pt-BR\":{copy:`Copiar`,copied:`Copiado`,copyTitle:`Copiar o prompt para a área de transferência`,copiedTitle:`Copiado!`,pasteInto:`Colar em`},ja:{copy:`コピー`,copied:`コピーしました`,copyTitle:`プロンプトをクリップボードにコピー`,copiedTitle:`コピーしました`,pasteInto:`貼り付け先`},\"de\":{copy:`Kopieren`,copied:`Kopiert`,copyTitle:`Prompt in die Zwischenablage kopieren`,copiedTitle:`Kopiert!`,pasteInto:`Einfügen in`},\"fr\":{copy:`Copier`,copied:`Copié`,copyTitle:`Copier le prompt dans le presse-papiers`,copiedTitle:`Copié !`,pasteInto:`Coller dans`},\"it\":{copy:`Copia`,copied:`Copiato`,copyTitle:`Copia il prompt negli appunti`,copiedTitle:`Copiato!`,pasteInto:`Incolla in`},\"pt-PT\":{copy:`Copiar`,copied:`Copiado`,copyTitle:`Copiar o prompt para a área de transferência`,copiedTitle:`Copiado!`,pasteInto:`Colar em`},\"ca\":{copy:`Copia`,copied:`Copiat`,copyTitle:`Copia el prompt al porta-retalls`,copiedTitle:`Copiat!`,pasteInto:`Enganxa a`},\"id\":{copy:`Salin`,copied:`Disalin`,copyTitle:`Salin prompt ke papan klip`,copiedTitle:`Disalin!`,pasteInto:`Tempel ke`},\"ru\":{copy:`Копировать`,copied:`Скопировано`,copyTitle:`Скопировать промпт в буфер обмена`,copiedTitle:`Скопировано!`,pasteInto:`Вставьте в`},\"ko\":{copy:`복사`,copied:`복사됨`,copyTitle:`프롬프트를 클립보드에 복사`,copiedTitle:`복사됨!`,pasteInto:`붙여넣을 곳`},\"zh\":{copy:`复制`,copied:`已复制`,copyTitle:`将提示词复制到剪贴板`,copiedTitle:`已复制!`,pasteInto:`粘贴到`},\"ar\":{copy:`نسخ`,copied:`تم النسخ`,copyTitle:`نسخ الموجّه إلى الحافظة`,copiedTitle:`تم النسخ!`,pasteInto:`الصق في`},\"hi\":{copy:`कॉपी करें`,copied:`कॉपी हो गया`,copyTitle:`प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें`,copiedTitle:`कॉपी हो गया!`,pasteInto:`यहाँ पेस्ट करें`}};const AgentPromptAccordion=({prompt,title=`AI Agent Integration Prompt`,lang=`en`})=>{const[copied,setCopied]=React.useState(false);const labels=__snippet_AGENT_PROMPT_LABELS_qsruim[lang]||__snippet_AGENT_PROMPT_LABELS_qsruim.en;const handleCopy=e=>{e.stopPropagation();if(!prompt)return;navigator.clipboard.writeText(prompt.trim()).then(()=>{setCopied(true);setTimeout(()=>setCopied(false),2e3)})};const agents=[`Claude Code`,`Codex`,`Cursor`,`Devin`,`Windsurf`,`GitHub Copilot`];return _jsxs(`div`,{className:`didit-agent-card`,children:[_jsxs(`div`,{className:`didit-agent-titlebar`,children:[_jsxs(`div`,{className:`didit-agent-dots`,\"aria-hidden\":`true`,children:[_jsx(`span`,{className:`didit-agent-dot didit-agent-dot-red`}),_jsx(`span`,{className:`didit-agent-dot didit-agent-dot-yellow`}),_jsx(`span`,{className:`didit-agent-dot didit-agent-dot-green`})]}),_jsx(`span`,{className:`didit-agent-filename`,children:title}),_jsx(`button`,{type:`button`,className:`didit-agent-copy ${copied?`didit-agent-copy-copied`:``}`,onClick:handleCopy,title:labels.copyTitle,\"aria-label\":copied?labels.copiedTitle:labels.copyTitle,children:copied?_jsxs(_Fragment,{children:[_jsx(`svg`,{width:`13`,height:`13`,viewBox:`0 0 16 16`,fill:`none`,children:_jsx(`path`,{d:`M3 8.5l3.5 3.5L13 4`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),_jsx(`span`,{children:labels.copied})]}):_jsxs(_Fragment,{children:[_jsxs(`svg`,{width:`13`,height:`13`,viewBox:`0 0 16 16`,fill:`none`,children:[_jsx(`rect`,{x:`5`,y:`5`,width:`9`,height:`9`,rx:`1.5`,stroke:`currentColor`,strokeWidth:`1.5`}),_jsx(`path`,{d:`M11 5V3.5A1.5 1.5 0 0 0 9.5 2h-6A1.5 1.5 0 0 0 2 3.5v6A1.5 1.5 0 0 0 3.5 11H5`,stroke:`currentColor`,strokeWidth:`1.5`})]}),_jsx(`span`,{children:labels.copy})]})})]}),_jsx(`pre`,{className:`didit-agent-body`,children:_jsx(`code`,{children:prompt.trim()})}),_jsxs(`div`,{className:`didit-agent-footer`,children:[_jsx(`span`,{className:`didit-agent-footer-label`,children:labels.pasteInto}),_jsx(`div`,{className:`didit-agent-chips`,children:agents.map(name=>_jsx(`span`,{className:`didit-agent-chip`,children:name},name))})]})]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tab,Table,Tabs,Warning,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`AgentPromptAccordion`,children:_jsx(AgentPromptAccordion,{title:`Create Session Prompt`,prompt:`Create a verification session via Didit's REST API.\n\nEndpoint:\nPOST https://verification.didit.me/v3/session/\n\nAuthentication:\nUse the x-api-key header with your Didit API key. The workflow's type (KYC or KYB) determines which kind of session is created — there is no separate endpoint for KYB.\n\nRequest body:\n- workflow_id (string, UUID, required) — Stable workflow UUID from /v3/workflows/. KYC workflows create User Verification sessions; KYB workflows create Business Verification sessions.\n- vendor_data (string, optional) — Your stable identifier for the entity (user or business). Strongly recommended: it binds the session to a User or Business entity and is used for duplicate detection across sessions.\n- callback (string, URL, optional): Where the hosted flow redirects the user when finished. Didit appends ?verificationSessionId={session_id}\u0026status={status}. Falls back to the workflow default. When the application has allowed domains (allowed_domains on PATCH /v3/webhook/), an http or https callback must be on one of those origins (same scheme, host and port), otherwise creation fails with 400 on callback: \"callback must be on one of the application's allowed domains: https://app.example.com\". Custom URL schemes (app deep links such as myapp://) are always accepted. A workflow-default callback outside the allowed domains is not used for the redirect.\n- callback_method (string, optional, default \"initiator\") — One of \"initiator\", \"completer\", \"both\". Use \"both\" if the callback sometimes fails to fire.\n- metadata (object, optional) — Arbitrary JSON echoed back in responses and webhooks. Not shown to the user.\n- tags (array of strings, optional): Tags added to the session when it is created, by name, for example [\"VIP\", \"ONBOARDING Q4\"]. Up to 10, each up to 50 characters. Names are case-insensitive and stored in upper case; a name that does not exist yet in the application is created as a new tag. The tags show on the session in the console, where you can filter by them, and come back in the create response.\n- language (string, optional) — ISO 639-1 code for the verification UI (en, es, fr, de, pt, etc.). Defaults to browser detection.\n- contact_details (object, optional) — { email, send_notification_emails, email_lang, phone }. Pre-fills phone/email steps and (optionally) sends notification emails.\n- expected_details (object, optional) — Expected first_name, last_name, date_of_birth, nationality (ISO-3), id_country (ISO-3), expected_document_types (e.g. [\"P\",\"ID\",\"DL\",\"RP\",\"SSC\"]). Mismatches surface as decision warnings. For Business Verification (KYB) workflows, pass the business fields instead — company_name, registry_country, registration_number — to pre-fill the company registry search; registry_country is ISO 3166-1 alpha-2 and can include the state for state-level registries (e.g. \"US-CA\"), same format as the KYB Registry Search country_code. Person-level fields are ignored on KYB sessions.\n- portrait_image (string, base64, conditional) — Reference face for Biometric Authentication workflows (and graph workflows where Face Match runs before ID Verification). Max 2MB; JPEG, PNG, WebP, or TIFF. Optional when the vendor_data user already has a stored face: Didit reuses it automatically (approved liveness face, then ePassport chip photo, then ID document portrait, then a manually enrolled profile face). If omitted and no stored face exists, creation fails with 400. Ignored for other workflow types.\n- multi_account_segment (string, optional, max 64 chars) — Duplicate-detection realm inside your own organization. Duplicate face checks only compare this session against other sessions carrying the same segment, so an organization that runs separate account bases (personal vs business, or one per sub-client) does not see a person who legitimately holds one account in each reported as a duplicate. Omit it to use the single default realm — which is what every session uses today, so existing integrations are unaffected. Blocklist and allowlist matching ignore this field: a blocklisted face stays blocklisted in every segment.\n- sandbox_scenario (string, optional, sandbox applications only): Scenario slug from the sandbox catalog (GET /v1/sandbox/scenarios/). Expands the scenario's bundled magic values onto contact_details/expected_details so the session reproduces that outcome. Rejected with 400 on live applications. You can also arm or re-arm a scenario after create, as long as the session is still Not Started, via POST /v3/session/{session_id}/sandbox/arm/. See /integration/sandbox-testing.\n- user_state (string, optional, max 16 chars): Where the person lives, when you know it: an ISO 3166-2 code (US-IL) or a US state code or name (IL, Illinois). In Auto consent mode, Illinois, Texas or Colorado makes the flow ask for explicit biometric consent before the first face capture. 400 on an unrecognized value.\n- biometric_consent (object, optional): Consent you already collected: { given_at (ISO 8601, not in the future), text_version (max 64 chars) }. The flow does not ask again; the decision records it as given with trigger customer_collected.\n- sign (object, optional): { documents: [ { title, file_name, content_base64, fields } ], field_values: { \u003ckey>: value } }. documents is for a workflow whose E-signature step takes documents from the session (signature_documents_source \"session\" or \"both\"). file_name ends in .pdf or .docx; content_base64 is the file in base64. Up to 20 documents and 50 MB in total; a PDF up to 20 MB and 100 pages, without a password, scripts or attachments; a Word file (.docx) up to 20 MB, converted to PDF while the request runs, at most 5 per session. fields is optional (up to 200 per document): signature, initials, full_name, date_signed, text, checkbox, email or data fields, each with a key unique in its document (^[a-z][a-z0-9_]{0,63}$), placed by page, x, y, width and height, or by anchor text ({ text, occurrence, offset_x, offset_y, width, height }). role defaults to the step's signer. field_values fills the fields whose prefill is \"api.\u003ckey>\", on workflow and session documents alike: strings of 1 to 500 characters, booleans for checkboxes. 400 when the workflow has no E-signature step, takes workflow documents only and you sent documents, or needs session documents you didn't send; field_anchor_not_found, field_value_unknown, field_value_missing or field_value_invalid for fields and values. See /core-technology/electronic-signature/overview.\n\nIdempotency:\nWithin one application, only one non-finished session can exist per (workflow_id, vendor_data). Calling create again with the same pair returns the existing session (and updates its callback + metadata, and adds any tags you send) instead of creating a duplicate. If you send sign again, its documents, fields and field values must be identical (same order, titles, file names, content, fields and values), or the call returns 400 { \"sign\": \"signature_document_changed\" }.\n\ncurl example:\ncurl -X POST https://verification.didit.me/v3/session/ \\\\\n-H \"x-api-key: \u003cAPI_KEY>\" \\\\\n-H \"Content-Type: application/json\" \\\\\n-d '{\n\"workflow_id\": \"\u003cWORKFLOW_ID>\",\n\"vendor_data\": \"user-42\",\n\"callback\": \"https://yourapp.com/callback\",\n\"metadata\": { \"plan\": \"premium\" }\n}'\n\nResponse (201 Created) — keys you must handle:\n- session_id (UUID) — use this on every subsequent /v3/session/{session_id}/... call.\n- session_kind (\"user\" | \"business\") — discriminator, dispatch on this.\n- session_number (int) — human-friendly per-application sequence.\n- session_token (string) — short-lived, embedded in the hosted URL. Treat as secret.\n- url (string) — hosted verification URL. Redirect the end user here. (Field name is \"url\", NOT \"verification_url\".)\n- status (string) — newly created sessions return \"Not Started\".\n- workflow_id, workflow_version, vendor_data, metadata, callback — echoed back.\n\nSee /reference/data-models for the full schema.\n\nFailure modes:\n- 400 — { \"workflow_id\": [\"Invalid workflow_id.\"] } when the UUID is unknown.\n- 400 — { \"vendor_data\": [\"This user or business has been blocked and cannot create new verification sessions.\"] } when blocklisted.\n- 400 — { \"detail\": \"You don't have enough credits to perform this request. Please top up at https://business.didit.me\" } when out of credits.\n- 400 — { \"portrait_image\": \"No stored face image was found for this user. Send a portrait_image, or complete an approved verification with face liveness or an ID document for this vendor_data first.\" } on a Face Match workflow when portrait_image is omitted and the vendor_data user has no stored face.\n- 401 — invalid or missing API key.\n- 403 — { \"detail\": \"You do not have permission to perform this action.\" } when the key lacks write:sessions.\n- 429 — rate limited (600 successful calls/minute per token/IP). Honour Retry-After.\n\nDisclosure \u0026 consent:\nThis endpoint generates a URL — it does not record that you obtained user consent. Show your privacy notice and any biometric-specific consent in your own UX before redirecting to the hosted flow.\nFor people covered by Illinois, Texas or Colorado law, the hosted flow and native SDK 4.10.0 or later can ask for explicit biometric consent before the selfie; native SDKs below 4.10.0 cannot show that step. See /getting-started/biometric-consent.\n\nNext step:\nAfter the user finishes (status changes to Approved / Declined / In Review), call GET https://verification.didit.me/v3/session/{session_id}/decision/ for the full decision — see /sessions-api/retrieve-session.\n\nFor end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`})}),`\n`,_jsx(Heading,{level:`2`,id:`kyc-and-kyb-support`,children:`KYC and KYB support`}),`\n`,_jsxs(_components.p,{children:[`A single endpoint creates both User Verification and Business Verification sessions. The `,_jsx(_components.strong,{children:`workflow’s type`}),` determines which kind:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Pass a `,_jsx(_components.strong,{children:`KYC workflow`}),` `,_jsx(_components.code,{children:`workflow_id`}),` → a User Verification (KYC) session is created. Response `,_jsx(_components.code,{children:`session_kind: \"user\"`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Pass a `,_jsx(_components.strong,{children:`KYB workflow`}),` `,_jsx(_components.code,{children:`workflow_id`}),` → a Business Verification (KYB) session is created. Response `,_jsx(_components.code,{children:`session_kind: \"business\"`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Configure workflows in the console at `,_jsx(_components.em,{children:`Workflows → Create workflow`}),`. A workflow is either KYC or KYB at creation time; you cannot switch types afterward.`]}),`\n`,_jsx(Heading,{level:`2`,id:`examples`,children:`Examples`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`User Verification (KYC)`,id:`user-verification-kyc`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://verification.didit.me/v3/session/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"workflow_id\": \"YOUR_KYC_WORKFLOW_ID\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vendor_data\": \"user-42\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"callback\": \"https://yourapp.com/callback\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Response (201 Created):`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"4c5c7f3a-1f82-4f3b-8d8e-1a8d2d2f9b7a\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_kind\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1024`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://verify.didit.me/session/...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Not Started\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"workflow_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_KYC_WORKFLOW_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"vendor_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-42\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Tab,{title:`Business Verification (KYB)`,id:`business-verification-kyb`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://verification.didit.me/v3/session/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"workflow_id\": \"YOUR_KYB_WORKFLOW_ID\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vendor_data\": \"biz-acme-001\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"callback\": \"https://yourapp.com/callback\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Response (201 Created):`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"bs-01HJX1...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_kind\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"business\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`89`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"session_token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://verify.didit.me/session/...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Not Started\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"workflow_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_KYB_WORKFLOW_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"vendor_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"biz-acme-001\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`e-signature-documents`,children:`E-signature documents`}),`\n`,_jsxs(_components.p,{children:[`When the workflow has an `,_jsx(_components.a,{href:`/core-technology/electronic-signature/overview`,children:`E-signature`}),` step that takes documents from the session (`,_jsx(_components.code,{children:`signature_documents_source`}),` set to `,_jsx(_components.code,{children:`session`}),` or `,_jsx(_components.code,{children:`both`}),`), send them in `,_jsx(_components.code,{children:`sign.documents`}),`. Each document is the file in base64, so Didit never has to fetch it from a URL.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`20`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`20`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"workflow_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_WORKFLOW_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"vendor_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-42\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sign\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Loan agreement\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"file_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"loan-agreement.pdf\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"content_base64\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"JVBERi0xLjcKJc...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fields\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"borrower_signature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"signature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Borrower signature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"y\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.78`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"width\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.32`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"height\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.06`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"date_signed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"date_signed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.6`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"y\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.8`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"width\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"height\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.03`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"date_format\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DD/MM/YYYY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"loan_amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Loan amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"page\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.34`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"y\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.31`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"width\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"height\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.03`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"prefill\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"api.loan_amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"initials\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"initials\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"anchor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"[[initials]]\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"occurrence\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"all\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"offset_x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"offset_y\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`-0.005`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"width\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.12`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"height\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.04`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"field_values\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"loan_amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"12,000 EUR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Rules`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`title`})}),_jsxs(_components.td,{children:[`Shown to the signer. 1 to 255 characters. Defaults to `,_jsx(_components.code,{children:`file_name`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`file_name`})}),_jsxs(_components.td,{children:[`Required. Ends in `,_jsx(_components.code,{children:`.pdf`}),` or `,_jsx(_components.code,{children:`.docx`}),`. 1 to 255 characters.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`content_base64`})}),_jsx(_components.td,{children:`Required. A PDF can have up to 20 MB and 100 pages, without a password, scripts or attached files. A Word file can have up to 20 MB and is converted to PDF while the request runs, in at most 25 seconds; the PDF then has the same limits. Up to 5 Word files per session.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fields`})}),_jsxs(_components.td,{children:[`Optional. Up to 200 `,_jsx(_components.a,{href:`/core-technology/electronic-signature/overview#fields-on-the-document`,children:`fields`}),` to place on the document, in the field shape without `,_jsx(_components.code,{children:`id`}),`. Each field needs a `,_jsx(_components.code,{children:`key`}),` and a `,_jsx(_components.code,{children:`type`}),`, and either a position (`,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`x`}),`, `,_jsx(_components.code,{children:`y`}),`, `,_jsx(_components.code,{children:`width`}),` and `,_jsx(_components.code,{children:`height`}),`) or an `,_jsx(_components.a,{href:`#place-fields-by-anchor-text`,children:_jsx(_components.code,{children:`anchor`})}),`. `,_jsx(_components.code,{children:`role`}),` defaults to the step’s signer and `,_jsx(_components.code,{children:`required`}),` and `,_jsx(_components.code,{children:`label`}),` default from the type. Didit sets `,_jsx(_components.code,{children:`position`}),` from where the field sits. Pages and positions refer to the PDF, or to the converted PDF for a Word file.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Without `,_jsx(_components.code,{children:`fields`}),`, the signer reads the document and agrees to it.`]}),`\n`,_jsx(Heading,{level:`3`,id:`place-fields-by-anchor-text`,children:`Place fields by anchor text`}),`\n`,_jsxs(_components.p,{children:[`Instead of a position, a field can carry an `,_jsx(_components.code,{children:`anchor`}),`: a piece of text in the document that marks where the field goes. Anchors suit documents you generate for each session, for example from a Word template. For workflow documents, place fields in the console.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsxs(_components.th,{children:[_jsx(_components.code,{children:`anchor`}),` property`]}),_jsx(_components.th,{children:`Rules`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`text`})}),_jsx(_components.td,{children:`1 to 64 characters, searched in the document’s text. For a Word file, in the converted PDF.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`occurrence`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`first`}),` (default) places one field at the first match. `,_jsx(_components.code,{children:`all`}),` places one field per match, and the keys after the first get `,_jsx(_components.code,{children:`_2`}),`, `,_jsx(_components.code,{children:`_3`}),` and so on.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`offset_x`}),`, `,_jsx(_components.code,{children:`offset_y`})]}),_jsx(_components.td,{children:`Fractions of the page. The field’s top-left corner is the top-left corner of the anchor text plus these offsets.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`width`}),`, `,_jsx(_components.code,{children:`height`})]}),_jsx(_components.td,{children:`The field’s size, as fractions of the page.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`When the text isn’t in the document, the call returns `,_jsx(_components.code,{children:`400`}),` with `,_jsx(_components.code,{children:`field_anchor_not_found`}),` and the field’s key. Didit doesn’t remove the anchor text from the PDF, so write it in the same color as the page background.`]}),`\n`,_jsx(Heading,{level:`3`,id:`field-values`,children:`Field values`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`sign.field_values`}),` sets the value of every field whose `,_jsx(_components.code,{children:`prefill`}),` is `,_jsx(_components.code,{children:`api.\u003ckey>`}),`, on workflow documents and session documents alike. It’s an object keyed by those `,_jsx(_components.code,{children:`\u003ckey>`}),` names. Values are strings of 1 to 500 characters for `,_jsx(_components.code,{children:`text`}),` and `,_jsx(_components.code,{children:`data`}),` fields, and booleans for a `,_jsx(_components.code,{children:`checkbox`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"workflow_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_WORKFLOW_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"vendor_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-42\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sign\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"field_values\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"credit_limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"3,000 EUR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"monthly_fee\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"4.90 EUR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsxs(_components.th,{children:[`Error (`,_jsx(_components.code,{children:`400`}),`)`]}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`field_value_unknown`})}),_jsx(_components.td,{children:`A key that no field uses.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`field_value_missing`})}),_jsxs(_components.td,{children:[`A required field whose `,_jsx(_components.code,{children:`api.\u003ckey>`}),` has no value.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`field_value_invalid`})}),_jsxs(_components.td,{children:[`A value that fails its field’s `,_jsx(_components.a,{href:`/core-technology/electronic-signature/overview#validation`,children:`validation`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`errors-and-repeated-calls`,children:`Errors and repeated calls`}),`\n`,_jsxs(_components.p,{children:[`A session takes up to 20 documents and 50 MB in total. The call returns `,_jsx(_components.code,{children:`400`}),` with a `,_jsx(_components.code,{children:`sign`}),` error when:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The workflow has no E-signature step.`}),`\n`,_jsxs(_components.li,{children:[`You sent `,_jsx(_components.code,{children:`sign.documents`}),` and the step only takes workflow documents.`]}),`\n`,_jsx(_components.li,{children:`The step takes session documents only and you sent none, or it has no workflow documents and you sent none.`}),`\n`,_jsx(_components.li,{children:`A document is too large, isn’t valid base64 or isn’t a supported file.`}),`\n`,_jsxs(_components.li,{children:[`A Word file is refused with `,_jsx(_components.code,{children:`signature_document_not_supported`}),`, or can’t be converted and returns `,_jsx(_components.code,{children:`signature_document_conversion_failed`}),`, each with the `,_jsx(_components.code,{children:`reason`}),` listed in `,_jsx(_components.a,{href:`/core-technology/electronic-signature/overview#supported-files`,children:`Supported files`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`A field is invalid, its anchor isn’t found (`,_jsx(_components.code,{children:`field_anchor_not_found`}),`), or a `,_jsx(_components.a,{href:`#field-values`,children:`field value`}),` is refused.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Calling create again for the same `,_jsx(_components.code,{children:`workflow_id`}),` and `,_jsx(_components.code,{children:`vendor_data`}),` returns the pending session. If that call sends `,_jsx(_components.code,{children:`sign`}),`, its documents, fields and field values must be identical to the first ones (same order, titles, file names, content, fields and values). Anything different returns `,_jsx(_components.code,{children:`400`}),` with `,_jsx(_components.code,{children:`{\"sign\": \"signature_document_changed\"}`}),`: use a different `,_jsx(_components.code,{children:`vendor_data`}),`, or wait until the pending session finishes.`]}),`\n`,_jsx(Heading,{level:`2`,id:`testing-with-sandbox-scenarios`,children:`Testing with sandbox scenarios`}),`\n`,_jsxs(_components.p,{children:[`On a sandbox-mode application, pass `,_jsx(_components.code,{children:`sandbox_scenario`}),` to pre-load a deterministic outcome (approve, a specific decline, or an In Review scenario) without touching real providers or your balance:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"workflow_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_SANDBOX_WORKFLOW_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sandbox_scenario\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"decline_document_expired\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`sandbox_scenario`}),` is rejected with `,_jsx(_components.code,{children:`400`}),` on live applications. If you don’t know the outcome yet at create time, arm (or re-arm) it later via `,_jsx(_components.code,{children:`POST /v3/session/{session_id}/sandbox/arm/`}),`, as long as the session is still `,_jsx(_components.code,{children:`Not Started`}),`: the hosted flow’s pre-flow scenario picker uses this same endpoint. See `,_jsx(_components.a,{href:`/integration/sandbox-testing`,children:`Sandbox \u0026 Test Data`}),` for the full scenario catalog, the magic-value registry, and the arm endpoint’s request/response shape.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`vendor_data-binds-the-session-to-an-entity`,children:[_jsx(_components.code,{children:`vendor_data`}),` binds the session to an entity`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For KYC workflows: binds to a `,_jsx(_components.a,{href:`/entities/users/overview`,children:`User entity`}),`. If the user doesn’t exist, it’s auto-created.`]}),`\n`,_jsxs(_components.li,{children:[`For KYB workflows: binds to a `,_jsx(_components.a,{href:`/entities/businesses/overview`,children:`Business entity`}),`. Auto-created if new.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Learn more in `,_jsx(_components.a,{href:`/entities/vendor-data-linking`,children:`vendor data linking`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`biometric-consent-in-illinois-texas-and-colorado`,children:`Biometric consent in Illinois, Texas and Colorado`}),`\n`,_jsx(_components.p,{children:`The hosted flow and native SDK 4.10.0 or later can show an explicit biometric consent step before the first face capture, depending on the application’s consent mode and where the person is. Two optional fields feed that decision:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`user_state`}),`: where the person lives, when you know it (`,_jsx(_components.code,{children:`US-IL`}),`, `,_jsx(_components.code,{children:`IL`}),` or `,_jsx(_components.code,{children:`Illinois`}),`). In Auto mode, a covered state makes the flow ask.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`biometric_consent`}),`: an object with `,_jsx(_components.code,{children:`given_at`}),` and `,_jsx(_components.code,{children:`text_version`}),`, for consent you already collected. The flow does not ask again.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Native SDKs below 4.10.0 cannot show the step: their sessions run as before and the decision reports the consent as not collected. See `,_jsx(_components.a,{href:`/getting-started/biometric-consent`,children:`Biometric consent`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`important-disclosure-and-consent-still-happen-in-your-product`,children:`Important: disclosure and consent still happen in your product`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Create Session`}),` generates a verification URL and session token. It does `,_jsx(_components.strong,{children:`not`}),` by itself prove that you showed the user the disclosures or obtained the consent required for your specific use case.`]}),`\n`,_jsx(_components.p,{children:`If you start a Didit session from your own application, website, SDK wrapper, or white-label flow, you should handle the legal layer in your own UX before the user starts capture.`}),`\n`,_jsx(Heading,{level:`2`,id:`recommended-pre-verification-checklist`,children:`Recommended pre-verification checklist`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Tell the user that `,_jsx(_components.strong,{children:`your company`}),` is requesting the verification and that `,_jsx(_components.strong,{children:`Didit`}),` is the verification provider / processor powering the flow.`]}),`\n`,_jsxs(_components.li,{children:[`Link to `,_jsx(_components.strong,{children:`your privacy notice`}),` and any controller-side legal terms that apply to the journey.`]}),`\n`,_jsxs(_components.li,{children:[`Link to Didit’s `,_jsx(_components.a,{href:`https://didit.me/terms/verification-privacy-notice`,children:`Verification Privacy Notice`}),` and `,_jsx(_components.a,{href:`https://didit.me/terms/identity-verification`,children:`End User Terms for Identity Verification`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`If your workflow includes document capture, selfie capture, liveness, or biometrics, collect `,_jsx(_components.strong,{children:`explicit affirmative consent`}),` wherever the applicable law or your legal position requires it.`]}),`\n`,_jsx(_components.li,{children:`If you use a custom UI, custom domain, or API-only journey, render these disclosures in your own product before sending the user into the Didit flow.`}),`\n`,_jsx(_components.li,{children:`Keep your own record of notice / consent text, timestamp, and related metadata if your legal team requires an audit trail.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Legal requirements vary by jurisdiction. White-label branding does not remove Didit’s role in the verification flow. Review your implementation with counsel before launch if you operate in jurisdictions with biometric-specific rules.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{__snippet_AGENT_PROMPT_LABELS_qsruim,AgentPromptAccordion,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create Session API: Start KYC or KYB Verification","sidebarTitle":"Create Session","description":"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.","keywords":["create session API","verification session API","KYC session API","KYB session API","identity verification API","POST /v3/session","pay-per-call KYC","$0.33 full KYC","no contract identity verification","Didit API"],"openapi":"openapi-25.json POST /v3/session/","href":"/sessions-api/create-session"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[171,4204,"undefined;const AgentPromptAccordion=()=>null;function _crea"]]},"mdxExtracts":{"tableOfContents":[{"title":"KYC and KYB support","slug":"kyc-and-kyb-support","depth":2,"children":[]},{"title":"Examples","slug":"examples","depth":2,"children":[]},{"title":"E-signature documents","slug":"e-signature-documents","depth":2,"children":[{"title":"Place fields by anchor text","slug":"place-fields-by-anchor-text","depth":3,"children":[]},{"title":"Field values","slug":"field-values","depth":3,"children":[]},{"title":"Errors and repeated calls","slug":"errors-and-repeated-calls","depth":3,"children":[]}]},{"title":"Testing with sandbox scenarios","slug":"testing-with-sandbox-scenarios","depth":2,"children":[]},{"title":"vendor_data binds the session to an entity","slug":"vendor_data-binds-the-session-to-an-entity","depth":2,"children":[]},{"title":"Biometric consent in Illinois, Texas and Colorado","slug":"biometric-consent-in-illinois-texas-and-colorado","depth":2,"children":[]},{"title":"Important: disclosure and consent still happen in your product","slug":"important-disclosure-and-consent-still-happen-in-your-product","depth":2,"children":[]},{"title":"Recommended pre-verification checklist","slug":"recommended-pre-verification-checklist","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/didit-0f962782/75622e87c9213fdc/snippets/data/database-validation-coverage.js","/_mintlify/custom/didit-0f962782/4ac7d3c2a19a354d/database-validation-playground.js"],"openApiReferenceData":{"operation":{"summary":"Create a verification session","description":"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.","operationId":"post_v3_session_create","x-didit-sdk":{"resource":"sessions","method":"create","auth":"api_key","server":true},"tags":["Sessions"],"responses":{"201":"0e03cf82-9d3d-4205-aeb0-a496b345d4ec","400":"a0043a46-71db-4c9e-81fb-14c969fd61e4","403":"0ad31b99-e343-419c-8560-b5073139574c","429":"10b07bbb-acb6-4d58-bf50-5e9f509c007b"},"security":["f463a2bc-ba8d-415b-9abd-171818baea4a"],"x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST 'https://verification.didit.me/v3/session/' \\\n -H 'x-api-key: YOUR_API_KEY' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"workflow_id\": \"11111111-2222-3333-4444-555555555555\",\n \"vendor_data\": \"user-123\",\n \"callback\": \"https://example.com/verification/callback\",\n \"callback_method\": \"both\",\n \"metadata\": {\"user_type\": \"premium\", \"account_id\": \"ABC123\"},\n \"language\": \"en\",\n \"contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"send_notification_emails\": true,\n \"email_lang\": \"en\",\n \"phone\": \"+14155552671\"\n },\n \"expected_details\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-05-15\",\n \"id_country\": \"USA\",\n \"expected_document_types\": [\"P\", \"ID\"]\n }\n }'"},{"lang":"python","label":"Python","source":"from didit import Didit\n\n# Reads DIDIT_API_KEY.\nclient = Didit()\n\nresult = client.sessions.create(\n workflow_id=\"11111111-2222-3333-4444-555555555555\",\n vendor_data=\"user-123\",\n callback=\"https://example.com/verification/callback\",\n callback_method=\"both\",\n metadata={\"user_type\": \"premium\", \"account_id\": \"ABC123\"},\n language=\"en\",\n contact_details={\n \"email\": \"john.doe@example.com\",\n \"send_notification_emails\": True,\n \"email_lang\": \"en\",\n \"phone\": \"+14155552671\",\n },\n expected_details={\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-05-15\",\n \"nationality\": \"USA\",\n \"id_country\": \"USA\",\n \"expected_document_types\": [\"P\", \"ID\"],\n },\n)\nprint(result)"},{"lang":"javascript","label":"Node.js","source":"import Didit from \"@didit-protocol/sdk-node\";\n\n// Reads DIDIT_API_KEY.\nconst didit = new Didit();\n\nconst result = await didit.sessions.create({\n workflow_id: \"11111111-2222-3333-4444-555555555555\",\n vendor_data: \"user-123\",\n callback: \"https://example.com/verification/callback\",\n callback_method: \"both\",\n metadata: { user_type: \"premium\", account_id: \"ABC123\" },\n language: \"en\",\n contact_details: {\n email: \"john.doe@example.com\",\n send_notification_emails: true,\n email_lang: \"en\",\n phone: \"+14155552671\",\n },\n expected_details: {\n first_name: \"John\",\n last_name: \"Doe\",\n date_of_birth: \"1990-05-15\",\n nationality: \"USA\",\n id_country: \"USA\",\n expected_document_types: [\"P\", \"ID\"],\n },\n});\nconsole.log(result);"},{"lang":"go","label":"Go","source":"ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.Create(ctx, didit.SessionsCreateParams{\n\tWorkflowID: \"11111111-2222-3333-4444-555555555555\",\n\tVendorData: didit.String(\"user-123\"),\n\tCallback: didit.String(\"https://example.com/verification/callback\"),\n\tCallbackMethod: didit.Some(didit.SessionsCreateParamsCallbackMethod(\"both\")),\n\tMetadata: didit.Some[any](map[string]any{\"user_type\": \"premium\", \"account_id\": \"ABC123\"}),\n\tLanguage: didit.Some(didit.SessionsCreateParamsLanguage(\"en\")),\n\tContactDetails: didit.Some(didit.SessionsCreateParamsContactDetails{\n\t\tEmail: didit.String(\"john.doe@example.com\"),\n\t\tSendNotificationEmails: didit.Bool(true),\n\t\tEmailLang: didit.Some(didit.SessionsCreateParamsContactDetailsEmailLang(\"en\")),\n\t\tPhone: didit.String(\"+14155552671\"),\n\t}),\n\tExpectedDetails: didit.Some(didit.SessionsCreateParamsExpectedDetails{\n\t\tFirstName: didit.String(\"John\"),\n\t\tLastName: didit.String(\"Doe\"),\n\t\tDateOfBirth: didit.String(\"1990-05-15\"),\n\t\tNationality: didit.String(\"USA\"),\n\t\tIDCountry: didit.String(\"USA\"),\n\t\tExpectedDocumentTypes: didit.Some([]didit.SessionsCreateParamsExpectedDetailsExpectedDocumentTypes{\"P\", \"ID\"}),\n\t}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"},{"lang":"java","label":"Java","source":"import java.time.LocalDate;\nimport java.util.List;\nimport java.util.Map;\nimport me.didit.Didit;\nimport me.didit.types.SessionsCreateParams;\n\n// Reads DIDIT_API_KEY.\nDidit client = new Didit();\n\nvar result = client.sessions().create(SessionsCreateParams.builder()\n .workflowId(\"11111111-2222-3333-4444-555555555555\")\n .vendorData(\"user-123\")\n .callback(\"https://example.com/verification/callback\")\n .callbackMethod(SessionsCreateParams.CallbackMethod.of(\"both\"))\n .metadata(Map.of(\"user_type\", \"premium\", \"account_id\", \"ABC123\"))\n .language(SessionsCreateParams.Language.of(\"en\"))\n .contactDetails(SessionsCreateParams.ContactDetails.builder()\n .email(\"john.doe@example.com\")\n .sendNotificationEmails(true)\n .emailLang(SessionsCreateParams.ContactDetails.EmailLang.of(\"en\"))\n .phone(\"+14155552671\")\n .build())\n .expectedDetails(SessionsCreateParams.ExpectedDetails.builder()\n .firstName(\"John\")\n .lastName(\"Doe\")\n .dateOfBirth(LocalDate.parse(\"1990-05-15\"))\n .nationality(\"USA\")\n .idCountry(\"USA\")\n .expectedDocumentTypes(List.of(SessionsCreateParams.ExpectedDetails.ExpectedDocumentTypes.of(\"P\"), SessionsCreateParams.ExpectedDetails.ExpectedDocumentTypes.of(\"ID\")))\n .build())\n .build());\nSystem.out.println(result);"},{"lang":"php","label":"PHP","source":"\u003c?php\n\nrequire 'vendor/autoload.php';\n\nuse Didit\\DiditClient;\n\n// Reads DIDIT_API_KEY.\n$didit = new DiditClient();\n\n$result = $didit->sessions->create([\n 'workflow_id' => '11111111-2222-3333-4444-555555555555',\n 'vendor_data' => 'user-123',\n 'callback' => 'https://example.com/verification/callback',\n 'callback_method' => 'both',\n 'metadata' => ['user_type' => 'premium', 'account_id' => 'ABC123'],\n 'language' => 'en',\n 'contact_details' => [\n 'email' => 'john.doe@example.com',\n 'send_notification_emails' => true,\n 'email_lang' => 'en',\n 'phone' => '+14155552671',\n ],\n 'expected_details' => [\n 'first_name' => 'John',\n 'last_name' => 'Doe',\n 'date_of_birth' => '1990-05-15',\n 'nationality' => 'USA',\n 'id_country' => 'USA',\n 'expected_document_types' => ['P', 'ID'],\n ],\n]);\nprint_r($result->toArray());"},{"lang":"ruby","label":"Ruby","source":"require \"didit\"\n\n# Reads DIDIT_API_KEY.\ndidit = Didit::Client.new\n\nresult = didit.sessions.create(\n workflow_id: \"11111111-2222-3333-4444-555555555555\",\n vendor_data: \"user-123\",\n callback: \"https://example.com/verification/callback\",\n callback_method: \"both\",\n metadata: { user_type: \"premium\", account_id: \"ABC123\" },\n language: \"en\",\n contact_details: {\n email: \"john.doe@example.com\",\n send_notification_emails: true,\n email_lang: \"en\",\n phone: \"+14155552671\",\n },\n expected_details: {\n first_name: \"John\",\n last_name: \"Doe\",\n date_of_birth: \"1990-05-15\",\n nationality: \"USA\",\n id_country: \"USA\",\n expected_document_types: [\"P\", \"ID\"],\n }\n)\nputs result.to_h"},{"lang":"csharp","label":".NET","source":"using System;\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Didit;\n\n// Reads DIDIT_API_KEY.\nusing var client = new DiditClient();\n\nvar result = await client.Sessions.CreateAsync(new SessionsCreateParams\n{\n WorkflowId = \"11111111-2222-3333-4444-555555555555\",\n VendorData = \"user-123\",\n Callback = \"https://example.com/verification/callback\",\n CallbackMethod = new SessionsCreateParamsCallbackMethod(\"both\"),\n Metadata = new Dictionary\u003cstring, object> { [\"user_type\"] = \"premium\", [\"account_id\"] = \"ABC123\" },\n Language = new SessionsCreateParamsLanguage(\"en\"),\n ContactDetails = new SessionsCreateParamsContactDetails\n {\n Email = \"john.doe@example.com\",\n SendNotificationEmails = true,\n EmailLang = new SessionsCreateParamsContactDetailsEmailLang(\"en\"),\n Phone = \"+14155552671\",\n },\n ExpectedDetails = new SessionsCreateParamsExpectedDetails\n {\n FirstName = \"John\",\n LastName = \"Doe\",\n DateOfBirth = \"1990-05-15\",\n Nationality = \"USA\",\n IdCountry = \"USA\",\n ExpectedDocumentTypes = new SessionsCreateParamsExpectedDetailsExpectedDocumentTypes[] { \"P\", \"ID\" },\n },\n});\nConsole.WriteLine(JsonSerializer.Serialize(result));"}],"requestBody":"32b4e34f-19f4-401d-834f-686839778699","method":"post","type":"path","servers":["252396ba-8741-43a8-8228-f57bd61447d9"],"path":"/v3/session/","baseUrlOptions":["https://verification.didit.me"],"title":"Create a verification session","codeSamples":[{"label":"cURL","lang":"curl","source":"curl -X POST 'https://verification.didit.me/v3/session/' \\\n -H 'x-api-key: YOUR_API_KEY' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"workflow_id\": \"11111111-2222-3333-4444-555555555555\",\n \"vendor_data\": \"user-123\",\n \"callback\": \"https://example.com/verification/callback\",\n \"callback_method\": \"both\",\n \"metadata\": {\"user_type\": \"premium\", \"account_id\": \"ABC123\"},\n \"language\": \"en\",\n \"contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"send_notification_emails\": true,\n \"email_lang\": \"en\",\n \"phone\": \"+14155552671\"\n },\n \"expected_details\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-05-15\",\n \"id_country\": \"USA\",\n \"expected_document_types\": [\"P\", \"ID\"]\n }\n }'"},{"label":"Python","lang":"python","source":"from didit import Didit\n\n# Reads DIDIT_API_KEY.\nclient = Didit()\n\nresult = client.sessions.create(\n workflow_id=\"11111111-2222-3333-4444-555555555555\",\n vendor_data=\"user-123\",\n callback=\"https://example.com/verification/callback\",\n callback_method=\"both\",\n metadata={\"user_type\": \"premium\", \"account_id\": \"ABC123\"},\n language=\"en\",\n contact_details={\n \"email\": \"john.doe@example.com\",\n \"send_notification_emails\": True,\n \"email_lang\": \"en\",\n \"phone\": \"+14155552671\",\n },\n expected_details={\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-05-15\",\n \"nationality\": \"USA\",\n \"id_country\": \"USA\",\n \"expected_document_types\": [\"P\", \"ID\"],\n },\n)\nprint(result)"},{"label":"Node.js","lang":"javascript","source":"import Didit from \"@didit-protocol/sdk-node\";\n\n// Reads DIDIT_API_KEY.\nconst didit = new Didit();\n\nconst result = await didit.sessions.create({\n workflow_id: \"11111111-2222-3333-4444-555555555555\",\n vendor_data: \"user-123\",\n callback: \"https://example.com/verification/callback\",\n callback_method: \"both\",\n metadata: { user_type: \"premium\", account_id: \"ABC123\" },\n language: \"en\",\n contact_details: {\n email: \"john.doe@example.com\",\n send_notification_emails: true,\n email_lang: \"en\",\n phone: \"+14155552671\",\n },\n expected_details: {\n first_name: \"John\",\n last_name: \"Doe\",\n date_of_birth: \"1990-05-15\",\n nationality: \"USA\",\n id_country: \"USA\",\n expected_document_types: [\"P\", \"ID\"],\n },\n});\nconsole.log(result);"},{"label":"Go","lang":"go","source":"ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.Create(ctx, didit.SessionsCreateParams{\n\tWorkflowID: \"11111111-2222-3333-4444-555555555555\",\n\tVendorData: didit.String(\"user-123\"),\n\tCallback: didit.String(\"https://example.com/verification/callback\"),\n\tCallbackMethod: didit.Some(didit.SessionsCreateParamsCallbackMethod(\"both\")),\n\tMetadata: didit.Some[any](map[string]any{\"user_type\": \"premium\", \"account_id\": \"ABC123\"}),\n\tLanguage: didit.Some(didit.SessionsCreateParamsLanguage(\"en\")),\n\tContactDetails: didit.Some(didit.SessionsCreateParamsContactDetails{\n\t\tEmail: didit.String(\"john.doe@example.com\"),\n\t\tSendNotificationEmails: didit.Bool(true),\n\t\tEmailLang: didit.Some(didit.SessionsCreateParamsContactDetailsEmailLang(\"en\")),\n\t\tPhone: didit.String(\"+14155552671\"),\n\t}),\n\tExpectedDetails: didit.Some(didit.SessionsCreateParamsExpectedDetails{\n\t\tFirstName: didit.String(\"John\"),\n\t\tLastName: didit.String(\"Doe\"),\n\t\tDateOfBirth: didit.String(\"1990-05-15\"),\n\t\tNationality: didit.String(\"USA\"),\n\t\tIDCountry: didit.String(\"USA\"),\n\t\tExpectedDocumentTypes: didit.Some([]didit.SessionsCreateParamsExpectedDetailsExpectedDocumentTypes{\"P\", \"ID\"}),\n\t}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"},{"label":"Java","lang":"java","source":"import java.time.LocalDate;\nimport java.util.List;\nimport java.util.Map;\nimport me.didit.Didit;\nimport me.didit.types.SessionsCreateParams;\n\n// Reads DIDIT_API_KEY.\nDidit client = new Didit();\n\nvar result = client.sessions().create(SessionsCreateParams.builder()\n .workflowId(\"11111111-2222-3333-4444-555555555555\")\n .vendorData(\"user-123\")\n .callback(\"https://example.com/verification/callback\")\n .callbackMethod(SessionsCreateParams.CallbackMethod.of(\"both\"))\n .metadata(Map.of(\"user_type\", \"premium\", \"account_id\", \"ABC123\"))\n .language(SessionsCreateParams.Language.of(\"en\"))\n .contactDetails(SessionsCreateParams.ContactDetails.builder()\n .email(\"john.doe@example.com\")\n .sendNotificationEmails(true)\n .emailLang(SessionsCreateParams.ContactDetails.EmailLang.of(\"en\"))\n .phone(\"+14155552671\")\n .build())\n .expectedDetails(SessionsCreateParams.ExpectedDetails.builder()\n .firstName(\"John\")\n .lastName(\"Doe\")\n .dateOfBirth(LocalDate.parse(\"1990-05-15\"))\n .nationality(\"USA\")\n .idCountry(\"USA\")\n .expectedDocumentTypes(List.of(SessionsCreateParams.ExpectedDetails.ExpectedDocumentTypes.of(\"P\"), SessionsCreateParams.ExpectedDetails.ExpectedDocumentTypes.of(\"ID\")))\n .build())\n .build());\nSystem.out.println(result);"},{"label":"PHP","lang":"php","source":"\u003c?php\n\nrequire 'vendor/autoload.php';\n\nuse Didit\\DiditClient;\n\n// Reads DIDIT_API_KEY.\n$didit = new DiditClient();\n\n$result = $didit->sessions->create([\n 'workflow_id' => '11111111-2222-3333-4444-555555555555',\n 'vendor_data' => 'user-123',\n 'callback' => 'https://example.com/verification/callback',\n 'callback_method' => 'both',\n 'metadata' => ['user_type' => 'premium', 'account_id' => 'ABC123'],\n 'language' => 'en',\n 'contact_details' => [\n 'email' => 'john.doe@example.com',\n 'send_notification_emails' => true,\n 'email_lang' => 'en',\n 'phone' => '+14155552671',\n ],\n 'expected_details' => [\n 'first_name' => 'John',\n 'last_name' => 'Doe',\n 'date_of_birth' => '1990-05-15',\n 'nationality' => 'USA',\n 'id_country' => 'USA',\n 'expected_document_types' => ['P', 'ID'],\n ],\n]);\nprint_r($result->toArray());"},{"label":"Ruby","lang":"ruby","source":"require \"didit\"\n\n# Reads DIDIT_API_KEY.\ndidit = Didit::Client.new\n\nresult = didit.sessions.create(\n workflow_id: \"11111111-2222-3333-4444-555555555555\",\n vendor_data: \"user-123\",\n callback: \"https://example.com/verification/callback\",\n callback_method: \"both\",\n metadata: { user_type: \"premium\", account_id: \"ABC123\" },\n language: \"en\",\n contact_details: {\n email: \"john.doe@example.com\",\n send_notification_emails: true,\n email_lang: \"en\",\n phone: \"+14155552671\",\n },\n expected_details: {\n first_name: \"John\",\n last_name: \"Doe\",\n date_of_birth: \"1990-05-15\",\n nationality: \"USA\",\n id_country: \"USA\",\n expected_document_types: [\"P\", \"ID\"],\n }\n)\nputs result.to_h"},{"label":".NET","lang":"csharp","source":"using System;\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Didit;\n\n// Reads DIDIT_API_KEY.\nusing var client = new DiditClient();\n\nvar result = await client.Sessions.CreateAsync(new SessionsCreateParams\n{\n WorkflowId = \"11111111-2222-3333-4444-555555555555\",\n VendorData = \"user-123\",\n Callback = \"https://example.com/verification/callback\",\n CallbackMethod = new SessionsCreateParamsCallbackMethod(\"both\"),\n Metadata = new Dictionary\u003cstring, object> { [\"user_type\"] = \"premium\", [\"account_id\"] = \"ABC123\" },\n Language = new SessionsCreateParamsLanguage(\"en\"),\n ContactDetails = new SessionsCreateParamsContactDetails\n {\n Email = \"john.doe@example.com\",\n SendNotificationEmails = true,\n EmailLang = new SessionsCreateParamsContactDetailsEmailLang(\"en\"),\n Phone = \"+14155552671\",\n },\n ExpectedDetails = new SessionsCreateParamsExpectedDetails\n {\n FirstName = \"John\",\n LastName = \"Doe\",\n DateOfBirth = \"1990-05-15\",\n Nationality = \"USA\",\n IdCountry = \"USA\",\n ExpectedDocumentTypes = new SessionsCreateParamsExpectedDetailsExpectedDocumentTypes[] { \"P\", \"ID\" },\n },\n});\nConsole.WriteLine(JsonSerializer.Serialize(result));"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.workflow_id":"11111111-2222-3333-4444-555555555555","body.vendor_data":"user-123","body.callback":"https://example.com/verification/callback","body.callback_method":"both","body.metadata":{"user_type":"premium","account_id":"ABC123"},"body.language":"en","body.contact_details.email":"john.doe@example.com","body.contact_details.send_notification_emails":true,"body.contact_details.email_lang":"en","body.contact_details.phone":"+14155552671","body.expected_details.first_name":"John","body.expected_details.last_name":"Doe","body.expected_details.date_of_birth":"1990-05-15","body.expected_details.nationality":"USA","body.expected_details.id_country":"USA","body.expected_details.expected_document_types.items.0":"P","body.expected_details.expected_document_types.items.1":"ID"},{"body.workflow_id":"33333333-4444-5555-6666-777777777777","body.vendor_data":"company-acme-001","body.callback":"https://example.com/kyb/callback","body.callback_method":"both","body.metadata":{"tier":"enterprise","company_id":"ACME-001"},"body.language":"en","body.contact_details.email":"legal-rep@acme.example.com","body.contact_details.send_notification_emails":true,"body.contact_details.email_lang":"en","body.expected_details.company_name":"Tesco PLC","body.expected_details.registry_country":"GB","body.expected_details.registration_number":"00445790"}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["workflow_id"],"properties":{"workflow_id":{"type":"string","format":"uuid","description":"Stable identifier of the workflow that defines which verification steps the session will run. Workflows are created and managed in the [Workflows](/console/workflows) page of the Console. The `workflow_id` also implicitly selects whether the session is KYC or KYB.","example":"11111111-2222-3333-4444-555555555555","x-readme-id":"0.0","isRequired":true,"uniqueKey":"workflow_id","typeLabel":"string\u003cuuid>"},"vendor_data":{"type":"string","description":"A unique identifier for the user being verified, such as a UUID, email, or internal user ID. This field is used for: (1) **User grouping** — sessions with the same vendor_data are linked to the same user profile in the Users tab. (2) **Cross-session duplicate detection** — when checking for duplicated faces, documents, phone numbers, emails, IP addresses, or device fingerprints, sessions with the same vendor_data are treated as the same user and excluded from matches. Without vendor_data, every session is treated as a unique user and all potential duplicates are surfaced. We strongly recommend always providing a vendor_data to reduce noise in duplicate detection.","example":"user-123","x-readme-id":"0.1","uniqueKey":"vendor_data","typeLabel":"string"},"multi_account_segment":{"type":"string","maxLength":64,"description":"Optional duplicate-detection realm inside your organization. Duplicate face checks compare this session only with other sessions that carry the same segment, so separate account bases (personal and business accounts, or one per B2B sub-client) do not flag a person who legitimately holds one account in each. Omit it to use the single default realm, which is what every session uses today. Blocklist and allowlist matching ignore this field.","example":"business-accounts","uniqueKey":"multi_account_segment","typeLabel":"string"},"callback":{"type":"string","description":"URL to redirect the user to after verification completes. Didit automatically appends `verificationSessionId` and `status` (Approved, Declined, In Review) as query parameters. Custom URL schemes (e.g. `myapp://`) are supported for mobile callbacks. If omitted, the workflow's default `callback_url` is used. When the application has allowed domains (`allowed_domains` on `PATCH /v3/webhook/`), an `http` or `https` callback must be on one of those origins (same scheme, host and port), otherwise the request fails with 400 on `callback`: `callback must be on one of the application's allowed domains: https://app.example.com`. Custom URL schemes are always accepted.","example":"https://example.com/verification/callback","x-readme-id":"0.2","uniqueKey":"callback","typeLabel":"string"},"callback_method":{"type":"string","description":"Determines which device should handle the redirect to the provided callback URL. Use `initiator` to redirect only the device that started the flow, `completer` for the device that finishes it, or `both` to allow either device to trigger the callback. If you ever notice the callback not triggering reliably, we recommend setting this value to `both`.","enum":["initiator","completer","both"],"default":"initiator","example":"both","x-readme-id":"0.3","uniqueKey":"callback_method","typeLabel":"enum\u003cstring>"},"metadata":{"description":"Arbitrary JSON stored with the session and echoed back in the response and webhooks. Any JSON value is accepted (object, string, number, array), but a JSON object of key/value pairs is recommended. Not shown to the end user. Use it to pass your own correlation ids, A/B variants, or business context.","example":{"user_type":"premium","account_id":"ABC123"},"x-readme-id":"0.4","uniqueKey":"metadata","typeLabel":"any"},"tags":{"type":"array","items":{"type":"string","maxLength":50,"uniqueKey":"tags.items.[INDEX]","typeLabel":"string"},"maxItems":10,"description":"Tags added to the session when it is created, by name. Up to 10, each up to 50 characters. Names are case-insensitive and stored in upper case. A name that does not exist yet in the application is created as a new tag. The tags show on the session in the console, where you can filter by them.","example":["VIP","ONBOARDING Q4"],"uniqueKey":"tags","typeLabel":"string[]"},"language":{"type":"string","description":"Language code (ISO 639-1) for the verification process interface. Controls the language displayed to the end user during verification. If not provided, the browser's language will be automatically detected and used. Check all the supported languages [here](/integration/supported-languages).","enum":["en","ar","bg","bn","bs","ca","cnr","cs","da","de","el","es","et","fa","fi","fr","he","hi","hr","hu","hy","id","it","ja","ka","kk","ko","ky","lt","lv","mk","mn","ms","nl","no","pl","pt-BR","pt","ro","ru","sk","sl","so","sq","sr","sv","th","tr","uk","uz","vi","zh-CN","zh-TW","zh"],"example":"en","x-readme-id":"0.5","uniqueKey":"language","typeLabel":"enum\u003cstring>"},"contact_details":{"type":"object","description":"User contact information that can be used for notifications, prefilling verification forms, and phone verification. This includes email address, preferred language for communications, and phone number.","example":{"email":"john.doe@example.com","send_notification_emails":true,"email_lang":"en","phone":"+14155552671"},"properties":{"email":{"type":"string","format":"email","description":"Email address of the user (e.g., \"john.doe@example.com\") that will be used during the [Email Verification](/core-technology/email-verification/overview) step. If not provided, the user must provide it during the verification flow.","example":"john.doe@example.com","x-readme-id":"1.0","uniqueKey":"contact_details.email","typeLabel":"string\u003cemail>"},"send_notification_emails":{"type":"boolean","default":false,"description":"If true and an email is provided, Didit sends the initial \"Verify your identity\" email asynchronously when the User Verification (KYC) or Business Verification (KYB) session is created. Didit also sends verification status notifications for sessions requiring manual review to the provided email address (e.g., from 'In Review' to 'Approved' or 'Declined'). This helps users return to your application once their verification is complete. If you have white-label activated for the session, the email sent will be white-labeled.","example":true,"x-readme-id":"1.1","uniqueKey":"contact_details.send_notification_emails","typeLabel":"boolean"},"email_lang":{"type":"string","description":"Language code (ISO 639-1) for email notifications. Controls the language of all email communications (e.g., \"en\", \"es\", \"fr\"). There is no stored default — when omitted, the verification invite email simply falls back to English (`en`) at send time. The enum below is a snapshot; the live source of truth for accepted values is the [supported languages](/integration/supported-languages) doc — always consult it before relying on a specific code.","enum":["en","ar","bg","bn","bs","ca","cnr","cs","da","de","el","es","et","fa","fi","fr","he","hi","hr","hu","hy","id","it","ja","ka","kk","ko","ky","lt","lv","mk","mn","ms","nl","no","pl","pt-BR","pt","ro","ru","sk","sl","so","sq","sr","sv","th","tr","uk","uz","vi","zh-CN","zh-TW","zh"],"example":"en","x-readme-id":"1.2","uniqueKey":"contact_details.email_lang","typeLabel":"enum\u003cstring>"},"phone":{"type":"string","description":"Phone number in E.164 format (e.g., \"+14155552671\") that will be used during the [Phone Verification](/core-technology/phone-verification/overview) step. If not provided, the user must provide it during the verification flow. Ignored for Business Verification (KYB) workflows. **Important:** This phone number is only enforced if it is a valid E.164 phone number. If the provided number is invalid or cannot be parsed, it will be ignored and the user will be able to input any valid phone number during the Phone Verification step.","example":"+14155552671","x-readme-id":"1.3","uniqueKey":"contact_details.phone","typeLabel":"string"}},"x-readme-id":"0.4","uniqueKey":"contact_details","typeLabel":"object"},"expected_details":{"type":"object","description":"Expected user details used to cross-validate against the data extracted from the user's ID document, Proof of Address, and other verification steps. Mismatches are surfaced as warnings on the decision; some fields (e.g. `id_country`, `expected_document_types`) also alter the user-facing flow. For Business Verification (KYB) workflows only the business fields (`company_name`, `registry_country`, `registration_number`) are used — they pre-fill the company registry search for the user — and all person-level fields are ignored.","example":{"first_name":"John","last_name":"Doe","date_of_birth":"1990-05-15","nationality":"USA","id_country":"USA","expected_document_types":["P","ID"]},"properties":{"first_name":{"type":"string","description":"User's first name. For example, `John`. The matching uses fuzzy comparison, and you can tune the strictness by configuring the name match score threshold in the Console for both ID Document and Proof of Address workflows.","example":"John","x-readme-id":"1.0","uniqueKey":"expected_details.first_name","typeLabel":"string"},"last_name":{"type":"string","description":"User's last name. For example, `Doe`. The matching uses fuzzy comparison, and you can tune the strictness by configuring the name match score threshold in the Console for both ID Document and Proof of Address workflows.","example":"Doe","x-readme-id":"1.1","uniqueKey":"expected_details.last_name","typeLabel":"string"},"date_of_birth":{"type":"string","format":"date","description":"User's date of birth with format: YYYY-MM-DD. For example, `1990-05-15`.","example":"1990-05-15","x-readme-id":"1.2","uniqueKey":"expected_details.date_of_birth","typeLabel":"string\u003cdate>"},"gender":{"oneOf":[{"type":"string","enum":["M","F"],"default":null,"description":"User's gender. Must be either 'M', 'F', or null.","example":"M","x-readme-id":"1.3","uniqueKey":"expected_details.gender.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["M","F"],"default":null,"description":"User's gender. Must be either 'M', 'F', or null.","example":"M","x-readme-id":"1.3","uniqueKey":"expected_details.gender.oneOf.1","typeLabel":"null"}],"uniqueKey":"expected_details.gender","typeLabel":"enum\u003cstring> | null"},"nationality":{"type":"string","description":"ISO 3166-1 alpha-3 country code representing the applicant's country of origin. For example, `USA`. See the [full list of supported country codes](https://docs.didit.me/core-technology/id-verification/supported-documents-id-verification#supported-documents-by-country).","example":"USA","x-readme-id":"1.4","uniqueKey":"expected_details.nationality","typeLabel":"string"},"country":{"type":"string","description":"ISO 3166-1 alpha-3 country code used as a fallback for both ID Verification and Proof of Address country-mismatch checks. Required when `address` is provided and neither `id_country` nor `poa_country` is set.","example":"USA","x-readme-id":"1.4.1","uniqueKey":"expected_details.country","typeLabel":"string"},"id_country":{"type":"string","description":"ISO 3166-1 alpha-3 country code representing the expected country of the applicant's ID document, which may differ from nationality. For example, `GBR`. Takes priority over `country` for ID verification country mismatch checks. See the [full list of supported country codes](https://docs.didit.me/core-technology/id-verification/supported-documents-id-verification#supported-documents-by-country).","example":"GBR","x-readme-id":"1.5","uniqueKey":"expected_details.id_country","typeLabel":"string"},"poa_country":{"type":"string","description":"ISO 3166-1 alpha-3 country code representing the expected country of the Proof of Address document. For example, `USA`. Takes priority over `country` for POA country mismatch checks. See the [full list of supported country codes](https://docs.didit.me/core-technology/id-verification/supported-documents-id-verification#supported-documents-by-country).","example":"USA","x-readme-id":"1.5.1","uniqueKey":"expected_details.poa_country","typeLabel":"string"},"address":{"type":"string","description":"The address in a human readable format, including as much information as possible. For example, `123 Main St, San Francisco, CA 94105, USA`. When provided, you must also pass `country` or `poa_country`, otherwise the request fails with `400`.","example":"123 Main St, San Francisco, CA 94105, USA","x-readme-id":"1.6","uniqueKey":"expected_details.address","typeLabel":"string"},"identification_number":{"type":"string","description":"The user's document number, personal number, or tax number. For example, `123456789`.","example":"123456789","x-readme-id":"1.7","uniqueKey":"expected_details.identification_number","typeLabel":"string"},"ip_address":{"type":"string","description":"Expected IP address for the session, in IPv4 or IPv6 format. If the actual IP address differs from this value, a warning will be logged. For example, `192.168.1.100` or `2001:db8::1`.","example":"192.168.1.100","x-readme-id":"1.8","uniqueKey":"expected_details.ip_address","typeLabel":"string"},"expected_document_types":{"type":"array","description":"Restricts the document types the user can present during the ID verification (OCR) step. When set, the document selection screen only shows the requested types and the returned `documents_allowed` is filtered accordingly. Values are case-insensitive and deduplicated; unknown values are rejected with `400`. Allowed codes: `P` (passport), `ID` (national ID), `DL` (driver's license), `RP` (residence permit), `HIC` (health insurance card), `TC` (tax card), `SSC` (social security card).","items":{"type":"string","enum":["P","ID","DL","RP","HIC","TC","SSC"],"uniqueKey":"expected_details.expected_document_types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"example":["P","ID"],"x-readme-id":"1.9","uniqueKey":"expected_details.expected_document_types","typeLabel":"enum\u003cstring>[]"},"company_name":{"type":"string","maxLength":255,"description":"Expected legal name of the business being verified. For example, `Tesco PLC`. Pre-fills the company-name field of the registry search in Business Verification (KYB) workflows; when `registration_number` is also provided, the registry lookup combines both identifiers. Ignored for KYC workflows.","example":"Tesco PLC","x-readme-id":"1.10","uniqueKey":"expected_details.company_name","typeLabel":"string"},"registry_country":{"type":"string","maxLength":10,"description":"ISO 3166-1 alpha-2 code of the country whose company registry the business is registered in. For example, `GB`. Where company registries operate at state or province level, append the ISO 3166-2 subdivision code as `XX-YY`: `US-CA` targets the California registry. Same format as `country_code` on the [KYB Registry Search API](https://docs.didit.me/standalone-apis/kyb-registry-search). Pre-selects the registry country in Business Verification (KYB) workflows; ignored for KYC workflows.","example":"US-CA","x-readme-id":"1.11","uniqueKey":"expected_details.registry_country","typeLabel":"string"},"registration_number":{"type":"string","maxLength":100,"description":"Expected registration number of the business in the company registry. For example, `00445790`. Pre-fills the registration-number field of the registry search in Business Verification (KYB) workflows; when `company_name` is also provided, the registry lookup combines both identifiers. Ignored for KYC workflows.","example":"00445790","x-readme-id":"1.12","uniqueKey":"expected_details.registration_number","typeLabel":"string"}},"x-readme-id":"0.5","uniqueKey":"expected_details","typeLabel":"object"},"portrait_image":{"type":"string","format":"byte","description":"Base64-encoded portrait image of the end user's face (max 2MB; JPEG, PNG, WebP, or TIFF). Used as the reference image to match against the liveness capture when the workflow is a `Biometric Authentication` workflow with Face Match enabled, or any graph workflow where Face Match runs before ID Verification (OCR). Optional when the `vendor_data` user already has a stored face image: Didit reuses it automatically, resolved in priority order: approved liveness face, ePassport chip photo, ID document portrait, manually enrolled profile face (only faces from approved sessions or faces you enrolled yourself are reused). When provided, `portrait_image` always takes precedence over the stored face. If omitted and no stored face exists (or `vendor_data` is not sent), session creation fails with `400`. Ignored for other workflow types.","example":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=","x-readme-id":"0.6","uniqueKey":"portrait_image","typeLabel":"string\u003cbyte>"},"sandbox_scenario":{"type":"string","description":"Sandbox-only scenario slug. Only accepted when the API key belongs to a sandbox-mode application; rejected on live applications. When set, the create flow expands the scenario's bundled magic values onto the session's input fields (contact_details, expected_details) so the mocked providers reproduce the scenario's outcome through the real workflow pipeline. See the scenario catalog at GET /v1/sandbox/scenarios/ or [Sandbox \u0026 Test Data](/integration/sandbox-testing). You can also arm (or re-arm) a scenario after create via POST /v3/session/{sessionId}/sandbox/arm/, as long as the session is still `Not Started`. For non-doc lookup, use `lookup_partial_match`, `lookup_no_match`, or `lookup_provider_error` to test the configured attempt budget and fallback. For identity wallets, use `wallet_cancelled`, `wallet_timeout`, or `wallet_provider_error`; `approve` simulates a verified wallet. All catalog wallets can be tested in sandbox, including schemes unavailable on live applications. Simulated attempts are not charged.","example":"decline_document_expired","uniqueKey":"sandbox_scenario","typeLabel":"string"},"sign":{"type":"object","description":"E-signature input for this session. `documents` are the documents to sign, for a workflow whose E-signature step takes documents from the session (`signature_documents_source` `session` or `both`): up to 20 documents and 50 MB in total. `field_values` fills the fields whose `prefill` is `api.\u003ckey>`, on workflow and session documents alike. Creating a session again for the same `workflow_id` and `vendor_data` returns the pending session; if that call sends `sign`, its documents, fields and values must be identical to the first ones, and anything different returns `400` with `{\"sign\": \"signature_document_changed\"}`. See [E-signature documents](/sessions-api/create-session#e-signature-documents).","properties":{"documents":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","required":["file_name","content_base64"],"properties":{"file_name":{"type":"string","minLength":1,"maxLength":255,"description":"File name, ending in `.pdf` or `.docx`.","isRequired":true,"uniqueKey":"sign.documents.items.[INDEX].file_name","typeLabel":"string"},"content_base64":{"type":"string","format":"byte","description":"The file, base64-encoded. A PDF can have up to 20 MB and 100 pages, without a password, scripts or attached files. A Word file (`.docx`) can have up to 20 MB and is converted to PDF while the request runs, in at most 25 seconds; the PDF then has the same limits. Up to 5 Word files per session. A Word file with macros, tracked changes, links to external content or embedded objects is refused with `signature_document_not_supported`, and one that can't be converted returns `signature_document_conversion_failed`, each with a `reason`.","isRequired":true,"uniqueKey":"sign.documents.items.[INDEX].content_base64","typeLabel":"string\u003cbyte>"},"title":{"type":"string","minLength":1,"maxLength":255,"description":"Title shown to the signer. Defaults to `file_name`.","uniqueKey":"sign.documents.items.[INDEX].title","typeLabel":"string"},"fields":{"type":"array","description":"Optional fields to place on this document, up to 200. Pages and positions refer to the PDF, or to the converted PDF for a Word file. Without fields, the signer reads the document and agrees to it.","items":{"type":"object","description":"A field to place on a session document: which signer fills it, how, and where. Give either a position (`page`, `x`, `y`, `width` and `height`) or an `anchor`. Positions are fractions of the page as it's displayed, from its top-left corner, rounded to 4 decimals, and the field must fit inside the page. A document takes up to 200 fields and one signer up to 500, and every role with fields on a document needs a `signature` or `initials` field there. See [Fields on the document](/core-technology/electronic-signature/overview#fields-on-the-document).","required":["key","type"],"properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","description":"Names the field in the results and in `sign.field_values`. Unique within the document.","isRequired":true,"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].key","typeLabel":"string"},"type":{"type":"string","enum":["signature","initials","full_name","date_signed","text","checkbox","email","data"],"description":"What the field holds. The signer applies their adopted `signature` and `initials`, types `text`, ticks a `checkbox`, and types an `email` when the session has no verified email. Didit fills `full_name` (the verified name), `date_signed` (the date of signing, in the signer's time zone), `data` (from `prefill`) and a verified `email`, and shows them read-only. There is no date picker type: use `text`.","isRequired":true,"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"role":{"type":"string","enum":["verified_person","legal_representative","key_people"],"description":"Who fills the field, with the `signature_signer` values. A step fills and stamps only the fields of its own signer. Defaults to the step's signer.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"page":{"type":"integer","minimum":1,"description":"Page number, from 1 to the document's page count. For a Word document, a page of the converted PDF.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].page","typeLabel":"integer"},"x":{"type":"number","minimum":0,"maximum":1,"description":"Left edge, as a fraction of the page width.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].x","typeLabel":"number"},"y":{"type":"number","minimum":0,"maximum":1,"description":"Top edge, as a fraction of the page height.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].y","typeLabel":"number"},"width":{"type":"number","minimum":0.02,"maximum":1,"description":"Width, as a fraction of the page width. A signature is at least `0.12` wide.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].width","typeLabel":"number"},"height":{"type":"number","minimum":0.012,"maximum":1,"description":"Height, as a fraction of the page height. A signature is at least `0.035` high.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].height","typeLabel":"number"},"anchor":{"type":"object","description":"Places a field by a piece of text in the document instead of a position. Didit doesn't remove the text from the PDF, so write it in the same color as the page background. When the text isn't found, the call returns `400` with `field_anchor_not_found`. See [Place fields by anchor text](/sessions-api/create-session#place-fields-by-anchor-text).","required":["text"],"properties":{"text":{"type":"string","minLength":1,"maxLength":64,"description":"Text searched in the document. For a Word file, in the converted PDF.","isRequired":true,"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].anchor.text","typeLabel":"string"},"occurrence":{"type":"string","enum":["first","all"],"default":"first","description":"`all` places one field per match; the keys after the first get `_2`, `_3` and so on.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].anchor.occurrence","typeLabel":"enum\u003cstring>"},"offset_x":{"type":"number","description":"Added to the left edge of the text, as a fraction of the page width.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].anchor.offset_x","typeLabel":"number"},"offset_y":{"type":"number","description":"Added to the top edge of the text, as a fraction of the page height.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].anchor.offset_y","typeLabel":"number"},"width":{"type":"number","minimum":0.02,"maximum":1,"description":"Width of the field, as a fraction of the page width.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].anchor.width","typeLabel":"number"},"height":{"type":"number","minimum":0.012,"maximum":1,"description":"Height of the field, as a fraction of the page height.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].anchor.height","typeLabel":"number"}},"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].anchor","typeLabel":"object"},"required":{"type":"boolean","description":"`signature` and `initials` are required unless you set `false`. `full_name`, `date_signed` and `data` are always required. The signer can't finish a document until its required fields have a value, and a required checkbox must be ticked.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].required","typeLabel":"boolean"},"label":{"type":"string","minLength":1,"maxLength":80,"description":"Shown to the signer and in the results. Defaults from the type.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].label","typeLabel":"string"},"placeholder":{"oneOf":[{"type":"string","maxLength":80,"description":"`text` and `email` only.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].placeholder.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":80,"description":"`text` and `email` only.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].placeholder.oneOf.1","typeLabel":"null"}],"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].placeholder","typeLabel":"string | null"},"validation":{"oneOf":[{"type":"object","description":"Rules for a `text` field's value. The console preview, the signing flow and the API apply the same rules.","properties":{"kind":{"type":"string","enum":["any","letters","number","email","pattern"],"description":"`letters`: letters in any script, spaces, hyphens and apostrophes. `number`: digits with an optional decimal separator. `pattern`: the value must match `pattern`.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"min_length":{"type":"integer","minimum":0,"maximum":500,"description":"From `0` up to `max_length`.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.min_length","typeLabel":"integer"},"max_length":{"type":"integer","minimum":1,"maximum":500,"default":120,"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.max_length","typeLabel":"integer"},"pattern":{"oneOf":[{"type":"string","minLength":1,"maxLength":200,"description":"Required with `kind: \"pattern\"`. A regular expression the whole value must match. Lookarounds and backreferences aren't supported.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.pattern.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":200,"description":"Required with `kind: \"pattern\"`. A regular expression the whole value must match. Lookarounds and backreferences aren't supported.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.pattern.oneOf.1","typeLabel":"null"}],"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.pattern","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","maxLength":120,"description":"Shown to the signer instead of the default error.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":120,"description":"Shown to the signer instead of the default error.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0.message","typeLabel":"string | null"}},"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.0","typeLabel":"object"},{"type":"null","description":"Rules for a `text` field's value. The console preview, the signing flow and the API apply the same rules.","properties":{"kind":{"type":"string","enum":["any","letters","number","email","pattern"],"description":"`letters`: letters in any script, spaces, hyphens and apostrophes. `number`: digits with an optional decimal separator. `pattern`: the value must match `pattern`."},"min_length":{"type":"integer","minimum":0,"maximum":500,"description":"From `0` up to `max_length`."},"max_length":{"type":"integer","minimum":1,"maximum":500,"default":120},"pattern":{"oneOf":[{"type":"string","minLength":1,"maxLength":200,"description":"Required with `kind: \"pattern\"`. A regular expression the whole value must match. Lookarounds and backreferences aren't supported."},{"type":"null","minLength":1,"maxLength":200,"description":"Required with `kind: \"pattern\"`. A regular expression the whole value must match. Lookarounds and backreferences aren't supported."}]},"message":{"oneOf":[{"type":"string","maxLength":120,"description":"Shown to the signer instead of the default error."},{"type":"null","maxLength":120,"description":"Shown to the signer instead of the default error."}]}},"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation.oneOf.1","typeLabel":"null"}],"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].validation","typeLabel":"object | null"},"prefill":{"oneOf":[{"type":"string","description":"Where the value comes from: `identity.full_name`, `identity.first_name`, `identity.last_name`, `identity.date_of_birth` (`DD/MM/YYYY`), `identity.nationality`, `identity.document_number`, `identity.document_type`, `identity.issuing_country`, `identity.address`, `contact.email`, `contact.phone`, `company.name`, `company.registration_number`, `company.address`, `company.country` (KYB), `session.vendor_data`, `metadata.\u003ckey>` (a key of the session's `metadata`) or `api.\u003ckey>` (a key of `sign.field_values`). Required for `data`. `full_name` always uses `identity.full_name` and `email` uses `contact.email`. The values of `data`, `full_name` and verified `email` fields are fixed when the signer starts signing.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].prefill.oneOf.0","typeLabel":"string"},{"type":"null","description":"Where the value comes from: `identity.full_name`, `identity.first_name`, `identity.last_name`, `identity.date_of_birth` (`DD/MM/YYYY`), `identity.nationality`, `identity.document_number`, `identity.document_type`, `identity.issuing_country`, `identity.address`, `contact.email`, `contact.phone`, `company.name`, `company.registration_number`, `company.address`, `company.country` (KYB), `session.vendor_data`, `metadata.\u003ckey>` (a key of the session's `metadata`) or `api.\u003ckey>` (a key of `sign.field_values`). Required for `data`. `full_name` always uses `identity.full_name` and `email` uses `contact.email`. The values of `data`, `full_name` and verified `email` fields are fixed when the signer starts signing.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].prefill.oneOf.1","typeLabel":"null"}],"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].prefill","typeLabel":"string | null"},"editable_when_prefilled":{"type":"boolean","default":false,"description":"`text` and `email` only: the signer can change a pre-filled value.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].editable_when_prefilled","typeLabel":"boolean"},"checked_by_default":{"type":"boolean","default":false,"description":"`checkbox` only: the box starts ticked.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].checked_by_default","typeLabel":"boolean"},"date_format":{"type":"string","enum":["DD/MM/YYYY","MM/DD/YYYY","YYYY-MM-DD","D MMMM YYYY"],"default":"DD/MM/YYYY","description":"`date_signed` only.","uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX].date_format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"sign.documents.items.[INDEX].fields.items.[INDEX]","typeLabel":"object"},"maxItems":200,"uniqueKey":"sign.documents.items.[INDEX].fields","typeLabel":"object[]"}},"uniqueKey":"sign.documents.items.[INDEX]","typeLabel":"object"},"uniqueKey":"sign.documents","typeLabel":"object[]"},"field_values":{"type":"object","description":"Values keyed by the `\u003ckey>` of each `api.\u003ckey>` pre-fill source: strings of 1 to 500 characters for `text` and `data` fields, booleans for a `checkbox`. `400` with `field_value_unknown` for a key no field uses, `field_value_missing` for a required field without its value, and `field_value_invalid` for a value that fails its field's validation.","additionalProperties":{"oneOf":[{"type":"string","maxLength":500,"minLength":1,"uniqueKey":"sign.field_values.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"boolean","uniqueKey":"sign.field_values.additionalProperties.oneOf.1","typeLabel":"boolean"}],"uniqueKey":"sign.field_values.additionalProperties","typeLabel":"string | boolean"},"example":{"credit_limit":"3,000 EUR"},"uniqueKey":"sign.field_values","typeLabel":"object"}},"uniqueKey":"sign","typeLabel":"object"},"user_state":{"type":"string","maxLength":16,"description":"Where the person lives, when you know it: an ISO 3166-2 subdivision code (`US-IL`, `ES-M`) or a US state code or name (`IL`, `Illinois`). A state whose law requires explicit biometric consent (Illinois, Texas, Colorado) makes the verification flow ask for it before capturing a face, with trigger `declared_state`. An unrecognized value returns `400`. See [Biometric consent](/getting-started/biometric-consent).","example":"US-IL","uniqueKey":"user_state","typeLabel":"string"},"biometric_consent":{"type":"object","description":"Explicit biometric consent you already collected from the person. It satisfies the requirement, so the verification flow does not ask again, and the decision records it as `status: \"given\"` with trigger `customer_collected`. An answer the person already gave in the flow is never replaced. See [Biometric consent](/getting-started/biometric-consent).","required":["given_at","text_version"],"properties":{"given_at":{"type":"string","format":"date-time","description":"When the person gave explicit biometric consent (ISO 8601). Cannot be in the future.","isRequired":true,"uniqueKey":"biometric_consent.given_at","typeLabel":"string\u003cdate-time>"},"text_version":{"type":"string","maxLength":64,"description":"Version id of the consent text the person accepted, in your own records.","isRequired":true,"uniqueKey":"biometric_consent.text_version","typeLabel":"string"}},"uniqueKey":"biometric_consent","typeLabel":"object"}},"example":{"workflow_id":"11111111-2222-3333-4444-555555555555","vendor_data":"user-123","callback":"https://example.com/verification/callback","callback_method":"both","metadata":{"user_type":"premium","account_id":"ABC123"},"language":"en","contact_details":{"email":"john.doe@example.com","send_notification_emails":true,"email_lang":"en","phone":"+14155552671"},"expected_details":{"first_name":"John","last_name":"Doe","date_of_birth":"1990-05-15","id_country":"USA","expected_document_types":["P","ID"]}},"uniqueKey":"","typeLabel":"object"},"examples":{"Create KYC session":{"title":"Create KYC session","description":"Realistic create call that uses every commonly-set field: workflow selection, vendor linkage, callback routing, metadata, locale, contact prefill, and expected user details. Copy-paste this directly into the cURL sample above.","value":{"workflow_id":"11111111-2222-3333-4444-555555555555","vendor_data":"user-123","callback":"https://example.com/verification/callback","callback_method":"both","metadata":{"user_type":"premium","account_id":"ABC123"},"language":"en","contact_details":{"email":"john.doe@example.com","send_notification_emails":true,"email_lang":"en","phone":"+14155552671"},"expected_details":{"first_name":"John","last_name":"Doe","date_of_birth":"1990-05-15","nationality":"USA","id_country":"USA","expected_document_types":["P","ID"]}}},"Create KYB session":{"title":"Create KYB session","description":"Same shape as the KYC call — the `workflow_id` is what makes the session KYB. `vendor_data` typically references the company in your system and `contact_details.email` targets the legal representative who will complete the flow. `expected_details` accepts the business fields (`company_name`, `registry_country`, `registration_number`), which pre-fill the company registry search; person-level fields and `contact_details.phone` are ignored for KYB workflows.","value":{"workflow_id":"33333333-4444-5555-6666-777777777777","vendor_data":"company-acme-001","callback":"https://example.com/kyb/callback","callback_method":"both","metadata":{"tier":"enterprise","company_id":"ACME-001"},"expected_details":{"company_name":"Tesco PLC","registry_country":"GB","registration_number":"00445790"},"language":"en","contact_details":{"email":"legal-rep@acme.example.com","send_notification_emails":true,"email_lang":"en"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"0e03cf82-9d3d-4205-aeb0-a496b345d4ec":{"description":"Session created (or returned, if an unfinished session with the same `vendor_data` already exists on the workflow's latest published version). The response is the serialized session, including the hosted verification `url` to redirect the user to.","content":{"application/json":{"schema":{"type":"object","required":["session_id","session_number","session_token","url","vendor_data","metadata","status","workflow_id","workflow_version","callback"],"properties":{"session_id":{"type":"string","format":"uuid","description":"Unique identifier of the verification session. Use this id when calling `GET /v3/session/{sessionId}/decision/`.","example":"11111111-2222-3333-4444-555555555555","isRequired":true,"uniqueKey":"session_id","typeLabel":"string\u003cuuid>"},"session_number":{"type":"integer","description":"Sequential, human-friendly number assigned to the session inside your application. Useful for support and dashboards.","example":43762,"isRequired":true,"uniqueKey":"session_number","typeLabel":"integer"},"session_token":{"type":"string","description":"12-character URL-safe token that authorizes the end user to access the hosted verification flow at `url`. Valid until the session expires. Treat it as a secret — anyone holding it can open the verification flow for this session.","example":"3FaJ9wLqX2Mz","isRequired":true,"uniqueKey":"session_token","typeLabel":"string"},"url":{"type":"string","format":"uri","description":"Hosted verification URL to redirect the end user to. The URL embeds the `session_token` and, if configured, uses your white-label domain. When the request includes `language`, the URL contains a language path segment — `https://verify.didit.me/{language}/session/{session_token}` (e.g. `/es/session/...`); without `language`, the segment is omitted.","example":"https://verify.didit.me/session/3FaJ9wLqX2Mz","isRequired":true,"uniqueKey":"url","typeLabel":"string\u003curi>"},"vendor_data":{"oneOf":[{"type":"string","description":"Identifier you passed in the request to link the session to a user or business in your own system. Echoed back verbatim. Null when not provided.","example":"user-123","isRequired":true,"uniqueKey":"vendor_data.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier you passed in the request to link the session to a user or business in your own system. Echoed back verbatim. Null when not provided.","example":"user-123","isRequired":true,"uniqueKey":"vendor_data.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"vendor_data","typeLabel":"string | null"},"metadata":{"description":"Arbitrary JSON payload you stored with the session at creation time. Echoed back verbatim — whatever JSON value you sent (object, string, number, array) is returned as-is, though a JSON object is recommended. Not shown to the end user. Always present in responses; `null` when not provided at creation time.","example":{"user_type":"premium","account_id":"ABC123"},"isRequired":true,"uniqueKey":"metadata","typeLabel":"any"},"status":{"type":"string","enum":["Not Started","In Progress","Approved","Declined","In Review","Expired","Abandoned","Kyc Expired","Resubmitted","Awaiting User"],"description":"Current status of the session. Newly created sessions return `Not Started`. If a non-finished session already existed for the same `vendor_data` on the workflow's latest published version, the returned status reflects that existing session.","example":"Not Started","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"callback":{"oneOf":[{"type":"string","format":"uri","description":"Final redirect URL the user is sent to after completing the flow. Didit appends `?verificationSessionId={session_id}\u0026status={status}` to this URL. Falls back to the workflow's configured callback URL when not provided in the request; `null` when neither is set. When the application has allowed domains and this URL is a web URL outside them (for example a workflow default set before the list changed), the hosted flow does not redirect the user to it.","example":"https://example.com/verification/callback","isRequired":true,"uniqueKey":"callback.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Final redirect URL the user is sent to after completing the flow. Didit appends `?verificationSessionId={session_id}\u0026status={status}` to this URL. Falls back to the workflow's configured callback URL when not provided in the request; `null` when neither is set. When the application has allowed domains and this URL is a web URL outside them (for example a workflow default set before the list changed), the hosted flow does not redirect the user to it.","example":"https://example.com/verification/callback","isRequired":true,"uniqueKey":"callback.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"callback","typeLabel":"string\u003curi> | null"},"workflow_id":{"type":"string","format":"uuid","description":"Stable identifier of the workflow this session runs on. Always the workflow's stable group identifier — even if you referenced a specific workflow version UUID in the request (backward-compatible lookup), the response carries the stable `workflow_id`. Use it to correlate the session with the workflow you configured in the Console.","example":"11111111-2222-3333-4444-555555555555","isRequired":true,"uniqueKey":"workflow_id","typeLabel":"string\u003cuuid>"},"workflow_version":{"type":"integer","description":"Version number of the published workflow version the session was pinned to at creation. Didit resolves `workflow_id` to the workflow's latest published version when the session is created, and the session keeps running that version even if the workflow is republished later.","example":3,"isRequired":true,"uniqueKey":"workflow_version","typeLabel":"integer"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"tags.items.[INDEX]","typeLabel":"string"},"description":"The tags on the session, by name.","example":["VIP","ONBOARDING Q4"],"uniqueKey":"tags","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"KYC session":{"title":"KYC session","value":{"session_id":"11111111-2222-3333-4444-555555555555","session_number":43762,"session_token":"3FaJ9wLqX2Mz","url":"https://verify.didit.me/en/session/3FaJ9wLqX2Mz","vendor_data":"user-123","metadata":{"user_type":"premium","account_id":"ABC123"},"status":"Not Started","workflow_id":"11111111-2222-3333-4444-555555555555","workflow_version":3,"callback":"https://example.com/verification/callback"}},"KYB session":{"title":"KYB session","value":{"session_id":"22222222-3333-4444-5555-666666666666","session_number":43763,"session_token":"Yk7pQ2vN8aBc","url":"https://verify.didit.me/en/session/Yk7pQ2vN8aBc","vendor_data":"company-acme-001","metadata":{"tier":"enterprise"},"status":"Not Started","workflow_id":"33333333-4444-5555-6666-777777777777","workflow_version":1,"callback":"https://example.com/kyb/callback"}}},"exampleType":"examples"}},"exampleType":"examples"},"a0043a46-71db-4c9e-81fb-14c969fd61e4":{"description":"Bad request — the payload failed validation (missing or unknown `workflow_id`, invalid `language`, blocklisted `vendor_data`, malformed `portrait_image`, `address` without `country`/`poa_country`, invalid `sandbox_scenario`, `sign` documents, fields or values the workflow's E-signature step refuses, such as `signature_document_not_supported`, `signature_document_conversion_failed`, `field_anchor_not_found` or `field_value_missing`, etc.) or your organization does not have enough credits to start the session.\n\nThe body is an object keyed by the offending field name (or `detail` for non-field errors). Values are an **array of strings** for input-validation failures (e.g. missing required field, invalid language, oversized portrait image) and a **plain string** for failures detected while creating the session (unknown `workflow_id`, blocklisted `vendor_data`, no reference face available for a Face Match workflow). Handle both shapes.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"detail":{"type":"string","description":"Human-readable error message for non-field errors (e.g. insufficient credits). Field-level failures use the field name as the key instead, with a string or array-of-strings value.","example":"You don't have enough credits to perform this request. Please top up at https://business.didit.me","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Missing workflow_id":{"title":"Missing workflow_id","value":{"workflow_id":["This field is required."]}},"Invalid workflow_id":{"title":"Invalid workflow_id","value":{"workflow_id":"Invalid workflow_id."}},"Insufficient credits":{"title":"Insufficient credits","value":{"detail":"You don't have enough credits to perform this request. Please top up at https://business.didit.me"}},"Blocklisted vendor_data":{"title":"Blocklisted vendor_data","value":{"vendor_data":"This user or business has been blocked and cannot create new verification sessions."}},"Portrait image too large":{"title":"Portrait image too large","value":{"portrait_image":["Image size exceeds 2MB."]}},"No stored face for vendor_data":{"title":"No stored face for vendor_data","value":{"portrait_image":"No stored face image was found for this user. Send a portrait_image, or complete an approved verification with face liveness or an ID document for this vendor_data first."}},"Portrait image required without vendor_data":{"title":"Portrait image required without vendor_data","value":{"portrait_image":"A portrait image is required to perform face match for this workflow. Send a portrait_image, or provide the vendor_data of a user with a previously stored face image to reuse it."}}},"exampleType":"examples"}},"exampleType":"examples"},"0ad31b99-e343-419c-8560-b5073139574c":{"description":"Authentication or authorization failed. A wrong, revoked or expired key returns `401`. The endpoint returns `403` when the `x-api-key` header is missing or the API key is valid but the client does not have permission to create sessions in this application (for example the API key belongs to a different organization). These failures share the body `{\"detail\": \"You do not have permission to perform this action.\"}`. Check that the `x-api-key` header is present and belongs to the intended application, re-fetch the application API key via the [Auth API](/auth-api/get-credentials) if needed, and retry.\n\n**Deleted application:** for a few minutes after an application is deleted, a request made with one of its API keys can answer `{\"detail\": \"This application was deleted.\", \"code\": \"application_deleted\"}`. Do not retry: the application and its API keys no longer exist. After those few minutes, the key is refused like any other invalid key.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","example":"You do not have permission to perform this action.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason, present only on some failures. `application_deleted`: the API key belongs to an application that was deleted.","example":"application_deleted","uniqueKey":"code","typeLabel":"string"}},"required":["detail"],"uniqueKey":"","typeLabel":"object"},"examples":{"Missing or invalid API key":{"title":"Missing or invalid API key","value":{"detail":"You do not have permission to perform this action."}},"No permission":{"title":"No permission","value":{"detail":"You do not have permission to perform this action."}},"Application deleted":{"title":"Application deleted","value":{"detail":"This application was deleted.","code":"application_deleted"}}},"exampleType":"examples"}},"exampleType":"examples"},"10b07bbb-acb6-4d58-bf50-5e9f509c007b":{"description":"Rate limit exceeded — more than 600 session-create requests in a 60-second window from the same API key / IP. Inspect `Retry-After` and back off before retrying.\n\n**Note:** The source code also defines a `FREE_SESSION_RATE_LIMIT` of 10 calls/minute alongside `PAID_SESSION_RATE_LIMIT=600` (`sessions/serializers/session.py`), but that free-tier ceiling is **not applied to this V3 endpoint** — the rate-limit middleware enforces the 600/min `SESSION_CREATE_RATE_LIMIT` regardless of plan. 600/min is the only limit you can hit here.","headers":{"Retry-After":{"description":"Seconds the caller must wait before retrying the request.","schema":{"type":"integer","minimum":1,"example":42}},"X-RateLimit-Limit":{"description":"Maximum number of requests allowed in the current 60-second window for the limit that was breached (600 for session-create). Absent on the sandbox-quota variant.","schema":{"type":"integer","example":600}},"X-RateLimit-Remaining":{"description":"Number of requests still allowed in the current window for the breached limit. Absent on the sandbox-quota variant.","schema":{"type":"integer","minimum":0,"example":0}},"X-RateLimit-Reset":{"description":"UTC epoch seconds when the current rate-limit window resets. Absent on the sandbox-quota variant.","schema":{"type":"integer","minimum":0,"example":1747497600}}},"content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Human-readable explanation of the rate-limit breach. Use this message to distinguish which of the three limits was hit.","example":"Session creation rate limit exceeded. You can make up to 600 requests per minute.","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Session-create limit":{"title":"Session-create limit","value":{"detail":"Session creation rate limit exceeded. You can make up to 600 requests per minute."}},"Sandbox session quota":{"title":"Sandbox session quota","value":{"detail":"Sandbox session quota exceeded (500 sessions per 24h). Wait for the window to reset. Expected available in 3600 seconds."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"f463a2bc-ba8d-415b-9abd-171818baea4a":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is wrong, revoked or expired; 403 means no key was sent, the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"252396ba-8741-43a8-8228-f57bd61447d9":{"url":"https://verification.didit.me"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is wrong, revoked or expired; 403 means no key was sent, the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is wrong, revoked or expired; 403 means no key was sent, the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"openapi-25.json"},"subdomain":"didit-0f962782","siteName":"Didit Docs","title":"Create Session API: Start KYC or KYB Verification - Didit Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/sessions-api/create-session","matchLevel":0},"es":{"href":"/es/sessions-api/create-session","matchLevel":1},"pt-BR":{"href":"/pt-br/sessions-api/create-session","matchLevel":1},"ja":{"href":"/ja/sessions-api/create-session","matchLevel":1},"de":{"href":"/de/sessions-api/create-session","matchLevel":1},"fr":{"href":"/fr/sessions-api/create-session","matchLevel":1},"it":{"href":"/it/sessions-api/create-session","matchLevel":1},"pt":{"href":"/pt/sessions-api/create-session","matchLevel":1},"ca":{"href":"/ca/sessions-api/create-session","matchLevel":1},"id":{"href":"/id/sessions-api/create-session","matchLevel":1},"ru":{"href":"/ru/sessions-api/create-session","matchLevel":1},"ko":{"href":"/ko/sessions-api/create-session","matchLevel":1},"zh":{"href":"/zh/sessions-api/create-session","matchLevel":1},"ar":{"href":"/ar/sessions-api/create-session","matchLevel":1},"hi":{"href":"/hi/sessions-api/create-session","matchLevel":1}}},"lastModified":"2026-11-12T09:05:22.574Z","gitLastModified":"2026-11-01T10:56:28.000Z","originalFileLocation":"sessions-api/create-session.mdx","locale":"en"},"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=\"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_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/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_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/didit-0f962782/h7Er2opLBVoQwrdf/_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/didit-0f962782/h7Er2opLBVoQwrdf/_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/didit-0f962782/h7Er2opLBVoQwrdf/_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/didit-0f962782/h7Er2opLBVoQwrdf/_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/didit-0f962782/h7Er2opLBVoQwrdf/_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/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Session API: Start KYC or KYB Verification - Didit Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Didit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.didit.me/sessions-api/create-session\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://didit-0f962782.mintlify.site/_mintlify/api/og/v2?division=User+and+Business+Verifications\u0026amp;title=Create+Session+API%3A+Start+KYC+or+KYB+Verification\u0026amp;description=POST+%2Fv3%2Fsession%2F+to+start+a+verification+session.+Unified+KYC+%2B+KYB+endpoint%2C+pay-per-use+pricing%2C+sub-2s+inference%2C+%2410+free+credit%2Fmonth.\u0026amp;theme=6763de7356559382b06288d9\u0026amp;signature=a1d65772ba045525697d2977754d0268b4610f6e32092a6ddf69a1bd7fa0bfac\">\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=\"Create Session API: Start KYC or KYB Verification - Didit Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://didit-0f962782.mintlify.site/_mintlify/api/og/v2?division=User+and+Business+Verifications\u0026amp;title=Create+Session+API%3A+Start+KYC+or+KYB+Verification\u0026amp;description=POST+%2Fv3%2Fsession%2F+to+start+a+verification+session.+Unified+KYC+%2B+KYB+endpoint%2C+pay-per-use+pricing%2C+sub-2s+inference%2C+%2410+free+credit%2Fmonth.\u0026amp;theme=6763de7356559382b06288d9\u0026amp;signature=a1d65772ba045525697d2977754d0268b4610f6e32092a6ddf69a1bd7fa0bfac\">\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/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2567FF\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#2567FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.didit.me/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sessions-api/create-session.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.didit.me/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.didit.me/es/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.didit.me/pt-br/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.didit.me/ja/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.didit.me/de/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.didit.me/fr/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.didit.me/it/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.didit.me/pt/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ca\" href=\"https://docs.didit.me/ca/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://docs.didit.me/id/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ru\" href=\"https://docs.didit.me/ru/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.didit.me/ko/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.didit.me/zh/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.didit.me/ar/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://docs.didit.me/hi/sessions-api/create-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.didit.me/sessions-api/create-session\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://didit.me/#organization\",\"name\":\"Didit\",\"legalName\":\"Didit Protocol\",\"url\":\"https://didit.me\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://didit.me/logos/primary-horizontal-light.png\"},\"sameAs\":[\"https://www.linkedin.com/company/91001155\",\"https://www.youtube.com/@getdidit\",\"https://github.com/didit-protocol\",\"https://x.com/didit\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.didit.me#website\",\"name\":\"Didit Docs\",\"url\":\"https://docs.didit.me\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.didit.me/sessions-api/create-session#webpage\",\"url\":\"https://docs.didit.me/sessions-api/create-session\",\"name\":\"Create Session API: Start KYC or KYB Verification\",\"description\":\"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.\",\"dateModified\":\"2026-11-01T10:56:28.000Z\",\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.didit.me/sessions-api/create-session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.didit.me/sessions-api/create-session#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"User and Business Verifications\",\"item\":\"https://docs.didit.me/sessions-api/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Session API: Start KYC or KYB Verification\",\"item\":\"https://docs.didit.me/sessions-api/create-session\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.didit.me/sessions-api/create-session#apireference\",\"headline\":\"Create Session API: Start KYC or KYB Verification\",\"name\":\"Create Session API: Start KYC or KYB Verification\",\"description\":\"POST /v3/session/ to start a verification session. Unified KYC + KYB endpoint, pay-per-use pricing, sub-2s inference, $10 free credit/month.\",\"url\":\"https://docs.didit.me/sessions-api/create-session\",\"mainEntityOfPage\":{\"@id\":\"https://docs.didit.me/sessions-api/create-session#webpage\"},\"dateModified\":\"2026-11-01T10:56:28.000Z\",\"keywords\":\"create session API, verification session API, KYC session API, KYB session API, identity verification API, POST /v3/session, pay-per-call KYC, $0.33 full KYC, no contract identity verification, Didit API\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Didit Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Didit\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/sessions-api/create-session.md","siteName":"Didit Docs","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Get Started","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/rocket.svg","pages":[{"title":"Get Started","href":""}]},{"tab":"Integrate / SDKs","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Integrate / SDKs","href":"/integration/sdks"}]},{"tab":"API Reference","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","groups":[{"group":"Overview","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/overview.svg","pages":[{"title":"Didit API Reference: Identity Verification REST API","sidebarTitle":"API Reference","href":"/api-reference/overview"},{"title":"Healthcheck API: Public Liveness Probe","sidebarTitle":"Healthcheck","openapi":"openapi-healthcheck.json GET /system/healthcheck","href":"/api-reference/healthcheck"},{"title":"Service Status API: Public Didit Status Feed","sidebarTitle":"Service status","openapi":"openapi-25.json GET /v3/status/","href":"/api-reference/service-status"},{"title":"Bank Verification Pricing API: Public Price Feed","sidebarTitle":"Bank verification prices","openapi":"openapi-25.json GET /v3/organization/bank-verification-pricing/","href":"/api-reference/bank-verification-pricing"}]},{"group":"User and Business Verifications","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"Sessions API: Unified KYC \u0026 KYB Verification","sidebarTitle":"Overview","description":"Unified Sessions API powers KYC and KYB on one endpoint. Pay-per-use pricing, sub-2s inference, 220+ countries, 14,000+ documents, $10 free credit/month.","href":"/sessions-api/overview"},{"title":"Create Session API: Start KYC or KYB Verification","sidebarTitle":"Create Session","openapi":"openapi-25.json POST /v3/session/","href":"/sessions-api/create-session"},{"title":"Import Data from Another Provider","description":"Choose the right Didit import path for historical verification sessions, users, profile faces, blocklists, businesses, transactions, and workflow status rules.","openapi":"openapi-25.json POST /v3/session/imports/","href":"/sessions-api/import-verifications"},{"title":"Retrieve Session API: KYC \u0026 KYB Decision Data","sidebarTitle":"Retrieve Session","openapi":"openapi-25.json GET /v3/session/{sessionId}/decision/","href":"/sessions-api/retrieve-session"},{"title":"List Sessions API: Filter KYC \u0026 KYB Sessions","sidebarTitle":"List Sessions","openapi":"openapi-25.json GET /v3/sessions/","href":"/sessions-api/list-sessions"},{"title":"Update Session Status API: Approve \u0026 Decline","sidebarTitle":"Update Session Status","openapi":"openapi-25.json PATCH /v3/session/{sessionId}/update-status/","href":"/sessions-api/update-status"},{"title":"Preview Resubmission Email","openapi":"openapi-25.json POST /v3/session/{sessionId}/resubmission-preview/","href":"/sessions-api/preview-resubmission"},{"title":"Preview Decision Email API: Approved and Declined Emails","sidebarTitle":"Preview Decision Email","openapi":"openapi-25.json POST /v3/session/{sessionId}/decision-email-preview/","href":"/sessions-api/preview-decision-email"},{"title":"Update Feature Status API: Approve/Decline a Single Step","sidebarTitle":"Update Feature Status","openapi":"openapi-25.json PATCH /v3/session/{sessionId}/features/{nodeId}/update-status/","href":"/sessions-api/update-feature-status"},{"title":"List Feature Overrides API: Step Status History","sidebarTitle":"List Feature Overrides","openapi":"openapi-25.json GET /v3/session/{sessionId}/features/overrides/","href":"/sessions-api/list-feature-overrides"},{"title":"Cancel Feature Override API: Drop a Pending Step Override","sidebarTitle":"Cancel Feature Override","openapi":"openapi-25.json POST /v3/session/{sessionId}/features/overrides/{overrideId}/cancel/","href":"/sessions-api/cancel-feature-override"},{"title":"Update AML Hit Status API: Clear \u0026 Confirm Matches","sidebarTitle":"Update AML Hit Status","openapi":"openapi-25.json PATCH /v3/session/{sessionId}/update-aml-hit-status/","href":"/sessions-api/update-aml-hit-status"},{"title":"Update Session Data API: Fix KYC \u0026 KYB Fields","sidebarTitle":"Update Session Data","href":"/sessions-api/update-data"},{"title":"Update AML Check Status API","sidebarTitle":"Update AML Check Status","openapi":"openapi-25.json PATCH /v3/session/{sessionId}/update-aml-status/","href":"/sessions-api/update-aml-status"},{"title":"Update Document AI Data API","sidebarTitle":"Update Document AI Data","openapi":"openapi-25.json PATCH /v3/document-ai/{sessionId}/documents/{documentUuid}/","href":"/sessions-api/update-document-ai-data"},{"title":"Regenerate Key People KYC Session API","sidebarTitle":"Regenerate Key People KYC Session","openapi":"openapi-25.json POST /v3/session/{sessionId}/kyb/parties/{partyUuid}/regenerate/","href":"/sessions-api/regenerate-kyb-party"},{"title":"Upload KYB Documents API","sidebarTitle":"Upload KYB Documents","openapi":"openapi-25.json POST /v3/session/{sessionId}/kyb/documents/","href":"/sessions-api/kyb-upload-documents"},{"title":"List KYB Extracted Parties API","sidebarTitle":"List KYB Extracted Parties","openapi":"openapi-25.json GET /v3/session/{sessionId}/kyb/extracted-parties/","href":"/sessions-api/kyb-extracted-parties"},{"title":"List KYB Party Drafts API","sidebarTitle":"List KYB Party Drafts","openapi":"openapi-25.json GET /v3/session/{sessionId}/kyb/parties/drafts/","href":"/sessions-api/kyb-list-party-drafts"},{"title":"Create KYB Party Draft API","sidebarTitle":"Create KYB Party Draft","openapi":"openapi-25.json POST /v3/session/{sessionId}/kyb/parties/drafts/","href":"/sessions-api/kyb-create-party-draft"},{"title":"Edit KYB Party Draft API","sidebarTitle":"Edit KYB Party Draft","openapi":"openapi-25.json PATCH /v3/session/{sessionId}/kyb/parties/drafts/{draftId}/","href":"/sessions-api/kyb-update-party-draft"},{"title":"Delete KYB Party Draft API","sidebarTitle":"Delete KYB Party Draft","openapi":"openapi-25.json DELETE /v3/session/{sessionId}/kyb/parties/drafts/{draftId}/","href":"/sessions-api/kyb-delete-party-draft"},{"title":"Submit KYB Key People API","sidebarTitle":"Submit KYB Key People","openapi":"openapi-25.json POST /v3/session/{sessionId}/kyb/parties/submit/","href":"/sessions-api/kyb-submit-parties"},{"title":"Add Images to a Session API","sidebarTitle":"Add Images to a Session","openapi":"openapi-25.json PATCH /v3/session/{sessionId}/add-images/","href":"/sessions-api/add-images"},{"title":"Delete Session API: GDPR Right-to-Be-Forgotten","sidebarTitle":"Delete Session","openapi":"openapi-25.json DELETE /v3/session/{sessionId}/delete/","href":"/sessions-api/delete-session"},{"title":"Generate PDF API: KYC \u0026 KYB Compliance Reports","sidebarTitle":"Generate PDF","openapi":"openapi-25.json GET /v3/session/{sessionId}/generate-pdf/","href":"/sessions-api/generate-pdf"},{"title":"Export Session Files API: Download Every File as One ZIP","sidebarTitle":"Export files","openapi":"openapi-25.json POST /v3/session/{sessionId}/files-export/","href":"/sessions-api/export-files"},{"title":"Get Session Files Export API: Status and Download Link","sidebarTitle":"Get files export","openapi":"openapi-25.json GET /v3/session/{sessionId}/files-export/{exportId}/","href":"/sessions-api/get-files-export"},{"group":"E-signatures","pages":[{"title":"Download Signed Document API: Signed PDF","sidebarTitle":"Download a Signed Document","openapi":"openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/documents/{documentId}/file/","href":"/sessions-api/electronic-signature/download-signed-document"},{"title":"Signature Evidence API: Audit Trail PDF","sidebarTitle":"Download the Signature Evidence","openapi":"openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/evidence/","href":"/sessions-api/electronic-signature/download-evidence"},{"title":"Signature Image API: Adopted Signature PNG","sidebarTitle":"Download a Signature Image","openapi":"openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/","href":"/sessions-api/electronic-signature/download-field-image"},{"title":"Validate Signatures API: Re-check Signed PDFs","sidebarTitle":"Validate Signatures","openapi":"openapi-25.json POST /v3/session/{sessionId}/signatures/{nodeId}/validate/","href":"/sessions-api/electronic-signature/validate-signatures"}]},{"title":"Share Session API: Reusable KYC Between Partners","sidebarTitle":"Overview","href":"/sessions-api/share-session/overview"},{"title":"Share Session API: Generate Share Token","sidebarTitle":"Share Session","openapi":"openapi-25.json POST /v3/session/{sessionId}/share/","href":"/sessions-api/share-session/share"},{"title":"Import Shared Session API: Reusable KYC \u0026 KYB","sidebarTitle":"Import Shared Session","openapi":"openapi-25.json POST /v3/session/import-shared/","href":"/sessions-api/share-session/import"}]},{"group":"Lists","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/lists.svg","pages":[{"title":"Lists API: Blocklists \u0026 Allowlists","sidebarTitle":"Overview","href":"/management-api/lists/overview"},{"title":"List All Lists API: Blocklists \u0026 Allowlists","sidebarTitle":"List Lists","openapi":"openapi-25.json GET /v3/lists/","href":"/management-api/lists/list"},{"title":"Create List API: Allowlist \u0026 Custom List","sidebarTitle":"Create List","openapi":"openapi-25.json POST /v3/lists/","href":"/management-api/lists/create"},{"title":"Get List API: Retrieve Compliance List","sidebarTitle":"Get List","openapi":"openapi-25.json GET /v3/lists/{list_uuid}/","href":"/management-api/lists/get"},{"title":"Update List API: Edit Compliance List","sidebarTitle":"Update List","openapi":"openapi-25.json PATCH /v3/lists/{list_uuid}/","href":"/management-api/lists/update"},{"title":"Delete List API: Remove Compliance List","sidebarTitle":"Delete List","openapi":"openapi-25.json DELETE /v3/lists/{list_uuid}/","href":"/management-api/lists/delete"},{"title":"List Entries API: Blocklist \u0026 Allowlist Items","sidebarTitle":"List Entries","openapi":"openapi-25.json GET /v3/lists/{list_uuid}/entries/","href":"/management-api/lists/list-entries"},{"title":"Create List Entry API: Blocklist \u0026 Allowlist","sidebarTitle":"Create List Entry","openapi":"openapi-25.json POST /v3/lists/{list_uuid}/entries/","href":"/management-api/lists/create-entry"},{"title":"Delete List Entry API: Unblock Item","sidebarTitle":"Delete List Entry","openapi":"openapi-25.json DELETE /v3/lists/{list_uuid}/entries/{entry_uuid}/","href":"/management-api/lists/delete-entry"},{"title":"Upload Face API: Biometric Lists","sidebarTitle":"Upload Face","openapi":"openapi-25.json POST /v3/lists/{list_uuid}/entries/face-upload/","href":"/management-api/lists/upload-face"}]},{"group":"Blocklist","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/lists.svg","pages":[{"title":"List Blocklisted Items API","sidebarTitle":"List Blocklisted Items","openapi":"openapi-25.json GET /v3/blocklist/","href":"/management-api/blocklist/list"},{"title":"Add to Blocklist API: Block Session Items","sidebarTitle":"Add to Blocklist","openapi":"openapi-25.json POST /v3/blocklist/add/","href":"/management-api/blocklist/add"},{"title":"Remove from Blocklist API: Unblock Session Items","sidebarTitle":"Remove from Blocklist","openapi":"openapi-25.json POST /v3/blocklist/remove/","href":"/management-api/blocklist/remove"}]},{"group":"Workflows","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/workflows.svg","pages":[{"title":"List Workflows API: Verification Flows","sidebarTitle":"List Workflows","openapi":"openapi-25.json GET /v3/workflows/","href":"/management-api/workflows/list"},{"title":"Create Workflow API: Build KYC Flow","sidebarTitle":"Create Workflow","openapi":"openapi-25.json POST /v3/workflows/","href":"/management-api/workflows/create"},{"title":"Workflow Feature Configs API Reference","sidebarTitle":"Workflow Feature Configs","href":"/management-api/workflows/feature-configs"},{"title":"Get Workflow API: Retrieve KYC Flow","sidebarTitle":"Get Workflow","openapi":"openapi-25.json GET /v3/workflows/{settings_uuid}/","href":"/management-api/workflows/get"},{"title":"Update Workflow API: Edit KYC Flow","sidebarTitle":"Update Workflow","openapi":"openapi-25.json PATCH /v3/workflows/{settings_uuid}/","href":"/management-api/workflows/update"},{"title":"Delete Workflow API: Remove KYC Flow","sidebarTitle":"Delete Workflow","openapi":"openapi-25.json DELETE /v3/workflows/{settings_uuid}/","href":"/management-api/workflows/delete"}]},{"group":"Questionnaires","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/task-square.svg","pages":[{"title":"List Questionnaires API: KYC Forms","sidebarTitle":"List Questionnaires","openapi":"openapi-25.json GET /v3/questionnaires/","href":"/management-api/questionnaires/list"},{"title":"Create Questionnaire API: Custom KYC Form","sidebarTitle":"Create Questionnaire","openapi":"openapi-25.json POST /v3/questionnaires/","href":"/management-api/questionnaires/create"},{"title":"Get Questionnaire API: Retrieve KYC Form","sidebarTitle":"Get Questionnaire","openapi":"openapi-25.json GET /v3/questionnaires/{questionnaire_uuid}/","href":"/management-api/questionnaires/get"},{"title":"Update Questionnaire API: Edit KYC Form","sidebarTitle":"Update Questionnaire","openapi":"openapi-25.json PATCH /v3/questionnaires/{questionnaire_uuid}/","href":"/management-api/questionnaires/update"},{"title":"Delete Questionnaire API: Remove KYC Form","sidebarTitle":"Delete Questionnaire","openapi":"openapi-25.json DELETE /v3/questionnaires/{questionnaire_uuid}/","href":"/management-api/questionnaires/delete"}]},{"group":"Users","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/users.svg","pages":[{"title":"List Users API: Vendor User Entities","sidebarTitle":"List Users","openapi":"openapi-25.json GET /v3/users/","href":"/management-api/users/list"},{"title":"Create User API: Vendor User Entity","sidebarTitle":"Create User","openapi":"openapi-25.json POST /v3/users/create/","href":"/management-api/users/create"},{"title":"Upload User Face API: Vendor User Profile","sidebarTitle":"Upload User Face","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/vendor-users/by-id/{didit_internal_id}/faces/upload/","href":"/management-api/users/upload-face"},{"title":"Get User API: Vendor User Entity","sidebarTitle":"Get User","openapi":"openapi-25.json GET /v3/users/{vendor_data}/","href":"/management-api/users/get"},{"title":"User History PDF API: All Sessions of a User","sidebarTitle":"User history PDF","openapi":"openapi-25.json GET /v3/users/{vendor_data}/generate-pdf/","href":"/management-api/users/generate-pdf"},{"title":"Update User API: Vendor User Entity","sidebarTitle":"Update User","openapi":"openapi-25.json PATCH /v3/users/{vendor_data}/","href":"/management-api/users/update"},{"title":"Update User Status API: Block or Flag","sidebarTitle":"Update User Status","openapi":"openapi-25.json PATCH /v3/users/{vendor_data}/update-status/","href":"/management-api/users/update-status"},{"title":"Batch Delete Users API: GDPR Erasure","sidebarTitle":"Batch Delete Users","openapi":"openapi-25.json POST /v3/users/delete/","href":"/management-api/users/delete"}]},{"group":"Biometric Templates","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/liveness.svg","pages":[{"title":"Biometric Templates API","sidebarTitle":"Overview","href":"/management-api/biometric-templates/overview"},{"title":"List Biometric Templates API","sidebarTitle":"List Templates","openapi":"openapi-25.json GET /v3/biometric-templates/","href":"/management-api/biometric-templates/list"},{"title":"Count Biometric Templates API","sidebarTitle":"Count Templates","openapi":"openapi-25.json GET /v3/biometric-templates/count/","href":"/management-api/biometric-templates/count"},{"title":"Get Biometric Template API","sidebarTitle":"Get Template","openapi":"openapi-25.json GET /v3/biometric-templates/{template_uuid}/","href":"/management-api/biometric-templates/get"},{"title":"Purge Biometric Template API","sidebarTitle":"Purge Template","openapi":"openapi-25.json DELETE /v3/biometric-templates/{template_uuid}/","href":"/management-api/biometric-templates/purge"},{"title":"Bulk Purge Biometric Templates API","sidebarTitle":"Bulk Purge","openapi":"openapi-25.json POST /v3/biometric-templates/delete/","href":"/management-api/biometric-templates/batch-purge"}]},{"group":"Businesses","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/businesses.svg","pages":[{"title":"List Businesses API: Vendor KYB Entities","sidebarTitle":"List Businesses","openapi":"openapi-25.json GET /v3/businesses/","href":"/management-api/businesses/list"},{"title":"Create Business API: Vendor KYB Entity","sidebarTitle":"Create Business","openapi":"openapi-25.json POST /v3/businesses/create/","href":"/management-api/businesses/create"},{"title":"Get Business API: Vendor KYB Entity","sidebarTitle":"Get Business","openapi":"openapi-25.json GET /v3/businesses/{vendor_data}/","href":"/management-api/businesses/get"},{"title":"Business Session PDF API","sidebarTitle":"Generate Business Session PDF","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/businesses/{business_session_id}/pdf/","href":"/management-api/businesses/generate-session-pdf"},{"title":"Update Business API: Vendor KYB Entity","sidebarTitle":"Update Business","openapi":"openapi-25.json PATCH /v3/businesses/{vendor_data}/","href":"/management-api/businesses/update"},{"title":"Update Business Status API: Block or Flag","sidebarTitle":"Update Business Status","openapi":"openapi-25.json PATCH /v3/businesses/{vendor_data}/update-status/","href":"/management-api/businesses/update-status"},{"title":"Batch Delete Businesses API: KYB Erasure","sidebarTitle":"Batch Delete Businesses","openapi":"openapi-25.json POST /v3/businesses/delete/","href":"/management-api/businesses/delete"}]},{"group":"AML Ongoing Monitoring","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/aml-screening.svg","pages":[{"title":"Toggle AML Monitoring for Users API","sidebarTitle":"Toggle for Users","openapi":"openapi-25.json POST /v3/users/aml-monitoring/","href":"/management-api/aml-monitoring/toggle-users"},{"title":"Toggle AML Monitoring for Businesses API","sidebarTitle":"Toggle for Businesses","openapi":"openapi-25.json POST /v3/businesses/aml-monitoring/","href":"/management-api/aml-monitoring/toggle-businesses"},{"title":"Get AML Monitoring Job API","sidebarTitle":"Get AML Monitoring Job","openapi":"openapi-25.json GET /v3/aml-monitoring/jobs/{job_id}/","href":"/management-api/aml-monitoring/get-job"}]},{"group":"Cases","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/clipboard-check.svg","pages":[{"title":"List Cases API","sidebarTitle":"List Cases","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/","href":"/management-api/cases/list"},{"title":"Create Case API","sidebarTitle":"Create Case","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/","href":"/management-api/cases/create"},{"title":"Get Case API","sidebarTitle":"Get Case","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/management-api/cases/get"},{"title":"Update Case API","sidebarTitle":"Update Case","openapi":"openapi-25.json PATCH /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/management-api/cases/update"},{"title":"Delete Case API","sidebarTitle":"Delete Case","openapi":"openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/","href":"/management-api/cases/delete"},{"title":"Resolve Case API","sidebarTitle":"Resolve Case","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/","href":"/management-api/cases/resolve"},{"title":"Request Info Case API","sidebarTitle":"Request Info (Awaiting User)","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/request-info/","href":"/management-api/cases/request-info"},{"title":"Transfer Case API","sidebarTitle":"Transfer Case","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/transfer/","href":"/management-api/cases/transfer"},{"title":"Print Case PDF API","sidebarTitle":"Print Case","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/print/","href":"/management-api/cases/print"},{"title":"Case Analytics API","sidebarTitle":"Case Analytics","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/statistics/","href":"/management-api/cases/statistics"},{"title":"Bulk Update Case Status API","sidebarTitle":"Bulk Update Case Status","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/bulk/status/","href":"/management-api/cases/bulk-status"},{"title":"List Case Notes API","sidebarTitle":"List Case Notes","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/","href":"/management-api/cases/list-notes"},{"title":"Create Case Note API","sidebarTitle":"Create Case Note","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/","href":"/management-api/cases/create-note"}]},{"group":"Case Blueprints","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sliders.svg","pages":[{"title":"List Case Blueprints API","sidebarTitle":"List Case Blueprints","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/","href":"/management-api/case-blueprints/list"},{"title":"Create Case Blueprint API","sidebarTitle":"Create Case Blueprint","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/","href":"/management-api/case-blueprints/create"},{"title":"Draft case blueprint with AI API","sidebarTitle":"Draft with AI","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/","href":"/management-api/case-blueprints/ai-draft"},{"title":"Install Blueprint Presets API","sidebarTitle":"Install Blueprint Presets","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/presets/install/","href":"/management-api/case-blueprints/install-presets"}]},{"group":"Networks","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/link.svg","pages":[{"title":"List Fraud Networks API","sidebarTitle":"List Networks","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/","href":"/management-api/networks/list"},{"title":"Get Fraud Network API","sidebarTitle":"Get Network","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/","href":"/management-api/networks/get"},{"title":"Add a Tag to a Fraud Network API","sidebarTitle":"Add Network Tag","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/tags/add/","href":"/management-api/networks/add-tag"},{"title":"Remove a Tag from a Fraud Network API","sidebarTitle":"Remove Network Tag","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/tags/remove/","href":"/management-api/networks/remove-tag"},{"title":"Fraud Network Graph API","sidebarTitle":"Get Network Graph","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/graph/","href":"/management-api/networks/graph"},{"title":"List Fraud Network Members API","sidebarTitle":"List Network Members","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/members/","href":"/management-api/networks/members"},{"title":"List Fraud Network Signals API","sidebarTitle":"List Network Signals","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/signals/","href":"/management-api/networks/signals"},{"title":"Fraud Network Timeline API","sidebarTitle":"Get Network Timeline","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/timeline/","href":"/management-api/networks/timeline"},{"title":"Fraud Network Map API","sidebarTitle":"Get Network Map","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/{network_uuid}/map/","href":"/management-api/networks/map"},{"title":"Network Membership Lookup API","sidebarTitle":"Membership Lookup","href":"/management-api/networks/membership-lookup"}]},{"group":"Report Templates","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/task-square.svg","pages":[{"title":"List Report Templates API","sidebarTitle":"List Report Templates","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/report-templates/","href":"/management-api/report-templates/list"},{"title":"Create Report Template API","sidebarTitle":"Create Report Template","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/report-templates/","href":"/management-api/report-templates/create"}]},{"group":"Regulatory Reports","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/search-file.svg","pages":[{"title":"Create FIU Report From Case API","sidebarTitle":"Create Report From Case","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/regulatory-reports/","href":"/management-api/regulatory-reports/create-for-case"},{"title":"List FIU Reports API","sidebarTitle":"List Reports","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/","href":"/management-api/regulatory-reports/list"},{"title":"Validate FIU Report API","sidebarTitle":"Validate Report","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/validate/","href":"/management-api/regulatory-reports/validate"},{"title":"Finalize FIU Report API","sidebarTitle":"Finalize Report","openapi":"openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/finalize/","href":"/management-api/regulatory-reports/finalize"},{"title":"Delete FIU Report API","sidebarTitle":"Delete Report","openapi":"openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/","href":"/management-api/regulatory-reports/delete"},{"title":"Get FIU Report Download URL API","sidebarTitle":"Get Report Download URL","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/download-url/","href":"/management-api/regulatory-reports/download-url"}]},{"group":"Transactions","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"List Transactions API: KYT Monitoring","sidebarTitle":"List Transactions","openapi":"openapi-25.json GET /v3/transactions/","href":"/management-api/transactions/list"},{"title":"Create Transaction API: KYT Submission","sidebarTitle":"Create Transaction","openapi":"openapi-25.json POST /v3/transactions/","href":"/management-api/transactions/create"},{"title":"Batch Delete Transactions API","sidebarTitle":"Batch Delete Transactions","openapi":"openapi-25.json DELETE /v3/organization/{organization_id}/application/{application_id}/transactions/delete/","href":"/management-api/transactions/delete"},{"title":"Get Transaction API: KYT Detail","sidebarTitle":"Get Transaction","openapi":"openapi-25.json GET /v3/transactions/{transaction_id}/","href":"/management-api/transactions/get"},{"title":"List Transaction Notes API","sidebarTitle":"List Transaction Notes","openapi":"openapi-25.json GET /v3/transactions/{transaction_id}/notes/","href":"/management-api/transactions/list-notes"},{"title":"Create Transaction Note API","sidebarTitle":"Create Transaction Note","openapi":"openapi-25.json POST /v3/transactions/{transaction_id}/notes/","href":"/management-api/transactions/create-note"},{"title":"List Related Transactions API","sidebarTitle":"List Related Transactions","openapi":"openapi-25.json GET /v3/transactions/{transaction_id}/related/","href":"/management-api/transactions/list-related"},{"title":"Transaction PDF Report API","sidebarTitle":"Generate Transaction PDF Report","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/","href":"/management-api/transactions/generate-pdf"},{"title":"Screen Wallet API: On-demand Crypto AML","sidebarTitle":"Screen Wallet","openapi":"openapi-25.json POST /v3/wallet-screening/","href":"/management-api/transactions/screen-wallet"},{"title":"Wallet Screening PDF Report API","sidebarTitle":"Screen Wallet PDF","openapi":"openapi-25.json POST /v3/wallet-screening/pdf/","href":"/management-api/transactions/screen-wallet-pdf"},{"title":"Mint SDK Transaction Token API: Client-Side KYT","sidebarTitle":"Mint SDK Transaction Token","openapi":"openapi-25.json POST /v3/transactions/sdk-token/","href":"/management-api/transactions/sdk-token"},{"title":"Submit Transaction from an SDK: Client-Side KYT","sidebarTitle":"Submit Transaction (SDK Token)","openapi":"openapi-25.json POST /v1/transactions/","href":"/management-api/transactions/submit-sdk"},{"title":"Get Transaction from an SDK: Client-Side KYT","sidebarTitle":"Get Transaction (SDK Token)","openapi":"openapi-25.json GET /v1/transactions/{transaction_id}/","href":"/management-api/transactions/get-sdk"},{"title":"List Transaction Monitoring Rules API","sidebarTitle":"List Rules","openapi":"openapi-25.json GET /v3/transactions/rules/","href":"/management-api/transactions/rules-list"},{"title":"Create Transaction Monitoring Rule API - KYT Rules","sidebarTitle":"Create Rule","openapi":"openapi-25.json POST /v3/transactions/rules/","href":"/management-api/transactions/rules-create"},{"title":"Get Transaction Monitoring Rule API","sidebarTitle":"Get Rule","openapi":"openapi-25.json GET /v3/transactions/rules/{rule_uuid}/","href":"/management-api/transactions/rules-get"},{"title":"Update Transaction Monitoring Rule API","sidebarTitle":"Update Rule","openapi":"openapi-25.json PATCH /v3/transactions/rules/{rule_uuid}/","href":"/management-api/transactions/rules-update"},{"title":"Delete Transaction Monitoring Rule API","sidebarTitle":"Delete Rule","openapi":"openapi-25.json DELETE /v3/transactions/rules/{rule_uuid}/","href":"/management-api/transactions/rules-delete"},{"title":"Backtest Transaction Monitoring Rules API","sidebarTitle":"Backtest Rules","openapi":"openapi-25.json POST /v3/transactions/rules/backtest/","href":"/management-api/transactions/rules-backtest"},{"title":"Transaction Monitoring Rule Library API - 150+ Presets","sidebarTitle":"List Rule Library","openapi":"openapi-25.json GET /v3/transactions/rules/library/","href":"/management-api/transactions/rules-library"},{"title":"Install Preset Transaction Monitoring Rules API","sidebarTitle":"Install Library Rules","openapi":"openapi-25.json POST /v3/transactions/rules/install/","href":"/management-api/transactions/rules-install"},{"title":"Uninstall Preset Transaction Monitoring Rules API","sidebarTitle":"Uninstall Library Rules","openapi":"openapi-25.json DELETE /v3/transactions/rules/install/","href":"/management-api/transactions/rules-uninstall"}]},{"group":"Monitoring Events","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"List Monitoring Events API","sidebarTitle":"List Monitoring Events","openapi":"openapi-25.json GET /v3/events/","href":"/management-api/monitoring-events/list"},{"title":"Create Monitoring Event API","sidebarTitle":"Create Monitoring Event","openapi":"openapi-25.json POST /v3/events/","href":"/management-api/monitoring-events/create"},{"title":"Batch Monitoring Events API","sidebarTitle":"Create Monitoring Events in Batch","openapi":"openapi-25.json POST /v3/events/batch/","href":"/management-api/monitoring-events/create-batch"},{"title":"Mint Monitoring SDK Token API","sidebarTitle":"Mint Monitoring SDK Token","openapi":"openapi-25.json POST /v3/events/sdk-token/","href":"/management-api/monitoring-events/sdk-token"},{"title":"Get Monitoring Event API","sidebarTitle":"Get Monitoring Event","openapi":"openapi-25.json GET /v3/events/{event_uuid}/","href":"/management-api/monitoring-events/get"},{"title":"Subject Event Timeline API","sidebarTitle":"Get Subject Event Timeline","openapi":"openapi-25.json GET /v3/events/subjects/{vendor_data}/","href":"/management-api/monitoring-events/subject-timeline"},{"title":"Event Enrichment Metrics API","sidebarTitle":"Get Event Enrichment Metrics","openapi":"openapi-25.json GET /v3/events/enrichment-metrics/","href":"/management-api/monitoring-events/enrichment-metrics"},{"title":"Delete Monitoring Event API","sidebarTitle":"Delete Monitoring Event","openapi":"openapi-25.json DELETE /v3/events/{event_uuid}/delete/","href":"/management-api/monitoring-events/delete"}]},{"group":"Travel Rule","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Get Travel Rule Settings API: VASP Profile","sidebarTitle":"Get Travel Rule Settings","openapi":"openapi-25.json GET /v3/travel-rule/settings/","href":"/management-api/travel-rule/get-settings"},{"title":"Update Travel Rule Settings API: Enable \u0026 Configure","sidebarTitle":"Update Travel Rule Settings","openapi":"openapi-25.json PUT /v3/travel-rule/settings/","href":"/management-api/travel-rule/update-settings"},{"title":"Get Travel Rule Networks API","sidebarTitle":"Get Travel Rule Networks","openapi":"openapi-25.json GET /v3/travel-rule/networks/","href":"/management-api/travel-rule/get-networks"},{"title":"Get Travel Rule Network Questionnaire API","sidebarTitle":"Get Network Questionnaire","openapi":"openapi-25.json GET /v3/travel-rule/networks/questionnaire/","href":"/management-api/travel-rule/get-network-questionnaire"},{"title":"Save Travel Rule Network Questionnaire API","sidebarTitle":"Save Network Questionnaire Answers","openapi":"openapi-25.json PUT /v3/travel-rule/networks/questionnaire/","href":"/management-api/travel-rule/update-network-questionnaire"},{"title":"Submit Travel Rule Network Questionnaire API","sidebarTitle":"Submit Network Questionnaire","openapi":"openapi-25.json POST /v3/travel-rule/networks/questionnaire/submit/","href":"/management-api/travel-rule/submit-network-questionnaire"},{"title":"Request Travel Rule Network Access API","sidebarTitle":"Request a Travel Rule Network","openapi":"openapi-25.json POST /v3/travel-rule/networks/{network}/request/","href":"/management-api/travel-rule/request-network"},{"title":"Confirm the Travel Rule Compliance Email API","sidebarTitle":"Send the Compliance Email Confirmation","openapi":"openapi-25.json POST /v3/travel-rule/settings/compliance-email/confirmation/","href":"/management-api/travel-rule/send-compliance-email-confirmation"},{"title":"List Travel Rule Transfers API","sidebarTitle":"List Travel Rule Transfers","openapi":"openapi-25.json GET /v3/travel-rule/transfers/","href":"/management-api/travel-rule/list-transfers"},{"title":"List Unmatched Travel Rule Deposits API","sidebarTitle":"List Unmatched Deposits","openapi":"openapi-25.json GET /v3/travel-rule/unmatched/","href":"/management-api/travel-rule/list-unmatched-deposits"},{"title":"Match Travel Rule Deposit API: Pair a Message","sidebarTitle":"Match Unmatched Deposit","openapi":"openapi-25.json POST /v3/travel-rule/unmatched/{transaction_uuid}/match/","href":"/management-api/travel-rule/match-unmatched-deposit"},{"title":"Travel Rule Transfer Actions API: Finish, Resend, Update","sidebarTitle":"Finish, Cancel, Resend, or Update a Transfer","openapi":"openapi-25.json PATCH /v3/transactions/{transaction_id}/travel-rule/","href":"/management-api/travel-rule/update-transfer"},{"title":"Create or email a Travel Rule end-user link","sidebarTitle":"Create an end-user link","openapi":"openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/user-link/","href":"/management-api/travel-rule/create-user-link"},{"title":"Confirm Wallet Ownership API: Travel Rule Beneficiary","sidebarTitle":"Confirm or Deny Wallet Ownership","openapi":"openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/ownership/","href":"/management-api/travel-rule/confirm-ownership"},{"title":"List Travel Rule Messages API","sidebarTitle":"List Travel Rule Messages","openapi":"openapi-25.json GET /v3/transactions/{transaction_id}/travel-rule/messages/","href":"/management-api/travel-rule/list-messages"},{"title":"Travel Rule delivery history API","sidebarTitle":"List delivery history","openapi":"openapi-25.json GET /v3/transactions/{transaction_id}/travel-rule/deliveries/","href":"/management-api/travel-rule/list-deliveries"},{"title":"Send Travel Rule Message API","sidebarTitle":"Send a Travel Rule Message","openapi":"openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/messages/","href":"/management-api/travel-rule/create-message"},{"title":"Register Inbound Sunrise Transfer API: Travel Rule","sidebarTitle":"Register Inbound (Sunrise) Transfer","openapi":"openapi-25.json POST /v3/travel-rule/inbound/","href":"/management-api/travel-rule/register-inbound"},{"title":"Trigger Test VASP Inbound Transfer API","sidebarTitle":"Trigger Test VASP Inbound Transfer","openapi":"openapi-25.json POST /v3/travel-rule/test-vasp/inbound/","href":"/management-api/travel-rule/trigger-test-vasp-inbound"},{"title":"VASP Directory Search API: Travel Rule Routes","sidebarTitle":"Search the VASP Directory","openapi":"openapi-25.json GET /v3/travel-rule/vasps/","href":"/management-api/travel-rule/search-vasps"},{"title":"Create a private Travel Rule VASP entry","sidebarTitle":"Create a VASP","openapi":"openapi-25.json POST /v3/travel-rule/vasps/","href":"/management-api/travel-rule/create-vasp"},{"title":"Get a VASP Directory Entry API: Travel Rule Routes","sidebarTitle":"Get a VASP Directory Entry","openapi":"openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/","href":"/management-api/travel-rule/get-vasp"},{"title":"Get a Counterparty VASP Decision API: Travel Rule","sidebarTitle":"Get Your Decision on a VASP","openapi":"openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/management-api/travel-rule/get-vasp-decision"},{"title":"Set a Counterparty VASP Decision API: Travel Rule","sidebarTitle":"Set Your Decision on a VASP","openapi":"openapi-25.json PUT /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/management-api/travel-rule/set-vasp-decision"},{"title":"Clear a Counterparty VASP Decision API: Travel Rule","sidebarTitle":"Clear Your Decision on a VASP","openapi":"openapi-25.json DELETE /v3/travel-rule/vasps/{vasp_id}/decision/","href":"/management-api/travel-rule/clear-vasp-decision"},{"title":"Get a Counterparty VASP Screening API: Travel Rule","sidebarTitle":"Get a VASP's Entity Screening","openapi":"openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/screening/","href":"/management-api/travel-rule/get-vasp-screening"},{"title":"Screen a Counterparty VASP API: Sanctions Check","sidebarTitle":"Screen a Counterparty VASP","openapi":"openapi-25.json POST /v3/travel-rule/vasps/{vasp_id}/screening/","href":"/management-api/travel-rule/screen-vasp"},{"title":"List VASP Due-Diligence Questionnaires API","sidebarTitle":"List Due-Diligence Questionnaires with a VASP","openapi":"openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/questionnaires/","href":"/management-api/travel-rule/list-vasp-questionnaires"},{"title":"Send a VASP Due-Diligence Questionnaire API","sidebarTitle":"Send a Due-Diligence Questionnaire to a VASP","openapi":"openapi-25.json POST /v3/travel-rule/vasps/{vasp_id}/questionnaires/","href":"/management-api/travel-rule/send-vasp-questionnaire"},{"title":"List Counterparty Contacts API - Travel Rule Email Rail","sidebarTitle":"List Counterparty Contacts","openapi":"openapi-25.json GET /v3/travel-rule/counterparty-contacts/","href":"/management-api/travel-rule/list-counterparty-contacts"},{"title":"Add a Counterparty Contact API - Travel Rule Email Rail","sidebarTitle":"Add a Counterparty Contact","openapi":"openapi-25.json POST /v3/travel-rule/counterparty-contacts/","href":"/management-api/travel-rule/create-counterparty-contact"},{"title":"Delete a Counterparty Contact API - Travel Rule","sidebarTitle":"Delete a Counterparty Contact","openapi":"openapi-25.json DELETE /v3/travel-rule/counterparty-contacts/{contact_uuid}/","href":"/management-api/travel-rule/delete-counterparty-contact"},{"title":"List Wallet Addresses API: Travel Rule Address Book","sidebarTitle":"List Wallet Addresses","openapi":"openapi-25.json GET /v3/travel-rule/wallet-addresses/","href":"/management-api/travel-rule/list-wallet-addresses"},{"title":"Register Wallet Address API: Travel Rule Address Book","sidebarTitle":"Register Wallet Address","openapi":"openapi-25.json POST /v3/travel-rule/wallet-addresses/","href":"/management-api/travel-rule/create-wallet-address"},{"title":"Import Wallet Addresses API: Travel Rule Address Book","sidebarTitle":"Import Wallet Addresses","openapi":"openapi-25.json POST /v3/travel-rule/wallet-addresses/import/","href":"/management-api/travel-rule/import-wallet-addresses"},{"title":"Update Wallet Address API: Travel Rule Address Book","sidebarTitle":"Update Wallet Address","openapi":"openapi-25.json PATCH /v3/travel-rule/wallet-addresses/{entry_uuid}/","href":"/management-api/travel-rule/update-wallet-address"},{"title":"Delete Wallet Address API: Travel Rule Address Book","sidebarTitle":"Delete Wallet Address","openapi":"openapi-25.json DELETE /v3/travel-rule/wallet-addresses/{entry_uuid}/","href":"/management-api/travel-rule/delete-wallet-address"},{"title":"List Screenshot Wallet Proofs API - Travel Rule Review","sidebarTitle":"List Wallet Proofs to Review","openapi":"openapi-25.json GET /v3/travel-rule/wallet-proofs/","href":"/management-api/travel-rule/list-wallet-proofs"},{"title":"Approve or Reject a Screenshot Wallet Proof API","sidebarTitle":"Decide a Wallet Proof","openapi":"openapi-25.json POST /v3/travel-rule/wallet-proofs/{proof_uuid}/decision/","href":"/management-api/travel-rule/decide-wallet-proof"},{"title":"Mint Wallet-Ownership Widget API: Proof of Control","sidebarTitle":"Mint Wallet-Ownership Widget Session","openapi":"openapi-25.json POST /v3/travel-rule/widget-session/","href":"/management-api/travel-rule/create-widget-session"},{"title":"Get Wallet-Ownership Widget Context API","sidebarTitle":"Get Widget Context","openapi":"openapi-25.json GET /v3/travel-rule/widget/{token}/","href":"/management-api/travel-rule/get-widget-context"},{"title":"Start a Wallet-Ownership Proof API - Travel Rule Widget","sidebarTitle":"Start a Widget Proof","openapi":"openapi-25.json POST /v3/travel-rule/widget/{token}/proofs/","href":"/management-api/travel-rule/create-widget-proof"},{"title":"Submit Wallet-Ownership Proof Evidence API - Travel Rule","sidebarTitle":"Submit Widget Proof Evidence","openapi":"openapi-25.json POST /v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/","href":"/management-api/travel-rule/verify-widget-proof"},{"title":"Widget VASP Selection API: Travel Rule Counterparty","sidebarTitle":"Pick the Counterparty VASP in the Wallet Widget","openapi":"openapi-25.json POST /v3/travel-rule/widget/{token}/vasps/","href":"/management-api/travel-rule/select-widget-vasp"},{"title":"Widget VASP Picker API: Travel Rule Directory Search","sidebarTitle":"Search VASPs from the Wallet Widget","openapi":"openapi-25.json GET /v3/travel-rule/widget/{token}/vasps/","href":"/management-api/travel-rule/search-widget-vasps"},{"title":"Get Email Pickup Info API: Travel Rule Email Rail","sidebarTitle":"Get Email Pickup Info","openapi":"openapi-25.json GET /v3/travel-rule/pickup/{token}/","href":"/management-api/travel-rule/get-pickup"},{"title":"Respond to Email Pickup API: Travel Rule Email Rail","sidebarTitle":"Respond to Email Pickup","openapi":"openapi-25.json POST /v3/travel-rule/pickup/{token}/respond/","href":"/management-api/travel-rule/respond-pickup"},{"title":"List Pickup Messages API - Travel Rule Email Rail","sidebarTitle":"List Pickup Messages","openapi":"openapi-25.json GET /v3/travel-rule/pickup/{token}/messages/","href":"/management-api/travel-rule/list-pickup-messages"},{"title":"Reply in Pickup Portal API - Travel Rule Email Rail","sidebarTitle":"Reply in the Pickup Portal","openapi":"openapi-25.json POST /v3/travel-rule/pickup/{token}/messages/","href":"/management-api/travel-rule/create-pickup-message"},{"title":"Get Join Invitation API - Travel Rule Free Join","sidebarTitle":"Get Join Invitation","openapi":"openapi-25.json GET /v3/travel-rule/join/{token}/","href":"/management-api/travel-rule/get-join-invitation"},{"title":"Register a Free Travel Rule Account API","sidebarTitle":"Register a Free Travel Rule Account","openapi":"openapi-25.json POST /v3/travel-rule/join/{token}/","href":"/management-api/travel-rule/register-join"},{"title":"Verify a Free Travel Rule Account API","sidebarTitle":"Verify a Free Travel Rule Account","openapi":"openapi-25.json POST /v3/travel-rule/join/{token}/verify/","href":"/management-api/travel-rule/verify-join"},{"title":"Get Free Workspace API - Travel Rule Free Join","sidebarTitle":"Get Free Workspace","openapi":"openapi-25.json GET /v3/travel-rule/workspace/","href":"/management-api/travel-rule/get-workspace"},{"title":"Claim a Directory Entry API - Travel Rule Free Join","sidebarTitle":"Claim a Directory Entry","openapi":"openapi-25.json POST /v3/travel-rule/workspace/claim/","href":"/management-api/travel-rule/claim-workspace"},{"title":"Send Domain Code API - Travel Rule Free Join","sidebarTitle":"Send Domain Code","openapi":"openapi-25.json POST /v3/travel-rule/workspace/domain/code/","href":"/management-api/travel-rule/send-workspace-domain-code"},{"title":"Confirm Domain Code API - Travel Rule Free Join","sidebarTitle":"Confirm Domain Code","openapi":"openapi-25.json POST /v3/travel-rule/workspace/domain/confirm/","href":"/management-api/travel-rule/confirm-workspace-domain"},{"title":"Verify Domain by DNS API - Travel Rule Free Join","sidebarTitle":"Verify Domain by DNS","openapi":"openapi-25.json POST /v3/travel-rule/workspace/domain/dns/","href":"/management-api/travel-rule/verify-workspace-domain-dns"},{"title":"Enable Outbound Billing API - Travel Rule Free Join","sidebarTitle":"Enable Outbound Billing","openapi":"openapi-25.json POST /v3/travel-rule/workspace/billing/","href":"/management-api/travel-rule/enable-workspace-billing"}]},{"group":"Session Operations","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/play.svg","pages":[{"title":"Batch Delete Sessions API: KYC Cleanup","sidebarTitle":"Batch Delete Sessions","openapi":"openapi-25.json POST /v3/sessions/delete/","href":"/management-api/sessions/batch-delete"},{"title":"Get Session Deletion Job API","sidebarTitle":"Get Session Deletion Job","openapi":"openapi-25.json GET /v3/sessions/delete/{job_id}/","href":"/management-api/sessions/get-deletion-job"},{"title":"List Session Reviews API: KYC Audit Log","sidebarTitle":"List Session Reviews","openapi":"openapi-25.json GET /v3/sessions/{session_id}/reviews/","href":"/management-api/sessions/list-reviews"},{"title":"Create Session Review API: Manual KYC","sidebarTitle":"Create Session Review","openapi":"openapi-25.json POST /v3/sessions/{session_id}/reviews/","href":"/management-api/sessions/create-review"},{"title":"List Session Events API","sidebarTitle":"List Session Events","openapi":"openapi-25.json GET /v3/session/{sessionId}/events/","href":"/management-api/sessions/list-events"},{"title":"List Session Webhook Deliveries API","sidebarTitle":"List Session Webhook Deliveries","openapi":"openapi-25.json GET /v3/session/{sessionId}/webhooks/","href":"/management-api/sessions/list-webhooks"},{"title":"Get Session Webhook Delivery API","sidebarTitle":"Get Session Webhook Delivery","openapi":"openapi-25.json GET /v3/session/{sessionId}/webhook/{webhook_uuid}","href":"/management-api/sessions/get-webhook"},{"title":"Resend Session Webhook Delivery API","sidebarTitle":"Resend Session Webhook Delivery","openapi":"openapi-25.json POST /v3/session/{sessionId}/webhook/{webhook_uuid}/resend","href":"/management-api/sessions/resend-webhook"},{"title":"List AML Screening History API","sidebarTitle":"List AML Screening History","openapi":"openapi-25.json GET /v3/session/{sessionId}/aml-screening-history/","href":"/management-api/sessions/aml-screening-history"},{"title":"Export AML Screening History as CSV API","sidebarTitle":"Export AML Screening History","openapi":"openapi-25.json GET /v3/session/{sessionId}/aml-screening-history/export/","href":"/management-api/sessions/export-aml-screening-history"}]},{"group":"Customization","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sliders.svg","pages":[{"title":"Get Branding Customization API","sidebarTitle":"Get Branding","openapi":"openapi-25.json GET /v3/customization/","href":"/management-api/customization/get"},{"title":"Update Branding Customization API","sidebarTitle":"Update Branding","openapi":"openapi-25.json PATCH /v3/customization/","href":"/management-api/customization/update"}]},{"group":"Webhook","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/link.svg","pages":[{"title":"List Webhook Destinations API","sidebarTitle":"List Webhook Destinations","openapi":"openapi-25.json GET /v3/webhook/destinations/","href":"/management-api/webhook/list-destinations"},{"title":"Create Webhook Destination API","sidebarTitle":"Create Webhook Destination","openapi":"openapi-25.json POST /v3/webhook/destinations/","href":"/management-api/webhook/create-destination"},{"title":"Retrieve a Webhook Destination: Management API","sidebarTitle":"Get Webhook Destination","openapi":"openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/","href":"/management-api/webhook/get-destination"},{"title":"Update Webhook Destination API","sidebarTitle":"Update Webhook Destination","openapi":"openapi-25.json PATCH /v3/webhook/destinations/{destination_uuid}/","href":"/management-api/webhook/update-destination"},{"title":"Delete Webhook Destination API","sidebarTitle":"Delete Webhook Destination","openapi":"openapi-25.json DELETE /v3/webhook/destinations/{destination_uuid}/","href":"/management-api/webhook/delete-destination"},{"title":"Get Webhook Configuration API","sidebarTitle":"Get Webhook Configuration","openapi":"openapi-25.json GET /v3/webhook/","href":"/management-api/webhook/get-config"},{"title":"Update Webhook Configuration API","sidebarTitle":"Update Webhook Configuration","openapi":"openapi-25.json PATCH /v3/webhook/","href":"/management-api/webhook/update-config"},{"title":"Webhook Destination Analytics API","sidebarTitle":"Get Webhook Destination Analytics","openapi":"openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/analytics/","href":"/management-api/webhook/destination-analytics"},{"title":"List Webhook Deliveries API","sidebarTitle":"List Webhook Destination Deliveries","openapi":"openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/deliveries/","href":"/management-api/webhook/list-deliveries"},{"title":"Get Webhook Delivery API","sidebarTitle":"Get Webhook Destination Delivery","openapi":"openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/deliveries/{delivery_uuid}/","href":"/management-api/webhook/get-delivery"},{"title":"Resend Webhook Delivery API","sidebarTitle":"Resend Webhook Destination Delivery","openapi":"openapi-25.json POST /v3/webhook/destinations/{destination_uuid}/deliveries/{delivery_uuid}/resend/","href":"/management-api/webhook/resend-delivery"}]},{"group":"Billing","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/billing.svg","pages":[{"title":"Get Credit Balance API: KYC Billing","sidebarTitle":"Get Credit Balance","openapi":"openapi-25.json GET /v3/billing/balance/","href":"/management-api/billing/balance"},{"title":"Top Up Credits API","sidebarTitle":"Top Up Credits","openapi":"openapi-25.json POST /v3/billing/top-up/","href":"/management-api/billing/top-up"}]},{"group":"Analytics","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/overview.svg","pages":[{"title":"Application Analytics API","sidebarTitle":"Get Application Analytics","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/analytics/","href":"/management-api/analytics/get"},{"title":"Today's Verifications by Hour API","sidebarTitle":"Get Today's Verifications by Hour","openapi":"openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/analytics/today/","href":"/management-api/analytics/today-by-hour"}]},{"group":"Management API Overview","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/info.svg","pages":[{"title":"Management API v3: Workflows \u0026 Billing","sidebarTitle":"Management API","href":"/sessions-api/management-api"}]},{"group":"Auth API (Programmatic)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/key.svg","pages":[{"title":"Auth API: Programmatic Registration","sidebarTitle":"Register Account","openapi":"openapi-auth.json POST /programmatic/register/","href":"/auth-api/register"},{"title":"Verify Email API: Get Didit API Credentials","sidebarTitle":"Verify Email","openapi":"openapi-auth.json POST /programmatic/verify-email/","href":"/auth-api/verify-email"},{"title":"Programmatic Login API: Headless Auth Tokens","sidebarTitle":"Login","openapi":"openapi-auth.json POST /programmatic/login/","href":"/auth-api/login"},{"title":"Get Credentials API: Fetch client_id \u0026 api_key","sidebarTitle":"Get Credentials","openapi":"openapi-auth.json GET /organizations/me/{org_id}/applications/{app_id}/","href":"/auth-api/get-credentials"},{"title":"Create Application API: Programmatic Apps","sidebarTitle":"Create Application","openapi":"openapi-auth.json POST /organizations/me/{org_id}/applications/","href":"/auth-api/create-application"},{"title":"Update Application API: Manage Customer Apps","sidebarTitle":"Update Application","openapi":"openapi-auth.json PATCH /organizations/me/{org_id}/applications/{app_id}/","href":"/auth-api/update-application"}]},{"group":"Identity \u0026 Documents","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/id-scan.svg","pages":[{"title":"ID Verification API: Document OCR \u0026 Authenticity","sidebarTitle":"ID Verification API","openapi":"openapi-25.json POST /v3/id-verification/","href":"/standalone-apis/id-verification"},{"title":"Proof of Address API: POA Verification \u0026 OCR","sidebarTitle":"Proof of Address API","openapi":"openapi-25.json POST /v3/poa/","href":"/standalone-apis/proof-of-address"},{"title":"Address Validation API: Verify and Normalise Addresses","sidebarTitle":"Address Validation","openapi":"openapi-25.json POST /v3/address-validation/","href":"/standalone-apis/address-validation"}]},{"group":"Digital ID wallets","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/id-scan.svg","pages":[{"title":"Digital ID Wallet Verification APIs","sidebarTitle":"Digital ID wallet APIs","href":"/standalone-apis/digital-id-wallets"},{"title":"Digital ID Wallet API Catalog","sidebarTitle":"List digital ID wallets","openapi":"openapi-25.json GET /v3/id-verification/wallets/","href":"/standalone-apis/digital-id-wallet-catalog"},{"group":"Start verification","pages":[{"title":"Bank iD CONNECT Verification API","sidebarTitle":"Bank iD CONNECT","openapi":"openapi-25.json POST /v3/id-verification/wallets/bankid-cz/","href":"/api-reference/digital-id-wallets/bankid-cz"},{"title":"BankID Sweden Verification API","sidebarTitle":"BankID Sweden","openapi":"openapi-25.json POST /v3/id-verification/wallets/bankid-se/","href":"/api-reference/digital-id-wallets/bankid-se"},{"title":"Finnish Trust Network Verification API","sidebarTitle":"Finnish Trust Network","openapi":"openapi-25.json POST /v3/id-verification/wallets/ftn/","href":"/api-reference/digital-id-wallets/ftn"},{"title":"Google Wallet ID Verification API","sidebarTitle":"Google Wallet ID","openapi":"openapi-25.json POST /v3/id-verification/wallets/google-wallet/","href":"/api-reference/digital-id-wallets/google-wallet"},{"title":"MitID personal Verification API","sidebarTitle":"MitID personal","openapi":"openapi-25.json POST /v3/id-verification/wallets/mitid/","href":"/api-reference/digital-id-wallets/mitid"},{"title":"Mobile-ID Verification API","sidebarTitle":"Mobile-ID","openapi":"openapi-25.json POST /v3/id-verification/wallets/mobile-id/","href":"/api-reference/digital-id-wallets/mobile-id"},{"title":"Smart-ID Verification API","sidebarTitle":"Smart-ID","openapi":"openapi-25.json POST /v3/id-verification/wallets/smart-id/","href":"/api-reference/digital-id-wallets/smart-id"},{"title":"iDIN full identification Verification API","sidebarTitle":"iDIN full identification","openapi":"openapi-25.json POST /v3/id-verification/wallets/idin/","href":"/api-reference/digital-id-wallets/idin"},{"title":"Auðkenni Verification API","sidebarTitle":"Auðkenni","openapi":"openapi-25.json POST /v3/id-verification/wallets/audkenni/","href":"/api-reference/digital-id-wallets/audkenni"},{"title":"BankID Norway Verification API","sidebarTitle":"BankID Norway","openapi":"openapi-25.json POST /v3/id-verification/wallets/bankid-no/","href":"/api-reference/digital-id-wallets/bankid-no"},{"title":"Buypass ID Verification API","sidebarTitle":"Buypass ID","openapi":"openapi-25.json POST /v3/id-verification/wallets/buypass/","href":"/api-reference/digital-id-wallets/buypass"},{"title":"ConnectID Verification API","sidebarTitle":"ConnectID","openapi":"openapi-25.json POST /v3/id-verification/wallets/connectid/","href":"/api-reference/digital-id-wallets/connectid"},{"title":"Diia Verification API","sidebarTitle":"Diia","openapi":"openapi-25.json POST /v3/id-verification/wallets/diia/","href":"/api-reference/digital-id-wallets/diia"},{"title":"EUDI Wallet Verification API","sidebarTitle":"EUDI Wallet","openapi":"openapi-25.json POST /v3/id-verification/wallets/eudi/","href":"/api-reference/digital-id-wallets/eudi"},{"title":"Estonian ID-card Verification API","sidebarTitle":"Estonian ID-card","openapi":"openapi-25.json POST /v3/id-verification/wallets/idcard-ee/","href":"/api-reference/digital-id-wallets/idcard-ee"},{"title":"FranceConnect Verification API","sidebarTitle":"FranceConnect","openapi":"openapi-25.json POST /v3/id-verification/wallets/franceconnect/","href":"/api-reference/digital-id-wallets/franceconnect"},{"title":"Freja eID Verification API","sidebarTitle":"Freja eID","openapi":"openapi-25.json POST /v3/id-verification/wallets/frejaid/","href":"/api-reference/digital-id-wallets/frejaid"},{"title":"GOV.UK Wallet Verification API","sidebarTitle":"GOV.UK Wallet","openapi":"openapi-25.json POST /v3/id-verification/wallets/govuk-wallet/","href":"/api-reference/digital-id-wallets/govuk-wallet"},{"title":"MojeID Verification API","sidebarTitle":"MojeID","openapi":"openapi-25.json POST /v3/id-verification/wallets/mojeid/","href":"/api-reference/digital-id-wallets/mojeid"},{"title":"OneID Verification API","sidebarTitle":"OneID","openapi":"openapi-25.json POST /v3/id-verification/wallets/oneid/","href":"/api-reference/digital-id-wallets/oneid"},{"title":"Personalausweis Profile 2 Verification API","sidebarTitle":"Personalausweis Profile 2","openapi":"openapi-25.json POST /v3/id-verification/wallets/personalausweis/","href":"/api-reference/digital-id-wallets/personalausweis"},{"title":"UAE PASS Verification API","sidebarTitle":"UAE PASS","openapi":"openapi-25.json POST /v3/id-verification/wallets/uae-pass/","href":"/api-reference/digital-id-wallets/uae-pass"},{"title":"Vipps Plus Verification API","sidebarTitle":"Vipps Plus","openapi":"openapi-25.json POST /v3/id-verification/wallets/vipps/","href":"/api-reference/digital-id-wallets/vipps"},{"title":"eParaksts mobile Verification API","sidebarTitle":"eParaksts mobile","openapi":"openapi-25.json POST /v3/id-verification/wallets/eparaksts-mobile/","href":"/api-reference/digital-id-wallets/eparaksts-mobile"},{"title":"gov.br Verification API","sidebarTitle":"gov.br","openapi":"openapi-25.json POST /v3/id-verification/wallets/govbr/","href":"/api-reference/digital-id-wallets/govbr"},{"title":"itsme Verification API","sidebarTitle":"itsme","openapi":"openapi-25.json POST /v3/id-verification/wallets/itsme/","href":"/api-reference/digital-id-wallets/itsme"}]},{"title":"Get Digital ID Wallet Verification Result","sidebarTitle":"Get wallet verification","openapi":"openapi-25.json GET /v3/id-verification/wallets/verifications/{request_id}/","href":"/standalone-apis/digital-id-wallet-result"},{"title":"Submit a Digital Credentials Wallet Response","sidebarTitle":"Submit wallet response","openapi":"openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/response/","href":"/standalone-apis/digital-id-wallet-response"},{"title":"Poll Smart-ID and Mobile-ID Authentication","sidebarTitle":"Poll wallet verification","openapi":"openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/poll/","href":"/standalone-apis/digital-id-wallet-poll"},{"title":"Cancel Digital ID Wallet Verification","sidebarTitle":"Cancel wallet verification","openapi":"openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/cancel/","href":"/standalone-apis/digital-id-wallet-cancel"}]},{"group":"Document AI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/document-ai.svg","pages":[{"title":"Document AI API: Custom Document Data Extraction","sidebarTitle":"Document AI API","openapi":"openapi-25.json POST /v3/document-ai/","href":"/standalone-apis/document-ai"}]},{"group":"Database Validation API","pages":[{"title":"Database Validation API: National ID Match","sidebarTitle":"Database Validation API","openapi":"openapi-25.json POST /v3/database-validation/","href":"/standalone-apis/database-validation"}]},{"group":"Database Validation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/driver-2.svg","pages":[{"group":"🇦🇷 Argentina","pages":[{"title":"Argentina - DNI data verification API: Data Match","sidebarTitle":"Argentina - DNI data verification (RENAPER, no selfie)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/argentina/renaper-data"},{"title":"Argentina - DNI verification (RENAPER) API","sidebarTitle":"Argentina - DNI verification (RENAPER)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/argentina/renaper"},{"title":"Argentina Citizens (AFIP) Verification API","sidebarTitle":"Argentina Citizens (AFIP)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/argentina/citizens"},{"title":"Argentina Credit Bureau Verification API: ID Match","sidebarTitle":"Argentina Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/argentina/credit-bureau"}]},{"group":"🇦🇺 Australia","pages":[{"title":"Australia - DVS - Birth Certificate Verification API","sidebarTitle":"Australia - DVS - Birth Certificate","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/birth-certificate"},{"title":"Australia - DVS - Centrelink Card Verification API","sidebarTitle":"Australia - DVS - Centrelink Card","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/centrelink-card"},{"title":"Australia - DVS - ImmiCard Verification API","sidebarTitle":"Australia - DVS - ImmiCard","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/immicard"},{"title":"Australia - DVS - Travel Document Verification API","sidebarTitle":"Australia - DVS - Travel Document","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/travel-document"},{"title":"Australia - DVS – Change of Name Certificate API","sidebarTitle":"Australia - DVS – Change of Name Certificate","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/change-of-name-certificate"},{"title":"Australia - DVS – Citizenship Certificate API","sidebarTitle":"Australia - DVS – Citizenship Certificate","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/citizenship-certificate"},{"title":"Australia - DVS – Marriage Certificate API","sidebarTitle":"Australia - DVS – Marriage Certificate","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/marriage-certificate"},{"title":"Australia Credit Bureau Verification API: ID Match","sidebarTitle":"Australia Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/credit-bureau"},{"title":"Australia Death Check (BDM) API: Real-Time Lookup","sidebarTitle":"Australia Death Check (BDM)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/death-check"},{"title":"Australia Electoral Roll Verification API: ID Match","sidebarTitle":"Australia Electoral Roll","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/electoral-roll"},{"title":"Australia Superannuation \u0026 Payroll Verification API","sidebarTitle":"Australia Superannuation \u0026 Payroll","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/superannuation-payroll"},{"title":"Australia VEVO Verification API: Real-Time Lookup","sidebarTitle":"Australia VEVO","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/vevo"},{"title":"DVS - Australia Driver Licence Verification API","sidebarTitle":"DVS - Australia Driver Licence","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/driver-licence"},{"title":"DVS - Australia Medicare Card Verification API","sidebarTitle":"DVS - Australia Medicare Card","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/medicare-card"},{"title":"DVS - Australia Passport Verification API: ID Match","sidebarTitle":"DVS - Australia Passport","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/passport"},{"title":"DVS - Australia Visa Verification API: Data Match","sidebarTitle":"DVS - Australia Visa","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/australia/visa"}]},{"group":"🇦🇹 Austria","pages":[{"title":"Austria Credit Bureau Verification API: Data Match","sidebarTitle":"Austria Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/austria/credit-bureau"}]},{"group":"🇧🇴 Bolivia","pages":[{"title":"Bolivia - CI verification API: Real-Time ID Lookup","sidebarTitle":"Bolivia - CI verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/bolivia/cedula"}]},{"group":"🇧🇷 Brazil","pages":[{"title":"BRA - Unico IDCloud (CPF + selfie) Verification API","sidebarTitle":"BRA - Unico IDCloud (CPF + selfie)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/unico-idcloud"},{"title":"Brazil - CNH QR code + face match (Datavalid) API","sidebarTitle":"Brazil - CNH QR code + face match (Datavalid)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/cnh-facial-qrcode"},{"title":"Brazil - CPF + face match (Datavalid) API: ID Match","sidebarTitle":"Brazil - CPF + face match (Datavalid)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/cpf-facial"},{"title":"Brazil - CPF status check API: Real-Time ID Lookup","sidebarTitle":"Brazil - CPF status check","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/cpf"},{"title":"Brazil - Company Partners and Directors (QSA) API","sidebarTitle":"Brazil - Company Partners and Directors (QSA)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/company-directors"},{"title":"Brazil - Company Registry Lookup (CNPJ) API","sidebarTitle":"Brazil - Company Registry Lookup (CNPJ)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/company-registry"},{"title":"Brazil - Death Check (CPF) API: Real-Time ID Lookup","sidebarTitle":"Brazil - Death Check (CPF)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/death-check"},{"title":"Brazil - Federal Criminal Record Verification API","sidebarTitle":"Brazil - Federal Criminal Record (Polícia Federal)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/antecedentes-criminais-pf"},{"title":"Brazil Residential Verification API: Identity Match","sidebarTitle":"Brazil Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/residential"},{"title":"Brazil Tax Registration (CPF/CNPJ) Verification API","sidebarTitle":"Brazil Tax Registration (CPF/CNPJ)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/brazil/tax-registration"}]},{"group":"🇰🇭 Cambodia","pages":[{"title":"Cambodia National ID Verification API: Data Match","sidebarTitle":"Cambodia National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/cambodia/national-id"}]},{"group":"🇨🇦 Canada","pages":[{"title":"Canada Credit Bureau (FINTRAC) Verification API","sidebarTitle":"Canada Credit Bureau (FINTRAC)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/canada/credit-bureau-fintrac"},{"title":"Canada Credit Bureau 2 (Non-FINTRAC) API: ID Match","sidebarTitle":"Canada Credit Bureau 2 (Non-FINTRAC)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/canada/credit-bureau-2-non-fintrac"},{"title":"Canada Residential Verification API: Identity Match","sidebarTitle":"Canada Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/canada/residential"}]},{"group":"🇨🇱 Chile","pages":[{"title":"Chile - RUT verification API: Real-Time ID Lookup","sidebarTitle":"Chile - RUT verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/chile/rut"}]},{"group":"🇨🇳 China","pages":[{"title":"China Bank Card Verification API: Real-Time Lookup","sidebarTitle":"China Bank Card","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/china/bank-card"},{"title":"China National ID Verification API: Identity Lookup","sidebarTitle":"China National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/china/national-id"},{"title":"China Passport Verification API: Real-Time Lookup","sidebarTitle":"China Passport Verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/china/passport-verification"},{"title":"China Phone Verification API: Real-Time ID Lookup","sidebarTitle":"China Phone","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/china/phone"}]},{"group":"🇨🇴 Colombia","pages":[{"title":"Colombia - Cédula verification API: Identity Lookup","sidebarTitle":"Colombia - Cédula verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/colombia/cedula"},{"title":"Colombia - Migración Colombia foreigner status API","sidebarTitle":"Colombia - Migración Colombia foreigner status","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/colombia/migracion"}]},{"group":"🇨🇷 Costa Rica","pages":[{"title":"Costa Rica - Cédula verification API: Data Match","sidebarTitle":"Costa Rica - Cédula verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/costa-rica/cedula"}]},{"group":"🇩🇰 Denmark","pages":[{"title":"Denmark Consumer 2 Verification API: Identity Match","sidebarTitle":"Denmark Consumer 2","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/denmark/consumer-2"},{"title":"Denmark National ID Verification API: Data Match","sidebarTitle":"Denmark National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/denmark/national-id"}]},{"group":"🇩🇴 Dominican Republic","pages":[{"title":"Dominican Republic - Cédula verification API","sidebarTitle":"Dominican Republic - Cédula verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/dominican-republic/cedula"}]},{"group":"🇪🇨 Ecuador","pages":[{"title":"Ecuador - Cédula verification API: Real-Time Lookup","sidebarTitle":"Ecuador - Cédula verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/ecuador/cedula"}]},{"group":"🇸🇻 El Salvador","pages":[{"title":"El Salvador - DUI verification API: Identity Lookup","sidebarTitle":"El Salvador - DUI verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/el-salvador/dui"}]},{"group":"🇫🇮 Finland","pages":[{"title":"Finland Consumer 2 Verification API: Identity Match","sidebarTitle":"Finland Consumer 2","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/finland/consumer-2"},{"title":"Finland National ID Verification API: Data Match","sidebarTitle":"Finland National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/finland/national-id"}]},{"group":"🇫🇷 France","pages":[{"title":"France Phone Verification API: Real-Time ID Lookup","sidebarTitle":"France Phone","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/france/phone"},{"title":"France Residential Verification API: Identity Match","sidebarTitle":"France Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/france/residential"},{"title":"France Utility Verification API: Real-Time Lookup","sidebarTitle":"France Utility","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/france/utility"}]},{"group":"🇩🇪 Germany","pages":[{"title":"Germany Credit Bureau Verification API: Data Match","sidebarTitle":"Germany Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/germany/credit-bureau"},{"title":"Germany Phone 2 Verification API: Real-Time Lookup","sidebarTitle":"Germany Phone 2","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/germany/phone-2"}]},{"group":"🌐 Global","pages":[{"title":"Global - Core Intelligence Service Verification API","sidebarTitle":"Global - Core Intelligence Service","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/global/intelligence-service"},{"title":"Global - Sim Swap Verification API: Telco Match","sidebarTitle":"Global - Sim Swap","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/global/swap"}]},{"group":"🇬🇹 Guatemala","pages":[{"title":"Guatemala - DPI + face match (RENAP) API: ID Match","sidebarTitle":"Guatemala - DPI + face match (RENAP)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/guatemala/dpi-facial"},{"title":"Guatemala - DPI verification API: Real-Time Lookup","sidebarTitle":"Guatemala - DPI verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/guatemala/dpi"}]},{"group":"🇭🇳 Honduras","pages":[{"title":"Honduras - DNI verification API: Real-Time Lookup","sidebarTitle":"Honduras - DNI verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/honduras/dni"}]},{"group":"🇮🇳 India","pages":[{"title":"India Aadhaar (UIDAI) Verification API: Data Match","sidebarTitle":"India Aadhaar (UIDAI)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/india/aadhaar"},{"title":"India Drivers Licence (RTO) Verification API","sidebarTitle":"India Drivers Licence (RTO)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/india/drivers-licence"},{"title":"India EPIC (Voter's Registration) (ECI) API","sidebarTitle":"India EPIC (Voter's Registration) (ECI)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/india/epic-voter-s-registration"},{"title":"India PAN (Permanent Account Number) (ITD) API","sidebarTitle":"India PAN (Permanent Account Number) (ITD)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/india/pan-permanent-account-number"}]},{"group":"🇮🇩 Indonesia","pages":[{"title":"Indonesia Residential Identity Card Verification API","sidebarTitle":"Indonesia Residential Identity Card","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/indonesia/residential-identity-card"}]},{"group":"🇮🇹 Italy","pages":[{"title":"Italy Credit Bureau Verification API: Header Match","sidebarTitle":"Italy Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/italy/credit-bureau"},{"title":"Italy Residential Verification API: Identity Lookup","sidebarTitle":"Italy Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/italy/residential"}]},{"group":"🇰🇪 Kenya","pages":[{"title":"Kenya National ID Verification API: Identity Lookup","sidebarTitle":"Kenya National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/kenya/national-id"}]},{"group":"🇲🇾 Malaysia","pages":[{"title":"Malaysia National ID Verification API: Data Match","sidebarTitle":"Malaysia National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/malaysia/national-id"}]},{"group":"🇲🇽 Mexico","pages":[{"title":"Mexico - CURP verification API: Real-Time ID Lookup","sidebarTitle":"Mexico - CURP verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/mexico/curp"},{"title":"Mexico - INE credential validity verification API","sidebarTitle":"Mexico - INE credential validity verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/mexico/ine-vigencia"}]},{"group":"🇳🇱 Netherlands","pages":[{"title":"Netherlands Residential Verification API: ID Match","sidebarTitle":"Netherlands Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/netherlands/residential"}]},{"group":"🇳🇿 New Zealand","pages":[{"title":"DIA - New Zealand Births Verification API: ID Match","sidebarTitle":"DIA - New Zealand Births","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/new-zealand/births"},{"title":"DIA - New Zealand Citizenship Verification API","sidebarTitle":"DIA - New Zealand Citizenship","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/new-zealand/citizenship"},{"title":"DIA - New Zealand Passport Verification API","sidebarTitle":"DIA - New Zealand Passport","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/new-zealand/passport"},{"title":"New Zealand Death Check (BDM) API: Real-Time Lookup","sidebarTitle":"New Zealand Death Check (BDM)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/new-zealand/death-check"},{"title":"New Zealand Drivers Licence (NZTA) Verification API","sidebarTitle":"New Zealand Drivers Licence (NZTA)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/new-zealand/drivers-licence"}]},{"group":"🇳🇬 Nigeria","pages":[{"title":"Nigeria Bank Verification Number (BVN) API","sidebarTitle":"Nigeria Bank Verification Number (BVN)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/nigeria/bank-verification-number"},{"title":"Nigeria Driver's Licence (FRSC) Verification API","sidebarTitle":"Nigeria Driver's Licence (FRSC)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/nigeria/drivers-license"},{"title":"Nigeria International Passport (NIS) API: ID Match","sidebarTitle":"Nigeria International Passport (NIS)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/nigeria/passport"},{"title":"Nigeria National ID (NIMC) Verification API","sidebarTitle":"Nigeria National ID (NIMC)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/nigeria/national-id"},{"title":"Nigeria National ID + Selfie (NIMC) Verification API","sidebarTitle":"Nigeria National ID + Selfie (NIMC)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/nigeria/national-id-facial"}]},{"group":"🇳🇴 Norway","pages":[{"title":"Norway Residential Verification API: Identity Match","sidebarTitle":"Norway Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/norway/residential"}]},{"group":"🇵🇦 Panama","pages":[{"title":"Panama - Cédula with biometric face-match API","sidebarTitle":"Panama - Cédula with biometric face-match (SIB Plus, elevated tier)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/panama/sib-plus"},{"title":"Panama - Cédula with biometric face-match (SIB) API","sidebarTitle":"Panama - Cédula with biometric face-match (SIB)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/panama/sib"}]},{"group":"🇵🇾 Paraguay","pages":[{"title":"Paraguay - CI verification API: Real-Time ID Lookup","sidebarTitle":"Paraguay - CI verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/paraguay/cedula"}]},{"group":"🇵🇪 Peru","pages":[{"title":"Peru - DNI verification API: Real-Time ID Lookup","sidebarTitle":"Peru - DNI verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/peru/dni"},{"title":"Peru Tax Registration (SUNAT) Verification API","sidebarTitle":"Peru Tax Registration (SUNAT)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/peru/tax-registration"}]},{"group":"🇵🇭 Philippines","pages":[{"title":"Philippines Residential Verification API: ID Match","sidebarTitle":"Philippines Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/philippines/residential"}]},{"group":"🇸🇬 Singapore","pages":[{"title":"Singapore Credit Bureau Verification API: ID Match","sidebarTitle":"Singapore Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/singapore/credit-bureau"},{"title":"Singapore Utility Verification API: Identity Lookup","sidebarTitle":"Singapore Utility","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/singapore/utility"}]},{"group":"🇿🇦 South Africa","pages":[{"title":"South Africa - Bank Account Holder Verification API","sidebarTitle":"South Africa - Bank Account Holder Verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/bank-account-holder"},{"title":"South Africa - Company Directors Lookup API","sidebarTitle":"South Africa - Company Directors Lookup","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/company-directors"},{"title":"South Africa - Company Registry Lookup API","sidebarTitle":"South Africa - Company Registry Lookup","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/company-registry"},{"title":"South Africa - Contactability Lookup API: ID Match","sidebarTitle":"South Africa - Contactability Lookup","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/contactability"},{"title":"South Africa - Criminal Screening by Face API","sidebarTitle":"South Africa - Criminal Screening by Face","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/criminal-face-screening"},{"title":"South Africa - DHA Fingerprint Match API: ID Match","sidebarTitle":"South Africa - DHA Fingerprint Match","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/dha-fingerprint-match"},{"title":"South Africa - DHA Photo Retrieval Verification API","sidebarTitle":"South Africa - DHA Photo Retrieval","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/dha-photo"},{"title":"South Africa - Driving License Verification API","sidebarTitle":"South Africa - Driving License Verification","href":"/api-reference/database-validation/south-africa/drivers-license"},{"title":"South Africa - Fraud Prevention Screening API","sidebarTitle":"South Africa - Fraud Prevention Screening","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/fraud-prevention"},{"title":"South Africa - Person Directorships Lookup API","sidebarTitle":"South Africa - Person Directorships Lookup","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/person-directorships"},{"title":"South Africa - Refugee File Verification API","sidebarTitle":"South Africa - Refugee File Verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/refugee"},{"title":"South Africa - Vehicle Ownership Verification API","sidebarTitle":"South Africa - Vehicle Ownership Verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/vehicle-ownership"},{"title":"South Africa National ID (DHA) Verification API","sidebarTitle":"South Africa National ID (DHA)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/south-africa/national-id"}]},{"group":"🇪🇸 Spain","pages":[{"title":"Spain - DNI/NIE verification API: Real-Time Lookup","sidebarTitle":"Spain - DNI/NIE verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/spain/dni"}]},{"group":"🇸🇪 Sweden","pages":[{"title":"Sweden National ID Verification API: Identity Match","sidebarTitle":"Sweden National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/sweden/national-id"},{"title":"Sweden Phone Verification API: Real-Time ID Lookup","sidebarTitle":"Sweden Phone","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/sweden/phone"}]},{"group":"🇨🇭 Switzerland","pages":[{"title":"Switzerland Credit Bureau Verification API","sidebarTitle":"Switzerland Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/switzerland/credit-bureau"}]},{"group":"🇹🇭 Thailand","pages":[{"title":"Thailand National ID Verification API: Data Match","sidebarTitle":"Thailand National ID","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/thailand/national-id"}]},{"group":"🇬🇧 United Kingdom","pages":[{"title":"United Kingdom Credit Bureau Verification API","sidebarTitle":"United Kingdom Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-kingdom/credit-bureau"},{"title":"United Kingdom Financial Services Verification API","sidebarTitle":"United Kingdom Financial Services","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-kingdom/financial-services"},{"title":"United Kingdom Phone 2 Verification API: Data Match","sidebarTitle":"United Kingdom Phone 2","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-kingdom/phone-2"},{"title":"United Kingdom Residential Verification API","sidebarTitle":"United Kingdom Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-kingdom/residential"}]},{"group":"🇺🇸 United States","pages":[{"title":"United States - Driver's License (DMV) API","sidebarTitle":"United States - Driver's License (DMV)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-states/driver-license-dmv"},{"title":"United States Credit Bureau Verification API","sidebarTitle":"United States of America - United States Credit Bureau","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-states/credit-bureau"},{"title":"United States Death Check (SSDMF) API: Data Match","sidebarTitle":"United States of America - United States Death Check (SSDMF)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-states/death-check"},{"title":"United States Financial Services Verification API","sidebarTitle":"United States of America - United States Financial Services","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-states/financial-services"},{"title":"United States Phone 2 Verification API: Data Match","sidebarTitle":"United States of America - United States Phone 2","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-states/phone-2"},{"title":"United States Residential Verification API","sidebarTitle":"United States of America - United States Residential","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/united-states/residential"}]},{"group":"🇺🇾 Uruguay","pages":[{"title":"Uruguay - CI verification API: Real-Time ID Lookup","sidebarTitle":"Uruguay - CI verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/uruguay/cedula"}]},{"group":"🇻🇪 Venezuela","pages":[{"title":"Venezuela - Cédula verification API: Identity Match","sidebarTitle":"Venezuela - Cédula verification","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/venezuela/cedula"}]},{"group":"🌐 Zambia","pages":[{"title":"Zambia NRC (tax register) Verification API","sidebarTitle":"Zambia NRC (tax register)","api":"POST /v3/database-validation/","href":"/api-reference/database-validation/zambia/national-id"}]}]},{"group":"Biometrics \u0026 Face","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/liveness.svg","pages":[{"title":"Passive Liveness API: Deepfake Detection","sidebarTitle":"Passive Liveness","openapi":"openapi-25.json POST /v3/passive-liveness/","href":"/standalone-apis/passive-liveness"},{"title":"Face Match API: 1:1 Face Comparison","sidebarTitle":"Face Match","openapi":"openapi-25.json POST /v3/face-match/","href":"/standalone-apis/face-match"},{"title":"Face Search API: 1:N Facial Dedup \u0026 Fraud Rings","sidebarTitle":"Face Search","openapi":"openapi-25.json POST /v3/face-search/","href":"/standalone-apis/face-search"},{"title":"Age Estimation API: Selfie-Based Age Verification","sidebarTitle":"Age Estimation API","openapi":"openapi-25.json POST /v3/age-estimation/","href":"/standalone-apis/age-estimation"}]},{"group":"Compliance \u0026 Risk","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/aml-screening.svg","pages":[{"title":"AML Screening API: Sanctions, PEP \u0026 Watchlists","sidebarTitle":"AML Screening API","openapi":"openapi-25.json POST /v3/aml/","href":"/standalone-apis/aml-screening"},{"title":"AML Dataset Freshness API","sidebarTitle":"Get AML Dataset Freshness","openapi":"openapi-25.json GET /v3/aml/dataset-freshness/","href":"/standalone-apis/aml-dataset-freshness"},{"title":"Fraud Check API","openapi":"openapi-25.json POST /v3/fraud/checks/","href":"/standalone-apis/fraud-check"},{"title":"Plan a Fraud Check","openapi":"openapi-25.json POST /v3/fraud/checks/plan/","href":"/standalone-apis/fraud-check-plan"},{"title":"Get a Fraud Check","openapi":"openapi-25.json GET /v3/fraud/checks/{check_id}/","href":"/standalone-apis/fraud-check-result"}]},{"group":"Device \u0026 IP Analysis","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/ip-analysis.svg","pages":[{"title":"IP Risk API: Geo, VPN \u0026 Datacenter Signals","sidebarTitle":"IP Risk API","openapi":"openapi-25.json POST /v3/ip/risk/","href":"/standalone-apis/ip-risk"}]},{"group":"KYB Registry","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/businesses.svg","pages":[{"title":"KYB Registry API: Company Search and Select","sidebarTitle":"Overview","href":"/standalone-apis/kyb-registry"},{"title":"KYB Registry Search API - Company Search","sidebarTitle":"KYB Registry Search","openapi":"openapi-25.json POST /v3/kyb/search/","href":"/standalone-apis/kyb-registry-search"},{"title":"KYB Registry Select API: Retrieve Company Profile","sidebarTitle":"KYB Registry Select","openapi":"openapi-25.json POST /v3/kyb/select/","href":"/standalone-apis/kyb-registry-select"},{"title":"KYB Registry Shareholders API","sidebarTitle":"KYB Registry Shareholders","openapi":"openapi-25.json POST /v3/kyb/shareholders/","href":"/standalone-apis/kyb-registry-shareholders"},{"title":"KYB Registry UBO API: Ultimate Beneficial Owners","sidebarTitle":"KYB Registry UBOs","openapi":"openapi-25.json POST /v3/kyb/ubo/","href":"/standalone-apis/kyb-registry-ubo"}]},{"group":"Email Verification","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sms-tracking.svg","pages":[{"title":"Email Verification API: OTP \u0026 Risk Scoring","sidebarTitle":"Overview","href":"/standalone-apis/email-verification"},{"title":"Send Email OTP API: Email Verification Code","sidebarTitle":"Send Email Code","openapi":"openapi-25.json POST /v3/email/send/","href":"/standalone-apis/email-send"},{"title":"Check Email OTP API: Validate Email Code","sidebarTitle":"Check Email Code","openapi":"openapi-25.json POST /v3/email/check/","href":"/standalone-apis/email-check"},{"title":"Email Risk API: Deliverability \u0026 Breach Signals","sidebarTitle":"Email Risk API","openapi":"openapi-25.json POST /v3/email/risk/","href":"/standalone-apis/email-risk"}]},{"group":"Phone Verification","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/phone-verification.svg","pages":[{"title":"Phone Verification API: SMS OTP \u0026 Risk Signals","sidebarTitle":"Overview","href":"/standalone-apis/phone-verification"},{"title":"Send Phone OTP API: SMS Verification Code","sidebarTitle":"Send Phone Code","openapi":"openapi-25.json POST /v3/phone/send/","href":"/standalone-apis/phone-send"},{"title":"Check Phone OTP API: Validate SMS Code","sidebarTitle":"Check Phone Code","openapi":"openapi-25.json POST /v3/phone/check/","href":"/standalone-apis/phone-check"},{"title":"Phone Risk API: Carrier \u0026 Fraud Signals","sidebarTitle":"Phone Risk API","openapi":"openapi-25.json POST /v3/phone/risk/","href":"/standalone-apis/phone-risk"}]},{"group":"Bank Verification","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/billing.svg","pages":[{"title":"Account Check API: Verify a Payout Bank Account","sidebarTitle":"Account Check API","openapi":"openapi-25.json POST /v3/bank/account-check/","href":"/standalone-apis/bank-account-check"}]}]},{"tab":"User Verification","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"User Verification","href":"/core-technology/liveness/overview"}]},{"tab":"Business Verification","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/business-verifications.svg","pages":[{"title":"Business Verification","href":"/business-verification/overview"}]},{"tab":"Transaction Monitoring","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Transaction Monitoring","href":"/transaction-monitoring/overview"}]},{"tab":"Changelog","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/calendar.svg","pages":[{"title":"Changelog","href":"/changelog"}]}],"global":{"anchors":[{"anchor":"API Reference","icon":"code","href":"/api-reference/overview"},{"anchor":"Business Console","icon":"gauge","href":"https://business.didit.me"},{"anchor":"OpenAPI Spec","icon":"file-code","href":"https://docs.didit.me/openapi-25.json"},{"anchor":"Integration Prompt","icon":"wand-magic-sparkles","href":"/integration/integration-prompt"},{"anchor":"MCP Server","icon":"plug","href":"/integration/mcp/overview"},{"anchor":"Agent Skills","icon":"robot","href":"https://github.com/didit-protocol/skills"}]}},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"pages":[{"title":"es","href":"/es/sessions-api/create-session"}]},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"pages":[{"title":"pt-BR","href":"/pt-br/sessions-api/create-session"}]},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"pages":[{"title":"ja","href":"/ja/sessions-api/create-session"}]},{"language":"de","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Anmelden","href":"https://business.didit.me"}},"pages":[{"title":"de","href":"/de/sessions-api/create-session"}]},{"language":"fr","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Assistance"},{"icon":"signal","href":"https://status.didit.me","label":"Statut"}],"primary":{"type":"button","label":"Se connecter","href":"https://business.didit.me"}},"pages":[{"title":"fr","href":"/fr/sessions-api/create-session"}]},{"language":"it","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Supporto"},{"icon":"signal","href":"https://status.didit.me","label":"Stato"}],"primary":{"type":"button","label":"Accedi","href":"https://business.didit.me"}},"pages":[{"title":"it","href":"/it/sessions-api/create-session"}]},{"language":"pt","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sessão","href":"https://business.didit.me"}},"pages":[{"title":"pt","href":"/pt/sessions-api/create-session"}]},{"language":"ca","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suport"},{"icon":"signal","href":"https://status.didit.me","label":"Estat"}],"primary":{"type":"button","label":"Inicia la sessió","href":"https://business.didit.me"}},"pages":[{"title":"ca","href":"/ca/sessions-api/create-session"}]},{"language":"id","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Dukungan"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Masuk","href":"https://business.didit.me"}},"pages":[{"title":"id","href":"/id/sessions-api/create-session"}]},{"language":"ru","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Поддержка"},{"icon":"signal","href":"https://status.didit.me","label":"Статус"}],"primary":{"type":"button","label":"Вход","href":"https://business.didit.me"}},"pages":[{"title":"ru","href":"/ru/sessions-api/create-session"}]},{"language":"ko","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"지원"},{"icon":"signal","href":"https://status.didit.me","label":"상태"}],"primary":{"type":"button","label":"로그인","href":"https://business.didit.me"}},"pages":[{"title":"ko","href":"/ko/sessions-api/create-session"}]},{"language":"zh","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"支持"},{"icon":"signal","href":"https://status.didit.me","label":"状态"}],"primary":{"type":"button","label":"登录","href":"https://business.didit.me"}},"pages":[{"title":"zh","href":"/zh/sessions-api/create-session"}]},{"language":"ar","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"الدعم"},{"icon":"signal","href":"https://status.didit.me","label":"الحالة"}],"primary":{"type":"button","label":"تسجيل الدخول","href":"https://business.didit.me"}},"pages":[{"title":"ar","href":"/ar/sessions-api/create-session"}]},{"language":"hi","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"सहायता"},{"icon":"signal","href":"https://status.didit.me","label":"स्थिति"}],"primary":{"type":"button","label":"साइन इन करें","href":"https://business.didit.me"}},"pages":[{"title":"hi","href":"/hi/sessions-api/create-session"}]}]},"basePath":"","title":"Create Session API: Start KYC or KYB Verification - Didit Docs","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DDP9JXtj.js","utils-8yQyvEtx.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CBCFR8Sn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-rQaXkUHa.js","snippetPresets-J5KpBTgV.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BVxVH4Cj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BxdQ2vIi.js","shallow-BjV2tFiD.js","getApiPlaygroundDisplay-C_55tL4O.js","CodeSnippet-C0JpiCOC.js","CodeSnippets-w9Ps7djG.js","Page-DTNSD-0M.js","getPastedJson-BDfB-H8d.js","icon-g-kUkkO9.js","MethodPill-v4l6fq0h.js","DuplicateIcon-CvLo-CfU.js","createIcon-165clrrV.js","DynamicMarkdown-D3RQ-fEj.js","SectionHeading-vvo-3yLf.js","axios-vUo_bRtp.js","Markdown-CMT1uFWQ.js","clsx-C8f2yC9R.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CI2D8R2Y.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-k78Wrw_e.js"]}