{
"type": "resource_not_found",
"code": 1,
"message": "Could not locate the resource for the given URI.",
"metadata": {}
}
{
"type": "validation_failed",
"code": 7112,
"message": "The request is invalid.",
"metadata": {}
}
{
"type": "acceptance_reads_unavailable",
"code": 7252,
"message": "Acceptance data is temporarily unavailable. Retry after the Retry-After interval.",
"metadata": {}
}
Visits
List one visit's decisions
The decisions on one visit’s key at your application, from its start to when it was last seen, newest first by default, a page at a time: limit, then cursor from X-Next-Cursor, or offset. X-Total-Count and X-Total-Pages count every match and are sent on the first cursor page and on every offset page. Ties on decided_at break on the decision’s id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.
GET
/
acceptance
/
visits
/
{visit_id}
/
decisions
List one visit's decisions
curl --request GET \ --url https://api.baselayer.com/acceptance/visits/{visit_id}/decisions \ --header 'X-API-Key: <api-key>'
{
"type": "resource_not_found",
"code": 1,
"message": "Could not locate the resource for the given URI.",
"metadata": {}
}
{
"type": "validation_failed",
"code": 7112,
"message": "The request is invalid.",
"metadata": {}
}
{
"type": "acceptance_reads_unavailable",
"code": 7252,
"message": "Acceptance data is temporarily unavailable. Retry after the Retry-After interval.",
"metadata": {}
}
Opaque pagination cursor token that identifies the position in the result set. Use the cursor from the previous response to get the next page. Cannot be used with offset.
One entry per reader that contributed, raw: at most 16, with at most 8,192 bytes of detail in all, counted as the UTF-8 of each detail as sent, in RFC 8785 canonical form.
Baselayer's conclusion about the credential the request presented or its session named, even when credential is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.
Its visit; null until the decision is joined to its visit, about a minute after it is reported.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Baselayer","colors":{"primary":"#384ce3","light":"#c6dbf6","dark":"#2232b5"},"logo":{"light":"https://mintcdn.com/baselayer-81245324/D2HqlyNVJCqb8u23/logo/baselayer-wordmark-white.svg?fit=max\u0026auto=format\u0026n=D2HqlyNVJCqb8u23\u0026q=85\u0026s=533e2ee556334e910d3a6d1f2f66ca6a","dark":"https://mintcdn.com/baselayer-81245324/D2HqlyNVJCqb8u23/logo/baselayer-wordmark-white.svg?fit=max\u0026auto=format\u0026n=D2HqlyNVJCqb8u23\u0026q=85\u0026s=533e2ee556334e910d3a6d1f2f66ca6a","href":"https://www.baselayer.com"},"favicon":"https://mintcdn.com/baselayer-81245324/y8jjNyo-CIhfj2Df/favicon.ico?fit=max\u0026auto=format\u0026n=y8jjNyo-CIhfj2Df\u0026q=85\u0026s=5f1029f95d2abd5d4ffd1699330f82ff","navbar":{"links":[{"href":"https://console.baselayer.com","label":"Console"}]},"fonts":{"heading":{"family":"Season Mix","source":"fonts/SeasonMix-Variable.woff2","format":"woff2"},"body":{"family":"Uncut Sans","source":"fonts/UncutSans-Variable.woff2","format":"woff2"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"baselayer-81245324","hasAudioNarration":false,"actualSubdomain":"baselayer-81245324","customDomains":["docs.baselayer.com"],"gitSource":{"type":"github","owner":"osiris-ratings","repo":"docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"36f75a17-0cdc-41ef-b5b2-e24e2846bffd","liveDeploymentHistoryId":"6ae940f245a32c91daf13d63","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae940f245a32c91daf13d63"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9691d866f88edeb05494c","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":270},{"language":"default","tag":"Changelog","count":162},{"language":"default","tag":"Businesses","count":133},{"language":"default","tag":"Webhooks","count":81},{"language":"default","tag":"Webhook Events","count":68},{"language":"default","tag":"PRODUCT GUIDES","count":61},{"language":"default","tag":"Verify Businesses \u0026 People","count":60},{"language":"default","tag":"Know Your Agent","count":54},{"language":"default","tag":"Business Verification","count":49},{"language":"default","tag":"Portfolio Monitoring","count":48}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html:not(.dark) #navbar{background:#384ce3!important}html:not(.dark) #navbar div,html:not(.dark) #navbar nav{background-color:transparent!important;backdrop-filter:none!important}html:not(.dark) #navbar *{border-color:rgba(255,255,255,.18)!important}html:not(.dark) #navbar a,html:not(.dark) #navbar button,html:not(.dark) #navbar div,html:not(.dark) #navbar p,html:not(.dark) #navbar span,html:not(.dark) #navbar svg{color:#fff!important}html:not(.dark) #navbar button{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.25)!important}"}],"page":{"pagePath":"api-reference/acceptance/list-one-visits-decisions","slug":"/api-reference/acceptance/list-one-visits-decisions","pageMetadata":{"title":"List one visit's decisions","description":"The decisions on one visit's key at your application, from its start to when it was last seen, newest first by default, a page at a time: `limit`, then `cursor` from `X-Next-Cursor`, or `offset`. `X-Total-Count` and `X-Total-Pages` count every match and are sent on the first cursor page and on every offset page. Ties on `decided_at` break on the decision's id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/visits/{visit_id}/decisions","href":"/api-reference/acceptance/list-one-visits-decisions","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: [\"The decisions on one visit’s key at your application, from its start to when it was last seen, newest first by default, a page at a time: \", _jsx(_components.code, {\n children: \"limit\"\n }), \", then \", _jsx(_components.code, {\n children: \"cursor\"\n }), \" from \", _jsx(_components.code, {\n children: \"X-Next-Cursor\"\n }), \", or \", _jsx(_components.code, {\n children: \"offset\"\n }), \". \", _jsx(_components.code, {\n children: \"X-Total-Count\"\n }), \" and \", _jsx(_components.code, {\n children: \"X-Total-Pages\"\n }), \" count every match and are sent on the first cursor page and on every offset page. Ties on \", _jsx(_components.code, {\n children: \"decided_at\"\n }), \" break on the decision’s id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.\"]\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":"List one visit's decisions","description":"The decisions on one visit's key at your application, from its start to when it was last seen, newest first by default, a page at a time: `limit`, then `cursor` from `X-Next-Cursor`, or `offset`. `X-Total-Count` and `X-Total-Pages` count every match and are sent on the first cursor page and on every offset page. Ties on `decided_at` break on the decision's id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/visits/{visit_id}/decisions","href":"/api-reference/acceptance/list-one-visits-decisions","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/baselayer-81245324/8f3f8776472b6600/kya-nudge.js"],"openApiReferenceData":{"operation":{"tags":["Acceptance"],"summary":"List one visit's decisions","description":"The decisions on one visit's key at your application, from its start to when it was last seen, newest first by default, a page at a time: `limit`, then `cursor` from `X-Next-Cursor`, or `offset`. `X-Total-Count` and `X-Total-Pages` count every match and are sent on the first cursor page and on every offset page. Ties on `decided_at` break on the decision's id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.","operationId":"acceptance_visits_decisions_list","security":["8bba3ae1-2276-43a6-8aa6-3914056f0d79"],"parameters":["ba95e4b2-afac-43b0-80ab-306a8a20f512","519e3f0f-51c4-4a17-b7dd-af441e11d74c","21a73df7-1511-483d-93e1-073db99cd8d2","c951ca36-3bae-45b4-8582-1ac37263ee8c","98bdaae3-4cf8-43b6-aed2-04d58ce90f78","44e958e1-af0e-4ffb-bc00-035fd47a4ff2","eab8d88f-a2c7-473f-b98c-f0dca2ef0321","1b355587-2465-4e8e-80ef-e3b202b36e43"],"responses":{"200":"18fa828b-453b-4c34-aefa-b77db2da5238","404":"cade675b-9350-42e9-bcba-5369e047eb39","422":"c31ca1e6-6e4e-4924-bffe-f028db6e24db","503":"31ccecad-8a37-4e7f-9f52-589257dd9b08"},"method":"get","type":"path","servers":["ef574309-9be1-4f6a-bc7f-f545e64dfc60"],"path":"/acceptance/visits/{visit_id}/decisions","baseUrlOptions":["https://api.baselayer.com/"],"title":"List one visit's decisions","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ba95e4b2-afac-43b0-80ab-306a8a20f512":{"name":"visit_id","in":"path","required":true,"schema":{"description":"The visit's id.","format":"uuid","title":"Visit Id","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"The visit's id."},"519e3f0f-51c4-4a17-b7dd-af441e11d74c":{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Maximum number of records to return in a single page. Must be between 1 and 1000.","default":10,"title":"Limit","isRequired":false,"uniqueKey":"","typeLabel":"integer"},"description":"Maximum number of records to return in a single page. Must be between 1 and 1000."},"21a73df7-1511-483d-93e1-073db99cd8d2":{"name":"offset","in":"query","required":false,"schema":{"oneOf":[{"type":"integer","title":"Offset","description":"Number of records to skip from the beginning. Use 0 for the first page. Cannot be used with cursor.","minimum":0,"uniqueKey":"oneOf.0","typeLabel":"integer"},{"type":"null","title":"Offset","description":"Number of records to skip from the beginning. Use 0 for the first page. Cannot be used with cursor.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"integer | null"},"description":"Number of records to skip from the beginning. Use 0 for the first page. Cannot be used with cursor."},"c951ca36-3bae-45b4-8582-1ac37263ee8c":{"name":"cursor","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"Cursor","description":"Opaque pagination cursor token that identifies the position in the result set. Use the cursor from the previous response to get the next page. Cannot be used with offset.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Cursor","description":"Opaque pagination cursor token that identifies the position in the result set. Use the cursor from the previous response to get the next page. Cannot be used with offset.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"Opaque pagination cursor token that identifies the position in the result set. Use the cursor from the previous response to get the next page. Cannot be used with offset."},"98bdaae3-4cf8-43b6-aed2-04d58ce90f78":{"name":"sort","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"AcceptanceDecisionSortField","description":"`decided_at`: when the SDK decided; ties break on the decision's id. Defaults to `decided_at` `desc`.\nThe field a list of decisions sorts on.","enum":["decided_at"],"uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Sort","description":"`decided_at`: when the SDK decided; ties break on the decision's id. Defaults to `decided_at` `desc`.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring> | null"},"description":"`decided_at`: when the SDK decided; ties break on the decision's id. Defaults to `decided_at` `desc`."},"44e958e1-af0e-4ffb-bc00-035fd47a4ff2":{"name":"sort_direction","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"SortMethod","description":"`asc` or `desc`, for every key of the sort. Defaults to the field's own: `decided_at` `desc`.","enum":["asc","desc"],"uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Sort Direction","description":"`asc` or `desc`, for every key of the sort. Defaults to the field's own: `decided_at` `desc`.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring> | null"},"description":"`asc` or `desc`, for every key of the sort. Defaults to the field's own: `decided_at` `desc`."},"eab8d88f-a2c7-473f-b98c-f0dca2ef0321":{"name":"step","in":"query","required":false,"schema":{"oneOf":[{"type":"array","items":{"description":"The funnel step a request maps to under the acceptance policy.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"title":"VisitStep","type":"string","uniqueKey":"oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Step","description":"Only decisions at this step. Repeat for several.","uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Step","description":"Only decisions at this step. Repeat for several.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>[] | null"},"description":"Only decisions at this step. Repeat for several."},"1b355587-2465-4e8e-80ef-e3b202b36e43":{"name":"outcome","in":"query","required":false,"schema":{"oneOf":[{"type":"array","items":{"description":"What a decision recommends for a request: let it through, serve a\nchallenge, ask for a stronger credential, or refuse it.","enum":["allow","challenge","step_up","block"],"title":"AcceptanceDecisionOutcome","type":"string","uniqueKey":"oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Outcome","description":"Only decisions with this recommendation. Repeat for several.","uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Outcome","description":"Only decisions with this recommendation. Repeat for several.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>[] | null"},"description":"Only decisions with this recommendation. Repeat for several."}},"responses":{"18fa828b-453b-4c34-aefa-b77db2da5238":{"description":"The visit's decisions in the requested order.","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","title":"VisitDecision (v1)","description":"One decision of a visit: what the SDK reported, what the merchant did,\nand where the visit stands.","required":["report_id","decided_at","transport","step","presence","evidence","sdk","outcome","enforcement_mode","reasons","acceptance_decision_id","environment","integrity","policy_version_id"],"properties":{"policy_version_id":{"type":"string","title":"Policy Version Id","description":"The policy version that decided; null for the bundled policy.","format":"uuid","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.policy_version_id","typeLabel":"string\u003cuuid>"},"report_id":{"description":"The SDK's id for the record; a resent record with the same id is a duplicate.","format":"uuid","title":"Report Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.report_id","typeLabel":"string\u003cuuid>"},"decided_at":{"description":"When the SDK decided, on the merchant's clock.","format":"date-time","title":"Decided At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.decided_at","typeLabel":"string\u003cdate-time>"},"transport":{"description":"How the visitor reached the merchant.","enum":["browser","api","mcp","ucp"],"title":"VisitTransport","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.transport","typeLabel":"enum\u003cstring>"},"step":{"description":"The funnel step the request mapped to.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"title":"VisitStep","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.step","typeLabel":"enum\u003cstring>"},"presence":{"additionalProperties":false,"description":"The presence the policy ran on.","properties":{"kind":{"description":"What is behind the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly the evidence backs `kind`.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.trust","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk scored; `no_risk` when nothing scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.risk_level","typeLabel":"enum\u003cstring>"},"sources":{"description":"Every reader that contributed to the presence.","items":{"description":"A reader that contributed to a request's presence. Values may be added.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","uniqueKey":"items.[INDEX].oneOf.0.presence.sources.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Sources","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.sources","typeLabel":"enum\u003cstring>[]"},"is_detection_available":{"description":"True when a detection verdict informed the presence, false when it was decided on local readers alone.","title":"Is Detection Available","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.is_detection_available","typeLabel":"boolean"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure a detection verdict was; null when nothing scored.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.0.presence.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure a detection verdict was; null when nothing scored.","uniqueKey":"items.[INDEX].oneOf.0.presence.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.presence.confidence","typeLabel":"enum\u003cstring> | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.0.presence.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.0.presence.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.presence.agent_platform","typeLabel":"string | null"}},"required":["kind","trust","risk_level","sources","is_detection_available"],"title":"Presence (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence","typeLabel":"Presence (v1) · object"},"evidence":{"description":"One entry per reader that contributed, raw: at most 16, with at most 8,192 bytes of `detail` in all, counted as the UTF-8 of each `detail` as sent, in RFC 8785 canonical form.","items":{"additionalProperties":false,"description":"One reader's contribution to a decision: what it concluded and the raw\ndetail it saw.","properties":{"source":{"description":"The reader.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].source","typeLabel":"enum\u003cstring>"},"kind":{"description":"What the reader concluded.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly its evidence backs it.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].trust","typeLabel":"enum\u003cstring>"},"detail":{"oneOf":[{"type":"object","title":"TransportEvidenceDetail (v1)","description":"What the transport reader saw on the request, raw.","required":["source"],"properties":{"source":{"const":"transport","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.source","typeLabel":"string"},"user_agent":{"oneOf":[{"type":"string","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.user_agent","typeLabel":"string | null"},"ip":{"oneOf":[{"type":"string","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip","typeLabel":"string | null"},"ip_range_platform":{"oneOf":[{"type":"string","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform","typeLabel":"string | null"},"ip_range":{"oneOf":[{"type":"string","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range","typeLabel":"string | null"},"client_hints":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.client_hints.additionalProperties","typeLabel":"string"},"description":"The `Sec-CH-*` request headers, raw.","title":"Client Hints","type":"object","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.client_hints","typeLabel":"Client Hints · object"},"fetch_metadata":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata.additionalProperties","typeLabel":"string"},"description":"The `Sec-Fetch-*` request headers, raw.","title":"Fetch Metadata","type":"object","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata","typeLabel":"Fetch Metadata · object"},"tls_fingerprint":{"oneOf":[{"type":"string","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint","typeLabel":"string | null"},"http_fingerprint":{"oneOf":[{"type":"string","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint","typeLabel":"string | null"},"edge_bot_score":{"oneOf":[{"type":"integer","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score","typeLabel":"integer | null"},"is_edge_verified_bot":{"oneOf":[{"type":"boolean","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0","typeLabel":"TransportEvidenceDetail (v1) · object"},{"type":"object","title":"WebBotAuthEvidenceDetail (v1)","description":"A Web Bot Auth signature the request carried.","required":["source","signing_domain","key_id","thumbprint","is_signature_verified"],"properties":{"source":{"const":"web_bot_auth","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.source","typeLabel":"string"},"signing_domain":{"description":"The domain that published the signing key.","title":"Signing Domain","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.signing_domain","typeLabel":"string"},"key_id":{"description":"The signature's `keyid`.","title":"Key Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.key_id","typeLabel":"string"},"thumbprint":{"description":"The signing key's RFC 7638 thumbprint.","title":"Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.thumbprint","typeLabel":"string"},"is_signature_verified":{"description":"Whether the signature verified.","title":"Is Signature Verified","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.is_signature_verified","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1","typeLabel":"WebBotAuthEvidenceDetail (v1) · object"},{"type":"object","title":"KyaEvidenceDetail (v1)","description":"A KYA credential the request presented or the merchant's session named.\nNever the credential's disclosed claims.","required":["source","credential_id","cnf_thumbprint","arrived_by"],"properties":{"source":{"const":"kya","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.source","typeLabel":"string"},"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.credential_id","typeLabel":"string"},"cnf_thumbprint":{"description":"The thumbprint of the credential's `cnf` key.","title":"Cnf Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.cnf_thumbprint","typeLabel":"string"},"arrived_by":{"description":"How the credential reached this request.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.arrived_by","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.verification_level","typeLabel":"enum\u003cinteger> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2","typeLabel":"KyaEvidenceDetail (v1) · object"},{"type":"object","title":"TapEvidenceDetail (v1)","description":"A Trusted Agent Protocol signature the request carried.","required":["source","agent_key_thumbprint"],"properties":{"source":{"const":"tap","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.source","typeLabel":"string"},"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.agent_key_thumbprint","typeLabel":"string"},"consumer_token":{"oneOf":[{"type":"string","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.0","typeLabel":"string"},{"type":"null","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.consumer_token","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3","typeLabel":"TapEvidenceDetail (v1) · object"},{"type":"object","title":"DetectionEvidenceDetail (v1)","description":"A detection verdict, in Baselayer's vocabulary.","required":["source","verdict","risk_level"],"properties":{"source":{"const":"detection","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.source","typeLabel":"string"},"verdict":{"description":"What detection judged the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.verdict","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk it scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.risk_level","typeLabel":"enum\u003cstring>"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure it was.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure it was.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.confidence","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4","typeLabel":"DetectionEvidenceDetail (v1) · object"},{"type":"object","title":"ChallengeEvidenceDetail (v1)","description":"A challenge served to the browser, and whether it was passed.","required":["source","kind","is_passed"],"properties":{"source":{"const":"challenge","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5.source","typeLabel":"string"},"kind":{"description":"The challenge served.","enum":["managed"],"title":"ChallengeKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"is_passed":{"description":"Whether the visitor passed it.","title":"Is Passed","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5.is_passed","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5","typeLabel":"ChallengeEvidenceDetail (v1) · object"},{"type":"object","title":"GenericEvidenceDetail (v1)","description":"A reader's detail with no shape of its own here: its `source` and\nwhatever it saw, as it sent it.","required":["source"],"properties":{"source":{"description":"The reader that saw it.","not":{"enum":["challenge","detection","kya","tap","transport","web_bot_auth"]},"title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.6.source","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.6","typeLabel":"GenericEvidenceDetail (v1) · object"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail","typeLabel":"TransportEvidenceDetail (v1) · object | WebBotAuthEvidenceDetail (v1) · object | KyaEvidenceDetail (v1) · object | TapEvidenceDetail (v1) · object | DetectionEvidenceDetail (v1) · object | ChallengeEvidenceDetail (v1) · object | GenericEvidenceDetail (v1) · object"}},"required":["source","kind","trust","detail"],"title":"Evidence (v1)","type":"object","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX]","typeLabel":"Evidence (v1) · object"},"maxItems":16,"title":"Evidence","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence","typeLabel":"Evidence (v1) · object[]"},"sdk":{"additionalProperties":false,"description":"The SDK that computed the decision.","properties":{"language":{"description":"The SDK's language.","enum":["typescript","python"],"title":"SdkLanguage","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk.language","typeLabel":"enum\u003cstring>"},"version":{"description":"The SDK's package version.","examples":["1.4.0"],"maxLength":32,"title":"Version","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk.version","typeLabel":"string"},"policy_schema_version":{"description":"The policy feature level the SDK's evaluator implements; below a policy's `minimum_policy_schema_version` it runs report-only.","maximum":2147483647,"minimum":1,"title":"Policy Schema Version","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk.policy_schema_version","typeLabel":"integer"}},"required":["language","version","policy_schema_version"],"title":"Sdk (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk","typeLabel":"Sdk (v1) · object"},"outcome":{"description":"What the decision recommends.","enum":["allow","challenge","step_up","block"],"title":"AcceptanceDecisionOutcome","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.outcome","typeLabel":"enum\u003cstring>"},"enforcement_mode":{"description":"The mode the SDK applied; a step run report-only because of a rule it could not read is `report_only`.","enum":["report_only","enforce"],"title":"EnforcementMode","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.enforcement_mode","typeLabel":"enum\u003cstring>"},"reasons":{"description":"Why the decision came out as it did.","items":{"description":"Why a decision came out as it did.\n\n`rule_unsupported` means the SDK met a rule it cannot read: the rule\nnever matches and the whole step runs report-only. Values may be added.","enum":["credential_verified","credential_refused","web_bot_auth_verified","tap_verified","declared_user_agent","ip_range_match","detection_scored","detection_unavailable","presence_conflict","challenge_passed","no_rule_matched","unobserved","rule_unsupported"],"title":"AcceptanceDecisionReason","type":"string","uniqueKey":"items.[INDEX].oneOf.0.reasons.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Reasons","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.reasons","typeLabel":"enum\u003cstring>[]"},"acceptance_decision_id":{"description":"The decision's id.","format":"uuid","title":"Acceptance Decision Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.acceptance_decision_id","typeLabel":"string\u003cuuid>"},"environment":{"enum":["sandbox","production"],"title":"ApplicationType","type":"string","description":"The application's environment.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.environment","typeLabel":"enum\u003cstring>"},"integrity":{"description":"Baselayer's check on the decision.","properties":{"is_policy_hash_mismatch":{"description":"True when the policy the SDK ran differs from the version it named.","title":"Is Policy Hash Mismatch","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.integrity.is_policy_hash_mismatch","typeLabel":"boolean"}},"required":["is_policy_hash_mismatch"],"title":"VisitDecisionIntegrity (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.integrity","typeLabel":"VisitDecisionIntegrity (v1) · object"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","enum":["L1","L2","L3"],"uniqueKey":"items.[INDEX].oneOf.0.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","uniqueKey":"items.[INDEX].oneOf.0.identity_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.identity_level","typeLabel":"enum\u003cstring> | null"},"rule":{"oneOf":[{"type":"string","title":"Rule","description":"The policy rule that fired; null when none matched.","maxLength":128,"example":"vl2","uniqueKey":"items.[INDEX].oneOf.0.rule.oneOf.0","typeLabel":"string"},{"type":"null","title":"Rule","description":"The policy rule that fired; null when none matched.","example":"vl2","uniqueKey":"items.[INDEX].oneOf.0.rule.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.rule","typeLabel":"string | null"},"policy_version_label":{"oneOf":[{"type":"string","title":"Policy Version Label","description":"`bundled:` and the SDK version, set only when the SDK never fetched a policy.","maxLength":64,"pattern":"^bundled:.+$","example":"bundled:1.4.0","uniqueKey":"items.[INDEX].oneOf.0.policy_version_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Policy Version Label","description":"`bundled:` and the SDK version, set only when the SDK never fetched a policy.","example":"bundled:1.4.0","uniqueKey":"items.[INDEX].oneOf.0.policy_version_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.policy_version_label","typeLabel":"string | null"},"requirement":{"oneOf":[{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","scope"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"scope","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.scope.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.scope","typeLabel":"string | null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.identity_level","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","identity_level"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"identity_level","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The minimum identity level.","enum":["L1","L2","L3"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The minimum identity level.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.identity_level.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.identity_level","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.scope","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","challenge"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"challenge","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"challenge":{"oneOf":[{"type":"string","title":"ChallengeKind","description":"The challenge to solve.","enum":["managed"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.challenge.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The challenge to solve.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.challenge.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.challenge","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.scope","typeLabel":"null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.identity_level","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2","typeLabel":"Requirement (v1) · object"},{"type":"null","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.3","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.requirement","typeLabel":"Requirement (v1) · object · Requirement (v1) · object · Requirement (v1) · object · null"},"expires_at":{"oneOf":[{"type":"string","title":"Expires At","description":"When the decision stops applying.","format":"date-time","uniqueKey":"items.[INDEX].oneOf.0.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Expires At","description":"When the decision stops applying.","uniqueKey":"items.[INDEX].oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time> | null"},"visit_id":{"oneOf":[{"type":"string","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","format":"uuid","uniqueKey":"items.[INDEX].oneOf.0.visit_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.0.visit_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit_id","typeLabel":"string\u003cuuid> | null"},"agent":{"oneOf":[{"type":"object","title":"VisitAgent (v1)","description":"The agent behind the request.","required":["agent_key_thumbprint","agent_key_source","first_seen_at","visit_count"],"properties":{"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_thumbprint","typeLabel":"string"},"agent_key_source":{"description":"Where the key came from.","enum":["kya","web_bot_auth","tap"],"title":"AgentKeySource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_source","typeLabel":"enum\u003cstring>"},"first_seen_at":{"description":"When this application first saw the agent; its value now.","format":"date-time","title":"First Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.first_seen_at","typeLabel":"string\u003cdate-time>"},"visit_count":{"description":"The agent's visits to this application; its value now.","minimum":0,"title":"Visit Count","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.visit_count","typeLabel":"integer"},"agent_key_kid":{"oneOf":[{"type":"string","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_kid.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_kid.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_kid","typeLabel":"string | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_platform","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0","typeLabel":"VisitAgent (v1) · object"},{"type":"null","description":"The agent behind the request.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.agent","typeLabel":"VisitAgent (v1) · object | null"},"credential":{"oneOf":[{"type":"object","title":"VisitCredential (v1)","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","required":["credential_id","subject","verification","source"],"properties":{"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.credential_id","typeLabel":"string"},"subject":{"description":"The credential's pairwise subject DID for this audience.","title":"Subject","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.subject","typeLabel":"string"},"verification":{"description":"Whether Baselayer confirmed the credential was issued to this subject and unrevoked when the decision was made.","enum":["pending","verified","refused"],"title":"SubjectVerification","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification","typeLabel":"enum\u003cstring>"},"source":{"description":"How the credential arrived. Always `presentation` here: a decision that checked a session reads the credential of the earlier presentation, and its KYA evidence's `arrived_by` says `session`.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.source","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification_level","typeLabel":"enum\u003cinteger> | null"},"refusal_reason":{"oneOf":[{"type":"string","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.refusal_reason","typeLabel":"string | null"},"audience":{"oneOf":[{"type":"string","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.audience.oneOf.0","typeLabel":"string"},{"type":"null","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.audience.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.audience","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0","typeLabel":"VisitCredential (v1) · object"},{"type":"null","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential","typeLabel":"VisitCredential (v1) · object | null"},"credential_verification":{"oneOf":[{"type":"string","title":"SubjectVerification","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","enum":["pending","verified","refused"],"uniqueKey":"items.[INDEX].oneOf.0.credential_verification.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","uniqueKey":"items.[INDEX].oneOf.0.credential_verification.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential_verification","typeLabel":"enum\u003cstring> | null"},"credential_refusal_reason":{"oneOf":[{"type":"string","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.0.credential_refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.0.credential_refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential_refusal_reason","typeLabel":"string | null"},"merchant_outcome":{"oneOf":[{"type":"string","title":"AcceptanceDecisionOutcome","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","enum":["allow","challenge","step_up","block"],"uniqueKey":"items.[INDEX].oneOf.0.merchant_outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","uniqueKey":"items.[INDEX].oneOf.0.merchant_outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.merchant_outcome","typeLabel":"enum\u003cstring> | null"},"visit":{"oneOf":[{"type":"object","title":"VisitSummary (v1)","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","required":["state","started_at","last_seen_at"],"properties":{"state":{"description":"Whether it goes on.","enum":["active","ended"],"title":"VisitState","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.state","typeLabel":"enum\u003cstring>"},"started_at":{"description":"Its first record.","format":"date-time","title":"Started At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.started_at","typeLabel":"string\u003cdate-time>"},"last_seen_at":{"description":"Its latest record.","format":"date-time","title":"Last Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_seen_at","typeLabel":"string\u003cdate-time>"},"outcome":{"oneOf":[{"type":"string","title":"VisitOutcome","description":"How it ended; null while active.","enum":["converted","abandoned","blocked"],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How it ended; null while active.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.outcome","typeLabel":"enum\u003cstring> | null"},"first_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its first decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.first_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its first decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.first_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.first_step","typeLabel":"enum\u003cstring> | null"},"last_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its latest decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its latest decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_step","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0","typeLabel":"VisitSummary (v1) · object"},{"type":"null","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit","typeLabel":"VisitSummary (v1) · object | null"}},"uniqueKey":"items.[INDEX].oneOf.0","typeLabel":"VisitDecision (v1) · object"},{"type":"object","title":"VisitDecision (v1)","description":"One decision of a visit: what the SDK reported, what the merchant did,\nand where the visit stands.","required":["report_id","decided_at","transport","step","presence","evidence","sdk","outcome","enforcement_mode","reasons","acceptance_decision_id","environment","integrity","policy_version_label"],"properties":{"policy_version_label":{"type":"string","title":"Policy Version Label","description":"`bundled:` and the SDK version, set only when the SDK never fetched a policy.","maxLength":64,"pattern":"^bundled:.+$","example":"bundled:1.4.0","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.policy_version_label","typeLabel":"string"},"report_id":{"description":"The SDK's id for the record; a resent record with the same id is a duplicate.","format":"uuid","title":"Report Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.report_id","typeLabel":"string\u003cuuid>"},"decided_at":{"description":"When the SDK decided, on the merchant's clock.","format":"date-time","title":"Decided At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.decided_at","typeLabel":"string\u003cdate-time>"},"transport":{"description":"How the visitor reached the merchant.","enum":["browser","api","mcp","ucp"],"title":"VisitTransport","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.transport","typeLabel":"enum\u003cstring>"},"step":{"description":"The funnel step the request mapped to.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"title":"VisitStep","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.step","typeLabel":"enum\u003cstring>"},"presence":{"additionalProperties":false,"description":"The presence the policy ran on.","properties":{"kind":{"description":"What is behind the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly the evidence backs `kind`.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.trust","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk scored; `no_risk` when nothing scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.risk_level","typeLabel":"enum\u003cstring>"},"sources":{"description":"Every reader that contributed to the presence.","items":{"description":"A reader that contributed to a request's presence. Values may be added.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","uniqueKey":"items.[INDEX].oneOf.1.presence.sources.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Sources","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.sources","typeLabel":"enum\u003cstring>[]"},"is_detection_available":{"description":"True when a detection verdict informed the presence, false when it was decided on local readers alone.","title":"Is Detection Available","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.is_detection_available","typeLabel":"boolean"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure a detection verdict was; null when nothing scored.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.1.presence.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure a detection verdict was; null when nothing scored.","uniqueKey":"items.[INDEX].oneOf.1.presence.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.presence.confidence","typeLabel":"enum\u003cstring> | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.1.presence.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.1.presence.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.presence.agent_platform","typeLabel":"string | null"}},"required":["kind","trust","risk_level","sources","is_detection_available"],"title":"Presence (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence","typeLabel":"Presence (v1) · object"},"evidence":{"description":"One entry per reader that contributed, raw: at most 16, with at most 8,192 bytes of `detail` in all, counted as the UTF-8 of each `detail` as sent, in RFC 8785 canonical form.","items":{"additionalProperties":false,"description":"One reader's contribution to a decision: what it concluded and the raw\ndetail it saw.","properties":{"source":{"description":"The reader.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].source","typeLabel":"enum\u003cstring>"},"kind":{"description":"What the reader concluded.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly its evidence backs it.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].trust","typeLabel":"enum\u003cstring>"},"detail":{"oneOf":[{"type":"object","title":"TransportEvidenceDetail (v1)","description":"What the transport reader saw on the request, raw.","required":["source"],"properties":{"source":{"const":"transport","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.source","typeLabel":"string"},"user_agent":{"oneOf":[{"type":"string","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.user_agent","typeLabel":"string | null"},"ip":{"oneOf":[{"type":"string","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip","typeLabel":"string | null"},"ip_range_platform":{"oneOf":[{"type":"string","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform","typeLabel":"string | null"},"ip_range":{"oneOf":[{"type":"string","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range","typeLabel":"string | null"},"client_hints":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.client_hints.additionalProperties","typeLabel":"string"},"description":"The `Sec-CH-*` request headers, raw.","title":"Client Hints","type":"object","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.client_hints","typeLabel":"Client Hints · object"},"fetch_metadata":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata.additionalProperties","typeLabel":"string"},"description":"The `Sec-Fetch-*` request headers, raw.","title":"Fetch Metadata","type":"object","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata","typeLabel":"Fetch Metadata · object"},"tls_fingerprint":{"oneOf":[{"type":"string","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint","typeLabel":"string | null"},"http_fingerprint":{"oneOf":[{"type":"string","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint","typeLabel":"string | null"},"edge_bot_score":{"oneOf":[{"type":"integer","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score","typeLabel":"integer | null"},"is_edge_verified_bot":{"oneOf":[{"type":"boolean","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0","typeLabel":"TransportEvidenceDetail (v1) · object"},{"type":"object","title":"WebBotAuthEvidenceDetail (v1)","description":"A Web Bot Auth signature the request carried.","required":["source","signing_domain","key_id","thumbprint","is_signature_verified"],"properties":{"source":{"const":"web_bot_auth","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.source","typeLabel":"string"},"signing_domain":{"description":"The domain that published the signing key.","title":"Signing Domain","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.signing_domain","typeLabel":"string"},"key_id":{"description":"The signature's `keyid`.","title":"Key Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.key_id","typeLabel":"string"},"thumbprint":{"description":"The signing key's RFC 7638 thumbprint.","title":"Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.thumbprint","typeLabel":"string"},"is_signature_verified":{"description":"Whether the signature verified.","title":"Is Signature Verified","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.is_signature_verified","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1","typeLabel":"WebBotAuthEvidenceDetail (v1) · object"},{"type":"object","title":"KyaEvidenceDetail (v1)","description":"A KYA credential the request presented or the merchant's session named.\nNever the credential's disclosed claims.","required":["source","credential_id","cnf_thumbprint","arrived_by"],"properties":{"source":{"const":"kya","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.source","typeLabel":"string"},"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.credential_id","typeLabel":"string"},"cnf_thumbprint":{"description":"The thumbprint of the credential's `cnf` key.","title":"Cnf Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.cnf_thumbprint","typeLabel":"string"},"arrived_by":{"description":"How the credential reached this request.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.arrived_by","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.verification_level","typeLabel":"enum\u003cinteger> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2","typeLabel":"KyaEvidenceDetail (v1) · object"},{"type":"object","title":"TapEvidenceDetail (v1)","description":"A Trusted Agent Protocol signature the request carried.","required":["source","agent_key_thumbprint"],"properties":{"source":{"const":"tap","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.source","typeLabel":"string"},"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.agent_key_thumbprint","typeLabel":"string"},"consumer_token":{"oneOf":[{"type":"string","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.0","typeLabel":"string"},{"type":"null","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.consumer_token","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3","typeLabel":"TapEvidenceDetail (v1) · object"},{"type":"object","title":"DetectionEvidenceDetail (v1)","description":"A detection verdict, in Baselayer's vocabulary.","required":["source","verdict","risk_level"],"properties":{"source":{"const":"detection","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.source","typeLabel":"string"},"verdict":{"description":"What detection judged the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.verdict","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk it scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.risk_level","typeLabel":"enum\u003cstring>"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure it was.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure it was.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.confidence","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4","typeLabel":"DetectionEvidenceDetail (v1) · object"},{"type":"object","title":"ChallengeEvidenceDetail (v1)","description":"A challenge served to the browser, and whether it was passed.","required":["source","kind","is_passed"],"properties":{"source":{"const":"challenge","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5.source","typeLabel":"string"},"kind":{"description":"The challenge served.","enum":["managed"],"title":"ChallengeKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"is_passed":{"description":"Whether the visitor passed it.","title":"Is Passed","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5.is_passed","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5","typeLabel":"ChallengeEvidenceDetail (v1) · object"},{"type":"object","title":"GenericEvidenceDetail (v1)","description":"A reader's detail with no shape of its own here: its `source` and\nwhatever it saw, as it sent it.","required":["source"],"properties":{"source":{"description":"The reader that saw it.","not":{"enum":["challenge","detection","kya","tap","transport","web_bot_auth"]},"title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.6.source","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.6","typeLabel":"GenericEvidenceDetail (v1) · object"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail","typeLabel":"TransportEvidenceDetail (v1) · object | WebBotAuthEvidenceDetail (v1) · object | KyaEvidenceDetail (v1) · object | TapEvidenceDetail (v1) · object | DetectionEvidenceDetail (v1) · object | ChallengeEvidenceDetail (v1) · object | GenericEvidenceDetail (v1) · object"}},"required":["source","kind","trust","detail"],"title":"Evidence (v1)","type":"object","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX]","typeLabel":"Evidence (v1) · object"},"maxItems":16,"title":"Evidence","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence","typeLabel":"Evidence (v1) · object[]"},"sdk":{"additionalProperties":false,"description":"The SDK that computed the decision.","properties":{"language":{"description":"The SDK's language.","enum":["typescript","python"],"title":"SdkLanguage","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk.language","typeLabel":"enum\u003cstring>"},"version":{"description":"The SDK's package version.","examples":["1.4.0"],"maxLength":32,"title":"Version","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk.version","typeLabel":"string"},"policy_schema_version":{"description":"The policy feature level the SDK's evaluator implements; below a policy's `minimum_policy_schema_version` it runs report-only.","maximum":2147483647,"minimum":1,"title":"Policy Schema Version","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk.policy_schema_version","typeLabel":"integer"}},"required":["language","version","policy_schema_version"],"title":"Sdk (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk","typeLabel":"Sdk (v1) · object"},"outcome":{"description":"What the decision recommends.","enum":["allow","challenge","step_up","block"],"title":"AcceptanceDecisionOutcome","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.outcome","typeLabel":"enum\u003cstring>"},"enforcement_mode":{"description":"The mode the SDK applied; a step run report-only because of a rule it could not read is `report_only`.","enum":["report_only","enforce"],"title":"EnforcementMode","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.enforcement_mode","typeLabel":"enum\u003cstring>"},"reasons":{"description":"Why the decision came out as it did.","items":{"description":"Why a decision came out as it did.\n\n`rule_unsupported` means the SDK met a rule it cannot read: the rule\nnever matches and the whole step runs report-only. Values may be added.","enum":["credential_verified","credential_refused","web_bot_auth_verified","tap_verified","declared_user_agent","ip_range_match","detection_scored","detection_unavailable","presence_conflict","challenge_passed","no_rule_matched","unobserved","rule_unsupported"],"title":"AcceptanceDecisionReason","type":"string","uniqueKey":"items.[INDEX].oneOf.1.reasons.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Reasons","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.reasons","typeLabel":"enum\u003cstring>[]"},"acceptance_decision_id":{"description":"The decision's id.","format":"uuid","title":"Acceptance Decision Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.acceptance_decision_id","typeLabel":"string\u003cuuid>"},"environment":{"enum":["sandbox","production"],"title":"ApplicationType","type":"string","description":"The application's environment.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.environment","typeLabel":"enum\u003cstring>"},"integrity":{"description":"Baselayer's check on the decision.","properties":{"is_policy_hash_mismatch":{"description":"True when the policy the SDK ran differs from the version it named.","title":"Is Policy Hash Mismatch","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.integrity.is_policy_hash_mismatch","typeLabel":"boolean"}},"required":["is_policy_hash_mismatch"],"title":"VisitDecisionIntegrity (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.integrity","typeLabel":"VisitDecisionIntegrity (v1) · object"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","enum":["L1","L2","L3"],"uniqueKey":"items.[INDEX].oneOf.1.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","uniqueKey":"items.[INDEX].oneOf.1.identity_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.identity_level","typeLabel":"enum\u003cstring> | null"},"rule":{"oneOf":[{"type":"string","title":"Rule","description":"The policy rule that fired; null when none matched.","maxLength":128,"example":"vl2","uniqueKey":"items.[INDEX].oneOf.1.rule.oneOf.0","typeLabel":"string"},{"type":"null","title":"Rule","description":"The policy rule that fired; null when none matched.","example":"vl2","uniqueKey":"items.[INDEX].oneOf.1.rule.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.rule","typeLabel":"string | null"},"policy_version_id":{"oneOf":[{"type":"string","title":"Policy Version Id","description":"The policy version that decided; null for the bundled policy.","format":"uuid","uniqueKey":"items.[INDEX].oneOf.1.policy_version_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Policy Version Id","description":"The policy version that decided; null for the bundled policy.","uniqueKey":"items.[INDEX].oneOf.1.policy_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.policy_version_id","typeLabel":"string\u003cuuid> | null"},"requirement":{"oneOf":[{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","scope"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"scope","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.scope.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.scope","typeLabel":"string | null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.identity_level","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","identity_level"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"identity_level","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The minimum identity level.","enum":["L1","L2","L3"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The minimum identity level.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.identity_level.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.identity_level","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.scope","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","challenge"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"challenge","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"challenge":{"oneOf":[{"type":"string","title":"ChallengeKind","description":"The challenge to solve.","enum":["managed"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.challenge.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The challenge to solve.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.challenge.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.challenge","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.scope","typeLabel":"null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.identity_level","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2","typeLabel":"Requirement (v1) · object"},{"type":"null","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.3","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.requirement","typeLabel":"Requirement (v1) · object · Requirement (v1) · object · Requirement (v1) · object · null"},"expires_at":{"oneOf":[{"type":"string","title":"Expires At","description":"When the decision stops applying.","format":"date-time","uniqueKey":"items.[INDEX].oneOf.1.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Expires At","description":"When the decision stops applying.","uniqueKey":"items.[INDEX].oneOf.1.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time> | null"},"visit_id":{"oneOf":[{"type":"string","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","format":"uuid","uniqueKey":"items.[INDEX].oneOf.1.visit_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.1.visit_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit_id","typeLabel":"string\u003cuuid> | null"},"agent":{"oneOf":[{"type":"object","title":"VisitAgent (v1)","description":"The agent behind the request.","required":["agent_key_thumbprint","agent_key_source","first_seen_at","visit_count"],"properties":{"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_thumbprint","typeLabel":"string"},"agent_key_source":{"description":"Where the key came from.","enum":["kya","web_bot_auth","tap"],"title":"AgentKeySource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_source","typeLabel":"enum\u003cstring>"},"first_seen_at":{"description":"When this application first saw the agent; its value now.","format":"date-time","title":"First Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.first_seen_at","typeLabel":"string\u003cdate-time>"},"visit_count":{"description":"The agent's visits to this application; its value now.","minimum":0,"title":"Visit Count","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.visit_count","typeLabel":"integer"},"agent_key_kid":{"oneOf":[{"type":"string","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_kid.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_kid.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_kid","typeLabel":"string | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_platform","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0","typeLabel":"VisitAgent (v1) · object"},{"type":"null","description":"The agent behind the request.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.agent","typeLabel":"VisitAgent (v1) · object | null"},"credential":{"oneOf":[{"type":"object","title":"VisitCredential (v1)","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","required":["credential_id","subject","verification","source"],"properties":{"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.credential_id","typeLabel":"string"},"subject":{"description":"The credential's pairwise subject DID for this audience.","title":"Subject","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.subject","typeLabel":"string"},"verification":{"description":"Whether Baselayer confirmed the credential was issued to this subject and unrevoked when the decision was made.","enum":["pending","verified","refused"],"title":"SubjectVerification","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification","typeLabel":"enum\u003cstring>"},"source":{"description":"How the credential arrived. Always `presentation` here: a decision that checked a session reads the credential of the earlier presentation, and its KYA evidence's `arrived_by` says `session`.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.source","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification_level","typeLabel":"enum\u003cinteger> | null"},"refusal_reason":{"oneOf":[{"type":"string","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.refusal_reason","typeLabel":"string | null"},"audience":{"oneOf":[{"type":"string","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.audience.oneOf.0","typeLabel":"string"},{"type":"null","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.audience.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.audience","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0","typeLabel":"VisitCredential (v1) · object"},{"type":"null","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential","typeLabel":"VisitCredential (v1) · object | null"},"credential_verification":{"oneOf":[{"type":"string","title":"SubjectVerification","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","enum":["pending","verified","refused"],"uniqueKey":"items.[INDEX].oneOf.1.credential_verification.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","uniqueKey":"items.[INDEX].oneOf.1.credential_verification.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential_verification","typeLabel":"enum\u003cstring> | null"},"credential_refusal_reason":{"oneOf":[{"type":"string","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.1.credential_refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.1.credential_refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential_refusal_reason","typeLabel":"string | null"},"merchant_outcome":{"oneOf":[{"type":"string","title":"AcceptanceDecisionOutcome","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","enum":["allow","challenge","step_up","block"],"uniqueKey":"items.[INDEX].oneOf.1.merchant_outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","uniqueKey":"items.[INDEX].oneOf.1.merchant_outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.merchant_outcome","typeLabel":"enum\u003cstring> | null"},"visit":{"oneOf":[{"type":"object","title":"VisitSummary (v1)","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","required":["state","started_at","last_seen_at"],"properties":{"state":{"description":"Whether it goes on.","enum":["active","ended"],"title":"VisitState","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.state","typeLabel":"enum\u003cstring>"},"started_at":{"description":"Its first record.","format":"date-time","title":"Started At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.started_at","typeLabel":"string\u003cdate-time>"},"last_seen_at":{"description":"Its latest record.","format":"date-time","title":"Last Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_seen_at","typeLabel":"string\u003cdate-time>"},"outcome":{"oneOf":[{"type":"string","title":"VisitOutcome","description":"How it ended; null while active.","enum":["converted","abandoned","blocked"],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How it ended; null while active.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.outcome","typeLabel":"enum\u003cstring> | null"},"first_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its first decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.first_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its first decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.first_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.first_step","typeLabel":"enum\u003cstring> | null"},"last_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its latest decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its latest decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_step","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0","typeLabel":"VisitSummary (v1) · object"},{"type":"null","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit","typeLabel":"VisitSummary (v1) · object | null"}},"uniqueKey":"items.[INDEX].oneOf.1","typeLabel":"VisitDecision (v1) · object"}],"uniqueKey":"items.[INDEX]","typeLabel":"VisitDecision (v1) · object"},"uniqueKey":"","typeLabel":"VisitDecision (v1) · object[]"},"examples":{"Example":{"title":"Example","value":[{"policy_version_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","report_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","decided_at":"2023-11-07T05:31:56Z","transport":"browser","step":"browse","presence":{"kind":"human","trust":"credentialed","risk_level":"high","sources":["transport"],"is_detection_available":true,"confidence":"high","agent_platform":"OpenAI ChatGPT"},"evidence":[{"source":"transport","kind":"human","trust":"credentialed","detail":{"source":"transport","user_agent":"\u003cstring>","ip":"\u003cstring>","ip_range_platform":"\u003cstring>","ip_range":"\u003cstring>","client_hints":{},"fetch_metadata":{},"tls_fingerprint":"\u003cstring>","http_fingerprint":"\u003cstring>","edge_bot_score":123,"is_edge_verified_bot":true}}],"sdk":{"language":"typescript","version":"1.4.0","policy_schema_version":1073741824},"outcome":"allow","enforcement_mode":"report_only","reasons":["credential_verified"],"acceptance_decision_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","environment":"sandbox","integrity":{"is_policy_hash_mismatch":true},"identity_level":"L1","rule":"vl2","policy_version_label":"bundled:1.4.0","requirement":{"kind":"scope","scope":"shop-example#checkout","identity_level":null,"challenge":null},"expires_at":"2023-11-07T05:31:56Z","visit_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","agent":{"agent_key_thumbprint":"\u003cstring>","agent_key_source":"kya","first_seen_at":"2023-11-07T05:31:56Z","visit_count":1,"agent_key_kid":"\u003cstring>","agent_platform":"\u003cstring>"},"credential":{"credential_id":"\u003cstring>","subject":"\u003cstring>","verification":"pending","source":"presentation","verification_level":1,"refusal_reason":"revoked","audience":"https://shop.example"},"credential_verification":"pending","credential_refusal_reason":"unbacked_session","merchant_outcome":"allow","visit":{"state":"active","started_at":"2023-11-07T05:31:56Z","last_seen_at":"2023-11-07T05:31:56Z","outcome":"converted","first_step":"browse","last_step":"browse"}}]}},"exampleType":"generated"},"application/vnd.baselayer.v1+json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","title":"VisitDecision (v1)","description":"One decision of a visit: what the SDK reported, what the merchant did,\nand where the visit stands.","required":["report_id","decided_at","transport","step","presence","evidence","sdk","outcome","enforcement_mode","reasons","acceptance_decision_id","environment","integrity","policy_version_id"],"properties":{"policy_version_id":{"type":"string","title":"Policy Version Id","description":"The policy version that decided; null for the bundled policy.","format":"uuid","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.policy_version_id","typeLabel":"string\u003cuuid>"},"report_id":{"description":"The SDK's id for the record; a resent record with the same id is a duplicate.","format":"uuid","title":"Report Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.report_id","typeLabel":"string\u003cuuid>"},"decided_at":{"description":"When the SDK decided, on the merchant's clock.","format":"date-time","title":"Decided At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.decided_at","typeLabel":"string\u003cdate-time>"},"transport":{"description":"How the visitor reached the merchant.","enum":["browser","api","mcp","ucp"],"title":"VisitTransport","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.transport","typeLabel":"enum\u003cstring>"},"step":{"description":"The funnel step the request mapped to.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"title":"VisitStep","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.step","typeLabel":"enum\u003cstring>"},"presence":{"additionalProperties":false,"description":"The presence the policy ran on.","properties":{"kind":{"description":"What is behind the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly the evidence backs `kind`.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.trust","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk scored; `no_risk` when nothing scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.risk_level","typeLabel":"enum\u003cstring>"},"sources":{"description":"Every reader that contributed to the presence.","items":{"description":"A reader that contributed to a request's presence. Values may be added.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","uniqueKey":"items.[INDEX].oneOf.0.presence.sources.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Sources","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.sources","typeLabel":"enum\u003cstring>[]"},"is_detection_available":{"description":"True when a detection verdict informed the presence, false when it was decided on local readers alone.","title":"Is Detection Available","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence.is_detection_available","typeLabel":"boolean"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure a detection verdict was; null when nothing scored.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.0.presence.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure a detection verdict was; null when nothing scored.","uniqueKey":"items.[INDEX].oneOf.0.presence.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.presence.confidence","typeLabel":"enum\u003cstring> | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.0.presence.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.0.presence.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.presence.agent_platform","typeLabel":"string | null"}},"required":["kind","trust","risk_level","sources","is_detection_available"],"title":"Presence (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.presence","typeLabel":"Presence (v1) · object"},"evidence":{"description":"One entry per reader that contributed, raw: at most 16, with at most 8,192 bytes of `detail` in all, counted as the UTF-8 of each `detail` as sent, in RFC 8785 canonical form.","items":{"additionalProperties":false,"description":"One reader's contribution to a decision: what it concluded and the raw\ndetail it saw.","properties":{"source":{"description":"The reader.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].source","typeLabel":"enum\u003cstring>"},"kind":{"description":"What the reader concluded.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly its evidence backs it.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].trust","typeLabel":"enum\u003cstring>"},"detail":{"oneOf":[{"type":"object","title":"TransportEvidenceDetail (v1)","description":"What the transport reader saw on the request, raw.","required":["source"],"properties":{"source":{"const":"transport","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.source","typeLabel":"string"},"user_agent":{"oneOf":[{"type":"string","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.user_agent","typeLabel":"string | null"},"ip":{"oneOf":[{"type":"string","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip","typeLabel":"string | null"},"ip_range_platform":{"oneOf":[{"type":"string","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform","typeLabel":"string | null"},"ip_range":{"oneOf":[{"type":"string","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.ip_range","typeLabel":"string | null"},"client_hints":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.client_hints.additionalProperties","typeLabel":"string"},"description":"The `Sec-CH-*` request headers, raw.","title":"Client Hints","type":"object","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.client_hints","typeLabel":"Client Hints · object"},"fetch_metadata":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata.additionalProperties","typeLabel":"string"},"description":"The `Sec-Fetch-*` request headers, raw.","title":"Fetch Metadata","type":"object","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata","typeLabel":"Fetch Metadata · object"},"tls_fingerprint":{"oneOf":[{"type":"string","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint","typeLabel":"string | null"},"http_fingerprint":{"oneOf":[{"type":"string","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint","typeLabel":"string | null"},"edge_bot_score":{"oneOf":[{"type":"integer","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score","typeLabel":"integer | null"},"is_edge_verified_bot":{"oneOf":[{"type":"boolean","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.0","typeLabel":"TransportEvidenceDetail (v1) · object"},{"type":"object","title":"WebBotAuthEvidenceDetail (v1)","description":"A Web Bot Auth signature the request carried.","required":["source","signing_domain","key_id","thumbprint","is_signature_verified"],"properties":{"source":{"const":"web_bot_auth","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.source","typeLabel":"string"},"signing_domain":{"description":"The domain that published the signing key.","title":"Signing Domain","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.signing_domain","typeLabel":"string"},"key_id":{"description":"The signature's `keyid`.","title":"Key Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.key_id","typeLabel":"string"},"thumbprint":{"description":"The signing key's RFC 7638 thumbprint.","title":"Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.thumbprint","typeLabel":"string"},"is_signature_verified":{"description":"Whether the signature verified.","title":"Is Signature Verified","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1.is_signature_verified","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.1","typeLabel":"WebBotAuthEvidenceDetail (v1) · object"},{"type":"object","title":"KyaEvidenceDetail (v1)","description":"A KYA credential the request presented or the merchant's session named.\nNever the credential's disclosed claims.","required":["source","credential_id","cnf_thumbprint","arrived_by"],"properties":{"source":{"const":"kya","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.source","typeLabel":"string"},"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.credential_id","typeLabel":"string"},"cnf_thumbprint":{"description":"The thumbprint of the credential's `cnf` key.","title":"Cnf Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.cnf_thumbprint","typeLabel":"string"},"arrived_by":{"description":"How the credential reached this request.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.arrived_by","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2.verification_level","typeLabel":"enum\u003cinteger> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.2","typeLabel":"KyaEvidenceDetail (v1) · object"},{"type":"object","title":"TapEvidenceDetail (v1)","description":"A Trusted Agent Protocol signature the request carried.","required":["source","agent_key_thumbprint"],"properties":{"source":{"const":"tap","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.source","typeLabel":"string"},"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.agent_key_thumbprint","typeLabel":"string"},"consumer_token":{"oneOf":[{"type":"string","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.0","typeLabel":"string"},{"type":"null","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3.consumer_token","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.3","typeLabel":"TapEvidenceDetail (v1) · object"},{"type":"object","title":"DetectionEvidenceDetail (v1)","description":"A detection verdict, in Baselayer's vocabulary.","required":["source","verdict","risk_level"],"properties":{"source":{"const":"detection","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.source","typeLabel":"string"},"verdict":{"description":"What detection judged the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.verdict","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk it scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.risk_level","typeLabel":"enum\u003cstring>"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure it was.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure it was.","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4.confidence","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.4","typeLabel":"DetectionEvidenceDetail (v1) · object"},{"type":"object","title":"ChallengeEvidenceDetail (v1)","description":"A challenge served to the browser, and whether it was passed.","required":["source","kind","is_passed"],"properties":{"source":{"const":"challenge","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5.source","typeLabel":"string"},"kind":{"description":"The challenge served.","enum":["managed"],"title":"ChallengeKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"is_passed":{"description":"Whether the visitor passed it.","title":"Is Passed","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5.is_passed","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.5","typeLabel":"ChallengeEvidenceDetail (v1) · object"},{"type":"object","title":"GenericEvidenceDetail (v1)","description":"A reader's detail with no shape of its own here: its `source` and\nwhatever it saw, as it sent it.","required":["source"],"properties":{"source":{"description":"The reader that saw it.","not":{"enum":["challenge","detection","kya","tap","transport","web_bot_auth"]},"title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.6.source","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail.oneOf.6","typeLabel":"GenericEvidenceDetail (v1) · object"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX].detail","typeLabel":"TransportEvidenceDetail (v1) · object | WebBotAuthEvidenceDetail (v1) · object | KyaEvidenceDetail (v1) · object | TapEvidenceDetail (v1) · object | DetectionEvidenceDetail (v1) · object | ChallengeEvidenceDetail (v1) · object | GenericEvidenceDetail (v1) · object"}},"required":["source","kind","trust","detail"],"title":"Evidence (v1)","type":"object","uniqueKey":"items.[INDEX].oneOf.0.evidence.items.[INDEX]","typeLabel":"Evidence (v1) · object"},"maxItems":16,"title":"Evidence","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.evidence","typeLabel":"Evidence (v1) · object[]"},"sdk":{"additionalProperties":false,"description":"The SDK that computed the decision.","properties":{"language":{"description":"The SDK's language.","enum":["typescript","python"],"title":"SdkLanguage","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk.language","typeLabel":"enum\u003cstring>"},"version":{"description":"The SDK's package version.","examples":["1.4.0"],"maxLength":32,"title":"Version","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk.version","typeLabel":"string"},"policy_schema_version":{"description":"The policy feature level the SDK's evaluator implements; below a policy's `minimum_policy_schema_version` it runs report-only.","maximum":2147483647,"minimum":1,"title":"Policy Schema Version","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk.policy_schema_version","typeLabel":"integer"}},"required":["language","version","policy_schema_version"],"title":"Sdk (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.sdk","typeLabel":"Sdk (v1) · object"},"outcome":{"description":"What the decision recommends.","enum":["allow","challenge","step_up","block"],"title":"AcceptanceDecisionOutcome","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.outcome","typeLabel":"enum\u003cstring>"},"enforcement_mode":{"description":"The mode the SDK applied; a step run report-only because of a rule it could not read is `report_only`.","enum":["report_only","enforce"],"title":"EnforcementMode","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.enforcement_mode","typeLabel":"enum\u003cstring>"},"reasons":{"description":"Why the decision came out as it did.","items":{"description":"Why a decision came out as it did.\n\n`rule_unsupported` means the SDK met a rule it cannot read: the rule\nnever matches and the whole step runs report-only. Values may be added.","enum":["credential_verified","credential_refused","web_bot_auth_verified","tap_verified","declared_user_agent","ip_range_match","detection_scored","detection_unavailable","presence_conflict","challenge_passed","no_rule_matched","unobserved","rule_unsupported"],"title":"AcceptanceDecisionReason","type":"string","uniqueKey":"items.[INDEX].oneOf.0.reasons.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Reasons","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.reasons","typeLabel":"enum\u003cstring>[]"},"acceptance_decision_id":{"description":"The decision's id.","format":"uuid","title":"Acceptance Decision Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.acceptance_decision_id","typeLabel":"string\u003cuuid>"},"environment":{"enum":["sandbox","production"],"title":"ApplicationType","type":"string","description":"The application's environment.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.environment","typeLabel":"enum\u003cstring>"},"integrity":{"description":"Baselayer's check on the decision.","properties":{"is_policy_hash_mismatch":{"description":"True when the policy the SDK ran differs from the version it named.","title":"Is Policy Hash Mismatch","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.integrity.is_policy_hash_mismatch","typeLabel":"boolean"}},"required":["is_policy_hash_mismatch"],"title":"VisitDecisionIntegrity (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.integrity","typeLabel":"VisitDecisionIntegrity (v1) · object"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","enum":["L1","L2","L3"],"uniqueKey":"items.[INDEX].oneOf.0.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","uniqueKey":"items.[INDEX].oneOf.0.identity_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.identity_level","typeLabel":"enum\u003cstring> | null"},"rule":{"oneOf":[{"type":"string","title":"Rule","description":"The policy rule that fired; null when none matched.","maxLength":128,"example":"vl2","uniqueKey":"items.[INDEX].oneOf.0.rule.oneOf.0","typeLabel":"string"},{"type":"null","title":"Rule","description":"The policy rule that fired; null when none matched.","example":"vl2","uniqueKey":"items.[INDEX].oneOf.0.rule.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.rule","typeLabel":"string | null"},"policy_version_label":{"oneOf":[{"type":"string","title":"Policy Version Label","description":"`bundled:` and the SDK version, set only when the SDK never fetched a policy.","maxLength":64,"pattern":"^bundled:.+$","example":"bundled:1.4.0","uniqueKey":"items.[INDEX].oneOf.0.policy_version_label.oneOf.0","typeLabel":"string"},{"type":"null","title":"Policy Version Label","description":"`bundled:` and the SDK version, set only when the SDK never fetched a policy.","example":"bundled:1.4.0","uniqueKey":"items.[INDEX].oneOf.0.policy_version_label.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.policy_version_label","typeLabel":"string | null"},"requirement":{"oneOf":[{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","scope"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"scope","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.scope.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.scope","typeLabel":"string | null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.identity_level","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.0","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","identity_level"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"identity_level","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The minimum identity level.","enum":["L1","L2","L3"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The minimum identity level.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.identity_level.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.identity_level","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.scope","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.1","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","challenge"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"challenge","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"challenge":{"oneOf":[{"type":"string","title":"ChallengeKind","description":"The challenge to solve.","enum":["managed"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.challenge.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The challenge to solve.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.challenge.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.challenge","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.scope","typeLabel":"null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2.identity_level","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.2","typeLabel":"Requirement (v1) · object"},{"type":"null","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","uniqueKey":"items.[INDEX].oneOf.0.requirement.oneOf.3","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.requirement","typeLabel":"Requirement (v1) · object · Requirement (v1) · object · Requirement (v1) · object · null"},"expires_at":{"oneOf":[{"type":"string","title":"Expires At","description":"When the decision stops applying.","format":"date-time","uniqueKey":"items.[INDEX].oneOf.0.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Expires At","description":"When the decision stops applying.","uniqueKey":"items.[INDEX].oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.expires_at","typeLabel":"string\u003cdate-time> | null"},"visit_id":{"oneOf":[{"type":"string","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","format":"uuid","uniqueKey":"items.[INDEX].oneOf.0.visit_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.0.visit_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit_id","typeLabel":"string\u003cuuid> | null"},"agent":{"oneOf":[{"type":"object","title":"VisitAgent (v1)","description":"The agent behind the request.","required":["agent_key_thumbprint","agent_key_source","first_seen_at","visit_count"],"properties":{"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_thumbprint","typeLabel":"string"},"agent_key_source":{"description":"Where the key came from.","enum":["kya","web_bot_auth","tap"],"title":"AgentKeySource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_source","typeLabel":"enum\u003cstring>"},"first_seen_at":{"description":"When this application first saw the agent; its value now.","format":"date-time","title":"First Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.first_seen_at","typeLabel":"string\u003cdate-time>"},"visit_count":{"description":"The agent's visits to this application; its value now.","minimum":0,"title":"Visit Count","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.visit_count","typeLabel":"integer"},"agent_key_kid":{"oneOf":[{"type":"string","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_kid.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_kid.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_key_kid","typeLabel":"string | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0.agent_platform","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.0","typeLabel":"VisitAgent (v1) · object"},{"type":"null","description":"The agent behind the request.","uniqueKey":"items.[INDEX].oneOf.0.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.agent","typeLabel":"VisitAgent (v1) · object | null"},"credential":{"oneOf":[{"type":"object","title":"VisitCredential (v1)","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","required":["credential_id","subject","verification","source"],"properties":{"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.credential_id","typeLabel":"string"},"subject":{"description":"The credential's pairwise subject DID for this audience.","title":"Subject","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.subject","typeLabel":"string"},"verification":{"description":"Whether Baselayer confirmed the credential was issued to this subject and unrevoked when the decision was made.","enum":["pending","verified","refused"],"title":"SubjectVerification","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification","typeLabel":"enum\u003cstring>"},"source":{"description":"How the credential arrived. Always `presentation` here: a decision that checked a session reads the credential of the earlier presentation, and its KYA evidence's `arrived_by` says `session`.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.source","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.verification_level","typeLabel":"enum\u003cinteger> | null"},"refusal_reason":{"oneOf":[{"type":"string","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.refusal_reason","typeLabel":"string | null"},"audience":{"oneOf":[{"type":"string","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.audience.oneOf.0","typeLabel":"string"},{"type":"null","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.audience.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0.audience","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.0","typeLabel":"VisitCredential (v1) · object"},{"type":"null","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","uniqueKey":"items.[INDEX].oneOf.0.credential.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential","typeLabel":"VisitCredential (v1) · object | null"},"credential_verification":{"oneOf":[{"type":"string","title":"SubjectVerification","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","enum":["pending","verified","refused"],"uniqueKey":"items.[INDEX].oneOf.0.credential_verification.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","uniqueKey":"items.[INDEX].oneOf.0.credential_verification.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential_verification","typeLabel":"enum\u003cstring> | null"},"credential_refusal_reason":{"oneOf":[{"type":"string","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.0.credential_refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.0.credential_refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.credential_refusal_reason","typeLabel":"string | null"},"merchant_outcome":{"oneOf":[{"type":"string","title":"AcceptanceDecisionOutcome","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","enum":["allow","challenge","step_up","block"],"uniqueKey":"items.[INDEX].oneOf.0.merchant_outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","uniqueKey":"items.[INDEX].oneOf.0.merchant_outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.merchant_outcome","typeLabel":"enum\u003cstring> | null"},"visit":{"oneOf":[{"type":"object","title":"VisitSummary (v1)","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","required":["state","started_at","last_seen_at"],"properties":{"state":{"description":"Whether it goes on.","enum":["active","ended"],"title":"VisitState","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.state","typeLabel":"enum\u003cstring>"},"started_at":{"description":"Its first record.","format":"date-time","title":"Started At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.started_at","typeLabel":"string\u003cdate-time>"},"last_seen_at":{"description":"Its latest record.","format":"date-time","title":"Last Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_seen_at","typeLabel":"string\u003cdate-time>"},"outcome":{"oneOf":[{"type":"string","title":"VisitOutcome","description":"How it ended; null while active.","enum":["converted","abandoned","blocked"],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How it ended; null while active.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.outcome","typeLabel":"enum\u003cstring> | null"},"first_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its first decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.first_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its first decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.first_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.first_step","typeLabel":"enum\u003cstring> | null"},"last_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its latest decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its latest decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0.last_step","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.0","typeLabel":"VisitSummary (v1) · object"},{"type":"null","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.0.visit.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.0.visit","typeLabel":"VisitSummary (v1) · object | null"}},"uniqueKey":"items.[INDEX].oneOf.0","typeLabel":"VisitDecision (v1) · object"},{"type":"object","title":"VisitDecision (v1)","description":"One decision of a visit: what the SDK reported, what the merchant did,\nand where the visit stands.","required":["report_id","decided_at","transport","step","presence","evidence","sdk","outcome","enforcement_mode","reasons","acceptance_decision_id","environment","integrity","policy_version_label"],"properties":{"policy_version_label":{"type":"string","title":"Policy Version Label","description":"`bundled:` and the SDK version, set only when the SDK never fetched a policy.","maxLength":64,"pattern":"^bundled:.+$","example":"bundled:1.4.0","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.policy_version_label","typeLabel":"string"},"report_id":{"description":"The SDK's id for the record; a resent record with the same id is a duplicate.","format":"uuid","title":"Report Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.report_id","typeLabel":"string\u003cuuid>"},"decided_at":{"description":"When the SDK decided, on the merchant's clock.","format":"date-time","title":"Decided At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.decided_at","typeLabel":"string\u003cdate-time>"},"transport":{"description":"How the visitor reached the merchant.","enum":["browser","api","mcp","ucp"],"title":"VisitTransport","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.transport","typeLabel":"enum\u003cstring>"},"step":{"description":"The funnel step the request mapped to.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"title":"VisitStep","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.step","typeLabel":"enum\u003cstring>"},"presence":{"additionalProperties":false,"description":"The presence the policy ran on.","properties":{"kind":{"description":"What is behind the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly the evidence backs `kind`.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.trust","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk scored; `no_risk` when nothing scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.risk_level","typeLabel":"enum\u003cstring>"},"sources":{"description":"Every reader that contributed to the presence.","items":{"description":"A reader that contributed to a request's presence. Values may be added.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","uniqueKey":"items.[INDEX].oneOf.1.presence.sources.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Sources","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.sources","typeLabel":"enum\u003cstring>[]"},"is_detection_available":{"description":"True when a detection verdict informed the presence, false when it was decided on local readers alone.","title":"Is Detection Available","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence.is_detection_available","typeLabel":"boolean"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure a detection verdict was; null when nothing scored.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.1.presence.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure a detection verdict was; null when nothing scored.","uniqueKey":"items.[INDEX].oneOf.1.presence.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.presence.confidence","typeLabel":"enum\u003cstring> | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.1.presence.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform, as the strongest source that names one names it; null for a person or an unnamed agent.","example":"OpenAI ChatGPT","uniqueKey":"items.[INDEX].oneOf.1.presence.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.presence.agent_platform","typeLabel":"string | null"}},"required":["kind","trust","risk_level","sources","is_detection_available"],"title":"Presence (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.presence","typeLabel":"Presence (v1) · object"},"evidence":{"description":"One entry per reader that contributed, raw: at most 16, with at most 8,192 bytes of `detail` in all, counted as the UTF-8 of each `detail` as sent, in RFC 8785 canonical form.","items":{"additionalProperties":false,"description":"One reader's contribution to a decision: what it concluded and the raw\ndetail it saw.","properties":{"source":{"description":"The reader.","enum":["transport","kya","web_bot_auth","tap","detection","challenge","edge_hint","local"],"title":"PresenceSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].source","typeLabel":"enum\u003cstring>"},"kind":{"description":"What the reader concluded.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"trust":{"description":"How strongly its evidence backs it.","enum":["credentialed","verified","declared","scored","unobserved","none"],"title":"PresenceTrust","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].trust","typeLabel":"enum\u003cstring>"},"detail":{"oneOf":[{"type":"object","title":"TransportEvidenceDetail (v1)","description":"What the transport reader saw on the request, raw.","required":["source"],"properties":{"source":{"const":"transport","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.source","typeLabel":"string"},"user_agent":{"oneOf":[{"type":"string","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Agent","description":"The raw User-Agent header.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.user_agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.user_agent","typeLabel":"string | null"},"ip":{"oneOf":[{"type":"string","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip","description":"The client IP the merchant trusts.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip","typeLabel":"string | null"},"ip_range_platform":{"oneOf":[{"type":"string","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range Platform","description":"The platform whose published IP range the address is in.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range_platform","typeLabel":"string | null"},"ip_range":{"oneOf":[{"type":"string","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.0","typeLabel":"string"},{"type":"null","title":"Ip Range","description":"The published range it matched, in CIDR form.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.ip_range","typeLabel":"string | null"},"client_hints":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.client_hints.additionalProperties","typeLabel":"string"},"description":"The `Sec-CH-*` request headers, raw.","title":"Client Hints","type":"object","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.client_hints","typeLabel":"Client Hints · object"},"fetch_metadata":{"additionalProperties":{"type":"string","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata.additionalProperties","typeLabel":"string"},"description":"The `Sec-Fetch-*` request headers, raw.","title":"Fetch Metadata","type":"object","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.fetch_metadata","typeLabel":"Fetch Metadata · object"},"tls_fingerprint":{"oneOf":[{"type":"string","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Tls Fingerprint","description":"The TLS fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.tls_fingerprint","typeLabel":"string | null"},"http_fingerprint":{"oneOf":[{"type":"string","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Http Fingerprint","description":"The HTTP/2 fingerprint, when the runtime exposes it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.http_fingerprint","typeLabel":"string | null"},"edge_bot_score":{"oneOf":[{"type":"integer","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Edge Bot Score","description":"A bot score the merchant's edge forwarded, as it sent it.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.edge_bot_score","typeLabel":"integer | null"},"is_edge_verified_bot":{"oneOf":[{"type":"boolean","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Edge Verified Bot","description":"Whether the merchant's edge flagged a verified bot.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0.is_edge_verified_bot","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.0","typeLabel":"TransportEvidenceDetail (v1) · object"},{"type":"object","title":"WebBotAuthEvidenceDetail (v1)","description":"A Web Bot Auth signature the request carried.","required":["source","signing_domain","key_id","thumbprint","is_signature_verified"],"properties":{"source":{"const":"web_bot_auth","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.source","typeLabel":"string"},"signing_domain":{"description":"The domain that published the signing key.","title":"Signing Domain","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.signing_domain","typeLabel":"string"},"key_id":{"description":"The signature's `keyid`.","title":"Key Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.key_id","typeLabel":"string"},"thumbprint":{"description":"The signing key's RFC 7638 thumbprint.","title":"Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.thumbprint","typeLabel":"string"},"is_signature_verified":{"description":"Whether the signature verified.","title":"Is Signature Verified","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1.is_signature_verified","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.1","typeLabel":"WebBotAuthEvidenceDetail (v1) · object"},{"type":"object","title":"KyaEvidenceDetail (v1)","description":"A KYA credential the request presented or the merchant's session named.\nNever the credential's disclosed claims.","required":["source","credential_id","cnf_thumbprint","arrived_by"],"properties":{"source":{"const":"kya","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.source","typeLabel":"string"},"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.credential_id","typeLabel":"string"},"cnf_thumbprint":{"description":"The thumbprint of the credential's `cnf` key.","title":"Cnf Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.cnf_thumbprint","typeLabel":"string"},"arrived_by":{"description":"How the credential reached this request.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.arrived_by","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2.verification_level","typeLabel":"enum\u003cinteger> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.2","typeLabel":"KyaEvidenceDetail (v1) · object"},{"type":"object","title":"TapEvidenceDetail (v1)","description":"A Trusted Agent Protocol signature the request carried.","required":["source","agent_key_thumbprint"],"properties":{"source":{"const":"tap","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.source","typeLabel":"string"},"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.agent_key_thumbprint","typeLabel":"string"},"consumer_token":{"oneOf":[{"type":"string","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.0","typeLabel":"string"},{"type":"null","title":"Consumer Token","description":"The consumer token, raw, when one was sent.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.consumer_token.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3.consumer_token","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.3","typeLabel":"TapEvidenceDetail (v1) · object"},{"type":"object","title":"DetectionEvidenceDetail (v1)","description":"A detection verdict, in Baselayer's vocabulary.","required":["source","verdict","risk_level"],"properties":{"source":{"const":"detection","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.source","typeLabel":"string"},"verdict":{"description":"What detection judged the request.","enum":["human","agent","crawler","automation","unknown"],"title":"PresenceKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.verdict","typeLabel":"enum\u003cstring>"},"risk_level":{"enum":["high","medium","low","no_risk"],"title":"RiskLevel","type":"string","description":"The risk it scored.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.risk_level","typeLabel":"enum\u003cstring>"},"confidence":{"oneOf":[{"type":"string","title":"ConfidenceLevel","description":"How sure it was.","enum":["high","medium","low"],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How sure it was.","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4.confidence","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.4","typeLabel":"DetectionEvidenceDetail (v1) · object"},{"type":"object","title":"ChallengeEvidenceDetail (v1)","description":"A challenge served to the browser, and whether it was passed.","required":["source","kind","is_passed"],"properties":{"source":{"const":"challenge","title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5.source","typeLabel":"string"},"kind":{"description":"The challenge served.","enum":["managed"],"title":"ChallengeKind","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"is_passed":{"description":"Whether the visitor passed it.","title":"Is Passed","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5.is_passed","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.5","typeLabel":"ChallengeEvidenceDetail (v1) · object"},{"type":"object","title":"GenericEvidenceDetail (v1)","description":"A reader's detail with no shape of its own here: its `source` and\nwhatever it saw, as it sent it.","required":["source"],"properties":{"source":{"description":"The reader that saw it.","not":{"enum":["challenge","detection","kya","tap","transport","web_bot_auth"]},"title":"Source","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.6.source","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail.oneOf.6","typeLabel":"GenericEvidenceDetail (v1) · object"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX].detail","typeLabel":"TransportEvidenceDetail (v1) · object | WebBotAuthEvidenceDetail (v1) · object | KyaEvidenceDetail (v1) · object | TapEvidenceDetail (v1) · object | DetectionEvidenceDetail (v1) · object | ChallengeEvidenceDetail (v1) · object | GenericEvidenceDetail (v1) · object"}},"required":["source","kind","trust","detail"],"title":"Evidence (v1)","type":"object","uniqueKey":"items.[INDEX].oneOf.1.evidence.items.[INDEX]","typeLabel":"Evidence (v1) · object"},"maxItems":16,"title":"Evidence","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.evidence","typeLabel":"Evidence (v1) · object[]"},"sdk":{"additionalProperties":false,"description":"The SDK that computed the decision.","properties":{"language":{"description":"The SDK's language.","enum":["typescript","python"],"title":"SdkLanguage","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk.language","typeLabel":"enum\u003cstring>"},"version":{"description":"The SDK's package version.","examples":["1.4.0"],"maxLength":32,"title":"Version","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk.version","typeLabel":"string"},"policy_schema_version":{"description":"The policy feature level the SDK's evaluator implements; below a policy's `minimum_policy_schema_version` it runs report-only.","maximum":2147483647,"minimum":1,"title":"Policy Schema Version","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk.policy_schema_version","typeLabel":"integer"}},"required":["language","version","policy_schema_version"],"title":"Sdk (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.sdk","typeLabel":"Sdk (v1) · object"},"outcome":{"description":"What the decision recommends.","enum":["allow","challenge","step_up","block"],"title":"AcceptanceDecisionOutcome","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.outcome","typeLabel":"enum\u003cstring>"},"enforcement_mode":{"description":"The mode the SDK applied; a step run report-only because of a rule it could not read is `report_only`.","enum":["report_only","enforce"],"title":"EnforcementMode","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.enforcement_mode","typeLabel":"enum\u003cstring>"},"reasons":{"description":"Why the decision came out as it did.","items":{"description":"Why a decision came out as it did.\n\n`rule_unsupported` means the SDK met a rule it cannot read: the rule\nnever matches and the whole step runs report-only. Values may be added.","enum":["credential_verified","credential_refused","web_bot_auth_verified","tap_verified","declared_user_agent","ip_range_match","detection_scored","detection_unavailable","presence_conflict","challenge_passed","no_rule_matched","unobserved","rule_unsupported"],"title":"AcceptanceDecisionReason","type":"string","uniqueKey":"items.[INDEX].oneOf.1.reasons.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Reasons","type":"array","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.reasons","typeLabel":"enum\u003cstring>[]"},"acceptance_decision_id":{"description":"The decision's id.","format":"uuid","title":"Acceptance Decision Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.acceptance_decision_id","typeLabel":"string\u003cuuid>"},"environment":{"enum":["sandbox","production"],"title":"ApplicationType","type":"string","description":"The application's environment.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.environment","typeLabel":"enum\u003cstring>"},"integrity":{"description":"Baselayer's check on the decision.","properties":{"is_policy_hash_mismatch":{"description":"True when the policy the SDK ran differs from the version it named.","title":"Is Policy Hash Mismatch","type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.integrity.is_policy_hash_mismatch","typeLabel":"boolean"}},"required":["is_policy_hash_mismatch"],"title":"VisitDecisionIntegrity (v1)","type":"object","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.integrity","typeLabel":"VisitDecisionIntegrity (v1) · object"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","enum":["L1","L2","L3"],"uniqueKey":"items.[INDEX].oneOf.1.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The deepest identity the SDK established; null for a person, an unknown visitor or an uncorroborated claim.","uniqueKey":"items.[INDEX].oneOf.1.identity_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.identity_level","typeLabel":"enum\u003cstring> | null"},"rule":{"oneOf":[{"type":"string","title":"Rule","description":"The policy rule that fired; null when none matched.","maxLength":128,"example":"vl2","uniqueKey":"items.[INDEX].oneOf.1.rule.oneOf.0","typeLabel":"string"},{"type":"null","title":"Rule","description":"The policy rule that fired; null when none matched.","example":"vl2","uniqueKey":"items.[INDEX].oneOf.1.rule.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.rule","typeLabel":"string | null"},"policy_version_id":{"oneOf":[{"type":"string","title":"Policy Version Id","description":"The policy version that decided; null for the bundled policy.","format":"uuid","uniqueKey":"items.[INDEX].oneOf.1.policy_version_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Policy Version Id","description":"The policy version that decided; null for the bundled policy.","uniqueKey":"items.[INDEX].oneOf.1.policy_version_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.policy_version_id","typeLabel":"string\u003cuuid> | null"},"requirement":{"oneOf":[{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","scope"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"scope","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"scope":{"oneOf":[{"type":"string","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.scope.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.scope","typeLabel":"string | null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.identity_level","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.0","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","identity_level"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"identity_level","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"identity_level":{"oneOf":[{"type":"string","title":"IdentityLevel","description":"The minimum identity level.","enum":["L1","L2","L3"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.identity_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The minimum identity level.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.identity_level.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.identity_level","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.scope","typeLabel":"null"},"challenge":{"type":"null","description":"The challenge to solve.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1.challenge","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.1","typeLabel":"Requirement (v1) · object"},{"type":"object","title":"Requirement (v1)","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","required":["kind","challenge"],"properties":{"kind":{"type":"string","title":"RequirementKind","description":"What is asked for.","enum":["scope","identity_level","challenge"],"const":"challenge","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"challenge":{"oneOf":[{"type":"string","title":"ChallengeKind","description":"The challenge to solve.","enum":["managed"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.challenge.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The challenge to solve.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.challenge.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.challenge","typeLabel":"enum\u003cstring> | null"},"scope":{"type":"null","title":"Scope","description":"A disclosure scope, as `profile_id#scope`.","example":"shop-example#checkout","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.scope","typeLabel":"null"},"identity_level":{"type":"null","description":"The minimum identity level.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2.identity_level","typeLabel":"null"}},"additionalProperties":false,"uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.2","typeLabel":"Requirement (v1) · object"},{"type":"null","description":"What a `step_up` or `challenge` asks for, verbatim from the rule; null otherwise.","uniqueKey":"items.[INDEX].oneOf.1.requirement.oneOf.3","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.requirement","typeLabel":"Requirement (v1) · object · Requirement (v1) · object · Requirement (v1) · object · null"},"expires_at":{"oneOf":[{"type":"string","title":"Expires At","description":"When the decision stops applying.","format":"date-time","uniqueKey":"items.[INDEX].oneOf.1.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Expires At","description":"When the decision stops applying.","uniqueKey":"items.[INDEX].oneOf.1.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.expires_at","typeLabel":"string\u003cdate-time> | null"},"visit_id":{"oneOf":[{"type":"string","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","format":"uuid","uniqueKey":"items.[INDEX].oneOf.1.visit_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Visit Id","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.1.visit_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit_id","typeLabel":"string\u003cuuid> | null"},"agent":{"oneOf":[{"type":"object","title":"VisitAgent (v1)","description":"The agent behind the request.","required":["agent_key_thumbprint","agent_key_source","first_seen_at","visit_count"],"properties":{"agent_key_thumbprint":{"description":"The agent key's RFC 7638 thumbprint.","title":"Agent Key Thumbprint","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_thumbprint","typeLabel":"string"},"agent_key_source":{"description":"Where the key came from.","enum":["kya","web_bot_auth","tap"],"title":"AgentKeySource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_source","typeLabel":"enum\u003cstring>"},"first_seen_at":{"description":"When this application first saw the agent; its value now.","format":"date-time","title":"First Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.first_seen_at","typeLabel":"string\u003cdate-time>"},"visit_count":{"description":"The agent's visits to this application; its value now.","minimum":0,"title":"Visit Count","type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.visit_count","typeLabel":"integer"},"agent_key_kid":{"oneOf":[{"type":"string","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_kid.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Key Kid","description":"The key's `kid`, when it has one.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_kid.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_key_kid","typeLabel":"string | null"},"agent_platform":{"oneOf":[{"type":"string","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_platform.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Platform","description":"The agent platform the key belongs to, when known.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_platform.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0.agent_platform","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.0","typeLabel":"VisitAgent (v1) · object"},{"type":"null","description":"The agent behind the request.","uniqueKey":"items.[INDEX].oneOf.1.agent.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.agent","typeLabel":"VisitAgent (v1) · object | null"},"credential":{"oneOf":[{"type":"object","title":"VisitCredential (v1)","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","required":["credential_id","subject","verification","source"],"properties":{"credential_id":{"description":"The credential's `jti`.","title":"Credential Id","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.credential_id","typeLabel":"string"},"subject":{"description":"The credential's pairwise subject DID for this audience.","title":"Subject","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.subject","typeLabel":"string"},"verification":{"description":"Whether Baselayer confirmed the credential was issued to this subject and unrevoked when the decision was made.","enum":["pending","verified","refused"],"title":"SubjectVerification","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification","typeLabel":"enum\u003cstring>"},"source":{"description":"How the credential arrived. Always `presentation` here: a decision that checked a session reads the credential of the earlier presentation, and its KYA evidence's `arrived_by` says `session`.","enum":["presentation","session"],"title":"CredentialSource","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.source","typeLabel":"enum\u003cstring>"},"verification_level":{"oneOf":[{"type":"integer","title":"VerificationLevel","description":"The credential's verification level; null when its keys meet no recipe.","enum":[1,2,3],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification_level.oneOf.0","typeLabel":"enum\u003cinteger>"},{"type":"null","description":"The credential's verification level; null when its keys meet no recipe.","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.verification_level","typeLabel":"enum\u003cinteger> | null"},"refusal_reason":{"oneOf":[{"type":"string","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Refusal Reason","description":"Why it was refused, as an error `type`; null unless `verification` is `refused`.","example":"revoked","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.refusal_reason","typeLabel":"string | null"},"audience":{"oneOf":[{"type":"string","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.audience.oneOf.0","typeLabel":"string"},{"type":"null","title":"Audience","description":"The key-binding JWT's `aud` as presented. Null while `verification` is `pending`, when the presentation could not be read (`presentation_invalid`), and when the `aud` is not one printable string of at most 2048 characters.","example":"https://shop.example","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.audience.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0.audience","typeLabel":"string | null"}},"uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.0","typeLabel":"VisitCredential (v1) · object"},{"type":"null","description":"The presented KYA credential behind the request: its own presentation, or the verified one a session named; null otherwise.","uniqueKey":"items.[INDEX].oneOf.1.credential.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential","typeLabel":"VisitCredential (v1) · object | null"},"credential_verification":{"oneOf":[{"type":"string","title":"SubjectVerification","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","enum":["pending","verified","refused"],"uniqueKey":"items.[INDEX].oneOf.1.credential_verification.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Baselayer's conclusion about the credential the request presented or its session named, even when `credential` is null (a pending or unbacked session); null when the decision names no credential, including a presentation no reader parsed.","uniqueKey":"items.[INDEX].oneOf.1.credential_verification.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential_verification","typeLabel":"enum\u003cstring> | null"},"credential_refusal_reason":{"oneOf":[{"type":"string","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.1.credential_refusal_reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Credential Refusal Reason","description":"Why it was refused, as an error `type`, `unbacked_session` included; null unless `credential_verification` is `refused`.","example":"unbacked_session","uniqueKey":"items.[INDEX].oneOf.1.credential_refusal_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.credential_refusal_reason","typeLabel":"string | null"},"merchant_outcome":{"oneOf":[{"type":"string","title":"AcceptanceDecisionOutcome","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","enum":["allow","challenge","step_up","block"],"uniqueKey":"items.[INDEX].oneOf.1.merchant_outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"What the merchant did with the recommendation; null when the SDK could not observe it.","uniqueKey":"items.[INDEX].oneOf.1.merchant_outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.merchant_outcome","typeLabel":"enum\u003cstring> | null"},"visit":{"oneOf":[{"type":"object","title":"VisitSummary (v1)","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","required":["state","started_at","last_seen_at"],"properties":{"state":{"description":"Whether it goes on.","enum":["active","ended"],"title":"VisitState","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.state","typeLabel":"enum\u003cstring>"},"started_at":{"description":"Its first record.","format":"date-time","title":"Started At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.started_at","typeLabel":"string\u003cdate-time>"},"last_seen_at":{"description":"Its latest record.","format":"date-time","title":"Last Seen At","type":"string","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_seen_at","typeLabel":"string\u003cdate-time>"},"outcome":{"oneOf":[{"type":"string","title":"VisitOutcome","description":"How it ended; null while active.","enum":["converted","abandoned","blocked"],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How it ended; null while active.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.outcome.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.outcome","typeLabel":"enum\u003cstring> | null"},"first_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its first decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.first_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its first decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.first_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.first_step","typeLabel":"enum\u003cstring> | null"},"last_step":{"oneOf":[{"type":"string","title":"VisitStep","description":"The step of its latest decision; null when it has none.","enum":["browse","search","cart","checkout","payment","account","signup","write"],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_step.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The step of its latest decision; null when it has none.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_step.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0.last_step","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.0","typeLabel":"VisitSummary (v1) · object"},{"type":"null","description":"Its visit; null until the decision is joined to its visit, about a minute after it is reported.","uniqueKey":"items.[INDEX].oneOf.1.visit.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].oneOf.1.visit","typeLabel":"VisitSummary (v1) · object | null"}},"uniqueKey":"items.[INDEX].oneOf.1","typeLabel":"VisitDecision (v1) · object"}],"uniqueKey":"items.[INDEX]","typeLabel":"VisitDecision (v1) · object"},"uniqueKey":"","typeLabel":"VisitDecision (v1) · object[]"},"examples":{"Example":{"title":"Example","value":[{"policy_version_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","report_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","decided_at":"2023-11-07T05:31:56Z","transport":"browser","step":"browse","presence":{"kind":"human","trust":"credentialed","risk_level":"high","sources":["transport"],"is_detection_available":true,"confidence":"high","agent_platform":"OpenAI ChatGPT"},"evidence":[{"source":"transport","kind":"human","trust":"credentialed","detail":{"source":"transport","user_agent":"\u003cstring>","ip":"\u003cstring>","ip_range_platform":"\u003cstring>","ip_range":"\u003cstring>","client_hints":{},"fetch_metadata":{},"tls_fingerprint":"\u003cstring>","http_fingerprint":"\u003cstring>","edge_bot_score":123,"is_edge_verified_bot":true}}],"sdk":{"language":"typescript","version":"1.4.0","policy_schema_version":1073741824},"outcome":"allow","enforcement_mode":"report_only","reasons":["credential_verified"],"acceptance_decision_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","environment":"sandbox","integrity":{"is_policy_hash_mismatch":true},"identity_level":"L1","rule":"vl2","policy_version_label":"bundled:1.4.0","requirement":{"kind":"scope","scope":"shop-example#checkout","identity_level":null,"challenge":null},"expires_at":"2023-11-07T05:31:56Z","visit_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","agent":{"agent_key_thumbprint":"\u003cstring>","agent_key_source":"kya","first_seen_at":"2023-11-07T05:31:56Z","visit_count":1,"agent_key_kid":"\u003cstring>","agent_platform":"\u003cstring>"},"credential":{"credential_id":"\u003cstring>","subject":"\u003cstring>","verification":"pending","source":"presentation","verification_level":1,"refusal_reason":"revoked","audience":"https://shop.example"},"credential_verification":"pending","credential_refusal_reason":"unbacked_session","merchant_outcome":"allow","visit":{"state":"active","started_at":"2023-11-07T05:31:56Z","last_seen_at":"2023-11-07T05:31:56Z","outcome":"converted","first_step":"browse","last_step":"browse"}}]}},"exampleType":"generated"}},"headers":{"X-Total-Count":{"description":"Total number of records matching the query.","schema":{"type":"integer"}},"X-Total-Pages":{"description":"Total number of pages available based on the current limit.","schema":{"type":"integer"}},"X-Next-Cursor":{"description":"Cursor for the next page (only present when using the keyset pagination and if `has_more` is true.","schema":{"type":"string"}}},"exampleType":"generated"},"cade675b-9350-42e9-bcba-5369e047eb39":{"description":"No visit of your application has this id.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","title":"Type","description":"Stable snake_case name of the error. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"code":{"type":"integer","title":"Code","description":"Integer catalog code of the error.","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","title":"Message","description":"For a human reading a log; not stable and not localized.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Context documented per `type`.","uniqueKey":"metadata","typeLabel":"Metadata · object"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"The `X-Request-ID` of the failed request.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"The `X-Request-ID` of the failed request.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["type","code","message"],"title":"ResourceNotFound","description":"Could not locate the resource for the given URI.","examples":[{"type":"resource_not_found","code":1,"message":"Could not locate the resource for the given URI.","metadata":{}}],"uniqueKey":"","typeLabel":"ResourceNotFound · object"},"examples":{"Example":{"title":"Example","value":{"type":"resource_not_found","code":1,"message":"Could not locate the resource for the given URI.","metadata":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"c31ca1e6-6e4e-4924-bffe-f028db6e24db":{"description":"The request is invalid.","content":{"application/json":{"schema":{"properties":{"type":{"type":"string","title":"Type","description":"Stable snake_case name of the error. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"code":{"type":"integer","title":"Code","description":"Integer catalog code of the error.","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","title":"Message","description":"For a human reading a log; not stable and not localized.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Context documented per `type`.","uniqueKey":"metadata","typeLabel":"Metadata · object"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"The `X-Request-ID` of the failed request.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"The `X-Request-ID` of the failed request.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["type","code","message"],"title":"ValidationFailed","description":"The request is invalid.","examples":[{"type":"validation_failed","code":7112,"message":"The request is invalid.","metadata":{}}],"uniqueKey":"","typeLabel":"ValidationFailed · object"},"examples":{"Example":{"title":"Example","value":{"type":"validation_failed","code":7112,"message":"The request is invalid.","metadata":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"31ccecad-8a37-4e7f-9f52-589257dd9b08":{"description":"Acceptance data cannot be read right now; retry after `Retry-After` seconds.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"properties":{"type":{"type":"string","title":"Type","description":"Stable snake_case name of the error. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"code":{"type":"integer","title":"Code","description":"Integer catalog code of the error.","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","title":"Message","description":"For a human reading a log; not stable and not localized.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Context documented per `type`.","uniqueKey":"metadata","typeLabel":"Metadata · object"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"The `X-Request-ID` of the failed request.","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"The `X-Request-ID` of the failed request.","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"type":"object","required":["type","code","message"],"title":"AcceptanceReadsUnavailable","description":"Acceptance data is temporarily unavailable. Retry after the Retry-After interval.","examples":[{"type":"acceptance_reads_unavailable","code":7252,"message":"Acceptance data is temporarily unavailable. Retry after the Retry-After interval.","metadata":{}}],"uniqueKey":"","typeLabel":"AcceptanceReadsUnavailable · object"},"examples":{"Example":{"title":"Example","value":{"type":"acceptance_reads_unavailable","code":7252,"message":"Acceptance data is temporarily unavailable. Retry after the Retry-After interval.","metadata":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8bba3ae1-2276-43a6-8aa6-3914056f0d79":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key","scopes":[],"schemeName":"APIKeyHeader"}}},"servers":{"ef574309-9be1-4f6a-bc7f-f545e64dfc60":{"url":"https://api.baselayer.com/"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","scopes":[],"schemeName":"APIKeyHeader"},"schema":{"title":"X-API-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKeyHeader","name":"X-API-Key"}],"title":"APIKeyHeader"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"baselayer-81245324","siteName":"Baselayer","title":"List one visit's decisions - Baselayer","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T04:55:19.129Z","originalFileLocation":"api-reference/acceptance/list-one-visits-decisions.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=\"The decisions on one visit\u0026#x27;s key at your application, from its start to when it was last seen, newest first by default, a page at a time: limit, then cursor from X-Next-Cursor, or offset. X-Total-Count and X-Total-Pages count every match and are sent on the first cursor page and on every offset page. Ties on decided_at break on the decision\u0026#x27;s id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Baselayer\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/baselayer-81245324/PX_ZXIXr1oHoY_hi/_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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/baselayer-81245324/PX_ZXIXr1oHoY_hi/_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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List one visit\u0026#x27;s decisions - Baselayer\">\u003cmeta data-mint-head property=\"og:description\" content=\"The decisions on one visit\u0026#x27;s key at your application, from its start to when it was last seen, newest first by default, a page at a time: limit, then cursor from X-Next-Cursor, or offset. X-Total-Count and X-Total-Pages count every match and are sent on the first cursor page and on every offset page. Ties on decided_at break on the decision\u0026#x27;s id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Baselayer\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://baselayer-81245324.mintlify.app/_mintlify/api/og/v2?division=Visits\u0026amp;title=List+one+visit%27s+decisions\u0026amp;description=The+decisions+on+one+visit%27s+key+at+your+application%2C+from+its+start+to+when+it+was+last+seen%2C+newest+first+by+default%2C+a+page+at+a+time%3A+%60limit%60%2C+then+%60cursor%60\u0026amp;theme=da3e09036423c5729d7edf96\u0026amp;signature=394348f590fa46ae65c5344cedd335f92ca7e14931bce78116b4b2aa366fc724\">\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=\"List one visit\u0026#x27;s decisions - Baselayer\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The decisions on one visit\u0026#x27;s key at your application, from its start to when it was last seen, newest first by default, a page at a time: limit, then cursor from X-Next-Cursor, or offset. X-Total-Count and X-Total-Pages count every match and are sent on the first cursor page and on every offset page. Ties on decided_at break on the decision\u0026#x27;s id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://baselayer-81245324.mintlify.app/_mintlify/api/og/v2?division=Visits\u0026amp;title=List+one+visit%27s+decisions\u0026amp;description=The+decisions+on+one+visit%27s+key+at+your+application%2C+from+its+start+to+when+it+was+last+seen%2C+newest+first+by+default%2C+a+page+at+a+time%3A+%60limit%60%2C+then+%60cursor%60\u0026amp;theme=da3e09036423c5729d7edf96\u0026amp;signature=394348f590fa46ae65c5344cedd335f92ca7e14931bce78116b4b2aa366fc724\">\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/baselayer-81245324/PX_ZXIXr1oHoY_hi/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Baselayer\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#384ce3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/acceptance/list-one-visits-decisions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.baselayer.com/#organization\",\"name\":\"Baselayer\",\"url\":\"https://docs.baselayer.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/baselayer-81245324/D2HqlyNVJCqb8u23/logo/baselayer-wordmark-white.svg?fit=max\u0026auto=format\u0026n=D2HqlyNVJCqb8u23\u0026q=85\u0026s=533e2ee556334e910d3a6d1f2f66ca6a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.baselayer.com#website\",\"name\":\"Baselayer\",\"url\":\"https://docs.baselayer.com\",\"publisher\":{\"@id\":\"https://docs.baselayer.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions#webpage\",\"url\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions\",\"name\":\"List one visit's decisions\",\"description\":\"The decisions on one visit's key at your application, from its start to when it was last seen, newest first by default, a page at a time: limit, then cursor from X-Next-Cursor, or offset. X-Total-Count and X-Total-Pages count every match and are sent on the first cursor page and on every offset page. Ties on decided_at break on the decision's id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.\",\"dateModified\":\"2026-11-03T04:55:19.129Z\",\"isPartOf\":{\"@id\":\"https://docs.baselayer.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Acceptance\",\"item\":\"https://docs.baselayer.com/api-reference/acceptance/list-your-applications-visits\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Visits\",\"item\":\"https://docs.baselayer.com/api-reference/acceptance/list-your-applications-visits\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List one visit's decisions\",\"item\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions#apireference\",\"headline\":\"List one visit's decisions\",\"name\":\"List one visit's decisions\",\"description\":\"The decisions on one visit's key at your application, from its start to when it was last seen, newest first by default, a page at a time: limit, then cursor from X-Next-Cursor, or offset. X-Total-Count and X-Total-Pages count every match and are sent on the first cursor page and on every offset page. Ties on decided_at break on the decision's id. The list runs to when the visit was last seen, which lags its latest record by about a minute, so a decision appears here about a minute after the SDK reports it.\",\"url\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.baselayer.com/api-reference/acceptance/list-one-visits-decisions#webpage\"},\"dateModified\":\"2026-11-03T04:55:19.129Z\",\"publisher\":{\"@id\":\"https://docs.baselayer.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.baselayer.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Baselayer\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Baselayer","nav":{"global":null,"tabs":[{"tab":"Get Started","icon":"rocket","pages":[{"title":"Get Started","href":"/docs/meet-baselayer"}]},{"tab":"Verify Businesses \u0026 People","icon":"book-open","pages":[{"title":"Verify Businesses \u0026 People","href":"/docs/business-verification-basics"}]},{"tab":"Know Your Agent","icon":"robot","pages":[{"title":"Know Your Agent","href":"/docs/kya-overview"}]},{"tab":"Hosted Enrollment","icon":"id-card","pages":[{"title":"Hosted Enrollment","href":"/hosted-enrollment/overview"}]},{"tab":"MCP","icon":"plug","pages":[{"title":"MCP","href":"/docs/mcp"}]},{"tab":"API Reference","icon":"square-terminal","anchors":[{"anchor":"Businesses","icon":"building","pages":[{"title":"Businesses","href":"/api-reference/search/post-search"}]},{"anchor":"People","icon":"user","pages":[{"title":"People","href":"/api-reference/people/create-person"}]},{"anchor":"Know Your Agent","icon":"robot","groups":[{"group":"Credentials","pages":[{"group":"Mint","pages":[{"title":"Mint a credential for a person or a business operator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/credentials","href":"/api-reference/credentials/mint-a-credential-for-a-person-or-a-business-operator"},{"title":"Preview what an L3 mint would disclose","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/credentials/preview","href":"/api-reference/credentials/preview-what-an-l3-mint-would-disclose"},{"title":"List the presets an L3 mint can disclose by","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/credentials/presets","href":"/api-reference/credentials/list-the-presets-an-l3-mint-can-disclose-by"},{"title":"Mint a test credential for a person or a business operator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/credentials/test","href":"/api-reference/credentials/mint-a-test-credential-for-a-person-or-a-business-operator"},{"title":"Preview what an L3 test mint would disclose","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/credentials/test/preview","href":"/api-reference/credentials/preview-what-an-l3-test-mint-would-disclose"}]},{"group":"Issued Credentials","pages":[{"title":"Resolve one credential record by its credential_id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/credentials/{credential_id}","href":"/api-reference/credentials/resolve-one-credential-record-by-its-credential_id"},{"title":"List your organization's credential records","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/credentials","href":"/api-reference/credentials/list-your-organizations-credential-records"},{"title":"Revoke one credential","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/credentials/{credential_id}/revoke","href":"/api-reference/credentials/revoke-one-credential"}]},{"group":"Credential Events","pages":[{"title":"List your organization's credential events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/credentials/events","href":"/api-reference/credentials/list-your-organizations-credential-events"},{"title":"Export your organization's credential events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/credentials/events/export","href":"/api-reference/credentials/export-your-organizations-credential-events"}]}]},{"group":"Identities","pages":[{"group":"Hosted Sessions","pages":[{"title":"Start a hosted enrollment session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /onboarding/sessions","href":"/api-reference/onboarding/start-a-hosted-enrollment-session"},{"title":"Get a hosted enrollment session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /onboarding/sessions/{session_id}","href":"/api-reference/onboarding/get-a-hosted-enrollment-session"},{"title":"Get a hosted enrollment session's results","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /onboarding/sessions/{session_id}/results","href":"/api-reference/onboarding/get-a-hosted-enrollment-sessions-results"}]},{"group":"Direct Verifications","pages":[{"title":"Start a direct verification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/identities/verifications","href":"/api-reference/identities/start-a-direct-verification"},{"title":"Get a direct verification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/verifications/{verification_id}","href":"/api-reference/identities/get-a-direct-verification"},{"title":"List direct verifications","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/verifications","href":"/api-reference/identities/list-direct-verifications"}]},{"group":"Verified Identities","pages":[{"title":"List the individuals your organization has verified","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/individuals","href":"/api-reference/identities/list-the-individuals-your-organization-has-verified"},{"title":"Look up a verified identity by pairwise reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/individuals/{individual_ref}","href":"/api-reference/identities/look-up-a-verified-identity-by-pairwise-reference"},{"title":"Re-verify an identity from its stored verification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/identities/individuals/{individual_ref}/reverify","href":"/api-reference/identities/re-verify-an-identity-from-its-stored-verification"},{"title":"List the businesses your organization has verified","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/businesses","href":"/api-reference/identities/list-the-businesses-your-organization-has-verified"},{"title":"Look up a verified business by pairwise reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/businesses/{business_ref}","href":"/api-reference/identities/look-up-a-verified-business-by-pairwise-reference"}]},{"group":"Operator Links","pages":[{"title":"List your organization's operator links","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/operator_links","href":"/api-reference/identities/list-your-organizations-operator-links"},{"title":"Get one operator link with its evidence","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/identities/businesses/{business_ref}/operator_links/{individual_ref}","href":"/api-reference/identities/get-one-operator-link-with-its-evidence"},{"title":"Verify or reject that an individual operates a business","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /issuance/identities/businesses/{business_ref}/operator_links/{individual_ref}/decide","href":"/api-reference/identities/verify-or-reject-that-an-individual-operates-a-business"}]}]},{"group":"Public keys and status lists","pages":[{"title":"Resolve the credential issuer's DID document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /.well-known/did.json","href":"/api-reference/registry/resolve-the-credential-issuers-did-document"},{"title":"Fetch the credential issuer's public keys (JWKS)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /.well-known/jwks.json","href":"/api-reference/registry/fetch-the-credential-issuers-public-keys-jwks"},{"title":"Fetch the credential issuer's JWT VC Issuer Metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /.well-known/jwt-vc-issuer","href":"/api-reference/registry/fetch-the-credential-issuers-jwt-vc-issuer-metadata"},{"title":"Fetch the credential status list token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /statuslists/{list_id}","href":"/api-reference/registry/fetch-the-credential-status-list-token"},{"title":"Fetch the individual credential's type metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /vct/kya/individual/v1","href":"/api-reference/registry/fetch-the-individual-credentials-type-metadata"},{"title":"Fetch the business credential's type metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /vct/kya/business/v1","href":"/api-reference/registry/fetch-the-business-credentials-type-metadata"}]},{"group":"Audit Log","pages":[{"title":"Read the calling organization's slice of the audit log","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /issuance/audit_log","href":"/api-reference/audit-log/read-the-calling-organizations-slice-of-the-audit-log"}]},{"group":"Acceptance","pages":[{"group":"Visits","pages":[{"title":"List your application's visits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/visits","href":"/api-reference/acceptance/list-your-applications-visits"},{"title":"Get one visit","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/visits/{visit_id}","href":"/api-reference/acceptance/get-one-visit"},{"title":"List one visit's timeline","description":"What happened during one visit at your application, oldest first by default, a page at a time: its browser events, detection updates, requests and server events, each by `kind`, on the visit's key from its start to when it was last seen. A decided request carries its decision and what the merchant did with it. `X-Total-Count` and `X-Total-Pages` count every match and are sent on the first cursor page and on every offset page. The timeline runs to when the visit was last seen, which lags its latest record by about a minute, so a record appears here about a minute after it is reported.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/visits/{visit_id}/timeline","href":"/api-reference/acceptance/list-one-visits-timeline"},{"title":"List one visit's decisions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/visits/{visit_id}/decisions","href":"/api-reference/acceptance/list-one-visits-decisions"},{"title":"Get your application's visit identity funnel","description":"Visits per identity stage over the days asked for, each visit counted once at its stage now, on the day it started in `tz`, and the credentialed ones by identity level. Every stage and level is present, 0 when none. With no dates the range is the last 30 days in `tz`; a missing `end_date` is today and a missing `start_date` is 29 days before the end. A range over 366 days is a 422 `date_range_too_large`. A visit's figures lag its latest record by about a minute.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/visits/identity_funnel","href":"/api-reference/acceptance/get-your-applications-visit-identity-funnel"}]},{"group":"Policy","pages":[{"title":"Get your application's acceptance policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/policy","href":"/api-reference/acceptance/get-your-applications-acceptance-policy"},{"title":"Replace your application's acceptance policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /acceptance/policy","href":"/api-reference/acceptance/replace-your-applications-acceptance-policy"},{"title":"List your application's acceptance policy versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/policy/versions","href":"/api-reference/acceptance/list-your-applications-acceptance-policy-versions"},{"title":"Get one version of your application's acceptance policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/policy/versions/{policy_version_id}","href":"/api-reference/acceptance/get-one-version-of-your-applications-acceptance-policy"}]},{"group":"Audiences","pages":[{"title":"Get your application's registered audiences","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/audiences","href":"/api-reference/acceptance/get-your-applications-registered-audiences"},{"title":"Replace your application's registered audiences","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /acceptance/audiences","href":"/api-reference/acceptance/replace-your-applications-registered-audiences"}]},{"group":"Browser Keys","pages":[{"title":"Mint a browser key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /acceptance/browser_keys","href":"/api-reference/acceptance/mint-a-browser-key"},{"title":"List your application's browser keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/browser_keys","href":"/api-reference/acceptance/list-your-applications-browser-keys"},{"title":"Get one of your application's browser keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /acceptance/browser_keys/{browser_key_id}","href":"/api-reference/acceptance/get-one-of-your-applications-browser-keys"},{"title":"Rotate a browser key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /acceptance/browser_keys/{browser_key_id}/rotate","href":"/api-reference/acceptance/rotate-a-browser-key"},{"title":"Revoke a browser key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /acceptance/browser_keys/{browser_key_id}/revoke","href":"/api-reference/acceptance/revoke-a-browser-key"}]}]}]},{"anchor":"Admin","icon":"gear","pages":[{"title":"Admin","href":"/api-reference/organization-management/create-organization-for-federation"}]},{"anchor":"Webhooks","icon":"webhook","pages":[{"title":"Webhooks","href":"/api-reference/webhook-management/create-webhook-endpoint"}]}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog/texas-comptroller-franchise-tax-standing"}]}]},"basePath":"","title":"List one visit's decisions - Baselayer","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}