Accepts an application API key or a dashboard session. profile_id is REQUIRED (missing/empty -> 400 idv_profile_id_required; malformed -> 400 idv_profile_id_invalid): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 idv_profile_not_found, a profile-service lookup failure -> 503 idv_profile_lookup_unavailable (fail closed). Returns the session plus a one-time session_token (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped idempotency_key makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.
REQUIRED. The Minerva customer/profile object id this verification belongs to (missing/empty -> 400 idv_profile_id_required; bad shape -> 400 idv_profile_id_invalid). The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 idv_profile_not_found, a profile-service lookup failure -> 503 idv_profile_lookup_unavailable (fail closed). The id is stored, scoped, and indexed, and every profile-scoped query is always tenant+workspace bounded.
Explicit flow-step manifest. Order is the canonical flow order. At most one liveness and one id_capture step; step_id and document_id values are unique, with at most five documents total. Mutually exclusive with workflow.
Workflow OBJECT reference (idvw_...). Mutually exclusive with BOTH workflow and steps (400 when combined). Must resolve within the caller's tenant/workspace (404 otherwise; missing and out-of-scope are indistinguishable). Steps + branding are COPIED onto the session at create; later workflow edits never mutate it. When ALL manifest sources are omitted, the scope's DEFAULT workflow applies (falling back to the liveness_and_id preset).
Optional caller-generated retry key, unique within the authenticated tenant/workspace. A replay with the same profile, workflow source, and normalized full-create fingerprint returns the original session; reuse for a different request returns 409 idv_session_idempotency_conflict. The key is internal persistence metadata and is never included in a session response.
Versioned bounded overrides available only to applications entitled to them. Applied after the workflow/default manifest and policy are resolved and copied. This surface cannot remove/reorder steps or change consent, liveness, documents, retention, theme, or assessment controls.
One-time end-user capture token. Returned only for the first keyed create; an idempotent replay returns an empty string because the original token cannot be recovered or safely rotated.
{"docsConfig":{"theme":"mint","$schema":"https://hub.gominerva.com/docs.json","name":"Minerva Docs","colors":{"primary":"#4e26b1","light":"#beb7fb","dark":"#271362"},"logo":{"light":"https://mintcdn.com/minerva-557aeab7/42KvxtYHwgz1q8RK/logo/minerva-dark.svg?fit=max\u0026auto=format\u0026n=42KvxtYHwgz1q8RK\u0026q=85\u0026s=b6ef1ed1a0b7ff7df81fdbb1c2ac0db4","dark":"https://mintcdn.com/minerva-557aeab7/42KvxtYHwgz1q8RK/logo/minerva-light.svg?fit=max\u0026auto=format\u0026n=42KvxtYHwgz1q8RK\u0026q=85\u0026s=986049de4dbc27a2e833d88aaff85c3c"},"favicon":"https://mintcdn.com/minerva-557aeab7/42KvxtYHwgz1q8RK/favicon.svg?fit=max\u0026auto=format\u0026n=42KvxtYHwgz1q8RK\u0026q=85\u0026s=313cf5bf970aa85c301aadfb9dda68b2","navbar":{"primary":{"type":"button","label":"Go to Minerva App","href":"https://app.gominerva.com"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/gominerva"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Support","icon":"headset","href":"mailto:support@gominerva.com"},{"anchor":"Trust Page","icon":"shield","href":"https://app.conveyor.com/profile/gominerva"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"minerva-557aeab7","hasAudioNarration":false,"actualSubdomain":"minerva-557aeab7","customDomains":["docs.gominerva.com"],"gitSource":{"type":"gitlab","owner":"minervaai/interfaces","repo":"minerva-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":74271980,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3e28bde222de6f181f6bc","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":184},{"language":"default","tag":"Admin Actions - Endpoints","count":64},{"language":"default","tag":"Agent Risk Assessments - Endpoints","count":44},{"language":"default","tag":"Identity Verification - Endpoints","count":42},{"language":"default","tag":"Knowledge Hub","count":32},{"language":"default","tag":"Custom Lists","count":29},{"language":"default","tag":"User Guides","count":19},{"language":"default","tag":"Agent Runtime","count":14},{"language":"default","tag":"Themes","count":14},{"language":"default","tag":"API Documentation","count":13}]},"assistantConfig":{},"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":"llms-txt-v2","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/sessions/create-an-idv-session","slug":"/api-reference/sessions/create-an-idv-session","pageMetadata":{"title":"Create an IDV session","description":"Accepts an application API key or a dashboard session. `profile_id` is REQUIRED (missing/empty -> 400 `idv_profile_id_required`; malformed -> 400 `idv_profile_id_invalid`): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 `idv_profile_not_found`, a profile-service lookup failure -> 503 `idv_profile_lookup_unavailable` (fail closed). Returns the session plus a one-time `session_token` (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped `idempotency_key` makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\n","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions","href":"/api-reference/sessions/create-an-idv-session","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Accepts an application API key or a dashboard session. \", _jsx(_components.code, {\n children: \"profile_id\"\n }), \" is REQUIRED (missing/empty -> 400 \", _jsx(_components.code, {\n children: \"idv_profile_id_required\"\n }), \"; malformed -> 400 \", _jsx(_components.code, {\n children: \"idv_profile_id_invalid\"\n }), \"): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 \", _jsx(_components.code, {\n children: \"idv_profile_not_found\"\n }), \", a profile-service lookup failure -> 503 \", _jsx(_components.code, {\n children: \"idv_profile_lookup_unavailable\"\n }), \" (fail closed). Returns the session plus a one-time \", _jsx(_components.code, {\n children: \"session_token\"\n }), \" (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped \", _jsx(_components.code, {\n children: \"idempotency_key\"\n }), \" makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create an IDV session","description":"Accepts an application API key or a dashboard session. `profile_id` is REQUIRED (missing/empty -> 400 `idv_profile_id_required`; malformed -> 400 `idv_profile_id_invalid`): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 `idv_profile_not_found`, a profile-service lookup failure -> 503 `idv_profile_lookup_unavailable` (fail closed). Returns the session plus a one-time `session_token` (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped `idempotency_key` makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\n","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions","href":"/api-reference/sessions/create-an-idv-session","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["sessions"],"summary":"Create an IDV session","description":"Accepts an application API key or a dashboard session. `profile_id` is REQUIRED (missing/empty -> 400 `idv_profile_id_required`; malformed -> 400 `idv_profile_id_invalid`): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 `idv_profile_not_found`, a profile-service lookup failure -> 503 `idv_profile_lookup_unavailable` (fail closed). Returns the session plus a one-time `session_token` (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped `idempotency_key` makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\n","security":["8930fb84-72d5-4c12-856f-484d9c3109e2","8c5b902a-d2a2-4c23-9be0-b824a8eca7e5"],"requestBody":"2ec0624c-6e14-44af-b665-606e6b282ef2","responses":{"201":"bab5167a-503b-4cdf-9df0-2881af773ced","400":"3f40cde8-9b3f-417b-9117-d10fc98e10bd","401":"b75f3da8-b483-40ca-b9a0-d89e41821a4e","403":"d809c240-05fa-4283-8969-289bbf6af289","404":"ede8d765-dfd1-47f5-b854-85c64e1f0cc7","409":"26a72fea-b500-440f-b307-230379b297e7","503":"cc820e96-bd84-448f-a7f2-7779eeb58001"},"method":"post","type":"path","servers":["2d270158-b0b4-4a7f-a4ee-f351d95099b6"],"path":"/sessions","baseUrlOptions":["https://api.gominerva.com/idv/v1"],"title":"Create an IDV session","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["profile_id"],"properties":{"profile_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$","description":"REQUIRED. The Minerva customer/profile object id this verification belongs to (missing/empty -> 400 `idv_profile_id_required`; bad shape -> 400 `idv_profile_id_invalid`). The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 `idv_profile_not_found`, a profile-service lookup failure -> 503 `idv_profile_lookup_unavailable` (fail closed). The id is stored, scoped, and indexed, and every profile-scoped query is always tenant+workspace bounded.\n","isRequired":true,"uniqueKey":"profile_id","typeLabel":"string"},"tenant_id":{"type":"string","description":"Ignored/overwritten when an application principal is resolved.","uniqueKey":"tenant_id","typeLabel":"string"},"workspace_id":{"type":"string","description":"Ignored/overwritten when an application principal is resolved.","uniqueKey":"workspace_id","typeLabel":"string"},"subject_reference":{"type":"string","description":"Encrypted at rest; never echoed.","uniqueKey":"subject_reference","typeLabel":"string"},"retention_policy_id":{"type":"string","uniqueKey":"retention_policy_id","typeLabel":"string"},"workflow":{"type":"string","description":"Mutually exclusive with `steps` (both present -> 400).","default":"liveness_and_id","enum":["liveness_and_id","liveness_only","id_only"],"uniqueKey":"workflow","typeLabel":"enum\u003cstring>"},"steps":{"type":"array","minItems":1,"maxItems":10,"description":"Explicit flow-step manifest. Order is the canonical flow order. At most one liveness and one id_capture step; step_id and document_id values are unique, with at most five documents total. Mutually exclusive with `workflow`.\n","items":{"type":"object","additionalProperties":false,"required":["step_id","type"],"properties":{"step_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Unique per session.","isRequired":true,"uniqueKey":"steps.items.[INDEX].step_id","typeLabel":"string"},"type":{"type":"string","description":"Step types accepted by new session/workflow writes.","enum":["liveness","id_capture","questionnaire","document_upload"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","default":true,"description":"false => the consumer may skip the step.","uniqueKey":"steps.items.[INDEX].required","typeLabel":"boolean"},"title":{"type":"string","minLength":1,"maxLength":200,"description":"Optional display override.","uniqueKey":"steps.items.[INDEX].title","typeLabel":"string"},"config":{"type":"object","additionalProperties":false,"description":"Type-specific configuration accepted on new writes.\n","properties":{"accepted_id_types":{"type":"array","maxItems":20,"description":"id_capture only; empty/omitted accepts supported types.","items":{"oneOf":[{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","enum":["driver_license","government_id","health_card","passport","national_id","permanent_resident_card","residence_permit","other"],"uniqueKey":"steps.items.[INDEX].config.accepted_id_types.items.[INDEX].oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","pattern":"^[a-z0-9_-]{1,64}$","uniqueKey":"steps.items.[INDEX].config.accepted_id_types.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"steps.items.[INDEX].config.accepted_id_types.items.[INDEX]","typeLabel":"enum\u003cstring> | string"},"uniqueKey":"steps.items.[INDEX].config.accepted_id_types","typeLabel":"(enum\u003cstring> | string)[]"},"custom_id_types":{"type":"array","maxItems":20,"description":"id_capture only; workflow-local document categories.","items":{"type":"object","required":["id_type","label","sides"],"properties":{"id_type":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Workflow-local id type identifier. Must not match a built-in ID type or `unknown`; accepted_id_types can reference it only within the same id_capture step.\n","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.custom_id_types.items.[INDEX].id_type","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable document type label shown to applicants and reviewers.","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.custom_id_types.items.[INDEX].label","typeLabel":"string"},"sides":{"type":"string","enum":["one_sided","two_sided"],"description":"Capture side requirement when the custom type is declared.","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.custom_id_types.items.[INDEX].sides","typeLabel":"enum\u003cstring>"},"description":{"type":"string","maxLength":1000,"description":"Optional workflow-admin guidance describing the ID, authenticity requirements, and specific details reviewers or the assessment agent should inspect for this custom type.\n","uniqueKey":"steps.items.[INDEX].config.custom_id_types.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"steps.items.[INDEX].config.custom_id_types.items.[INDEX]","typeLabel":"object"},"uniqueKey":"steps.items.[INDEX].config.custom_id_types","typeLabel":"object[]"},"sides":{"type":"string","description":"auto adapts to the declared document type; one_sided never demands id_back.","enum":["auto","two_sided","one_sided"],"default":"auto","uniqueKey":"steps.items.[INDEX].config.sides","typeLabel":"enum\u003cstring>"},"questions":{"type":"array","minItems":1,"maxItems":50,"description":"questionnaire only.","items":{"type":"object","required":["question_id","label","type"],"properties":{"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Unique within the step.","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].question_id","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].label","typeLabel":"string"},"type":{"type":"string","enum":["text","textarea","select","multi_select","date","country","boolean"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","default":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].required","typeLabel":"boolean"},"required_when":{"type":"object","description":"Mutually exclusive with required=true; required defaults to false when this field is present.","required":["question_id","equals"],"properties":{"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].required_when.question_id","typeLabel":"string"},"equals":{"type":"boolean","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].required_when.equals","typeLabel":"boolean"}},"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].required_when","typeLabel":"object"},"visible_when":{"type":"object","description":"Shows this otherwise-optional question only when the earlier, always-shown and required boolean question has the specified value. Mutually exclusive with required=true. If required_when is also present, both fields must contain the same condition.\n","required":["question_id","equals"],"properties":{"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].visible_when.question_id","typeLabel":"string"},"equals":{"type":"boolean","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].visible_when.equals","typeLabel":"boolean"}},"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].visible_when","typeLabel":"object"},"options":{"type":"array","maxItems":50,"description":"Required for select/multi_select; forbidden otherwise.","items":{"type":"object","required":["value","label"],"properties":{"value":{"type":"string","minLength":1,"maxLength":128,"isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].options.items.[INDEX].value","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"}},"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].options","typeLabel":"object[]"},"response_fields":{"type":"array","minItems":1,"maxItems":10,"description":"Text/textarea only. Field IDs must be unique and at least one field must be required. Omitted on scalar questions.\n","items":{"type":"object","required":["field_id","label"],"properties":{"field_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].field_id","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":200,"description":"Trimmed field label.","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].label","typeLabel":"string"},"required":{"type":"boolean","default":true,"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].required","typeLabel":"boolean"},"answer_type":{"type":"string","enum":["text","date","number"],"description":"Optional. Omission is preserved in stored and returned manifests. Omission and text inherit the parent text/textarea presentation. Every answer cell remains a JSON string, trimmed with the existing ECMAScript whitespace rules. Date requires ASCII YYYY-MM-DD with a valid Gregorian date in years 0001-9999, without a time or timezone. Number requires ASCII -?(0|[1-9][0-9]*)(\\.[0-9]+)? and preserves its sign, precision, zero and trailing zeros without numeric conversion. Exponents, leading plus signs, grouping separators and nonfinite values are invalid. Optional empty cells remain optional.\n","uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].answer_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].response_fields","typeLabel":"object[]"},"allow_additional_responses":{"type":"boolean","default":false,"description":"Requires response_fields. Allows the recipient to add or remove response rows.","uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].allow_additional_responses","typeLabel":"boolean"},"max_response_rows":{"type":"integer","minimum":1,"maximum":20,"description":"Fixed groups use 1; repeatable groups use 2-20 (default 20).","uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX].max_response_rows","typeLabel":"integer"}},"uniqueKey":"steps.items.[INDEX].config.questions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"steps.items.[INDEX].config.questions","typeLabel":"object[]"},"documents":{"type":"array","minItems":1,"maxItems":5,"description":"document_upload only; document_id values are unique across the workflow.","items":{"type":"object","required":["document_id","label"],"properties":{"document_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Unique within the full workflow.","isRequired":true,"uniqueKey":"steps.items.[INDEX].config.documents.items.[INDEX].document_id","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"uniqueKey":"steps.items.[INDEX].config.documents.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","maxLength":1000,"uniqueKey":"steps.items.[INDEX].config.documents.items.[INDEX].description","typeLabel":"string"},"accepted_content_types":{"type":"array","minItems":1,"maxItems":4,"uniqueItems":true,"description":"Defaults to [application/pdf, image/jpeg, image/png] when omitted.","items":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp"],"uniqueKey":"steps.items.[INDEX].config.documents.items.[INDEX].accepted_content_types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"steps.items.[INDEX].config.documents.items.[INDEX].accepted_content_types","typeLabel":"enum\u003cstring>[]"},"required":{"type":"boolean","default":true,"uniqueKey":"steps.items.[INDEX].config.documents.items.[INDEX].required","typeLabel":"boolean"}},"uniqueKey":"steps.items.[INDEX].config.documents.items.[INDEX]","typeLabel":"object"},"uniqueKey":"steps.items.[INDEX].config.documents","typeLabel":"object[]"}},"uniqueKey":"steps.items.[INDEX].config","typeLabel":"object"},"visible_when":{"type":"object","description":"Show this step only when an earlier boolean answer matches. Workflow writes require the `conditional_steps_v1` editor capability.\n","required":["step_id","question_id","equals"],"properties":{"step_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"steps.items.[INDEX].visible_when.step_id","typeLabel":"string"},"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"steps.items.[INDEX].visible_when.question_id","typeLabel":"string"},"equals":{"type":"boolean","isRequired":true,"uniqueKey":"steps.items.[INDEX].visible_when.equals","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"steps.items.[INDEX].visible_when","typeLabel":"object"}},"uniqueKey":"steps.items.[INDEX]","typeLabel":"object"},"uniqueKey":"steps","typeLabel":"object[]"},"workflow_id":{"type":"string","description":"Workflow OBJECT reference (idvw_...). Mutually exclusive with BOTH `workflow` and `steps` (400 when combined). Must resolve within the caller's tenant/workspace (404 otherwise; missing and out-of-scope are indistinguishable). Steps + branding are COPIED onto the session at create; later workflow edits never mutate it. When ALL manifest sources are omitted, the scope's DEFAULT workflow applies (falling back to the liveness_and_id preset).\n","uniqueKey":"workflow_id","typeLabel":"string"},"idempotency_key":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$","description":"Optional caller-generated retry key, unique within the authenticated tenant/workspace. A replay with the same profile, workflow source, and normalized full-create fingerprint returns the original session; reuse for a different request returns 409 `idv_session_idempotency_conflict`. The key is internal persistence metadata and is never included in a session response.\n","uniqueKey":"idempotency_key","typeLabel":"string"},"session_overrides":{"oneOf":[{"type":"object","description":"Versioned bounded overrides available only to applications entitled to them. Applied after the workflow/default manifest and policy are resolved and copied. This surface cannot remove/reorder steps or change consent, liveness, documents, retention, theme, or assessment controls.\n","required":["version","id_capture"],"properties":{"version":{"type":"integer","enum":[1],"isRequired":true,"uniqueKey":"session_overrides.oneOf.0.version","typeLabel":"enum\u003cinteger>"},"id_capture":{"type":"object","additionalProperties":false,"required":["accepted_id_types"],"properties":{"accepted_id_types":{"type":"array","minItems":1,"maxItems":16,"uniqueItems":true,"items":{"oneOf":[{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","enum":["driver_license","government_id","health_card","passport","national_id","permanent_resident_card","residence_permit","other"],"uniqueKey":"session_overrides.oneOf.0.id_capture.accepted_id_types.items.[INDEX].oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","pattern":"^[a-z0-9_-]{1,64}$","uniqueKey":"session_overrides.oneOf.0.id_capture.accepted_id_types.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"session_overrides.oneOf.0.id_capture.accepted_id_types.items.[INDEX]","typeLabel":"enum\u003cstring> | string"},"description":"Subset of the resolved copied id_capture step's built-in and custom types. General multi-type subsets remain selectable.\n","isRequired":true,"uniqueKey":"session_overrides.oneOf.0.id_capture.accepted_id_types","typeLabel":"(enum\u003cstring> | string)[]"},"preselected_id_type":{"oneOf":[{"type":"string","description":"Allowed only when accepted_id_types contains exactly this one value. The session records it as the user-selected declared document and derives one/two-sided capture at create.\n","enum":["driver_license","government_id","health_card","passport","national_id","permanent_resident_card","residence_permit","other"],"uniqueKey":"session_overrides.oneOf.0.id_capture.preselected_id_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Allowed only when accepted_id_types contains exactly this one value. The session records it as the user-selected declared document and derives one/two-sided capture at create.\n","pattern":"^[a-z0-9_-]{1,64}$","uniqueKey":"session_overrides.oneOf.0.id_capture.preselected_id_type.oneOf.1","typeLabel":"string"}],"uniqueKey":"session_overrides.oneOf.0.id_capture.preselected_id_type","typeLabel":"enum\u003cstring> | string"}},"isRequired":true,"uniqueKey":"session_overrides.oneOf.0.id_capture","typeLabel":"object"},"completion":{"oneOf":[{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["close_tab"],"isRequired":true,"uniqueKey":"session_overrides.oneOf.0.completion.oneOf.0.action","typeLabel":"enum\u003cstring>"},"return_url":{"type":"string","format":"uri","maxLength":2048,"description":"Required for return_link and optional as a close_tab fallback. The exact full URL must appear inside the authenticated application's entitlement. HTTPS only outside positive local loopback; userinfo/query/fragment forbidden.\n","uniqueKey":"session_overrides.oneOf.0.completion.oneOf.0.return_url","typeLabel":"string\u003curi>"}},"additionalProperties":false,"uniqueKey":"session_overrides.oneOf.0.completion.oneOf.0","typeLabel":"object"},{"type":"object","required":["action","return_url"],"properties":{"action":{"type":"string","enum":["return_link"],"isRequired":true,"uniqueKey":"session_overrides.oneOf.0.completion.oneOf.1.action","typeLabel":"enum\u003cstring>"},"return_url":{"type":"string","format":"uri","maxLength":2048,"description":"Required for return_link and optional as a close_tab fallback. The exact full URL must appear inside the authenticated application's entitlement. HTTPS only outside positive local loopback; userinfo/query/fragment forbidden.\n","isRequired":true,"uniqueKey":"session_overrides.oneOf.0.completion.oneOf.1.return_url","typeLabel":"string\u003curi>"}},"additionalProperties":false,"uniqueKey":"session_overrides.oneOf.0.completion.oneOf.1","typeLabel":"object"}],"uniqueKey":"session_overrides.oneOf.0.completion","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"session_overrides.oneOf.0","typeLabel":"object"},{"type":"object","description":"Versioned bounded overrides available only to applications entitled to them. Applied after the workflow/default manifest and policy are resolved and copied. This surface cannot remove/reorder steps or change consent, liveness, documents, retention, theme, or assessment controls.\n","required":["version","completion"],"properties":{"version":{"type":"integer","enum":[1],"isRequired":true,"uniqueKey":"session_overrides.oneOf.1.version","typeLabel":"enum\u003cinteger>"},"completion":{"oneOf":[{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["close_tab"],"isRequired":true,"uniqueKey":"session_overrides.oneOf.1.completion.oneOf.0.action","typeLabel":"enum\u003cstring>"},"return_url":{"type":"string","format":"uri","maxLength":2048,"description":"Required for return_link and optional as a close_tab fallback. The exact full URL must appear inside the authenticated application's entitlement. HTTPS only outside positive local loopback; userinfo/query/fragment forbidden.\n","uniqueKey":"session_overrides.oneOf.1.completion.oneOf.0.return_url","typeLabel":"string\u003curi>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"session_overrides.oneOf.1.completion.oneOf.0","typeLabel":"object"},{"type":"object","required":["action","return_url"],"properties":{"action":{"type":"string","enum":["return_link"],"isRequired":true,"uniqueKey":"session_overrides.oneOf.1.completion.oneOf.1.action","typeLabel":"enum\u003cstring>"},"return_url":{"type":"string","format":"uri","maxLength":2048,"description":"Required for return_link and optional as a close_tab fallback. The exact full URL must appear inside the authenticated application's entitlement. HTTPS only outside positive local loopback; userinfo/query/fragment forbidden.\n","isRequired":true,"uniqueKey":"session_overrides.oneOf.1.completion.oneOf.1.return_url","typeLabel":"string\u003curi>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"session_overrides.oneOf.1.completion.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"session_overrides.oneOf.1.completion","typeLabel":"object"},"id_capture":{"type":"object","additionalProperties":false,"required":["accepted_id_types"],"properties":{"accepted_id_types":{"type":"array","minItems":1,"maxItems":16,"uniqueItems":true,"items":{"oneOf":[{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","enum":["driver_license","government_id","health_card","passport","national_id","permanent_resident_card","residence_permit","other"],"uniqueKey":"session_overrides.oneOf.1.id_capture.accepted_id_types.items.[INDEX].oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","pattern":"^[a-z0-9_-]{1,64}$","uniqueKey":"session_overrides.oneOf.1.id_capture.accepted_id_types.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"session_overrides.oneOf.1.id_capture.accepted_id_types.items.[INDEX]","typeLabel":"enum\u003cstring> | string"},"description":"Subset of the resolved copied id_capture step's built-in and custom types. General multi-type subsets remain selectable.\n","isRequired":true,"uniqueKey":"session_overrides.oneOf.1.id_capture.accepted_id_types","typeLabel":"(enum\u003cstring> | string)[]"},"preselected_id_type":{"oneOf":[{"type":"string","description":"Allowed only when accepted_id_types contains exactly this one value. The session records it as the user-selected declared document and derives one/two-sided capture at create.\n","enum":["driver_license","government_id","health_card","passport","national_id","permanent_resident_card","residence_permit","other"],"uniqueKey":"session_overrides.oneOf.1.id_capture.preselected_id_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Allowed only when accepted_id_types contains exactly this one value. The session records it as the user-selected declared document and derives one/two-sided capture at create.\n","pattern":"^[a-z0-9_-]{1,64}$","uniqueKey":"session_overrides.oneOf.1.id_capture.preselected_id_type.oneOf.1","typeLabel":"string"}],"uniqueKey":"session_overrides.oneOf.1.id_capture.preselected_id_type","typeLabel":"enum\u003cstring> | string"}},"uniqueKey":"session_overrides.oneOf.1.id_capture","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"session_overrides.oneOf.1","typeLabel":"object"}],"uniqueKey":"session_overrides","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"profile_id":"\u003cstring>","tenant_id":"\u003cstring>","workspace_id":"\u003cstring>","subject_reference":"\u003cstring>","retention_policy_id":"\u003cstring>","workflow":"liveness_and_id","steps":[{"step_id":"\u003cstring>","required":true,"title":"\u003cstring>","config":{"accepted_id_types":[],"custom_id_types":[{"id_type":"\u003cstring>","label":"\u003cstring>","description":"\u003cstring>"}],"sides":"auto","questions":[{"question_id":"\u003cstring>","label":"\u003cstring>","required":true,"options":[{"value":"\u003cstring>","label":"\u003cstring>"}],"response_fields":[{"field_id":"\u003cstring>","label":"\u003cstring>","required":true}],"allow_additional_responses":false,"max_response_rows":10}],"documents":[{"document_id":"\u003cstring>","label":"\u003cstring>","description":"\u003cstring>","accepted_content_types":[],"required":true}]}}],"workflow_id":"\u003cstring>","idempotency_key":"\u003cstring>","session_overrides":{"version":1,"id_capture":{"accepted_id_types":[]},"completion":{"action":"close_tab","return_url":"\u003cstring>"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"bab5167a-503b-4cdf-9df0-2881af773ced":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data","session_token","token_expires_at"],"properties":{"data":{"type":"object","description":"Reviewer-safe session projection (management planes).","required":["id","tenant_id","workspace_id","status","artifacts","capture_manifest","step_manifest","created_at","updated_at","delete_after"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.id","typeLabel":"string"},"tenant_id":{"type":"string","isRequired":true,"uniqueKey":"data.tenant_id","typeLabel":"string"},"workspace_id":{"type":"string","isRequired":true,"uniqueKey":"data.workspace_id","typeLabel":"string"},"status":{"type":"string","description":"FLOW axis only since the status split: assessment outcomes live on `review_status` (the gate's recommendation stays on the assessment block) and `assessed` replaces the legacy conflated approved/rejected/requires_review terminal statuses. Terminal flow states are assessed, failed, canceled, deleted.\n","enum":["collecting_artifacts","ready_for_assessment","queued","assessing","assessed","failed","canceled","deleted"],"isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"capture_manifest":{"type":"object","required":["workflow","required_kinds"],"properties":{"workflow":{"type":"string","description":"Derived legacy label on responses. Custom step manifests that match a preset's capture shape reuse the preset label; capture-free manifests are labeled `custom`.\n","enum":["liveness_and_id","liveness_only","id_only","custom"],"isRequired":true,"uniqueKey":"data.capture_manifest.workflow","typeLabel":"enum\u003cstring>"},"required_kinds":{"type":"array","description":"Derived from the liveness/id_capture steps: skipped optional capture steps and not-applicable conditional steps contribute nothing, and a declared one-sided document type (passport, sides=auto) drops id_back. Management (application-plane and dashboard) responses always include the kinds of conditional capture steps and ignore skips and declared document types on them, so they never reveal a conditional step's controller answer; token-plane responses reflect applicability, skips and declarations.\n","items":{"type":"string","enum":["liveness_front","liveness_left","liveness_right","id_front","id_back"],"uniqueKey":"data.capture_manifest.required_kinds.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"data.capture_manifest.required_kinds","typeLabel":"enum\u003cstring>[]"}},"isRequired":true,"uniqueKey":"data.capture_manifest","typeLabel":"object"},"step_manifest":{"type":"object","description":"The resolved, persisted step manifest (canonical order; config echoed).","required":["steps"],"properties":{"steps":{"type":"array","items":{"type":"object","required":["step_id","type"],"properties":{"step_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Unique per session.","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].step_id","typeLabel":"string"},"type":{"type":"string","enum":["liveness","id_capture","questionnaire","document_upload"],"isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","default":true,"description":"false => the consumer may skip the step.","uniqueKey":"data.step_manifest.steps.items.[INDEX].required","typeLabel":"boolean"},"title":{"type":"string","minLength":1,"maxLength":200,"description":"Optional display override.","uniqueKey":"data.step_manifest.steps.items.[INDEX].title","typeLabel":"string"},"config":{"type":"object","description":"Type-specific step config. Only the fields for the step type are allowed.","properties":{"accepted_id_types":{"type":"array","maxItems":20,"description":"id_capture only. Empty/omitted = any supported built-in type plus any custom_id_types configured on the same step.\n","items":{"oneOf":[{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","enum":["driver_license","government_id","health_card","passport","national_id","permanent_resident_card","residence_permit","other"],"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.accepted_id_types.items.[INDEX].oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Id types a consumer can declare or configure in accepted_id_types. Built-ins are listed explicitly; workflow-local custom ids must be defined in the id_capture step's custom_id_types. `unknown` is an inference outcome, not declarable. `passport` is the one-sided built-in type - declaring it drops id_back when sides=auto.\n","pattern":"^[a-z0-9_-]{1,64}$","uniqueKey":"data.step_manifest.steps.items.[INDEX].config.accepted_id_types.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.accepted_id_types.items.[INDEX]","typeLabel":"enum\u003cstring> | string"},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.accepted_id_types","typeLabel":"(enum\u003cstring> | string)[]"},"custom_id_types":{"type":"array","maxItems":20,"description":"id_capture only. Workflow-local document categories that can be referenced from accepted_id_types and declared by the applicant.\n","items":{"type":"object","required":["id_type","label","sides"],"properties":{"id_type":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Workflow-local id type identifier. Must not match a built-in ID type or `unknown`; accepted_id_types can reference it only within the same id_capture step.\n","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.custom_id_types.items.[INDEX].id_type","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable document type label shown to applicants and reviewers.","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.custom_id_types.items.[INDEX].label","typeLabel":"string"},"sides":{"type":"string","enum":["one_sided","two_sided"],"description":"Capture side requirement when the custom type is declared.","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.custom_id_types.items.[INDEX].sides","typeLabel":"enum\u003cstring>"},"description":{"type":"string","maxLength":1000,"description":"Optional workflow-admin guidance describing the ID, authenticity requirements, and specific details reviewers or the assessment agent should inspect for this custom type.\n","uniqueKey":"data.step_manifest.steps.items.[INDEX].config.custom_id_types.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.custom_id_types.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.custom_id_types","typeLabel":"object[]"},"sides":{"type":"string","description":"auto adapts to the declared document type; one_sided never demands id_back.","enum":["auto","two_sided","one_sided"],"default":"auto","uniqueKey":"data.step_manifest.steps.items.[INDEX].config.sides","typeLabel":"enum\u003cstring>"},"questions":{"type":"array","minItems":1,"maxItems":50,"description":"questionnaire only.","items":{"type":"object","required":["question_id","label","type"],"properties":{"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Unique within the step.","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].question_id","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":500,"isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].label","typeLabel":"string"},"type":{"type":"string","enum":["text","textarea","select","multi_select","date","country","boolean"],"isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"required":{"type":"boolean","default":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].required","typeLabel":"boolean"},"required_when":{"type":"object","description":"Mutually exclusive with required=true; required defaults to false when this field is present.","required":["question_id","equals"],"properties":{"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].required_when.question_id","typeLabel":"string"},"equals":{"type":"boolean","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].required_when.equals","typeLabel":"boolean"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].required_when","typeLabel":"object"},"visible_when":{"type":"object","description":"Shows this otherwise-optional question only when the earlier, always-shown and required boolean question has the specified value. Mutually exclusive with required=true. If required_when is also present, both fields must contain the same condition.\n","required":["question_id","equals"],"properties":{"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].visible_when.question_id","typeLabel":"string"},"equals":{"type":"boolean","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].visible_when.equals","typeLabel":"boolean"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].visible_when","typeLabel":"object"},"options":{"type":"array","maxItems":50,"description":"Required for select/multi_select; forbidden otherwise.","items":{"type":"object","required":["value","label"],"properties":{"value":{"type":"string","minLength":1,"maxLength":128,"isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].options.items.[INDEX].value","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].options","typeLabel":"object[]"},"response_fields":{"type":"array","minItems":1,"maxItems":10,"description":"Text/textarea only. Field IDs must be unique and at least one field must be required. Omitted on scalar questions.\n","items":{"type":"object","required":["field_id","label"],"properties":{"field_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].field_id","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":200,"description":"Trimmed field label.","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].label","typeLabel":"string"},"required":{"type":"boolean","default":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].required","typeLabel":"boolean"},"answer_type":{"type":"string","enum":["text","date","number"],"description":"Optional. Omission is preserved in stored and returned manifests. Omission and text inherit the parent text/textarea presentation. Every answer cell remains a JSON string, trimmed with the existing ECMAScript whitespace rules. Date requires ASCII YYYY-MM-DD with a valid Gregorian date in years 0001-9999, without a time or timezone. Number requires ASCII -?(0|[1-9][0-9]*)(\\.[0-9]+)? and preserves its sign, precision, zero and trailing zeros without numeric conversion. Exponents, leading plus signs, grouping separators and nonfinite values are invalid. Optional empty cells remain optional.\n","uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX].answer_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].response_fields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].response_fields","typeLabel":"object[]"},"allow_additional_responses":{"type":"boolean","default":false,"description":"Requires response_fields. Allows the recipient to add or remove response rows.","uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].allow_additional_responses","typeLabel":"boolean"},"max_response_rows":{"type":"integer","minimum":1,"maximum":20,"description":"Fixed groups use 1; repeatable groups use 2-20 (default 20).","uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX].max_response_rows","typeLabel":"integer"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.questions","typeLabel":"object[]"},"documents":{"type":"array","minItems":1,"maxItems":5,"description":"document_upload only; the full workflow supports at most five documents.","items":{"type":"object","required":["document_id","label"],"properties":{"document_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","description":"Unique within the full workflow.","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents.items.[INDEX].document_id","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","maxLength":1000,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents.items.[INDEX].description","typeLabel":"string"},"accepted_content_types":{"type":"array","minItems":1,"maxItems":4,"uniqueItems":true,"description":"Defaults to [application/pdf, image/jpeg, image/png] when omitted.","items":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp"],"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents.items.[INDEX].accepted_content_types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents.items.[INDEX].accepted_content_types","typeLabel":"enum\u003cstring>[]"},"required":{"type":"boolean","default":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents.items.[INDEX].required","typeLabel":"boolean"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config.documents","typeLabel":"object[]"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX].config","typeLabel":"object"},"visible_when":{"type":"object","description":"Omitted for unconditional steps.","required":["step_id","question_id","equals"],"properties":{"step_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].visible_when.step_id","typeLabel":"string"},"question_id":{"type":"string","pattern":"^[a-z0-9_-]{1,64}$","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].visible_when.question_id","typeLabel":"string"},"equals":{"type":"boolean","isRequired":true,"uniqueKey":"data.step_manifest.steps.items.[INDEX].visible_when.equals","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"data.step_manifest.steps.items.[INDEX].visible_when","typeLabel":"object"}},"uniqueKey":"data.step_manifest.steps.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.step_manifest.steps","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.step_manifest","typeLabel":"object"},"artifacts":{"type":"array","items":{"type":"object","description":"No bucket/key/checksum/encryption metadata. `reserved_at` and `uploaded_at` are management-plane only; the capture-token/invite projection omits them. Legacy artifacts may not have `uploaded_at`.\n","required":["artifact_id","kind","status"],"properties":{"artifact_id":{"type":"string","isRequired":true,"uniqueKey":"data.artifacts.items.[INDEX].artifact_id","typeLabel":"string"},"kind":{"type":"string","description":"Camera capture kinds plus workflow-authorized supporting documents.\n","enum":["liveness_front","liveness_left","liveness_right","id_front","id_back","document"],"isRequired":true,"uniqueKey":"data.artifacts.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["reserved","uploaded","superseded","deleted"],"isRequired":true,"uniqueKey":"data.artifacts.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"document_id":{"type":"string","description":"Present only for kind `document` - the manifest document fulfilled.","uniqueKey":"data.artifacts.items.[INDEX].document_id","typeLabel":"string"},"upload_reference":{"type":"string","uniqueKey":"data.artifacts.items.[INDEX].upload_reference","typeLabel":"string"},"content_type":{"type":"string","uniqueKey":"data.artifacts.items.[INDEX].content_type","typeLabel":"string"},"expires_at":{"type":"string","format":"date-time","uniqueKey":"data.artifacts.items.[INDEX].expires_at","typeLabel":"string\u003cdate-time>"},"delete_after":{"type":"string","format":"date-time","uniqueKey":"data.artifacts.items.[INDEX].delete_after","typeLabel":"string\u003cdate-time>"},"reserved_at":{"type":"string","format":"date-time","description":"Upload-slot reservation time; not evidence that capture completed.","uniqueKey":"data.artifacts.items.[INDEX].reserved_at","typeLabel":"string\u003cdate-time>"},"uploaded_at":{"type":"string","format":"date-time","description":"Stable first successful object-upload completion time.","uniqueKey":"data.artifacts.items.[INDEX].uploaded_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data.artifacts.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.artifacts","typeLabel":"object[]"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"},"delete_after":{"type":"string","format":"date-time","description":"Due timestamp of the PII component. Kept under its original name: every pre-split reader treats this as the sensitive-field purge date. Anchored at create; never empty.\n","isRequired":true,"uniqueKey":"data.delete_after","typeLabel":"string\u003cdate-time>"},"creator_application_id":{"type":"string","description":"Application principal that created the session. Hosted application auth uses the authenticated application id; explicit local/static principals use their synthetic id. Never accepted in CreateSessionRequest, and omitted for legacy and dashboard-created rows. MANAGEMENT planes only.\n","uniqueKey":"data.creator_application_id","typeLabel":"string"},"profile_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$","description":"Minerva profile object id the session belongs to (REQUIRED at create). MANAGEMENT planes only: the consumer/token plane never sees it. TRUST BOUNDARY: the id is verified against the Minerva profiles service at create: a missing profile -> 400 `idv_profile_not_found`, a profile-service lookup failure -> 503 `idv_profile_lookup_unavailable`; the id is stored, scoped, and indexed, and every profile-scoped query is always tenant+workspace bounded, so a wrong id can never leak across tenants.\n","uniqueKey":"data.profile_id","typeLabel":"string"},"external_id":{"type":"string","minLength":1,"description":"Customer-supplied external reference of the linked profile (`externalId` in the Minerva profiles service, for example a CRM id), captured once at session create from the same profile lookup that validates the link, so it can be cross-referenced with external systems. Then persisted on the session: read paths never re-fetch it. Opaque and customer-owned, not a Minerva id. Omitted when the profile has no external reference and for legacy sessions. MANAGEMENT planes only: the consumer/token plane never sees it.\n","uniqueKey":"data.external_id","typeLabel":"string"},"review_status":{"type":"string","description":"MANAGEMENT planes only.","enum":["request_sent","pending","requires_review","automatic_pass","escalation","rejected","accepted"],"uniqueKey":"data.review_status","typeLabel":"enum\u003cstring>"},"flag_categories":{"type":"array","description":"Profile-flag categories derived at assessment completion from the fraud-flag taxonomy + quality issues + verdicts; empty for clean automatic passes. MANAGEMENT planes only.\n","items":{"type":"string","enum":["idv","document","questionnaire"],"uniqueKey":"data.flag_categories.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"data.flag_categories","typeLabel":"enum\u003cstring>[]"},"profile_update_enabled":{"type":"boolean","description":"Automatic profile-write opt-in copied from the workflow at create. MANAGEMENT planes only.","uniqueKey":"data.profile_update_enabled","typeLabel":"boolean"},"flag_settings":{"type":"object","description":"Sparse per-code review overrides copied from the workflow at create. MANAGEMENT planes only.","additionalProperties":{"type":"object","properties":{"raise_for_review":{"type":"boolean","uniqueKey":"data.flag_settings.additionalProperties.raise_for_review","typeLabel":"boolean"}},"uniqueKey":"data.flag_settings.additionalProperties","typeLabel":"object"},"uniqueKey":"data.flag_settings","typeLabel":"object"},"privacy_contact_email":{"oneOf":[{"type":"string","description":"Consumer-facing privacy/deletion contact copied from the workflow at create. MANAGEMENT planes only.","format":"email","uniqueKey":"data.privacy_contact_email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"string","description":"Consumer-facing privacy/deletion contact copied from the workflow at create. MANAGEMENT planes only.","maxLength":0,"uniqueKey":"data.privacy_contact_email.oneOf.1","typeLabel":"string"}],"uniqueKey":"data.privacy_contact_email","typeLabel":"string\u003cemail> | string"},"consent_evidence":{"oneOf":[{"type":"object","description":"Explicit consumer consent evidence recorded before capture begins. MANAGEMENT planes only.","required":["accepted","redacted","accepted_at","notice_version","notice_text","notice_digest","tenant_name","privacy_contact_email"],"properties":{"redacted":{"type":"boolean","description":"True after erasure removes notice_text and its substitutions. notice_digest remains the validated receipt of the original text.\n","const":false,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.redacted","typeLabel":"boolean"},"notice_text":{"type":"string","description":"Exact notice text displayed for this consent version when redacted is false; empty after erasure when redacted is true.\n","minLength":1,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.notice_text","typeLabel":"string"},"tenant_name":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.tenant_name","typeLabel":"string"},"privacy_contact_email":{"type":"string","description":"Privacy contact email when redacted is false; empty after erasure when redacted is true.\n","format":"email","minLength":1,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.privacy_contact_email","typeLabel":"string\u003cemail>"},"accepted":{"type":"boolean","const":true,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.accepted","typeLabel":"boolean"},"accepted_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.accepted_at","typeLabel":"string\u003cdate-time>"},"notice_version":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.notice_version","typeLabel":"string"},"notice_digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"SHA-256 receipt of the current exact notice_text bytes when redacted is false. When redacted is true, it remains the receipt of the original pre-erasure notice text while notice_text is empty.\n","isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.0.notice_digest","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"data.consent_evidence.oneOf.0","typeLabel":"object"},{"type":"object","description":"Explicit consumer consent evidence recorded before capture begins. MANAGEMENT planes only.","required":["accepted","redacted","accepted_at","notice_version","notice_text","notice_digest","tenant_name","privacy_contact_email"],"properties":{"redacted":{"type":"boolean","description":"True after erasure removes notice_text and its substitutions. notice_digest remains the validated receipt of the original text.\n","const":true,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.redacted","typeLabel":"boolean"},"notice_text":{"type":"string","description":"Exact notice text displayed for this consent version when redacted is false; empty after erasure when redacted is true.\n","maxLength":0,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.notice_text","typeLabel":"string"},"tenant_name":{"type":"string","maxLength":0,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.tenant_name","typeLabel":"string"},"privacy_contact_email":{"type":"string","description":"Privacy contact email when redacted is false; empty after erasure when redacted is true.\n","maxLength":0,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.privacy_contact_email","typeLabel":"string"},"accepted":{"type":"boolean","const":true,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.accepted","typeLabel":"boolean"},"accepted_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.accepted_at","typeLabel":"string\u003cdate-time>"},"notice_version":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.notice_version","typeLabel":"string"},"notice_digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"SHA-256 receipt of the current exact notice_text bytes when redacted is false. When redacted is true, it remains the receipt of the original pre-erasure notice text while notice_text is empty.\n","isRequired":true,"uniqueKey":"data.consent_evidence.oneOf.1.notice_digest","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"data.consent_evidence.oneOf.1","typeLabel":"object"}],"uniqueKey":"data.consent_evidence","typeLabel":"object"},"review_history":{"type":"array","description":"Append-only human-review trail. MANAGEMENT planes only.","items":{"type":"object","description":"One append-only review or assignment history entry.","required":["status_from","status_to","actor_kind","actor_id","note","at"],"properties":{"status_from":{"type":"string","isRequired":true,"uniqueKey":"data.review_history.items.[INDEX].status_from","typeLabel":"string"},"status_to":{"type":"string","isRequired":true,"uniqueKey":"data.review_history.items.[INDEX].status_to","typeLabel":"string"},"actor_kind":{"type":"string","enum":["application","dashboard_user","service"],"isRequired":true,"uniqueKey":"data.review_history.items.[INDEX].actor_kind","typeLabel":"enum\u003cstring>"},"actor_id":{"type":"string","description":"Application principal id (actor user id when resolved) or the dashboard user id the dashboard authentication service attaches through the workspace-access account block. Empty when neither resolved; the assignment routes refuse a dashboard actor with no resolved id rather than writing an entry attributed to nobody.\n","isRequired":true,"uniqueKey":"data.review_history.items.[INDEX].actor_id","typeLabel":"string"},"note":{"type":"string","maxLength":1000,"isRequired":true,"uniqueKey":"data.review_history.items.[INDEX].note","typeLabel":"string"},"at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.review_history.items.[INDEX].at","typeLabel":"string\u003cdate-time>"},"kind":{"type":"string","description":"Empty for a human review decision. A profile-update event sets `profile_updates_applied` or `profile_updates_failed`; an assignment transition sets `assignment_changed`. Non-decision entries keep status_from == status_to.\n","enum":["","profile_updates_applied","profile_updates_failed","assignment_changed"],"uniqueKey":"data.review_history.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"profile_updates_fields":{"type":"array","description":"Profile field names written or attempted on a profile-update event.","items":{"type":"string","uniqueKey":"data.review_history.items.[INDEX].profile_updates_fields.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.review_history.items.[INDEX].profile_updates_fields","typeLabel":"string[]"},"assignee_user_id_from":{"type":"string","description":"Previous assignee on assignment_changed; empty means unassigned.","uniqueKey":"data.review_history.items.[INDEX].assignee_user_id_from","typeLabel":"string"},"assignee_user_id_to":{"type":"string","description":"New assignee on assignment_changed; empty means unassigned.","uniqueKey":"data.review_history.items.[INDEX].assignee_user_id_to","typeLabel":"string"}},"uniqueKey":"data.review_history.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.review_history","typeLabel":"object[]"},"assignee":{"type":"string","description":"Current assignee user id. MANAGEMENT planes only; omitted when unassigned.","uniqueKey":"data.assignee","typeLabel":"string"},"submitted_at":{"type":"string","description":"First successful submit; empty until then.","uniqueKey":"data.submitted_at","typeLabel":"string"},"reviewed_at":{"type":"string","description":"Most recent human review decision; empty until one lands.","uniqueKey":"data.reviewed_at","typeLabel":"string"},"legal_hold":{"type":"boolean","uniqueKey":"data.legal_hold","typeLabel":"boolean"},"workflow_ref":{"type":"object","description":"Present only when the session was created from a workflow object, and only on MANAGEMENT-plane responses (never on token-plane projections). A create-time snapshot; workflow edits/deletes do not change it.\n","required":["workflow_id","name","revision"],"properties":{"workflow_id":{"type":"string","isRequired":true,"uniqueKey":"data.workflow_ref.workflow_id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.workflow_ref.name","typeLabel":"string"},"revision":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"data.workflow_ref.revision","typeLabel":"integer"}},"uniqueKey":"data.workflow_ref","typeLabel":"object"},"theme_ref":{"type":"object","description":"Present only when a theme resolved at create (workflow theme_id or the active workspace default), and only on MANAGEMENT-plane responses. A create-time snapshot; theme edits/archives/deletes do not change it.\n","required":["theme_id","name","revision"],"properties":{"theme_id":{"type":"string","isRequired":true,"uniqueKey":"data.theme_ref.theme_id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.theme_ref.name","typeLabel":"string"},"revision":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"data.theme_ref.revision","typeLabel":"integer"}},"uniqueKey":"data.theme_ref","typeLabel":"object"},"assessment":{"type":"object","description":"Reviewer-safe assessment (no raw OCR values, no raw model output).","properties":{"status":{"type":"string","description":"FLOW axis only since the status split: assessment outcomes live on `review_status` (the gate's recommendation stays on the assessment block) and `assessed` replaces the legacy conflated approved/rejected/requires_review terminal statuses. Terminal flow states are assessed, failed, canceled, deleted.\n","enum":["collecting_artifacts","ready_for_assessment","queued","assessing","assessed","failed","canceled","deleted"],"uniqueKey":"data.assessment.status","typeLabel":"enum\u003cstring>"},"model_id":{"type":"string","uniqueKey":"data.assessment.model_id","typeLabel":"string"},"inference_profile_id":{"type":"string","uniqueKey":"data.assessment.inference_profile_id","typeLabel":"string"},"prompt_version":{"type":"string","uniqueKey":"data.assessment.prompt_version","typeLabel":"string"},"face_match":{"type":"string","enum":["match","mismatch","inconclusive","not_applicable"],"uniqueKey":"data.assessment.face_match","typeLabel":"enum\u003cstring>"},"face_match_performed":{"type":"boolean","uniqueKey":"data.assessment.face_match_performed","typeLabel":"boolean"},"liveness":{"type":"string","enum":["live","spoof_suspected","inconclusive","requires_review","not_applicable"],"uniqueKey":"data.assessment.liveness","typeLabel":"enum\u003cstring>"},"document_authenticity":{"type":"string","enum":["authentic","tampered","fake","inconclusive","requires_review"],"uniqueKey":"data.assessment.document_authenticity","typeLabel":"enum\u003cstring>"},"document":{"type":"object","description":"Structured jurisdiction metadata (reviewer-safe, non-PII).","required":["id_type","issuing_country","issuing_subdivision"],"properties":{"id_type":{"type":"string","enum":["driver_license","government_id","health_card","passport","national_id","permanent_resident_card","residence_permit","other","unknown"],"isRequired":true,"uniqueKey":"data.assessment.document.id_type","typeLabel":"enum\u003cstring>"},"issuing_country":{"type":"string","description":"ISO 3166-1 alpha-2, or empty if unknown.","example":"US","isRequired":true,"uniqueKey":"data.assessment.document.issuing_country","typeLabel":"string"},"issuing_subdivision":{"type":"string","description":"ISO 3166-2 (e.g. US-CA), only when applicable; empty for passports/national IDs.","example":"US-CA","isRequired":true,"uniqueKey":"data.assessment.document.issuing_subdivision","typeLabel":"string"},"id_type_confidence":{"type":"number","minimum":0,"maximum":1,"uniqueKey":"data.assessment.document.id_type_confidence","typeLabel":"number"},"jurisdiction_confidence":{"type":"number","minimum":0,"maximum":1,"uniqueKey":"data.assessment.document.jurisdiction_confidence","typeLabel":"number"}},"uniqueKey":"data.assessment.document","typeLabel":"object"},"fraud_flags":{"type":"array","items":{"type":"object","required":["code","category","severity","confidence","explanation","rationale","gating","evidence_codes","normalization_reason_codes"],"properties":{"code":{"type":"string","description":"Bounded taxonomy code. For model-assessed profile/document mismatch: the individual-profile field codes profile_name_mismatch (high), profile_dob_mismatch (high), profile_geo_mismatch_major (medium) and profile_geo_mismatch_minor (low, advisory only, never gates); the residual profile_info_mismatch_minor (medium) / profile_info_mismatch_major (high) for other identity fields (sex, nationality); and, for KYB (organization profiles), org_profile_mismatch_minor (medium) / org_profile_mismatch_major (high) sourced from the captured business document (category \"document\"). Each carries a FIXED severity.\n","isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].code","typeLabel":"string"},"category":{"type":"string","enum":["image_quality","presentation_attack","document_tamper","identity_mismatch","ocr_uncertainty","workflow","model_uncertainty","idv","document","questionnaire"],"isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].category","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","enum":["low","medium","high","critical"],"isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"confidence":{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].confidence","typeLabel":"number"},"explanation":{"type":"string","description":"Redacted/derived; not raw model wording.","isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].explanation","typeLabel":"string"},"rationale":{"type":"string","maxLength":300,"description":"Reviewer-facing explanation of the finding (field + nature, e.g. glare region, font anomaly, mismatch character) that never quotes full raw document values. REQUIRED on every emitted flag; a deterministic per-code fallback fills it when the model omits or emits an invalid value.\n","isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].rationale","typeLabel":"string"},"gating":{"type":"boolean","description":"Whether this flag held the session for review under the session's flag_settings. Disabled-code flags are recorded with gating=false and do not hold the session.\n","isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].gating","typeLabel":"boolean"},"evidence_codes":{"type":"array","maxItems":8,"uniqueItems":true,"items":{"type":"string","enum":["laminate_lift_or_reseal","cut_clipped_or_punched_edge","tape_or_rejoined_document","crack_through_security_feature","portrait_or_photo_overlay","text_or_data_overlay","font_or_print_inconsistency","security_feature_inconsistency","front_back_data_conflict","electronic_display_cue","biometric_replay_cue","synthetic_image_cue","face_comparison_conflict","liveness_spoof_cue","ocr_data_conflict","profile_document_comparison","profile_questionnaire_comparison","workflow_policy_conflict","capture_quality_prevents_verification","other_affirmative_signal"],"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].evidence_codes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Allowlisted, PII-free machine codes describing the affirmative evidence behind this flag. Empty on historical and deterministic flags that have no model evidence provenance.\n","isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].evidence_codes","typeLabel":"enum\u003cstring>[]"},"normalization_reason_codes":{"type":"array","maxItems":24,"uniqueItems":true,"items":{"type":"string","enum":["assessment_status_invalid","face_match_invalid","liveness_invalid","document_authenticity_invalid","face_match_applicability_conflict","liveness_applicability_conflict","document_authenticity_applicability_conflict","document_metadata_invalid","reviewer_summary_missing","ocr_field_name_missing","ocr_confidence_invalid","ocr_canonical_fields_repaired","fraud_flag_required_field_missing","fraud_flag_code_invalid","fraud_evidence_scope_invalid","fraud_evidence_scope_missing","fraud_attachment_evidence_invalid","fraud_attachment_evidence_missing","fraud_evidence_codes_missing","fraud_evidence_code_invalid","fraud_severity_invalid","fraud_category_invalid","fraud_confidence_invalid","presentation_output_normalized","document_authenticity_evidence_conflict","quality_issue_output_normalized","holder_appearance_output_normalized"],"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].normalization_reason_codes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Allowlisted, PII-free deterministic repair reasons. Populated only for model_output_schema_violation; empty on all other flags.\n","isRequired":true,"uniqueKey":"data.assessment.fraud_flags.items.[INDEX].normalization_reason_codes","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.assessment.fraud_flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.assessment.fraud_flags","typeLabel":"object[]"},"reviewer_summary":{"type":"string","uniqueKey":"data.assessment.reviewer_summary","typeLabel":"string"},"assessed_at":{"type":"string","format":"date-time","uniqueKey":"data.assessment.assessed_at","typeLabel":"string\u003cdate-time>"},"holder_apparent_age_range":{"type":"string","description":"Coarse apparent-age band of the live person estimated from the liveness frontal capture (under_18/18_24/25_34/35_44/45_54/55_64/ 65_74/75_over/unclear). Empty for pre-v8 assessments.\n","uniqueKey":"data.assessment.holder_apparent_age_range","typeLabel":"string"},"barcode_check":{"type":"string","description":"Outcome of the deterministic id_back PDF417/AAMVA cross-check: not_applicable, not_detected, decoded_clean, or decoded_mismatch. Empty for pre-v8 assessments and worker-failure receipts. Decoded barcode contents are never exposed.\n","uniqueKey":"data.assessment.barcode_check","typeLabel":"string"}},"uniqueKey":"data.assessment","typeLabel":"object"},"biometrics_delete_after":{"type":"string","format":"date-time","description":"Due timestamp of the biometrics component (liveness captures and the cross-session templates derived from them). The key is always present but the value is the empty string until the session's assessment anchors its retention horizons; read \"\" as \"not yet set\", not as a parseable timestamp.\n","uniqueKey":"data.biometrics_delete_after","typeLabel":"string\u003cdate-time>"},"id_images_delete_after":{"type":"string","format":"date-time","description":"Due timestamp of the identity-document image component. The key is always present but the value is the empty string until the session's assessment anchors its retention horizons; read \"\" as \"not yet set\", not as a parseable timestamp.\n","uniqueKey":"data.id_images_delete_after","typeLabel":"string\u003cdate-time>"},"documents_delete_after":{"type":"string","format":"date-time","description":"Due timestamp of the supporting-document component. The key is always present but the value is the empty string until the session's assessment anchors its retention horizons; read \"\" as \"not yet set\", not as a parseable timestamp.\n","uniqueKey":"data.documents_delete_after","typeLabel":"string\u003cdate-time>"},"biometrics_purged_at":{"type":"string","format":"date-time","description":"Set once the biometrics component completed. Distinct from sensitive_data_purged_at, which means specifically that the PII component completed. The stamp records only that the component's retention pass completed at that time; it does not imply the session ever held biometric artifacts; a component with no artifact rows is stamped on its schedule like any other. Consumers claiming data was deleted must consult the artifact rows (tombstoned rows keep uploaded_at), not the stamp. MANAGEMENT planes only; omitted (not null) until the component completes; absence means \"not completed\", never \"held no data\".\n","uniqueKey":"data.biometrics_purged_at","typeLabel":"string\u003cdate-time>"},"id_images_purged_at":{"type":"string","format":"date-time","description":"Set once the identity-document image component completed. The stamp records only that the component's retention pass completed at that time; it does not imply the session ever held ID-image artifacts; a component with no artifact rows is stamped on its schedule like any other. Consumers claiming data was deleted must consult the artifact rows (tombstoned rows keep uploaded_at), not the stamp. MANAGEMENT planes only; omitted (not null) until the component completes; absence means \"not completed\", never \"held no data\".\n","uniqueKey":"data.id_images_purged_at","typeLabel":"string\u003cdate-time>"},"documents_purged_at":{"type":"string","format":"date-time","description":"Set once the supporting-document component completed. The stamp records only that the component's retention pass completed at that time; it does not imply the session ever held supporting-document artifacts; a component with no artifact rows is stamped on its schedule like any other. Consumers claiming data was deleted must consult the artifact rows (tombstoned rows keep uploaded_at), not the stamp. MANAGEMENT planes only; omitted (not null) until the component completes; absence means \"not completed\", never \"held no data\".\n","uniqueKey":"data.documents_purged_at","typeLabel":"string\u003cdate-time>"},"sensitive_data_purged_at":{"type":"string","format":"date-time","description":"Set once the PII component's retention pass completed: encrypted PII fields cleared while audit-safe session status, determinations, rationales, and fraud flags are preserved. The stamp does not imply PII values ever existed, and under independent component schedules it does not by itself assert that artifact bytes are gone; the other components' artifacts are purged on their own schedules. MANAGEMENT planes only; omitted (not null) until the PII component completes; absence means \"not completed\", never \"held no data\".\n","uniqueKey":"data.sensitive_data_purged_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"session_token":{"type":"string","description":"One-time end-user capture token. Returned only for the first keyed create; an idempotent replay returns an empty string because the original token cannot be recovered or safely rotated.\n","example":"idvs_9c1f...redacted","isRequired":true,"uniqueKey":"session_token","typeLabel":"string"},"token_expires_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"token_expires_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"\u003cstring>","tenant_id":"\u003cstring>","workspace_id":"\u003cstring>","status":"collecting_artifacts","capture_manifest":{"workflow":"liveness_and_id","required_kinds":["liveness_front"]},"step_manifest":{"steps":[{"step_id":"\u003cstring>","type":"liveness","required":true,"title":"\u003cstring>","config":{"accepted_id_types":["driver_license"],"custom_id_types":[{"id_type":"\u003cstring>","label":"\u003cstring>","sides":"one_sided","description":"\u003cstring>"}],"sides":"auto","questions":[{"question_id":"\u003cstring>","label":"\u003cstring>","type":"text","required":true,"required_when":{"question_id":"\u003cstring>","equals":true},"visible_when":{"question_id":"\u003cstring>","equals":true},"options":[{"value":"\u003cstring>","label":"\u003cstring>"}],"response_fields":[{"field_id":"\u003cstring>","label":"\u003cstring>","required":true,"answer_type":"text"}],"allow_additional_responses":false,"max_response_rows":10}],"documents":[{"document_id":"\u003cstring>","label":"\u003cstring>","description":"\u003cstring>","accepted_content_types":["application/pdf"],"required":true}]},"visible_when":{"step_id":"\u003cstring>","question_id":"\u003cstring>","equals":true}}]},"artifacts":[{"artifact_id":"\u003cstring>","kind":"liveness_front","status":"reserved","document_id":"\u003cstring>","upload_reference":"\u003cstring>","content_type":"\u003cstring>","expires_at":"2023-11-07T05:31:56Z","delete_after":"2023-11-07T05:31:56Z","reserved_at":"2023-11-07T05:31:56Z","uploaded_at":"2023-11-07T05:31:56Z"}],"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","delete_after":"2023-11-07T05:31:56Z","creator_application_id":"\u003cstring>","profile_id":"\u003cstring>","external_id":"\u003cstring>","review_status":"request_sent","flag_categories":["idv"],"profile_update_enabled":true,"flag_settings":{},"privacy_contact_email":"jsmith@example.com","consent_evidence":{"redacted":false,"notice_text":"\u003cstring>","tenant_name":"\u003cstring>","privacy_contact_email":"jsmith@example.com","accepted":true,"accepted_at":"2023-11-07T05:31:56Z","notice_version":"\u003cstring>","notice_digest":"\u003cstring>"},"review_history":[{"status_from":"\u003cstring>","status_to":"\u003cstring>","actor_kind":"application","actor_id":"\u003cstring>","note":"\u003cstring>","at":"2023-11-07T05:31:56Z","kind":"","profile_updates_fields":["\u003cstring>"],"assignee_user_id_from":"\u003cstring>","assignee_user_id_to":"\u003cstring>"}],"assignee":"\u003cstring>","submitted_at":"\u003cstring>","reviewed_at":"\u003cstring>","legal_hold":true,"workflow_ref":{"workflow_id":"\u003cstring>","name":"\u003cstring>","revision":2},"theme_ref":{"theme_id":"\u003cstring>","name":"\u003cstring>","revision":2},"assessment":{"status":"collecting_artifacts","model_id":"\u003cstring>","inference_profile_id":"\u003cstring>","prompt_version":"\u003cstring>","face_match":"match","face_match_performed":true,"liveness":"live","document_authenticity":"authentic","document":{"id_type":"driver_license","issuing_country":"US","issuing_subdivision":"US-CA","id_type_confidence":0.5,"jurisdiction_confidence":0.5},"fraud_flags":[{"code":"\u003cstring>","category":"image_quality","severity":"low","confidence":0.5,"explanation":"\u003cstring>","rationale":"\u003cstring>","gating":true,"evidence_codes":["laminate_lift_or_reseal"],"normalization_reason_codes":["assessment_status_invalid"]}],"reviewer_summary":"\u003cstring>","assessed_at":"2023-11-07T05:31:56Z","holder_apparent_age_range":"\u003cstring>","barcode_check":"\u003cstring>"},"biometrics_delete_after":"2023-11-07T05:31:56Z","id_images_delete_after":"2023-11-07T05:31:56Z","documents_delete_after":"2023-11-07T05:31:56Z","biometrics_purged_at":"2023-11-07T05:31:56Z","id_images_purged_at":"2023-11-07T05:31:56Z","documents_purged_at":"2023-11-07T05:31:56Z","sensitive_data_purged_at":"2023-11-07T05:31:56Z"},"session_token":"idvs_9c1f...redacted","token_expires_at":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"3f40cde8-9b3f-417b-9117-d10fc98e10bd":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"idv_session_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"idv_session_not_found","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"b75f3da8-b483-40ca-b9a0-d89e41821a4e":{"description":"Missing or invalid credentials (uniform for token plane, no existence oracle)","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"idv_session_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"idv_session_not_found","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"d809c240-05fa-4283-8969-289bbf6af289":{"description":"The principal is not allow-listed to use session_overrides, or the verification did not start because the account does not have enough Credits (`idv_insufficient_credits`; no balance is returned).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"idv_session_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"idv_session_not_found","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"ede8d765-dfd1-47f5-b854-85c64e1f0cc7":{"description":"The explicit workflow_id is missing or outside the authenticated scope (`idv_workflow_not_found`; indistinguishable by design).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"idv_session_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"idv_session_not_found","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"26a72fea-b500-440f-b307-230379b297e7":{"description":"Create conflict: the explicit workflow is not active (`idv_workflow_not_active`), profile erasure has closed new sessions (`idv_profile_erasure_claimed`), or the idempotency key belongs to a materially different request (`idv_session_idempotency_conflict`).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"idv_session_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"idv_session_not_found","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"cc820e96-bd84-448f-a7f2-7779eeb58001":{"description":"The linked profile could not be verified (`idv_profile_lookup_unavailable`), or the verification could not be started right now (`idv_billing_unavailable`). Safe to retry: no session was created.\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"idv_session_not_found","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"idv_session_not_found","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8930fb84-72d5-4c12-856f-484d9c3109e2":{"applicationApiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"`Authorization: Api-Key \u003capplication_api_key>` (legacy `X-Api-Key` also accepted).","scopes":[],"schemeName":"applicationApiKey"}},"8c5b902a-d2a2-4c23-9be0-b824a8eca7e5":{"dashboardUserToken":{"type":"apiKey","in":"header","name":"x-user-token","description":"Dashboard session token for Minerva dashboard users. Management routes accept it alongside an application API key; any in-scope workspace user (member or above) can read sessions and record review decisions, while workflow and theme writes need a management-capable role. Send it with the `x-tenant-id` and `x-workspace-id` headers; a header/access mismatch is refused with 403, and when dashboard authentication is disabled (the default) any request carrying this header gets a uniform 401.\n","scopes":[],"schemeName":"dashboardUserToken"}}},"servers":{"2d270158-b0b4-4a7f-a4ee-f351d95099b6":{"url":"https://api.gominerva.com/idv/v1","description":"The production API server for Minerva identity verification"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"`Authorization: Api-Key \u003capplication_api_key>` (legacy `X-Api-Key` also accepted).","scopes":[],"schemeName":"applicationApiKey"},"schema":{"title":"Authorization","type":"string","description":"`Authorization: Api-Key \u003capplication_api_key>` (legacy `X-Api-Key` also accepted).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"applicationApiKey","name":"Authorization"}],"title":"applicationApiKey"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-user-token","description":"Dashboard session token for Minerva dashboard users. Management routes accept it alongside an application API key; any in-scope workspace user (member or above) can read sessions and record review decisions, while workflow and theme writes need a management-capable role. Send it with the `x-tenant-id` and `x-workspace-id` headers; a header/access mismatch is refused with 403, and when dashboard authentication is disabled (the default) any request carrying this header gets a uniform 401.\n","scopes":[],"schemeName":"dashboardUserToken"},"schema":{"title":"x-user-token","type":"string","description":"Dashboard session token for Minerva dashboard users. Management routes accept it alongside an application API key; any in-scope workspace user (member or above) can read sessions and record review decisions, while workflow and theme writes need a management-capable role. Send it with the `x-tenant-id` and `x-workspace-id` headers; a header/access mismatch is refused with 403, and when dashboard authentication is disabled (the default) any request carrying this header gets a uniform 401.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"dashboardUserToken","name":"x-user-token"}],"title":"dashboardUserToken"}]},"originalFileLocation":"api-reference/idv-svc.json"},"subdomain":"minerva-557aeab7","siteName":"Minerva Docs","title":"Create an IDV session - Minerva Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T01:21:43.853Z","originalFileLocation":"api-reference/sessions/create-an-idv-session.mdx"},"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=\"Accepts an application API key or a dashboard session. profile_id is REQUIRED (missing/empty -\u0026gt; 400 idv_profile_id_required; malformed -\u0026gt; 400 idv_profile_id_invalid): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -\u0026gt; 400 idv_profile_not_found, a profile-service lookup failure -\u0026gt; 503 idv_profile_lookup_unavailable (fail closed). Returns the session plus a one-time session_token (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped idempotency_key makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Minerva 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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create an IDV session - Minerva Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Accepts an application API key or a dashboard session. profile_id is REQUIRED (missing/empty -\u0026gt; 400 idv_profile_id_required; malformed -\u0026gt; 400 idv_profile_id_invalid): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -\u0026gt; 400 idv_profile_not_found, a profile-service lookup failure -\u0026gt; 503 idv_profile_lookup_unavailable (fail closed). Returns the session plus a one-time session_token (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped idempotency_key makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Minerva Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://minerva-557aeab7.mintlify.site/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Create+an+IDV+session\u0026amp;description=Accepts+an+application+API+key+or+a+dashboard+session.+%60profile_id%60+is+REQUIRED+%28missing%2Fempty+-%3E+400+%60idv_profile_id_required%60%3B+malformed+-%3E+400+%60idv_profile_i\u0026amp;theme=802683985af28e0bed63a6bd\u0026amp;signature=07909f1413d0a37d474844e26e5656662b4e9bfd697fb91dc7b2789680ace3eb\">\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 an IDV session - Minerva Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Accepts an application API key or a dashboard session. profile_id is REQUIRED (missing/empty -\u0026gt; 400 idv_profile_id_required; malformed -\u0026gt; 400 idv_profile_id_invalid): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -\u0026gt; 400 idv_profile_not_found, a profile-service lookup failure -\u0026gt; 503 idv_profile_lookup_unavailable (fail closed). Returns the session plus a one-time session_token (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped idempotency_key makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://minerva-557aeab7.mintlify.site/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Create+an+IDV+session\u0026amp;description=Accepts+an+application+API+key+or+a+dashboard+session.+%60profile_id%60+is+REQUIRED+%28missing%2Fempty+-%3E+400+%60idv_profile_id_required%60%3B+malformed+-%3E+400+%60idv_profile_i\u0026amp;theme=802683985af28e0bed63a6bd\u0026amp;signature=07909f1413d0a37d474844e26e5656662b4e9bfd697fb91dc7b2789680ace3eb\">\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/minerva-557aeab7/wxw0aTOZ3vYCYbpb/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Minerva Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4e26b1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/sessions/create-an-idv-session.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gominerva.com/#organization\",\"name\":\"Minerva Docs\",\"url\":\"https://docs.gominerva.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/minerva-557aeab7/42KvxtYHwgz1q8RK/logo/minerva-dark.svg?fit=max\u0026auto=format\u0026n=42KvxtYHwgz1q8RK\u0026q=85\u0026s=b6ef1ed1a0b7ff7df81fdbb1c2ac0db4\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gominerva.com#website\",\"name\":\"Minerva Docs\",\"url\":\"https://docs.gominerva.com\",\"publisher\":{\"@id\":\"https://docs.gominerva.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session#webpage\",\"url\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session\",\"name\":\"Create an IDV session\",\"description\":\"Accepts an application API key or a dashboard session. profile_id is REQUIRED (missing/empty -> 400 idv_profile_id_required; malformed -> 400 idv_profile_id_invalid): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 idv_profile_not_found, a profile-service lookup failure -> 503 idv_profile_lookup_unavailable (fail closed). Returns the session plus a one-time session_token (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped idempotency_key makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\",\"dateModified\":\"2026-10-28T01:21:43.853Z\",\"isPartOf\":{\"@id\":\"https://docs.gominerva.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Minerva Docs\",\"item\":\"https://docs.gominerva.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an IDV session\",\"item\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session#apireference\",\"headline\":\"Create an IDV session\",\"name\":\"Create an IDV session\",\"description\":\"Accepts an application API key or a dashboard session. profile_id is REQUIRED (missing/empty -> 400 idv_profile_id_required; malformed -> 400 idv_profile_id_invalid): sessions are never free-floating. The profile MUST exist in scope in the Minerva profiles service: a missing profile -> 400 idv_profile_not_found, a profile-service lookup failure -> 503 idv_profile_lookup_unavailable (fail closed). Returns the session plus a one-time session_token (shown only here) and the resolved capture manifest. Caller-supplied tenant/workspace are overwritten by the resolved principal. An optional scoped idempotency_key makes retries return the original session; replay responses intentionally leave the one-time token fields empty rather than rotating a token that may already be in use. Session overrides are accepted only for applications entitled to them; other callers receive 403.\",\"url\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gominerva.com/api-reference/sessions/create-an-idv-session#webpage\"},\"dateModified\":\"2026-10-28T01:21:43.853Z\",\"publisher\":{\"@id\":\"https://docs.gominerva.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gominerva.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Minerva Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Minerva Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/sessions/create-an-idv-session.md","siteName":"Minerva Docs","nav":{"global":{"anchors":[{"anchor":"Support","icon":"headset","href":"mailto:support@gominerva.com"},{"anchor":"Trust Page","icon":"shield","href":"https://app.conveyor.com/profile/gominerva"}]},"tabs":[{"tab":"Knowledge Hub","pages":[{"title":"Knowledge Hub","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Screening Integration Guide","href":"/api-reference/screening-integration-guide"},{"title":"IDV Integration Guide","href":"/api-reference/idv-integration-guide"},{"title":"Automatic Disposition Guide","tag":"New","href":"/api-reference/automatic-disposition-guide"},{"title":"API Keys","mode":"wide","href":"/api-reference/api-keys"},{"title":"Workspace management \u0026 tenant configuration via API","sidebarTitle":"Workspace Management API","href":"/api-reference/workspace-management-api"},{"title":"Automate custom lists via API","sidebarTitle":"Custom Lists API","href":"/api-reference/custom-lists-api"},{"title":"Webhooks","href":"/api-reference/webhooks"},{"title":"Minerva MCP","mode":"wide","href":"/api-reference/minerva-mcp-guide"},{"title":"Search History","href":"/api-reference/search-history"},{"title":"Profile Groups API","href":"/api-reference/profile-groups"},{"title":"Profile Custom Fields API","href":"/api-reference/profile-custom-fields"},{"title":"Risk Assessment Agents API","tag":"New","href":"/api-reference/risk-assessment-agents"}]},{"group":"Screening - Endpoints","pages":[{"group":"Search","pages":[{"title":"Submit a batch search","deprecated":null,"version":null,"openapi":"/api-reference/core.json post /v1/search","href":"/api-reference/search/submit-a-batch-search"},{"title":"Get batch search results","deprecated":null,"version":null,"openapi":"/api-reference/core.json get /v1/search/{jobid}","href":"/api-reference/search/get-batch-search-results"},{"title":"Search one person or organization","deprecated":null,"version":null,"openapi":"/api-reference/core.json post /v1/search-sync","href":"/api-reference/search/search-one-person-or-organization"},{"title":"Submit a v2 search","deprecated":null,"version":null,"openapi":"/api-reference/core.json post /v2/search","href":"/api-reference/search/submit-a-v2-search"},{"title":"List search request history","deprecated":null,"version":null,"openapi":"/api-reference/core.json get /v2/search/requests","href":"/api-reference/search/list-search-request-history"},{"title":"Generate a PDF report","deprecated":null,"version":null,"openapi":"/api-reference/core.json post /v1/reports","href":"/api-reference/search/generate-a-pdf-report"}]},{"group":"Legacy","pages":[{"title":"Search one person or organization (legacy GET)","deprecated":true,"version":null,"openapi":"/api-reference/core.json get /v1/search-sync","href":"/api-reference/legacy/search-one-person-or-organization-legacy-get"}]},{"group":"API to UI Integration","pages":[{"title":"Send an API result to a user","deprecated":null,"version":null,"openapi":"/api-reference/core.json post /v1/sendAPIResultToUser","href":"/api-reference/api-to-ui-integration/send-an-api-result-to-a-user"}]}]},{"group":"Admin Actions - Endpoints","pages":[{"group":"Screening Webhooks","pages":[{"title":"Get screening webhook","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /webhooks/v2/screening/{webhookId}","href":"/api-reference/screening-webhooks/get-screening-webhook"},{"title":"Delete screening webhook","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json delete /webhooks/v2/screening/{webhookId}","href":"/api-reference/screening-webhooks/delete-screening-webhook"},{"title":"Update screening webhook","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /webhooks/v2/screening/{webhookId}","href":"/api-reference/screening-webhooks/update-screening-webhook"},{"title":"Test screening webhook","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /webhooks/v2/screening/{webhookId}/test","href":"/api-reference/screening-webhooks/test-screening-webhook"},{"title":"List screening webhooks","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /webhooks/v2/screening","href":"/api-reference/screening-webhooks/list-screening-webhooks"},{"title":"Create screening webhook","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /webhooks/v2/screening","href":"/api-reference/screening-webhooks/create-screening-webhook"}]},{"group":"Custom Lists","pages":[{"title":"Get custom-list entitlements","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/entitlements","href":"/api-reference/custom-lists/get-custom-list-entitlements"},{"title":"Get a workspace custom-list manifest","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/workspaces/{workspaceId}/manifest","href":"/api-reference/custom-lists/get-a-workspace-custom-list-manifest"},{"title":"Activate or deactivate a list in a workspace","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json put /custom-lists/v2/organizations/{orgId}/workspaces/{workspaceId}/lists/{listId}/activation","href":"/api-reference/custom-lists/activate-or-deactivate-a-list-in-a-workspace"},{"title":"List custom lists","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}","href":"/api-reference/custom-lists/list-custom-lists"},{"title":"Create a custom list","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}","href":"/api-reference/custom-lists/create-a-custom-list"},{"title":"Download the generic upload template","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/upload-template","href":"/api-reference/custom-lists/download-the-generic-upload-template"},{"title":"Get a custom-list background job","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/jobs/{jobId}","href":"/api-reference/custom-lists/get-a-custom-list-background-job"},{"title":"Get a custom list","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}","href":"/api-reference/custom-lists/get-a-custom-list"},{"title":"Archive a custom list","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json delete /custom-lists/v2/organizations/{orgId}/{listId}","href":"/api-reference/custom-lists/archive-a-custom-list"},{"title":"Update a custom list","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /custom-lists/v2/organizations/{orgId}/{listId}","href":"/api-reference/custom-lists/update-a-custom-list"},{"title":"Get list deployment status","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/status","href":"/api-reference/custom-lists/get-list-deployment-status"},{"title":"Get unpublished changes","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/pending-changes","href":"/api-reference/custom-lists/get-unpublished-changes"},{"title":"Publish the working set","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/publish","href":"/api-reference/custom-lists/publish-the-working-set"},{"title":"Discard unpublished changes","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/discard","href":"/api-reference/custom-lists/discard-unpublished-changes"},{"title":"List published versions","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/versions","href":"/api-reference/custom-lists/list-published-versions"},{"title":"List records","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/records","href":"/api-reference/custom-lists/list-records"},{"title":"Add a record","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/records","href":"/api-reference/custom-lists/add-a-record"},{"title":"Archive a record","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json delete /custom-lists/v2/organizations/{orgId}/{listId}/records/{recordId}","href":"/api-reference/custom-lists/archive-a-record"},{"title":"Update a record","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /custom-lists/v2/organizations/{orgId}/{listId}/records/{recordId}","href":"/api-reference/custom-lists/update-a-record"},{"title":"Set a record's status","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json put /custom-lists/v2/organizations/{orgId}/{listId}/records/{recordId}/status","href":"/api-reference/custom-lists/set-a-records-status"},{"title":"List uploads","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/uploads","href":"/api-reference/custom-lists/list-uploads"},{"title":"Upload parsed records","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/uploads","href":"/api-reference/custom-lists/upload-parsed-records"},{"title":"Upload a file","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/uploads/file","href":"/api-reference/custom-lists/upload-a-file"},{"title":"Preview parsed records","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/uploads/preview","href":"/api-reference/custom-lists/preview-parsed-records"},{"title":"Preview a file","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/uploads/preview/file","href":"/api-reference/custom-lists/preview-a-file"},{"title":"Download the list's upload template","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/uploads/template","href":"/api-reference/custom-lists/download-the-lists-upload-template"},{"title":"Get an upload","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/uploads/{uploadId}","href":"/api-reference/custom-lists/get-an-upload"},{"title":"Get upload status","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /custom-lists/v2/organizations/{orgId}/{listId}/uploads/{uploadId}/status","href":"/api-reference/custom-lists/get-upload-status"},{"title":"Publish an upload","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /custom-lists/v2/organizations/{orgId}/{listId}/uploads/{uploadId}/publish","href":"/api-reference/custom-lists/publish-an-upload"}]},{"group":"CRR Scorecards","pages":[{"title":"List CRR scorecards","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-scorecards","href":"/api-reference/crr-scorecards/list-crr-scorecards"},{"title":"Create a CRR scorecard","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-scorecards","href":"/api-reference/crr-scorecards/create-a-crr-scorecard"},{"title":"List scorecard revisions","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-scorecards/{scorecardId}/revisions","href":"/api-reference/crr-scorecards/list-scorecard-revisions"},{"title":"Get a CRR scorecard","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-scorecards/{scorecardId}","href":"/api-reference/crr-scorecards/get-a-crr-scorecard"},{"title":"Archive a CRR scorecard","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json delete /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-scorecards/{scorecardId}","href":"/api-reference/crr-scorecards/archive-a-crr-scorecard"},{"title":"Update a CRR scorecard","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-scorecards/{scorecardId}","href":"/api-reference/crr-scorecards/update-a-crr-scorecard"},{"title":"Set the default scorecard","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-scorecards/{scorecardId}/default","href":"/api-reference/crr-scorecards/set-the-default-scorecard"}]},{"group":"CRR Profile Templates","pages":[{"title":"List CRR profile templates","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates","href":"/api-reference/crr-profile-templates/list-crr-profile-templates"},{"title":"Create a CRR profile template","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates","href":"/api-reference/crr-profile-templates/create-a-crr-profile-template"},{"title":"List selectable templates","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates/selectable","href":"/api-reference/crr-profile-templates/list-selectable-templates"},{"title":"Get a CRR profile template","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates/{templateId}","href":"/api-reference/crr-profile-templates/get-a-crr-profile-template"},{"title":"Update a CRR profile template","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates/{templateId}","href":"/api-reference/crr-profile-templates/update-a-crr-profile-template"},{"title":"Activate a template","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates/{templateId}/activate","href":"/api-reference/crr-profile-templates/activate-a-template"},{"title":"Archive a template","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates/{templateId}/archive","href":"/api-reference/crr-profile-templates/archive-a-template"},{"title":"List template revisions","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/crr-templates/{templateId}/revisions","href":"/api-reference/crr-profile-templates/list-template-revisions"}]},{"group":"Workspaces","pages":[{"title":"Get a workspace","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}","href":"/api-reference/workspaces/get-a-workspace"},{"title":"Delete a workspace","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json delete /workspaces/v2/organizations/{orgId}/{workspaceId}","href":"/api-reference/workspaces/delete-a-workspace"},{"title":"Update a workspace","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /workspaces/v2/organizations/{orgId}/{workspaceId}","href":"/api-reference/workspaces/update-a-workspace"},{"title":"List workspaces","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}","href":"/api-reference/workspaces/list-workspaces"},{"title":"Create a workspace","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}","href":"/api-reference/workspaces/create-a-workspace"}]},{"group":"Workspace Presets","pages":[{"title":"List presets","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/presets","href":"/api-reference/workspace-presets/list-presets"},{"title":"Create a preset","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/presets","href":"/api-reference/workspace-presets/create-a-preset"},{"title":"Delete a preset","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json delete /workspaces/v2/organizations/{orgId}/{workspaceId}/presets/{presetId}","href":"/api-reference/workspace-presets/delete-a-preset"},{"title":"Update a preset","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /workspaces/v2/organizations/{orgId}/{workspaceId}/presets/{presetId}","href":"/api-reference/workspace-presets/update-a-preset"},{"title":"Apply a preset","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/presets/{presetId}/promotions","href":"/api-reference/workspace-presets/apply-a-preset"}]},{"group":"Profile Groups","pages":[{"title":"List profile groups","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json get /workspaces/v2/organizations/{orgId}/{workspaceId}/profile-groups","href":"/api-reference/profile-groups/list-profile-groups"},{"title":"Create a profile group","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json post /workspaces/v2/organizations/{orgId}/{workspaceId}/profile-groups","href":"/api-reference/profile-groups/create-a-profile-group"},{"title":"Delete a profile group","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json delete /workspaces/v2/organizations/{orgId}/{workspaceId}/profile-groups/{profileGroupId}","href":"/api-reference/profile-groups/delete-a-profile-group"},{"title":"Update a profile group","deprecated":null,"version":null,"openapi":"/api-reference/admin-api.json patch /workspaces/v2/organizations/{orgId}/{workspaceId}/profile-groups/{profileGroupId}","href":"/api-reference/profile-groups/update-a-profile-group"}]}]},{"group":"Profiles - Endpoints","pages":[{"group":"Profile Management","pages":[{"title":"Create and screen a profile","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json post /onboarding/profiles","href":"/api-reference/profile-management/create-and-screen-a-profile"},{"title":"List profiles","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json get /profiles","href":"/api-reference/profile-management/list-profiles"},{"title":"Create a profile","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json post /profiles","href":"/api-reference/profile-management/create-a-profile"},{"title":"Get profile details","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json get /profiles/{profileId}","href":"/api-reference/profile-management/get-profile-details"},{"title":"Update a profile","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json patch /profiles/{profileId}","href":"/api-reference/profile-management/update-a-profile"},{"title":"Add a profile comment","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json post /profiles/{profileId}/comments","href":"/api-reference/profile-management/add-a-profile-comment"},{"title":"Generate a profile audit PDF","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json post /profile-audit-reports/v1/profiles/{profile_id}/pdf","href":"/api-reference/profile-management/generate-a-profile-audit-pdf"},{"title":"List profile groups","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json get /profile-groups","href":"/api-reference/profile-management/list-profile-groups"},{"title":"Create a profile group","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json post /profile-groups","href":"/api-reference/profile-management/create-a-profile-group"},{"title":"Get a profile group","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json get /profile-groups/{profileGroupId}","href":"/api-reference/profile-management/get-a-profile-group"},{"title":"Archive a profile group","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json delete /profile-groups/{profileGroupId}","href":"/api-reference/profile-management/archive-a-profile-group"},{"title":"Update a profile group","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json patch /profile-groups/{profileGroupId}","href":"/api-reference/profile-management/update-a-profile-group"}]},{"group":"Potential Matches","pages":[{"title":"Update potential match status","deprecated":null,"version":null,"openapi":"/api-reference/profiles.json patch /v2/search/matches/{match_id}","href":"/api-reference/potential-matches/update-potential-match-status"}]}]},{"group":"Agent Risk Assessments - Endpoints","pages":[{"group":"Configuration","pages":[{"title":"List risk assessment workflows","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /workflows","href":"/api-reference/configuration/list-risk-assessment-workflows"},{"title":"List assessment and task statuses","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /status-definitions","href":"/api-reference/configuration/list-assessment-and-task-statuses"},{"title":"List client risk rating scorecards","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /crr-scorecards","href":"/api-reference/configuration/list-client-risk-rating-scorecards"}]},{"group":"Assessments","pages":[{"title":"List risk assessments","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments","href":"/api-reference/assessments/list-risk-assessments"},{"title":"Create a risk assessment","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments","href":"/api-reference/assessments/create-a-risk-assessment"},{"title":"Get a risk assessment","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}","href":"/api-reference/assessments/get-a-risk-assessment"},{"title":"Get assessment summary","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/summary","href":"/api-reference/assessments/get-assessment-summary"},{"title":"Get assessment tasks, notes, and interrupts","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/tasks","href":"/api-reference/assessments/get-assessment-tasks-notes-and-interrupts"},{"title":"Update assessment title","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json patch /assessments/{assessmentId}/title","href":"/api-reference/assessments/update-assessment-title"},{"title":"Append assessment uploads","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/uploads","href":"/api-reference/assessments/append-assessment-uploads"},{"title":"Start an assessment agent run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/start","href":"/api-reference/assessments/start-an-assessment-agent-run"},{"title":"Stop an assessment and its latest run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/stop","href":"/api-reference/assessments/stop-an-assessment-and-its-latest-run"},{"title":"Cancel an assessment and its latest run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/cancel","href":"/api-reference/assessments/cancel-an-assessment-and-its-latest-run"},{"title":"Conclude an assessment","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/conclude","href":"/api-reference/assessments/conclude-an-assessment"}]},{"group":"Review And Collaboration","pages":[{"title":"List assessment comments","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/comments","href":"/api-reference/review-and-collaboration/list-assessment-comments"},{"title":"Add an assessment comment","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/comments","href":"/api-reference/review-and-collaboration/add-an-assessment-comment"},{"title":"Update task status","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json patch /assessments/{assessmentId}/tasks/{taskId}/status","href":"/api-reference/review-and-collaboration/update-task-status"},{"title":"Update task details","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json patch /assessments/{assessmentId}/tasks/{taskId}","href":"/api-reference/review-and-collaboration/update-task-details"},{"title":"Append assessment notes","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/notes/append","href":"/api-reference/review-and-collaboration/append-assessment-notes"},{"title":"Replace assessment notes","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json put /assessments/{assessmentId}/notes","href":"/api-reference/review-and-collaboration/replace-assessment-notes"},{"title":"Answer an agent question","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/questions/{questionId}/answer","href":"/api-reference/review-and-collaboration/answer-an-agent-question"},{"title":"Resolve an agent confirmation","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/confirmations/{confirmationId}/resolve","href":"/api-reference/review-and-collaboration/resolve-an-agent-confirmation"}]},{"group":"Relationships Canvas","pages":[{"title":"Get or create the default canvas","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/canvas","href":"/api-reference/relationships-canvas/get-or-create-the-default-canvas"},{"title":"Save the default canvas","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json put /assessments/{assessmentId}/canvas","href":"/api-reference/relationships-canvas/save-the-default-canvas"},{"title":"List assessment canvases","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/canvases","href":"/api-reference/relationships-canvas/list-assessment-canvases"},{"title":"Create a canvas","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/canvases","href":"/api-reference/relationships-canvas/create-a-canvas"},{"title":"Get a canvas by ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/canvases/{canvasId}","href":"/api-reference/relationships-canvas/get-a-canvas-by-id"},{"title":"Rename a canvas","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json patch /assessments/{assessmentId}/canvases/{canvasId}","href":"/api-reference/relationships-canvas/rename-a-canvas"},{"title":"Delete a canvas","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json delete /assessments/{assessmentId}/canvases/{canvasId}","href":"/api-reference/relationships-canvas/delete-a-canvas"},{"title":"Save a canvas by ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json put /assessments/{assessmentId}/canvases/{canvasId}","href":"/api-reference/relationships-canvas/save-a-canvas-by-id"}]},{"group":"Agent Runtime","pages":[{"title":"Get the latest assessment run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/run","href":"/api-reference/agent-runtime/get-the-latest-assessment-run"},{"title":"Get an assessment run by ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/runs/{runId}","href":"/api-reference/agent-runtime/get-an-assessment-run-by-id"},{"title":"List the latest run trajectory","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/trajectory","href":"/api-reference/agent-runtime/list-the-latest-run-trajectory"},{"title":"List run trajectory by run ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/runs/{runId}/trajectory","href":"/api-reference/agent-runtime/list-run-trajectory-by-run-id"},{"title":"List commands on the latest run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/commands","href":"/api-reference/agent-runtime/list-commands-on-the-latest-run"},{"title":"List run commands by run ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json get /assessments/{assessmentId}/runs/{runId}/commands","href":"/api-reference/agent-runtime/list-run-commands-by-run-id"},{"title":"Create a command on the latest run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/commands","href":"/api-reference/agent-runtime/create-a-command-on-the-latest-run"},{"title":"Create a run command by run ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/runs/{runId}/commands","href":"/api-reference/agent-runtime/create-a-run-command-by-run-id"},{"title":"Send user input to the latest run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/input","href":"/api-reference/agent-runtime/send-user-input-to-the-latest-run"},{"title":"Send user input to a run by run ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/runs/{runId}/input","href":"/api-reference/agent-runtime/send-user-input-to-a-run-by-run-id"},{"title":"Steer the latest run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/steer","href":"/api-reference/agent-runtime/steer-the-latest-run"},{"title":"Steer a run by run ID","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/runs/{runId}/steer","href":"/api-reference/agent-runtime/steer-a-run-by-run-id"},{"title":"Resume the latest run","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/resume","href":"/api-reference/agent-runtime/resume-the-latest-run"},{"title":"Resume a run by run ID","description":"Adds a resume command to a specific assessment-owned run and queues a follow-up turn when agent-runtime can run it.","deprecated":null,"version":null,"openapi":"/api-reference/risk-assessment-agents.json post /assessments/{assessmentId}/runs/{runId}/resume","href":"/api-reference/agent-runtime/resume-a-run-by-run-id"}]}]},{"group":"Identity Verification - Endpoints","pages":[{"group":"Sessions","pages":[{"title":"Create an IDV session","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions","href":"/api-reference/sessions/create-an-idv-session"},{"title":"List sessions","description":"Scope-filtered management list, newest first: the dashboard profile-tab feed. Application Api-Key OR any resolved in-scope dashboard user (member+).\n","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /sessions","href":"/api-reference/sessions/list-sessions"},{"title":"Poll a session","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /sessions/{sessionId}","href":"/api-reference/sessions/poll-a-session"},{"title":"Send a verification invite","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/invite","href":"/api-reference/sessions/send-a-verification-invite"},{"title":"Cancel a session","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/cancel","href":"/api-reference/sessions/cancel-a-session"},{"title":"Public branding for a session","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /sessions/{sessionId}/branding","href":"/api-reference/sessions/public-branding-for-a-session"},{"title":"Public session logo bytes","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /sessions/{sessionId}/branding/logo","href":"/api-reference/sessions/public-session-logo-bytes"},{"title":"Public session square-logo bytes","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /sessions/{sessionId}/branding/logo/square","href":"/api-reference/sessions/public-session-square-logo-bytes"}]},{"group":"Capture","pages":[{"title":"Exchange an invite for a fresh capture token","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/acquire","href":"/api-reference/capture/exchange-an-invite-for-a-fresh-capture-token"},{"title":"Session-scoped progress for the capture UI","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /sessions/{sessionId}/status","href":"/api-reference/capture/session-scoped-progress-for-the-capture-ui"},{"title":"Record consumer consent","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/consent","href":"/api-reference/capture/record-consumer-consent"},{"title":"Reserve an artifact slot","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/artifacts","href":"/api-reference/capture/reserve-an-artifact-slot"},{"title":"Upload artifact bytes","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json put /sessions/{sessionId}/artifacts/{artifactId}/object","href":"/api-reference/capture/upload-artifact-bytes"},{"title":"Submit questionnaire answers","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json put /sessions/{sessionId}/steps/{stepId}/answers","href":"/api-reference/capture/submit-questionnaire-answers"},{"title":"Skip an optional step","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/steps/{stepId}/skip","href":"/api-reference/capture/skip-an-optional-step"},{"title":"Record the document type","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/document-type","href":"/api-reference/capture/record-the-document-type"},{"title":"Submit for assessment","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/submit","href":"/api-reference/capture/submit-for-assessment"}]},{"group":"Review","pages":[{"title":"Apply a human review decision","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /sessions/{sessionId}/review","href":"/api-reference/review/apply-a-human-review-decision"},{"title":"Get decrypted session data","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /sessions/{sessionId}/data","href":"/api-reference/review/get-decrypted-session-data"},{"title":"Per-profile review summary","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /profiles/{profileId}/review-summary","href":"/api-reference/review/per-profile-review-summary"}]},{"group":"Workflows","pages":[{"title":"Create a workflow","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /workflows","href":"/api-reference/workflows/create-a-workflow"},{"title":"List workflows (newest first)","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /workflows","href":"/api-reference/workflows/list-workflows-newest-first"},{"title":"Show a workflow","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /workflows/{workflowId}","href":"/api-reference/workflows/show-a-workflow"},{"title":"Replace a workflow","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json put /workflows/{workflowId}","href":"/api-reference/workflows/replace-a-workflow"},{"title":"Activate a workflow","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /workflows/{workflowId}/activate","href":"/api-reference/workflows/activate-a-workflow"},{"title":"Archive a workflow","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /workflows/{workflowId}/archive","href":"/api-reference/workflows/archive-a-workflow"},{"title":"Make a workflow the scope default","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /workflows/{workflowId}/default","href":"/api-reference/workflows/make-a-workflow-the-scope-default"},{"title":"Delete a workflow","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json delete /workflows/{workflowId}","href":"/api-reference/workflows/delete-a-workflow"}]},{"group":"Themes","pages":[{"title":"Create a theme","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /themes","href":"/api-reference/themes/create-a-theme"},{"title":"List themes (newest first)","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /themes","href":"/api-reference/themes/list-themes-newest-first"},{"title":"Show a theme","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /themes/{themeId}","href":"/api-reference/themes/show-a-theme"},{"title":"Replace a theme","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json put /themes/{themeId}","href":"/api-reference/themes/replace-a-theme"},{"title":"Activate a theme","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /themes/{themeId}/activate","href":"/api-reference/themes/activate-a-theme"},{"title":"Archive a theme","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /themes/{themeId}/archive","href":"/api-reference/themes/archive-a-theme"},{"title":"Make a theme the scope default","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json post /themes/{themeId}/default","href":"/api-reference/themes/make-a-theme-the-scope-default"},{"title":"Upload a logo","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json put /themes/{themeId}/logo","href":"/api-reference/themes/upload-a-logo"},{"title":"Stream the theme's logo","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /themes/{themeId}/logo","href":"/api-reference/themes/stream-the-themes-logo"},{"title":"Remove the theme's logo reference","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json delete /themes/{themeId}/logo","href":"/api-reference/themes/remove-the-themes-logo-reference"},{"title":"Upload the square logo","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json put /themes/{themeId}/logo/square","href":"/api-reference/themes/upload-the-square-logo"},{"title":"Stream the theme's square logo","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json get /themes/{themeId}/logo/square","href":"/api-reference/themes/stream-the-themes-square-logo"},{"title":"Remove the theme's square logo reference","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json delete /themes/{themeId}/logo/square","href":"/api-reference/themes/remove-the-themes-square-logo-reference"},{"title":"Delete a theme","deprecated":null,"version":null,"openapi":"/api-reference/idv-svc.json delete /themes/{themeId}","href":"/api-reference/themes/delete-a-theme"}]}]}]}]},"basePath":"","title":"Create an IDV session - Minerva Docs","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}