Finds Observe flows that match the provided filters. Provide at least one of
the following filters: userIDs, flowIDs, sessionIDs, or a complete
fromDate / toDate range.
When provided, the date range may span at most 366 days.
Results are ordered by creation time, oldest first by default or newest first with
orderDirection: desc, and capped at limit.
Use an Observe API key from the management console. The key selects the project and must grant the permission listed on the operation. Keep this key on your server.
Saved filter to apply (format svf-<number>). Omitted or none: unfiltered (the project's
default saved filter does not apply here; pass its ID to filter like the dashboards do). Request filters
are combined with it (AND). The response's savedFilter says which filter was applied.
Filter on the flows' dimensions and custom tags, in the condition format of saved filters
(saved-filter-v1, see observeSavedFilterCondition): e.g. {"dimension":"osName","notIn":["iOS",null]}
or {"tag":"plan","in":[null]} (flows without the tag). Combined (AND) with the saved filter and every
other filter of the request; the dimension and tag fields (touchpoint, osName, osVersion,
applicationID, customTagN, tags) are compatibility shorthands for conditions of this kind (not
extended; use condition). browserName is not: it reads the web browser only (native app flows have
none), while the browserName dimension reads an app flow's app name. Together with those fields (the saved
filter does not count), the limits of saved filter definitions apply (6 levels, 50 dimension or tag
conditions, 200 values per list).
Restrict the search to the flows held by these stored ID lists (format idl-<number>, from POST
/observe/idLists) — the same cohort handles GET /observe/timeSeries?flowListID= renders a funnel over.
Several lists are unioned, and the result is intersected with flowIDs when both are given. Counts as a
selector, so a cohort-scoped search needs no date range; all other filters (path, tags, outcome, …)
still narrow within the cohort.
Client environment IDs to filter flows by (format tce-<number>): flows that started on one of these
client environments, whichever user they belong to. null selects flows without a client environment.
Filter by the status of the flow's user (confirmed, temporary); null includes flows without a user.
With clientEnvIDs, ["temporary", null] selects a device's anonymous activity without the accounts
that signed in on it.
Filter by any flow tag, configured as a custom tag or not. A flow matches an entry when it
carries the key with one of the values; several entries are AND-combined.
Not a selector: combine it with a date range or another selector, and keep the date range
tight for large projects.
Filter by flow-duration band. Each token maps to a range on ob_flow.duration; multiple tokens are OR-combined. le3s=<=3s, le10s=<=10s, le30s=<=30s, le1m=<=60s, le5m=<=300s, g5m=>300s.
Filter to flows whose error count is at least this value. Independent from errorCount (exact-value set); when both are supplied they are AND-combined. Pass 1 to match errored flows.
Restrict flows to those exposed to this experiment run (format exp-<number>). Enables joining variant
attribution; each returned flow includes its variantID.
Order by creation time: asc (default) returns the oldest matching flows first, desc the newest.
limit applies after ordering, so desc returns the newest limit flows of the selection.
Which saved filter shaped the response: none (none requested, or the project has no default),
applied, or notApplicable when the data does not carry a dimension or custom tag the filter reads
(listed in missing); then the data is returned unfiltered.
Number of matching flows returned (equal to len(flows), capped at limit). This is the exact total when it is below limit; when it equals limit there may be more matches that were not counted (the endpoint runs no separate COUNT query, for efficiency).
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Corbado docs","colors":{"primary":"#184aff","light":"#629eff","dark":"#184aff"},"logo":{"light":"https://mintcdn.com/corbado-43/uh5IdxgOHQMtEt9x/logo/corbado-logo-light.svg?fit=max\u0026auto=format\u0026n=uh5IdxgOHQMtEt9x\u0026q=85\u0026s=decbc139fa76d9eeee8dcfbe91ed2094","dark":"https://mintcdn.com/corbado-43/uh5IdxgOHQMtEt9x/logo/corbado-logo-dark.svg?fit=max\u0026auto=format\u0026n=uh5IdxgOHQMtEt9x\u0026q=85\u0026s=398183bb6eb303cda3062b080363672b"},"favicon":"https://mintcdn.com/corbado-43/uh5IdxgOHQMtEt9x/logo/favicon.svg?fit=max\u0026auto=format\u0026n=uh5IdxgOHQMtEt9x\u0026q=85\u0026s=7e718008fe38fabeacb4a3d75472a491","navbar":{"links":[{"href":"mailto:support@corbado.com","label":"Support"}],"primary":{"type":"button","label":"Start for free","href":"https://app.corbado.com/"}},"footer":{"socials":{"twitter":"https://twitter.com/corbadotech","linkedin":"https://www.linkedin.com/company/corbado"}},"integrations":{"hotjar":{"hjid":"3375029","hjsv":"6"},"koala":{"publicApiKey":"pk_ca0e031974819fc6f69a82b884ff6f1cb661"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://bit.ly/passkeys-community"},{"anchor":"GitHub","icon":"github","href":"https://github.com/corbado"},{"anchor":"Blog","icon":"newspaper","href":"https://www.corbado.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"corbado-43","hasAudioNarration":false,"actualSubdomain":"corbado-43","customDomains":["docs.corbado.com"],"gitSource":{"type":"github","owner":"corbadotech","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec3e1525c041b786079735","collectionId":"dfcf9d0e-3ac9-4252-a39b-21a2d577fca8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec3e1525c041b786079735"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aedee1cde69105c4467d729","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":184},{"language":"default","tag":"Corbado Connect","count":155},{"language":"default","tag":"Corbado Observe","count":137},{"language":"default","tag":"API endpoints","count":91},{"language":"default","tag":"Backend API","count":69},{"language":"default","tag":"Passkey UI Flows","count":32},{"language":"default","tag":"Alert management","count":23},{"language":"default","tag":"Overview","count":17},{"language":"default","tag":"Web","count":16},{"language":"default","tag":"Analytics and configuration","count":16}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html{scroll-behavior:smooth!important}.pk-accent{fill:#184aff}.dark .pk-accent{fill:#629eff}.pk-accent-text{fill:#184aff}.dark .pk-accent-text{fill:#629eff}.pk-node{cursor:pointer;transition:opacity 0.15s ease}.pk-node:hover{opacity:0.72}.observe-visual-light,.observe-visual-dark,.connect-visual-light,.connect-visual-dark{width:100%;height:auto}.observe-visual-light,.connect-visual-light{display:block}.observe-visual-dark,.connect-visual-dark{display:none}.dark .observe-visual-light,.dark .connect-visual-light{display:none}.dark .observe-visual-dark,.dark .connect-visual-dark{display:block}"}],"page":{"pagePath":"api-reference/observe/search-flows","slug":"/api-reference/observe/search-flows","pageMetadata":{"title":"Search flows by filter criteria","description":"Finds Observe flows that match the provided filters. Provide at least one of\nthe following filters: `userIDs`, `flowIDs`, `sessionIDs`, or a complete\n`fromDate` / `toDate` range.\n\nWhen provided, the date range may span at most 366 days.\n\nResults are ordered by creation time, oldest first by default or newest first with\n`orderDirection: desc`, and capped at `limit`.\n\nRequired API key permission: `observe:flow:read`.","deprecated":null,"version":null,"sidebarTitle":"Search flows","openapi":"/api-reference/openapi/observe.yaml post /observe/flowSearch","href":"/api-reference/observe/search-flows","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, 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(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Finds Observe flows that match the provided filters. Provide at least one of\\nthe following filters: \", _jsx(_components.code, {\n children: \"userIDs\"\n }), \", \", _jsx(_components.code, {\n children: \"flowIDs\"\n }), \", \", _jsx(_components.code, {\n children: \"sessionIDs\"\n }), \", or a complete\\n\", _jsx(_components.code, {\n children: \"fromDate\"\n }), \" / \", _jsx(_components.code, {\n children: \"toDate\"\n }), \" range.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"When provided, the date range may span at most 366 days.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Results are ordered by creation time, oldest first by default or newest first with\\n\", _jsx(_components.code, {\n children: \"orderDirection: desc\"\n }), \", and capped at \", _jsx(_components.code, {\n children: \"limit\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Required API key permission: \", _jsx(_components.code, {\n children: \"observe:flow:read\"\n }), \".\"]\n })]\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":"Search flows by filter criteria","description":"Finds Observe flows that match the provided filters. Provide at least one of\nthe following filters: `userIDs`, `flowIDs`, `sessionIDs`, or a complete\n`fromDate` / `toDate` range.\n\nWhen provided, the date range may span at most 366 days.\n\nResults are ordered by creation time, oldest first by default or newest first with\n`orderDirection: desc`, and capped at `limit`.\n\nRequired API key permission: `observe:flow:read`.","deprecated":null,"version":null,"sidebarTitle":"Search flows","openapi":"/api-reference/openapi/observe.yaml post /observe/flowSearch","href":"/api-reference/observe/search-flows","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/corbado-43/07f8b5952369ac3b/content/matomo.js","/_mintlify/custom/corbado-43/3de72dcbd84a772a/content/linkedin-insight-tag.js","/_mintlify/custom/corbado-43/674dd5320b6b99a7/content/commonroom.js"],"openApiReferenceData":{"operation":{"x-mint":{"href":"/api-reference/observe/search-flows"},"summary":"Search flows by filter criteria","description":"Finds Observe flows that match the provided filters. Provide at least one of\nthe following filters: `userIDs`, `flowIDs`, `sessionIDs`, or a complete\n`fromDate` / `toDate` range.\n\nWhen provided, the date range may span at most 366 days.\n\nResults are ordered by creation time, oldest first by default or newest first with\n`orderDirection: desc`, and capped at `limit`.\n\nRequired API key permission: `observe:flow:read`.","operationId":"ObserveFlowSearch","tags":["ObserveFlow"],"security":["1245276e-9987-40ae-bd5f-71c12b55d657"],"requestBody":"74ed6400-495f-4755-8eea-4da046c5715b","responses":{"200":"8b922f4f-8891-4557-9c15-efc7aa7dedb4","default":"2ac0d9b2-4db7-48b9-8ca5-42ed5fa342e1"},"method":"post","type":"path","servers":["22c3014f-9385-4d0c-83b4-842924313628"],"path":"/observe/flowSearch","baseUrlOptions":["https://api.cloud.corbado.io/v1"],"title":"Search flows by filter criteria","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"savedFilterID":{"type":"string","description":"Saved filter to apply (format `svf-\u003cnumber>`). Omitted or `none`: unfiltered (the project's\ndefault saved filter does not apply here; pass its ID to filter like the dashboards do). Request filters\nare combined with it (AND). The response's `savedFilter` says which filter was applied.","example":"svf-123456","x-oapi-codegen-extra-tags":{"validate":"omitempty,max=40"},"uniqueKey":"savedFilterID","typeLabel":"string"},"condition":{"oneOf":[{"type":"object","title":"all","description":"Filter on the flows' dimensions and custom tags, in the condition format of saved filters\n(`saved-filter-v1`, see `observeSavedFilterCondition`): e.g. `{\"dimension\":\"osName\",\"notIn\":[\"iOS\",null]}`\nor `{\"tag\":\"plan\",\"in\":[null]}` (flows without the tag). Combined (AND) with the saved filter and every\nother filter of the request; the dimension and tag fields (`touchpoint`, `osName`, `osVersion`,\n`applicationID`, `customTagN`, `tags`) are compatibility shorthands for conditions of this kind (not\nextended; use `condition`). `browserName` is not: it reads the web browser only (native app flows have\nnone), while the `browserName` dimension reads an app flow's app name. Together with those fields (the saved\nfilter does not count), the limits of saved filter definitions apply (6 levels, 50 dimension or tag\nconditions, 200 values per list).","required":["all"],"x-go-type":"json.RawMessage","properties":{"all":{"type":"array","items":{"$circularRef":"e414b583-bcbc-419e-9b14-f2cd58eb2d25"},"isRequired":true,"uniqueKey":"condition.oneOf.0.all","typeLabel":"array"}},"additionalProperties":false,"uniqueKey":"condition.oneOf.0","typeLabel":"all · object"},{"type":"object","title":"any","description":"Filter on the flows' dimensions and custom tags, in the condition format of saved filters\n(`saved-filter-v1`, see `observeSavedFilterCondition`): e.g. `{\"dimension\":\"osName\",\"notIn\":[\"iOS\",null]}`\nor `{\"tag\":\"plan\",\"in\":[null]}` (flows without the tag). Combined (AND) with the saved filter and every\nother filter of the request; the dimension and tag fields (`touchpoint`, `osName`, `osVersion`,\n`applicationID`, `customTagN`, `tags`) are compatibility shorthands for conditions of this kind (not\nextended; use `condition`). `browserName` is not: it reads the web browser only (native app flows have\nnone), while the `browserName` dimension reads an app flow's app name. Together with those fields (the saved\nfilter does not count), the limits of saved filter definitions apply (6 levels, 50 dimension or tag\nconditions, 200 values per list).","required":["any"],"x-go-type":"json.RawMessage","properties":{"any":{"type":"array","items":{"$circularRef":"e414b583-bcbc-419e-9b14-f2cd58eb2d25"},"isRequired":true,"uniqueKey":"condition.oneOf.1.any","typeLabel":"array"}},"additionalProperties":false,"uniqueKey":"condition.oneOf.1","typeLabel":"any · object"},{"type":"object","title":"not","description":"Filter on the flows' dimensions and custom tags, in the condition format of saved filters\n(`saved-filter-v1`, see `observeSavedFilterCondition`): e.g. `{\"dimension\":\"osName\",\"notIn\":[\"iOS\",null]}`\nor `{\"tag\":\"plan\",\"in\":[null]}` (flows without the tag). Combined (AND) with the saved filter and every\nother filter of the request; the dimension and tag fields (`touchpoint`, `osName`, `osVersion`,\n`applicationID`, `customTagN`, `tags`) are compatibility shorthands for conditions of this kind (not\nextended; use `condition`). `browserName` is not: it reads the web browser only (native app flows have\nnone), while the `browserName` dimension reads an app flow's app name. Together with those fields (the saved\nfilter does not count), the limits of saved filter definitions apply (6 levels, 50 dimension or tag\nconditions, 200 values per list).","required":["not"],"x-go-type":"json.RawMessage","properties":{"not":{"oneOf":[{"$circularRef":"e414b583-bcbc-419e-9b14-f2cd58eb2d25","isRequired":true}],"isRequired":true,"uniqueKey":"condition.oneOf.2.not","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"condition.oneOf.2","typeLabel":"not · object"},{"type":"object","title":"dimension","description":"Filter on the flows' dimensions and custom tags, in the condition format of saved filters\n(`saved-filter-v1`, see `observeSavedFilterCondition`): e.g. `{\"dimension\":\"osName\",\"notIn\":[\"iOS\",null]}`\nor `{\"tag\":\"plan\",\"in\":[null]}` (flows without the tag). Combined (AND) with the saved filter and every\nother filter of the request; the dimension and tag fields (`touchpoint`, `osName`, `osVersion`,\n`applicationID`, `customTagN`, `tags`) are compatibility shorthands for conditions of this kind (not\nextended; use `condition`). `browserName` is not: it reads the web browser only (native app flows have\nnone), while the `browserName` dimension reads an app flow's app name. Together with those fields (the saved\nfilter does not count), the limits of saved filter definitions apply (6 levels, 50 dimension or tag\nconditions, 200 values per list).","required":["dimension"],"x-go-type":"json.RawMessage","properties":{"dimension":{"type":"string","enum":["application","osName","osVersion","browserName","touchpoint","visitorType"],"isRequired":true,"uniqueKey":"condition.oneOf.3.dimension","typeLabel":"enum\u003cstring>"},"in":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"condition.oneOf.3.in.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"condition.oneOf.3.in.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"condition.oneOf.3.in.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"condition.oneOf.3.in","typeLabel":"(string | null)[]"},"notIn":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"condition.oneOf.3.notIn.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"condition.oneOf.3.notIn.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"condition.oneOf.3.notIn.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"condition.oneOf.3.notIn","typeLabel":"(string | null)[]"}},"additionalProperties":false,"uniqueKey":"condition.oneOf.3","typeLabel":"dimension · object"},{"type":"object","title":"tag","description":"Filter on the flows' dimensions and custom tags, in the condition format of saved filters\n(`saved-filter-v1`, see `observeSavedFilterCondition`): e.g. `{\"dimension\":\"osName\",\"notIn\":[\"iOS\",null]}`\nor `{\"tag\":\"plan\",\"in\":[null]}` (flows without the tag). Combined (AND) with the saved filter and every\nother filter of the request; the dimension and tag fields (`touchpoint`, `osName`, `osVersion`,\n`applicationID`, `customTagN`, `tags`) are compatibility shorthands for conditions of this kind (not\nextended; use `condition`). `browserName` is not: it reads the web browser only (native app flows have\nnone), while the `browserName` dimension reads an app flow's app name. Together with those fields (the saved\nfilter does not count), the limits of saved filter definitions apply (6 levels, 50 dimension or tag\nconditions, 200 values per list).","required":["tag"],"x-go-type":"json.RawMessage","properties":{"tag":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"condition.oneOf.4.tag","typeLabel":"string"},"in":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"condition.oneOf.4.in.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"condition.oneOf.4.in.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"condition.oneOf.4.in.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"condition.oneOf.4.in","typeLabel":"(string | null)[]"},"notIn":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"condition.oneOf.4.notIn.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"condition.oneOf.4.notIn.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"condition.oneOf.4.notIn.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"condition.oneOf.4.notIn","typeLabel":"(string | null)[]"}},"additionalProperties":false,"uniqueKey":"condition.oneOf.4","typeLabel":"tag · object"}],"uniqueKey":"condition","typeLabel":"all · object | any · object | not · object | dimension · object | tag · object"},"userIDs":{"type":"array","description":"User IDs to filter flows by (format `tus-\u003cnumber>`).","items":{"type":"string","uniqueKey":"userIDs.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=500,dive,id=tus"},"uniqueKey":"userIDs","typeLabel":"string[]"},"flowIDs":{"type":"array","description":"Flow IDs to filter by (format `flw-\u003cnumber>`).","items":{"type":"string","uniqueKey":"flowIDs.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=500,dive,id=flw"},"uniqueKey":"flowIDs","typeLabel":"string[]"},"flowListIDs":{"type":"array","description":"Restrict the search to the flows held by these stored ID lists (format `idl-\u003cnumber>`, from POST\n/observe/idLists) — the same cohort handles `GET /observe/timeSeries?flowListID=` renders a funnel over.\nSeveral lists are unioned, and the result is intersected with `flowIDs` when both are given. Counts as a\nselector, so a cohort-scoped search needs no date range; all other filters (path, tags, outcome, …)\nstill narrow within the cohort.","items":{"type":"string","uniqueKey":"flowListIDs.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=4,dive,id=idl"},"uniqueKey":"flowListIDs","typeLabel":"string[]"},"sessionIDs":{"type":"array","description":"Public session UUIDs to filter flows by.","items":{"type":"string","uniqueKey":"sessionIDs.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=500,dive,uuid"},"uniqueKey":"sessionIDs","typeLabel":"string[]"},"clientEnvIDs":{"type":"array","x-go-type":"[]*string","description":"Client environment IDs to filter flows by (format `tce-\u003cnumber>`): flows that started on one of these\nclient environments, whichever user they belong to. `null` selects flows without a client environment.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=500,dive,omitnil,id=tce"},"items":{"oneOf":[{"type":"string","uniqueKey":"clientEnvIDs.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"clientEnvIDs.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"clientEnvIDs.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"clientEnvIDs","typeLabel":"(string | null)[]"},"userStatus":{"type":"array","x-go-type":"[]*string","description":"Filter by the status of the flow's user (`confirmed`, `temporary`); null includes flows without a user.\nWith `clientEnvIDs`, `[\"temporary\", null]` selects a device's anonymous activity without the accounts\nthat signed in on it.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=3,dive,omitnil,oneof=confirmed temporary"},"items":{"oneOf":[{"type":"string","uniqueKey":"userStatus.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"userStatus.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"userStatus.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"userStatus","typeLabel":"(string | null)[]"},"fromDate":{"type":"string","description":"Optional start of date range (yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss), interpreted in UTC. Requires `toDate`.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=10,max=19"},"uniqueKey":"fromDate","typeLabel":"string"},"toDate":{"type":"string","description":"Optional exclusive end of date range (yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss), interpreted in UTC. Requires `fromDate` and must be at most 366 days after it.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=10,max=19"},"uniqueKey":"toDate","typeLabel":"string"},"flowType":{"type":"array","description":"Filter by built-in or project-specific custom flow type names.","items":{"type":"string","minLength":1,"maxLength":50,"uniqueKey":"flowType.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,min=1,max=50"},"uniqueKey":"flowType","typeLabel":"string[]"},"touchpoint":{"type":"array","x-go-type":"[]*string","description":"Filter by touchpoint values; null includes flows with an absent or empty touchpoint.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"touchpoint.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"touchpoint.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"touchpoint.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"touchpoint","typeLabel":"(string | null)[]"},"outcome":{"type":"array","description":"Filter by outcome values","items":{"type":"string","enum":["complete","incomplete","skipped","invisible","visible-auto-skip"],"uniqueKey":"outcome.items.[INDEX]","typeLabel":"enum\u003cstring>"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,oneof=complete incomplete skipped invisible visible-auto-skip"},"uniqueKey":"outcome","typeLabel":"enum\u003cstring>[]"},"path":{"type":"array","description":"Filter by exact long_path values (the t2 dimension of *-flow-v1), including any leading version header `h_\u003cversion>`","items":{"type":"string","uniqueKey":"path.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,min=1,max=3000"},"uniqueKey":"path","typeLabel":"string[]"},"osName":{"type":"array","x-go-type":"[]*string","description":"Filter by OS name; null includes flows with an absent or empty OS name.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=100"},"items":{"oneOf":[{"type":"string","uniqueKey":"osName.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"osName.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"osName.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"osName","typeLabel":"(string | null)[]"},"browserName":{"type":"array","x-go-type":"[]*string","description":"Filter by browser name; null includes flows with an absent or empty browser name.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=100"},"items":{"oneOf":[{"type":"string","uniqueKey":"browserName.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"browserName.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"browserName.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"browserName","typeLabel":"(string | null)[]"},"osVersion":{"type":"array","description":"Filter by OS version (the maj.min.pat string, matching the error-flavour timeseries tag)","items":{"type":"string","uniqueKey":"osVersion.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,min=1,max=100"},"uniqueKey":"osVersion","typeLabel":"string[]"},"flavourIDs":{"type":"array","description":"Restrict to flows that carry an error occurrence of one of these error flavours (format `erf-\u003cnumber>`).","items":{"type":"string","uniqueKey":"flavourIDs.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=500,dive,id=erf"},"uniqueKey":"flavourIDs","typeLabel":"string[]"},"applicationID":{"type":"array","x-go-type":"[]*string","description":"Filter by application ID; null includes flows with no application ID.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=25"},"items":{"oneOf":[{"type":"string","uniqueKey":"applicationID.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"applicationID.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"applicationID.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"applicationID","typeLabel":"(string | null)[]"},"customTag1":{"type":"array","x-go-type":"[]*string","description":"Filter by first configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag1.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag1.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag1.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag1","typeLabel":"(string | null)[]"},"customTag2":{"type":"array","x-go-type":"[]*string","description":"Filter by second configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag2.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag2.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag2.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag2","typeLabel":"(string | null)[]"},"customTag3":{"type":"array","x-go-type":"[]*string","description":"Filter by third configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag3.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag3.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag3.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag3","typeLabel":"(string | null)[]"},"customTag4":{"type":"array","x-go-type":"[]*string","description":"Filter by fourth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag4.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag4.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag4.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag4","typeLabel":"(string | null)[]"},"customTag5":{"type":"array","x-go-type":"[]*string","description":"Filter by fifth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag5.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag5.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag5.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag5","typeLabel":"(string | null)[]"},"customTag6":{"type":"array","x-go-type":"[]*string","description":"Filter by sixth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag6.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag6.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag6","typeLabel":"(string | null)[]"},"customTag7":{"type":"array","x-go-type":"[]*string","description":"Filter by seventh configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag7.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag7.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag7.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag7","typeLabel":"(string | null)[]"},"customTag8":{"type":"array","x-go-type":"[]*string","description":"Filter by eighth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag8.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag8.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag8.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag8","typeLabel":"(string | null)[]"},"customTag9":{"type":"array","x-go-type":"[]*string","description":"Filter by ninth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag9.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag9.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag9.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag9","typeLabel":"(string | null)[]"},"customTag10":{"type":"array","x-go-type":"[]*string","description":"Filter by tenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag10.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag10.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag10.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag10","typeLabel":"(string | null)[]"},"customTag11":{"type":"array","x-go-type":"[]*string","description":"Filter by eleventh configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag11.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag11.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag11.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag11","typeLabel":"(string | null)[]"},"customTag12":{"type":"array","x-go-type":"[]*string","description":"Filter by twelfth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag12.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag12.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag12.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag12","typeLabel":"(string | null)[]"},"customTag13":{"type":"array","x-go-type":"[]*string","description":"Filter by thirteenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag13.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag13.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag13.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag13","typeLabel":"(string | null)[]"},"customTag14":{"type":"array","x-go-type":"[]*string","description":"Filter by fourteenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag14.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag14.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag14.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag14","typeLabel":"(string | null)[]"},"customTag15":{"type":"array","x-go-type":"[]*string","description":"Filter by fifteenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag15.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag15.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag15.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag15","typeLabel":"(string | null)[]"},"customTag16":{"type":"array","x-go-type":"[]*string","description":"Filter by sixteenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag16.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag16.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag16.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag16","typeLabel":"(string | null)[]"},"customTag17":{"type":"array","x-go-type":"[]*string","description":"Filter by seventeenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag17.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag17.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag17.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag17","typeLabel":"(string | null)[]"},"customTag18":{"type":"array","x-go-type":"[]*string","description":"Filter by eighteenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag18.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag18.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag18.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag18","typeLabel":"(string | null)[]"},"customTag19":{"type":"array","x-go-type":"[]*string","description":"Filter by nineteenth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag19.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag19.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag19.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag19","typeLabel":"(string | null)[]"},"customTag20":{"type":"array","x-go-type":"[]*string","description":"Filter by twentieth configured custom tag value; null includes absent or empty values.","x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,omitnil,min=1,max=255"},"items":{"oneOf":[{"type":"string","uniqueKey":"customTag20.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customTag20.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"customTag20.items.[INDEX]","typeLabel":"string | null"},"uniqueKey":"customTag20","typeLabel":"(string | null)[]"},"tags":{"type":"array","description":"Filter by any flow tag, configured as a custom tag or not. A flow matches an entry when it\ncarries the `key` with one of the `values`; several entries are AND-combined.\n\nNot a selector: combine it with a date range or another selector, and keep the date range\ntight for large projects.","items":{"type":"object","required":["key","values"],"properties":{"key":{"type":"string","description":"Tag key, matched exactly (case-sensitive).","x-oapi-codegen-extra-tags":{"validate":"required,min=1,max=255"},"isRequired":true,"uniqueKey":"tags.items.[INDEX].key","typeLabel":"string"},"values":{"type":"array","description":"Tag values, matched exactly (case-sensitive). A flow matches when it carries any of them.","items":{"type":"string","uniqueKey":"tags.items.[INDEX].values.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"required,min=1,max=100,dive,min=1,max=255"},"isRequired":true,"uniqueKey":"tags.items.[INDEX].values","typeLabel":"string[]"}},"uniqueKey":"tags.items.[INDEX]","typeLabel":"object"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=5,dive"},"uniqueKey":"tags","typeLabel":"object[]"},"resetCount":{"type":"array","description":"Filter by reset count","items":{"type":"integer","uniqueKey":"resetCount.items.[INDEX]","typeLabel":"integer"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,min=0,max=255"},"uniqueKey":"resetCount","typeLabel":"integer[]"},"errorCount":{"type":"array","description":"Filter by exact error count","items":{"type":"integer","uniqueKey":"errorCount.items.[INDEX]","typeLabel":"integer"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,min=0,max=255"},"uniqueKey":"errorCount","typeLabel":"integer[]"},"durationBand":{"type":"array","description":"Filter by flow-duration band. Each token maps to a range on ob_flow.duration; multiple tokens are OR-combined. le3s=\u003c=3s, le10s=\u003c=10s, le30s=\u003c=30s, le1m=\u003c=60s, le5m=\u003c=300s, g5m=>300s.","items":{"type":"string","enum":["le3s","le10s","le30s","le1m","le5m","g5m"],"uniqueKey":"durationBand.items.[INDEX]","typeLabel":"enum\u003cstring>"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,dive,oneof=le3s le10s le30s le1m le5m g5m"},"uniqueKey":"durationBand","typeLabel":"enum\u003cstring>[]"},"minErrorCount":{"type":"integer","description":"Filter to flows whose error count is at least this value. Independent from `errorCount` (exact-value set); when both are supplied they are AND-combined. Pass 1 to match errored flows.","minimum":0,"maximum":255,"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=0,max=255"},"uniqueKey":"minErrorCount","typeLabel":"integer"},"experimentID":{"type":"string","description":"Restrict flows to those exposed to this experiment run (format `exp-\u003cnumber>`). Enables joining variant\nattribution; each returned flow includes its `variantID`.","x-oapi-codegen-extra-tags":{"validate":"omitempty,id=exp"},"uniqueKey":"experimentID","typeLabel":"string"},"variantIDs":{"type":"array","description":"Restrict flows to these experiment variants (format `exv-\u003cnumber>`). Requires `experimentID`.","items":{"type":"string","uniqueKey":"variantIDs.items.[INDEX]","typeLabel":"string"},"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=500,dive,id=exv"},"uniqueKey":"variantIDs","typeLabel":"string[]"},"limit":{"type":"integer","description":"Maximum number of flows to return. Defaults to 100, maximum 10000.","default":100,"minimum":1,"maximum":10000,"x-oapi-codegen-extra-tags":{"validate":"omitempty,min=1,max=10000"},"uniqueKey":"limit","typeLabel":"integer"},"orderDirection":{"type":"string","description":"Order by creation time: `asc` (default) returns the oldest matching flows first, `desc` the newest.\n`limit` applies after ordering, so `desc` returns the newest `limit` flows of the selection.","default":"asc","enum":["asc","desc"],"x-enum-varnames":["ObserveFlowSearchReqOrderDirectionAsc","ObserveFlowSearchReqOrderDirectionDesc"],"x-oapi-codegen-extra-tags":{"validate":"omitempty,oneof=asc desc"},"uniqueKey":"orderDirection","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"savedFilterID":"svf-123456","condition":{"all":"\u003carray>"},"userIDs":["\u003cstring>"],"flowIDs":["\u003cstring>"],"flowListIDs":["\u003cstring>"],"sessionIDs":["\u003cstring>"],"clientEnvIDs":["\u003cstring>"],"userStatus":["\u003cstring>"],"fromDate":"\u003cstring>","toDate":"\u003cstring>","flowType":["\u003cstring>"],"touchpoint":["\u003cstring>"],"outcome":[],"path":["\u003cstring>"],"osName":["\u003cstring>"],"browserName":["\u003cstring>"],"osVersion":["\u003cstring>"],"flavourIDs":["\u003cstring>"],"applicationID":["\u003cstring>"],"customTag1":["\u003cstring>"],"customTag2":["\u003cstring>"],"customTag3":["\u003cstring>"],"customTag4":["\u003cstring>"],"customTag5":["\u003cstring>"],"customTag6":["\u003cstring>"],"customTag7":["\u003cstring>"],"customTag8":["\u003cstring>"],"customTag9":["\u003cstring>"],"customTag10":["\u003cstring>"],"customTag11":["\u003cstring>"],"customTag12":["\u003cstring>"],"customTag13":["\u003cstring>"],"customTag14":["\u003cstring>"],"customTag15":["\u003cstring>"],"customTag16":["\u003cstring>"],"customTag17":["\u003cstring>"],"customTag18":["\u003cstring>"],"customTag19":["\u003cstring>"],"customTag20":["\u003cstring>"],"tags":[{"key":"\u003cstring>","values":["\u003cstring>"]}],"resetCount":[123],"errorCount":[123],"durationBand":[],"minErrorCount":127,"experimentID":"\u003cstring>","variantIDs":["\u003cstring>"],"limit":100,"orderDirection":"asc"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"8b922f4f-8891-4557-9c15-efc7aa7dedb4":{"description":"Matching flows plus the total match count.","content":{"application/json":{"schema":{"type":"object","required":["flows","totalCount","savedFilter"],"properties":{"savedFilter":{"type":"object","description":"Which saved filter shaped the response: `none` (none requested, or the project has no default),\n`applied`, or `notApplicable` when the data does not carry a dimension or custom tag the filter reads\n(listed in `missing`); then the data is returned unfiltered.","required":["status"],"properties":{"status":{"type":"string","enum":["none","applied","notApplicable"],"isRequired":true,"uniqueKey":"savedFilter.status","typeLabel":"enum\u003cstring>"},"savedFilterID":{"type":"string","description":"Saved filter ID (format `svf-\u003cnumber>`); absent for `none`.","uniqueKey":"savedFilter.savedFilterID","typeLabel":"string"},"version":{"type":"integer","format":"int64","description":"Version of the saved filter's definition that was read.","uniqueKey":"savedFilter.version","typeLabel":"integer\u003cint64>"},"name":{"type":"string","uniqueKey":"savedFilter.name","typeLabel":"string"},"source":{"type":"string","description":"`default`: the project's default saved filter; `explicit`: requested by `savedFilterID`.","enum":["default","explicit"],"uniqueKey":"savedFilter.source","typeLabel":"enum\u003cstring>"},"missing":{"type":"array","description":"What the data does not carry, for `notApplicable`.","items":{"type":"object","description":"A dimension (schema name, e.g. `visitorType`) or a custom tag key a saved filter reads.","properties":{"dimension":{"type":"string","uniqueKey":"savedFilter.missing.items.[INDEX].dimension","typeLabel":"string"},"tag":{"type":"string","uniqueKey":"savedFilter.missing.items.[INDEX].tag","typeLabel":"string"}},"uniqueKey":"savedFilter.missing.items.[INDEX]","typeLabel":"object"},"uniqueKey":"savedFilter.missing","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"savedFilter","typeLabel":"object"},"flows":{"type":"array","description":"Matching flows in stable timeline order, oldest first, capped at `limit`.","items":{"type":"object","required":["flowID","sessionID","flowType","outcome","visitorType","errorCount","resetCount","durationMs","previousTotalCount","previousSameTouchpointCount","createdMs"],"properties":{"flowID":{"type":"string","description":"Flow ID (format `flw-\u003cnumber>`).","isRequired":true,"uniqueKey":"flows.items.[INDEX].flowID","typeLabel":"string"},"sessionID":{"type":"string","description":"Session ID (UUID format).","isRequired":true,"uniqueKey":"flows.items.[INDEX].sessionID","typeLabel":"string"},"flowType":{"type":"string","description":"Flow type (login, enrollment, signup, recovery)","isRequired":true,"uniqueKey":"flows.items.[INDEX].flowType","typeLabel":"string"},"outcome":{"type":"string","enum":["complete","incomplete","skipped","invisible","visible-auto-skip"],"description":"Flow outcome","isRequired":true,"uniqueKey":"flows.items.[INDEX].outcome","typeLabel":"enum\u003cstring>"},"visitorType":{"type":"string","enum":["user","auto-test","crawler"],"x-enum-varnames":["ObserveFlowSearchEntryVisitorTypeUser","ObserveFlowSearchEntryVisitorTypeAutoTest","ObserveFlowSearchEntryVisitorTypeCrawler"],"description":"Visitor type detected for the flow: `auto-test` (the browser reported `navigator.webdriver` or is\nHeadlessChrome), `crawler` (a known crawler browser, e.g. Googlebot) or `user`.","isRequired":true,"uniqueKey":"flows.items.[INDEX].visitorType","typeLabel":"enum\u003cstring>"},"errorCount":{"type":"integer","description":"Number of errors during the flow.","isRequired":true,"uniqueKey":"flows.items.[INDEX].errorCount","typeLabel":"integer"},"resetCount":{"type":"integer","description":"Number of resets during the flow.","isRequired":true,"uniqueKey":"flows.items.[INDEX].resetCount","typeLabel":"integer"},"durationMs":{"type":"integer","format":"int64","description":"Duration of the flow in milliseconds.","isRequired":true,"uniqueKey":"flows.items.[INDEX].durationMs","typeLabel":"integer\u003cint64>"},"previousTotalCount":{"type":"integer","description":"Number of previous flows for the same user.","isRequired":true,"uniqueKey":"flows.items.[INDEX].previousTotalCount","typeLabel":"integer"},"previousSameTouchpointCount":{"type":"integer","description":"Number of previous flows for the same user and touchpoint.","isRequired":true,"uniqueKey":"flows.items.[INDEX].previousSameTouchpointCount","typeLabel":"integer"},"createdMs":{"description":"Flow creation time in milliseconds since epoch","type":"integer","format":"int64","isRequired":true,"uniqueKey":"flows.items.[INDEX].createdMs","typeLabel":"integer\u003cint64>"},"parentFlowID":{"type":"string","description":"Enclosing flow (flw-...), when nested. Older unrefreshed rows may not have this relationship.","uniqueKey":"flows.items.[INDEX].parentFlowID","typeLabel":"string"},"clientEnvDataID":{"type":"string","description":"Exact environment snapshot row ID, encoded as a decimal string.","uniqueKey":"flows.items.[INDEX].clientEnvDataID","typeLabel":"string"},"longPath":{"type":"string","description":"Full classified path, preserving technical outcome codes. Newer paths start with a version header `h_\u003cversion>` (e.g. `h_1|…`), which is no step; the data-context configuration documents it.","uniqueKey":"flows.items.[INDEX].longPath","typeLabel":"string"},"userID":{"type":"string","description":"User ID (format `tus-\u003cnumber>`). Absent for anonymous flows.","uniqueKey":"flows.items.[INDEX].userID","typeLabel":"string"},"externalID":{"type":"string","description":"Customer-provided external user ID. Absent for anonymous flows.","uniqueKey":"flows.items.[INDEX].externalID","typeLabel":"string"},"userStatus":{"type":"string","description":"Status of the flow's user: `confirmed` for a user identified by the customer, `temporary` for the\nanonymous user of a device. Absent when the flow has no user.","enum":["confirmed","temporary"],"uniqueKey":"flows.items.[INDEX].userStatus","typeLabel":"enum\u003cstring>"},"clientEnvID":{"type":"string","description":"Client environment ID (format `tce-\u003cnumber>`). Absent when no client environment was resolved.","uniqueKey":"flows.items.[INDEX].clientEnvID","typeLabel":"string"},"previousFlowDiffMs":{"type":"integer","format":"int64","description":"Time since the previous flow for the same user in milliseconds, when available.","uniqueKey":"flows.items.[INDEX].previousFlowDiffMs","typeLabel":"integer\u003cint64>"},"osName":{"type":"string","description":"OS name","uniqueKey":"flows.items.[INDEX].osName","typeLabel":"string"},"browserName":{"type":"string","description":"Browser name","uniqueKey":"flows.items.[INDEX].browserName","typeLabel":"string"},"osVersion":{"type":"string","description":"OS major version","uniqueKey":"flows.items.[INDEX].osVersion","typeLabel":"string"},"browserVersion":{"type":"string","description":"Browser major version","uniqueKey":"flows.items.[INDEX].browserVersion","typeLabel":"string"},"model":{"type":"string","description":"Device model from Sec-CH-UA-Model (when the client opted in). Absent on older data and when the header was not sent.","uniqueKey":"flows.items.[INDEX].model","typeLabel":"string"},"uvpaa":{"type":"boolean","description":"Whether a user-verifying platform authenticator was available on the client (isUVPAA). Null on app-only flows and rare web flows missing a capability snapshot.","uniqueKey":"flows.items.[INDEX].uvpaa","typeLabel":"boolean"},"applicationID":{"type":"string","description":"Application ID","uniqueKey":"flows.items.[INDEX].applicationID","typeLabel":"string"},"touchpoint":{"type":"string","description":"Flow touchpoint","uniqueKey":"flows.items.[INDEX].touchpoint","typeLabel":"string"},"customTag1":{"type":"string","description":"Value of the first configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag1","typeLabel":"string"},"customTag2":{"type":"string","description":"Value of the second configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag2","typeLabel":"string"},"customTag3":{"type":"string","description":"Value of the third configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag3","typeLabel":"string"},"customTag4":{"type":"string","description":"Value of the fourth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag4","typeLabel":"string"},"customTag5":{"type":"string","description":"Value of the fifth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag5","typeLabel":"string"},"customTag6":{"type":"string","description":"Value of the sixth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag6","typeLabel":"string"},"customTag7":{"type":"string","description":"Value of the seventh configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag7","typeLabel":"string"},"customTag8":{"type":"string","description":"Value of the eighth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag8","typeLabel":"string"},"customTag9":{"type":"string","description":"Value of the ninth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag9","typeLabel":"string"},"customTag10":{"type":"string","description":"Value of the tenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag10","typeLabel":"string"},"customTag11":{"type":"string","description":"Value of the eleventh configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag11","typeLabel":"string"},"customTag12":{"type":"string","description":"Value of the twelfth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag12","typeLabel":"string"},"customTag13":{"type":"string","description":"Value of the thirteenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag13","typeLabel":"string"},"customTag14":{"type":"string","description":"Value of the fourteenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag14","typeLabel":"string"},"customTag15":{"type":"string","description":"Value of the fifteenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag15","typeLabel":"string"},"customTag16":{"type":"string","description":"Value of the sixteenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag16","typeLabel":"string"},"customTag17":{"type":"string","description":"Value of the seventeenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag17","typeLabel":"string"},"customTag18":{"type":"string","description":"Value of the eighteenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag18","typeLabel":"string"},"customTag19":{"type":"string","description":"Value of the nineteenth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag19","typeLabel":"string"},"customTag20":{"type":"string","description":"Value of the twentieth configured custom tag for this flow","uniqueKey":"flows.items.[INDEX].customTag20","typeLabel":"string"},"variantID":{"type":"string","description":"Experiment variant the flow was exposed to (format `exv-\u003cnumber>`). Present only when `experimentID` was\nsupplied in the request.","uniqueKey":"flows.items.[INDEX].variantID","typeLabel":"string"}},"uniqueKey":"flows.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"flows","typeLabel":"object[]"},"totalCount":{"type":"integer","description":"Number of matching flows returned (equal to len(flows), capped at `limit`). This is the exact total when it is below `limit`; when it equals `limit` there may be more matches that were not counted (the endpoint runs no separate COUNT query, for efficiency).","isRequired":true,"uniqueKey":"totalCount","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"savedFilter":{"status":"none","savedFilterID":"\u003cstring>","version":123,"name":"\u003cstring>","source":"default","missing":[{"dimension":"\u003cstring>","tag":"\u003cstring>"}]},"flows":[{"flowID":"\u003cstring>","sessionID":"\u003cstring>","flowType":"\u003cstring>","outcome":"complete","visitorType":"user","errorCount":123,"resetCount":123,"durationMs":123,"previousTotalCount":123,"previousSameTouchpointCount":123,"createdMs":123,"parentFlowID":"\u003cstring>","clientEnvDataID":"\u003cstring>","longPath":"\u003cstring>","userID":"\u003cstring>","externalID":"\u003cstring>","userStatus":"confirmed","clientEnvID":"\u003cstring>","previousFlowDiffMs":123,"osName":"\u003cstring>","browserName":"\u003cstring>","osVersion":"\u003cstring>","browserVersion":"\u003cstring>","model":"\u003cstring>","uvpaa":true,"applicationID":"\u003cstring>","touchpoint":"\u003cstring>","customTag1":"\u003cstring>","customTag2":"\u003cstring>","customTag3":"\u003cstring>","customTag4":"\u003cstring>","customTag5":"\u003cstring>","customTag6":"\u003cstring>","customTag7":"\u003cstring>","customTag8":"\u003cstring>","customTag9":"\u003cstring>","customTag10":"\u003cstring>","customTag11":"\u003cstring>","customTag12":"\u003cstring>","customTag13":"\u003cstring>","customTag14":"\u003cstring>","customTag15":"\u003cstring>","customTag16":"\u003cstring>","customTag17":"\u003cstring>","customTag18":"\u003cstring>","customTag19":"\u003cstring>","customTag20":"\u003cstring>","variantID":"\u003cstring>"}],"totalCount":123}}},"exampleType":"generated"}},"exampleType":"generated"},"2ac0d9b2-4db7-48b9-8ca5-42ed5fa342e1":{"description":"Error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message"],"properties":{"message":{"description":"Error message","type":"string","example":"Validation failed","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Validation error details per field","type":"array","items":{"type":"object","required":["field","message"],"properties":{"field":{"description":"Field name that failed validation","type":"string","example":"projectID","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"description":"Validation error message","type":"string","example":"required","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Validation failed","details":[{"field":"projectID","message":"required"}]}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1245276e-9987-40ae-bd5f-71c12b55d657":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Use an Observe API key from the management console. The key selects the project and must grant the permission listed on the operation. Keep this key on your server.","scopes":["observe:flow:read"],"schemeName":"bearerAuth"}}},"servers":{"22c3014f-9385-4d0c-83b4-842924313628":{"url":"https://api.cloud.corbado.io/v1"}},"schemas":{"e414b583-bcbc-419e-9b14-f2cd58eb2d25":{"oneOf":[{"type":"object","title":"all","description":"A condition: `all` (every condition matches; `all: []` matches every flow), `any` (at least one\nmatches; `any: []` matches none), `not`, or a dimension or tag condition with exactly one of `in` /\n`notIn` (`in: []` matches none, `notIn: []` every flow). A `null` value matches flows where the\ndimension or tag is absent or empty; empty strings are rejected. `application` values are application\nIDs (`app-\u003cnumber>`).\n\nOn read endpoints, `condition` is the dimension and tag filter. Their older per-dimension and tag fields\nare compatibility shorthands, combined (AND) with it: they get no new dimensions, operators or values, and\nendpoints added from now on take `condition` only.","required":["all"],"x-go-type":"json.RawMessage","properties":{"all":{"type":"array","items":{"$circularRef":"e414b583-bcbc-419e-9b14-f2cd58eb2d25"},"isRequired":true}},"additionalProperties":false},{"type":"object","title":"any","description":"A condition: `all` (every condition matches; `all: []` matches every flow), `any` (at least one\nmatches; `any: []` matches none), `not`, or a dimension or tag condition with exactly one of `in` /\n`notIn` (`in: []` matches none, `notIn: []` every flow). A `null` value matches flows where the\ndimension or tag is absent or empty; empty strings are rejected. `application` values are application\nIDs (`app-\u003cnumber>`).\n\nOn read endpoints, `condition` is the dimension and tag filter. Their older per-dimension and tag fields\nare compatibility shorthands, combined (AND) with it: they get no new dimensions, operators or values, and\nendpoints added from now on take `condition` only.","required":["any"],"x-go-type":"json.RawMessage","properties":{"any":{"type":"array","items":{"$circularRef":"e414b583-bcbc-419e-9b14-f2cd58eb2d25"},"isRequired":true}},"additionalProperties":false},{"type":"object","title":"not","description":"A condition: `all` (every condition matches; `all: []` matches every flow), `any` (at least one\nmatches; `any: []` matches none), `not`, or a dimension or tag condition with exactly one of `in` /\n`notIn` (`in: []` matches none, `notIn: []` every flow). A `null` value matches flows where the\ndimension or tag is absent or empty; empty strings are rejected. `application` values are application\nIDs (`app-\u003cnumber>`).\n\nOn read endpoints, `condition` is the dimension and tag filter. Their older per-dimension and tag fields\nare compatibility shorthands, combined (AND) with it: they get no new dimensions, operators or values, and\nendpoints added from now on take `condition` only.","required":["not"],"x-go-type":"json.RawMessage","properties":{"not":{"oneOf":[{"isRequired":true}],"isRequired":true}},"additionalProperties":false},{"type":"object","title":"dimension","description":"A condition: `all` (every condition matches; `all: []` matches every flow), `any` (at least one\nmatches; `any: []` matches none), `not`, or a dimension or tag condition with exactly one of `in` /\n`notIn` (`in: []` matches none, `notIn: []` every flow). A `null` value matches flows where the\ndimension or tag is absent or empty; empty strings are rejected. `application` values are application\nIDs (`app-\u003cnumber>`).\n\nOn read endpoints, `condition` is the dimension and tag filter. Their older per-dimension and tag fields\nare compatibility shorthands, combined (AND) with it: they get no new dimensions, operators or values, and\nendpoints added from now on take `condition` only.","required":["dimension"],"x-go-type":"json.RawMessage","properties":{"dimension":{"type":"string","enum":["application","osName","osVersion","browserName","touchpoint","visitorType"],"isRequired":true},"in":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"notIn":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}}},"additionalProperties":false},{"type":"object","title":"tag","description":"A condition: `all` (every condition matches; `all: []` matches every flow), `any` (at least one\nmatches; `any: []` matches none), `not`, or a dimension or tag condition with exactly one of `in` /\n`notIn` (`in: []` matches none, `notIn: []` every flow). A `null` value matches flows where the\ndimension or tag is absent or empty; empty strings are rejected. `application` values are application\nIDs (`app-\u003cnumber>`).\n\nOn read endpoints, `condition` is the dimension and tag filter. Their older per-dimension and tag fields\nare compatibility shorthands, combined (AND) with it: they get no new dimensions, operators or values, and\nendpoints added from now on take `condition` only.","required":["tag"],"x-go-type":"json.RawMessage","properties":{"tag":{"type":"string","minLength":1,"maxLength":255,"isRequired":true},"in":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"notIn":{"type":"array","maxItems":200,"x-go-type":"[]*string","items":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}}},"additionalProperties":false}]}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Use an Observe API key from the management console. The key selects the project and must grant the permission listed on the operation. Keep this key on your server.","scopes":["observe:flow:read"],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Use an Observe API key from the management console. The key selects the project and must grant the permission listed on the operation. Keep this key on your server.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi/observe.yaml"},"subdomain":"corbado-43","siteName":"Corbado docs","title":"Search flows by filter criteria - Corbado docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T15:11:48.373Z","originalFileLocation":"api-reference/observe/search-flows.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=\"Finds Observe flows that match the provided filters. Provide at least one of the following filters: userIDs, flowIDs, sessionIDs, or a complete fromDate / toDate range. When provided, the date range may span at most 366 days. Results are ordered by creation time, oldest first by default or newest first with orderDirection: desc, and capped at limit. Required API key permission: observe:flow:read.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Corbado docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/corbado-43/noBvchxiQo85SoLM/_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/corbado-43/noBvchxiQo85SoLM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/corbado-43/noBvchxiQo85SoLM/_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/corbado-43/noBvchxiQo85SoLM/_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/corbado-43/noBvchxiQo85SoLM/_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/corbado-43/noBvchxiQo85SoLM/_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/corbado-43/noBvchxiQo85SoLM/_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/corbado-43/noBvchxiQo85SoLM/_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/corbado-43/noBvchxiQo85SoLM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Search flows by filter criteria - Corbado docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Finds Observe flows that match the provided filters. Provide at least one of the following filters: userIDs, flowIDs, sessionIDs, or a complete fromDate / toDate range. When provided, the date range may span at most 366 days. Results are ordered by creation time, oldest first by default or newest first with orderDirection: desc, and capped at limit. Required API key permission: observe:flow:read.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Corbado docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.corbado.com/api-reference/observe/search-flows\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://corbado-43.mintlify.site/_mintlify/api/og/v2?division=Journeys+and+users\u0026amp;title=Search+flows+by+filter+criteria\u0026amp;description=Finds+Observe+flows+that+match+the+provided+filters.+Provide+at+least+one+of%0Athe+following+filters%3A+%60userIDs%60%2C+%60flowIDs%60%2C+%60sessionIDs%60%2C+or+a+complete%0A%60fromDate%60\u0026amp;theme=46938e1ac6053c91ba042440\u0026amp;signature=9caa2cc3b6981eff4913582aa1672c4396cc8e74e2d9cff1d35414b1da355b3b\">\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=\"Search flows by filter criteria - Corbado docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Finds Observe flows that match the provided filters. Provide at least one of the following filters: userIDs, flowIDs, sessionIDs, or a complete fromDate / toDate range. When provided, the date range may span at most 366 days. Results are ordered by creation time, oldest first by default or newest first with orderDirection: desc, and capped at limit. Required API key permission: observe:flow:read.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://corbado-43.mintlify.site/_mintlify/api/og/v2?division=Journeys+and+users\u0026amp;title=Search+flows+by+filter+criteria\u0026amp;description=Finds+Observe+flows+that+match+the+provided+filters.+Provide+at+least+one+of%0Athe+following+filters%3A+%60userIDs%60%2C+%60flowIDs%60%2C+%60sessionIDs%60%2C+or+a+complete%0A%60fromDate%60\u0026amp;theme=46938e1ac6053c91ba042440\u0026amp;signature=9caa2cc3b6981eff4913582aa1672c4396cc8e74e2d9cff1d35414b1da355b3b\">\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/corbado-43/noBvchxiQo85SoLM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Corbado docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#184aff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.corbado.com/api-reference/observe/search-flows\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/observe/search-flows.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.corbado.com/#organization\",\"name\":\"Corbado docs\",\"url\":\"https://docs.corbado.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/corbado-43/uh5IdxgOHQMtEt9x/logo/corbado-logo-light.svg?fit=max\u0026auto=format\u0026n=uh5IdxgOHQMtEt9x\u0026q=85\u0026s=decbc139fa76d9eeee8dcfbe91ed2094\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.corbado.com#website\",\"name\":\"Corbado docs\",\"url\":\"https://docs.corbado.com\",\"publisher\":{\"@id\":\"https://docs.corbado.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.corbado.com/api-reference/observe/search-flows#webpage\",\"url\":\"https://docs.corbado.com/api-reference/observe/search-flows\",\"name\":\"Search flows by filter criteria\",\"description\":\"Finds Observe flows that match the provided filters. Provide at least one of the following filters: userIDs, flowIDs, sessionIDs, or a complete fromDate / toDate range. When provided, the date range may span at most 366 days. Results are ordered by creation time, oldest first by default or newest first with orderDirection: desc, and capped at limit. Required API key permission: observe:flow:read.\",\"dateModified\":\"2026-11-06T15:11:48.373Z\",\"isPartOf\":{\"@id\":\"https://docs.corbado.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.corbado.com/api-reference/observe/search-flows#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.corbado.com/api-reference/observe/search-flows#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Corbado Observe\",\"item\":\"https://docs.corbado.com/api-reference/observe/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API endpoints\",\"item\":\"https://docs.corbado.com/api-reference/observe/send-events\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Search flows by filter criteria\",\"item\":\"https://docs.corbado.com/api-reference/observe/search-flows\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.corbado.com/api-reference/observe/search-flows#apireference\",\"headline\":\"Search flows by filter criteria\",\"name\":\"Search flows by filter criteria\",\"description\":\"Finds Observe flows that match the provided filters. Provide at least one of the following filters: userIDs, flowIDs, sessionIDs, or a complete fromDate / toDate range. When provided, the date range may span at most 366 days. Results are ordered by creation time, oldest first by default or newest first with orderDirection: desc, and capped at limit. Required API key permission: observe:flow:read.\",\"url\":\"https://docs.corbado.com/api-reference/observe/search-flows\",\"mainEntityOfPage\":{\"@id\":\"https://docs.corbado.com/api-reference/observe/search-flows#webpage\"},\"dateModified\":\"2026-11-06T15:11:48.373Z\",\"publisher\":{\"@id\":\"https://docs.corbado.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.corbado.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Corbado docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Corbado docs","nav":{"global":{"anchors":[{"anchor":"Community","icon":"slack","href":"https://bit.ly/passkeys-community"},{"anchor":"GitHub","icon":"github","href":"https://github.com/corbado"},{"anchor":"Blog","icon":"newspaper","href":"https://www.corbado.com/blog"}]},"tabs":[{"tab":"Start","pages":[{"title":"Start","href":"/start"}]},{"tab":"Corbado Observe","pages":[{"title":"Corbado Observe","href":"/corbado-observe/overview/welcome"}]},{"tab":"Corbado Connect","pages":[{"title":"Corbado Connect","href":"/corbado-connect/overview/welcome"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Corbado Observe and Connect API Reference","sidebarTitle":"Choose an API","href":"/api-reference/overview"}]},{"group":"Corbado Observe","pages":[{"title":"Observe API reference","sidebarTitle":"Overview","href":"/api-reference/observe/overview"},{"title":"Observe API authentication","sidebarTitle":"Authentication","href":"/api-reference/observe/authentication"},{"title":"Observe errors, pagination and limits","sidebarTitle":"Errors and limits","href":"/api-reference/observe/errors"},{"title":"User data export and deletion","sidebarTitle":"User data requests","href":"/api-reference/observe/user-data"},{"group":"API endpoints","pages":[{"group":"Events","pages":[{"title":"Create new events","deprecated":null,"version":null,"sidebarTitle":"Send events","openapi":"/api-reference/openapi/observe.yaml post /observe/events","href":"/api-reference/observe/send-events"},{"title":"Search events by filter criteria","deprecated":null,"version":null,"sidebarTitle":"Search events","openapi":"/api-reference/openapi/observe.yaml post /observe/eventSearch","href":"/api-reference/observe/search-events"},{"title":"Search low-level tracking events by filter criteria","deprecated":null,"version":null,"sidebarTitle":"Search low events","openapi":"/api-reference/openapi/observe.yaml post /observe/trackingEventLowSearch","href":"/api-reference/observe/search-low-events"}]},{"group":"Catalogs and labels","pages":[{"title":"List flow type definitions","deprecated":null,"version":null,"sidebarTitle":"Flow types","openapi":"/api-reference/openapi/observe.yaml get /observe/flowTypeDefinitions","href":"/api-reference/observe/flow-types"},{"title":"List decisions","deprecated":null,"version":null,"sidebarTitle":"Decisions","openapi":"/api-reference/openapi/observe.yaml get /observe/decisions","href":"/api-reference/observe/decisions"},{"title":"List decision variants","deprecated":null,"version":null,"sidebarTitle":"Decision variants","openapi":"/api-reference/openapi/observe.yaml get /observe/decisionVariants","href":"/api-reference/observe/decision-variants"},{"title":"List challenge variants","deprecated":null,"version":null,"sidebarTitle":"Challenge variants","openapi":"/api-reference/openapi/observe.yaml get /observe/challengeVariants","href":"/api-reference/observe/challenge-variants"},{"title":"List applications","deprecated":null,"version":null,"sidebarTitle":"Applications","openapi":"/api-reference/openapi/observe.yaml get /observe/applications","href":"/api-reference/observe/applications"},{"title":"List email domains","deprecated":null,"version":null,"sidebarTitle":"Email domains","openapi":"/api-reference/openapi/observe.yaml get /observe/emailDomains","href":"/api-reference/observe/email-domains"},{"title":"List labels","deprecated":null,"version":null,"sidebarTitle":"Labels","openapi":"/api-reference/openapi/observe.yaml get /observe/labels","href":"/api-reference/observe/labels"},{"title":"Create label","deprecated":null,"version":null,"sidebarTitle":"Create label","openapi":"/api-reference/openapi/observe.yaml post /observe/labels","href":"/api-reference/observe/create-label"},{"title":"Update label","deprecated":null,"version":null,"sidebarTitle":"Update label","openapi":"/api-reference/openapi/observe.yaml put /observe/labels/{labelID}","href":"/api-reference/observe/update-label"},{"title":"Delete label","deprecated":null,"version":null,"sidebarTitle":"Delete label","openapi":"/api-reference/openapi/observe.yaml delete /observe/labels/{labelID}","href":"/api-reference/observe/delete-label"}]},{"group":"Metrics and funnels","pages":[{"title":"Calculate historical metrics for an exact journey position","deprecated":null,"version":null,"sidebarTitle":"Funnel metrics","openapi":"/api-reference/openapi/observe.yaml post /observe/funnel/metricSeries","href":"/api-reference/observe/funnel-metrics"},{"title":"Get project-owned history dictionaries and coverage","deprecated":null,"version":null,"sidebarTitle":"Funnel metadata","openapi":"/api-reference/openapi/observe.yaml get /observe/funnel/metricSeries/metadata","href":"/api-reference/observe/funnel-metadata"},{"title":"Get time series data","deprecated":null,"version":null,"sidebarTitle":"Time series","openapi":"/api-reference/openapi/observe.yaml get /observe/timeSeries","href":"/api-reference/observe/time-series"},{"title":"Get time series totals","deprecated":null,"version":null,"sidebarTitle":"Time series totals","openapi":"/api-reference/openapi/observe.yaml get /observe/timeSeries/totals","href":"/api-reference/observe/time-series-totals"},{"title":"List time-series definitions","deprecated":null,"version":null,"sidebarTitle":"Time series definitions","openapi":"/api-reference/openapi/observe.yaml get /observe/timeSeriesDefinitions","href":"/api-reference/observe/time-series-definitions"}]},{"group":"Data exports","pages":[{"title":"Export time series to downloadable files","deprecated":null,"version":null,"sidebarTitle":"Create time series export","openapi":"/api-reference/openapi/observe.yaml post /observe/timeSeries/export","href":"/api-reference/observe/create-time-series-export"},{"title":"List time series exports","deprecated":null,"version":null,"sidebarTitle":"Time series exports","openapi":"/api-reference/openapi/observe.yaml get /observe/timeSeries/exports","href":"/api-reference/observe/time-series-exports"},{"title":"Get a time series export by ID","deprecated":null,"version":null,"sidebarTitle":"Time series export","openapi":"/api-reference/openapi/observe.yaml get /observe/timeSeries/exports/{exportID}","href":"/api-reference/observe/time-series-export"},{"title":"Get a download link for a time series export file","deprecated":null,"version":null,"sidebarTitle":"Time series export download","openapi":"/api-reference/openapi/observe.yaml get /observe/timeSeries/exports/{exportID}/files/{fileName}/downloadLink","href":"/api-reference/observe/time-series-export-download"},{"title":"List observe table export files","deprecated":null,"version":null,"sidebarTitle":"Table exports","openapi":"/api-reference/openapi/observe.yaml get /observe/tableExports","href":"/api-reference/observe/table-exports"},{"title":"Get observe table export download link","deprecated":null,"version":null,"sidebarTitle":"Table export download","openapi":"/api-reference/openapi/observe.yaml get /observe/tableExports/{filename}/downloadLink","href":"/api-reference/observe/table-export-download"}]},{"group":"User data","pages":[{"title":"Create data deletion jobs","deprecated":null,"version":null,"sidebarTitle":"Delete user data","openapi":"/api-reference/openapi/observe.yaml post /observe/dataDeletionJobs","href":"/api-reference/observe/delete-user-data"},{"title":"Get a data deletion job by ID","deprecated":null,"version":null,"sidebarTitle":"Deletion status","openapi":"/api-reference/openapi/observe.yaml get /observe/dataDeletionJobs/{dataDeletionJobID}","href":"/api-reference/observe/deletion-status"},{"title":"Export observe data by external ID","deprecated":null,"version":null,"sidebarTitle":"Export user","openapi":"/api-reference/openapi/observe.yaml get /observe/dataExports/{externalID}","href":"/api-reference/observe/export-user"}]},{"group":"Metadata","pages":[{"title":"List FIDO MDS authenticator metadata","deprecated":null,"version":null,"sidebarTitle":"Authenticator metadata","openapi":"/api-reference/openapi/observe.yaml get /observe/metadata/mds","href":"/api-reference/observe/authenticator-metadata"},{"title":"List passkey authenticator (AAGUID) metadata","deprecated":null,"version":null,"sidebarTitle":"Passkey authenticator metadata","openapi":"/api-reference/openapi/observe.yaml get /observe/metadata/passkey-aaguid","href":"/api-reference/observe/passkey-authenticator-metadata"}]},{"group":"Saved ID lists","pages":[{"title":"Get Observe ID list","deprecated":null,"version":null,"sidebarTitle":"Id list","openapi":"/api-reference/openapi/observe.yaml get /observe/idLists/{id}","href":"/api-reference/observe/id-list"},{"title":"Create Observe ID list","description":"Stores a project-scoped flow ID selection and returns a short ID-list handle.\n\nRequired API key permission: `observe:idLists:write`.","deprecated":null,"version":null,"sidebarTitle":"Create id list","openapi":"/api-reference/openapi/observe.yaml post /observe/idLists","href":"/api-reference/observe/create-id-list"}]},{"group":"Journeys and users","pages":[{"title":"Search flows by filter criteria","deprecated":null,"version":null,"sidebarTitle":"Search flows","openapi":"/api-reference/openapi/observe.yaml post /observe/flowSearch","href":"/api-reference/observe/search-flows"},{"title":"Search subflows by filter criteria","description":"Finds subflows using exactly one selector: `userIDs`, `flowIDs`, `sessionIDs` or `filters`.\nThe `filters` selector searches a time window with optional error, environment and subflow filters.\n\nID-based results are ordered by start time, oldest first. Filter-based results are newest first\nand include `totalCount` (uncapped matches) and `flowIDs` (distinct parent flows).\nAll results are capped at `limit`.\n\nRequired API key permission: `observe:subFlows:read`.","deprecated":null,"version":null,"sidebarTitle":"Search subflows","openapi":"/api-reference/openapi/observe.yaml post /observe/subFlowSearch","href":"/api-reference/observe/search-subflows"},{"title":"Search flow tags","deprecated":null,"version":null,"sidebarTitle":"Search flow tags","openapi":"/api-reference/openapi/observe.yaml post /observe/flowTagSearch","href":"/api-reference/observe/search-flow-tags"},{"title":"Search users by filter criteria","deprecated":null,"version":null,"sidebarTitle":"Search users","openapi":"/api-reference/openapi/observe.yaml post /observe/userSearch","href":"/api-reference/observe/search-users"},{"title":"Search identifier submissions","deprecated":null,"version":null,"sidebarTitle":"Search identifiers","openapi":"/api-reference/openapi/observe.yaml post /observe/identifierSearch","href":"/api-reference/observe/search-identifiers"},{"title":"Search client environments","deprecated":null,"version":null,"sidebarTitle":"Search client environments","openapi":"/api-reference/openapi/observe.yaml post /observe/clientEnvSearch","href":"/api-reference/observe/search-client-environments"}]},{"group":"Passkey Intelligence","pages":[{"title":"Explain what went wrong for a user","deprecated":null,"version":null,"sidebarTitle":"User diagnosis","openapi":"/api-reference/openapi/observe.yaml post /observe/userDiagnosis","href":"/api-reference/observe/passkey-intelligence/user-diagnosis"},{"title":"Predict the passkey login outcome","deprecated":null,"version":null,"sidebarTitle":"Predict login","openapi":"/api-reference/openapi/observe.yaml post /observe/passkeyIntelligence","href":"/api-reference/observe/passkey-intelligence/predict-login"}]},{"group":"Passkey analysis","pages":[{"title":"List passkey behaviour for a user cohort","deprecated":null,"version":null,"sidebarTitle":"Passkey cohort","openapi":"/api-reference/openapi/observe.yaml post /observe/passkeyCohort","href":"/api-reference/observe/passkey-cohort"},{"title":"Search passkeys","deprecated":null,"version":null,"sidebarTitle":"Search passkeys","openapi":"/api-reference/openapi/observe.yaml post /observe/passkeySearch","href":"/api-reference/observe/search-passkeys"}]},{"group":"Annotations","pages":[{"title":"List annotations","deprecated":null,"version":null,"sidebarTitle":"Annotations","openapi":"/api-reference/openapi/observe.yaml get /observe/annotations","href":"/api-reference/observe/annotations"},{"title":"Create annotation","deprecated":null,"version":null,"sidebarTitle":"Create annotation","openapi":"/api-reference/openapi/observe.yaml post /observe/annotations","href":"/api-reference/observe/create-annotation"},{"title":"Get project memory document","deprecated":null,"version":null,"sidebarTitle":"Annotation document","openapi":"/api-reference/openapi/observe.yaml get /observe/annotations/document","href":"/api-reference/observe/annotation-document"},{"title":"Create or update annotation by external key","deprecated":null,"version":null,"sidebarTitle":"Upsert annotation","openapi":"/api-reference/openapi/observe.yaml put /observe/annotations/byExternalKey/{externalKey}","href":"/api-reference/observe/upsert-annotation"},{"title":"Get annotation","deprecated":null,"version":null,"sidebarTitle":"Get annotation","openapi":"/api-reference/openapi/observe.yaml get /observe/annotations/{annotationID}","href":"/api-reference/observe/get-annotation"},{"title":"Update annotation","deprecated":null,"version":null,"sidebarTitle":"Update annotation","openapi":"/api-reference/openapi/observe.yaml put /observe/annotations/{annotationID}","href":"/api-reference/observe/update-annotation"},{"title":"Delete annotation","deprecated":null,"version":null,"sidebarTitle":"Delete annotation","openapi":"/api-reference/openapi/observe.yaml delete /observe/annotations/{annotationID}","href":"/api-reference/observe/delete-annotation"},{"title":"List annotation history","deprecated":null,"version":null,"sidebarTitle":"List annotation events","openapi":"/api-reference/openapi/observe.yaml get /observe/annotations/{annotationID}/events","href":"/api-reference/observe/list-annotation-events"}]},{"group":"Error management","pages":[{"title":"List error flavours","deprecated":null,"version":null,"sidebarTitle":"Error flavours","openapi":"/api-reference/openapi/observe.yaml get /observe/errorFlavours","href":"/api-reference/observe/error-flavours"},{"title":"Assign error flavours","deprecated":null,"version":null,"sidebarTitle":"Assign error flavours","openapi":"/api-reference/openapi/observe.yaml patch /observe/errorFlavours","href":"/api-reference/observe/assign-error-flavours"},{"title":"Analyze the flow impact of error flavours","deprecated":null,"version":null,"sidebarTitle":"Error impact","openapi":"/api-reference/openapi/observe.yaml post /observe/errorFlavours/impact","href":"/api-reference/observe/error-impact"},{"title":"List errors","deprecated":null,"version":null,"sidebarTitle":"Errors list","openapi":"/api-reference/openapi/observe.yaml get /observe/errors","href":"/api-reference/observe/errors-list"},{"title":"Create error","deprecated":null,"version":null,"sidebarTitle":"Create error","openapi":"/api-reference/openapi/observe.yaml post /observe/errors","href":"/api-reference/observe/create-error"},{"title":"Update error","deprecated":null,"version":null,"sidebarTitle":"Update error","openapi":"/api-reference/openapi/observe.yaml put /observe/errors/{errorID}","href":"/api-reference/observe/update-error"},{"title":"Delete error","deprecated":null,"version":null,"sidebarTitle":"Delete error","openapi":"/api-reference/openapi/observe.yaml delete /observe/errors/{errorID}","href":"/api-reference/observe/delete-error"},{"title":"Upsert error recommendation","deprecated":null,"version":null,"sidebarTitle":"Upsert error recommendation","openapi":"/api-reference/openapi/observe.yaml put /observe/errors/{errorID}/recommendation","href":"/api-reference/observe/upsert-error-recommendation"},{"title":"Delete error recommendation","deprecated":null,"version":null,"sidebarTitle":"Delete error recommendation","openapi":"/api-reference/openapi/observe.yaml delete /observe/errors/{errorID}/recommendation","href":"/api-reference/observe/delete-error-recommendation"},{"title":"Create recommendation asset upload","deprecated":null,"version":null,"sidebarTitle":"Create recommendation asset upload","openapi":"/api-reference/openapi/observe.yaml post /observe/errors/{errorID}/recommendation/assets","href":"/api-reference/observe/create-recommendation-asset-upload"},{"title":"Delete recommendation asset","deprecated":null,"version":null,"sidebarTitle":"Delete recommendation asset","openapi":"/api-reference/openapi/observe.yaml delete /observe/errors/{errorID}/recommendation/assets/{assetID}","href":"/api-reference/observe/delete-recommendation-asset"},{"title":"Confirm recommendation asset upload","deprecated":null,"version":null,"sidebarTitle":"Confirm recommendation asset upload","openapi":"/api-reference/openapi/observe.yaml post /observe/errors/{errorID}/recommendation/assets/{assetID}/confirm","href":"/api-reference/observe/confirm-recommendation-asset-upload"},{"title":"Get recommendation asset download URL","deprecated":null,"version":null,"sidebarTitle":"Recommendation asset download","openapi":"/api-reference/openapi/observe.yaml get /observe/errors/{errorID}/recommendation/assets/{assetID}/downloadUrl","href":"/api-reference/observe/recommendation-asset-download"}]},{"group":"ObserveErrorCode","pages":[{"title":"Get the error dictionary","deprecated":null,"version":null,"sidebarTitle":"Error codes","openapi":"/api-reference/openapi/observe.yaml get /observe/errorCodes","href":"/api-reference/observe/error-codes"}]},{"group":"Alert management","pages":[{"title":"Get alerting summary","deprecated":null,"version":null,"sidebarTitle":"Alert summary","openapi":"/api-reference/openapi/observe.yaml get /observe/alertSummary","href":"/api-reference/observe/alert-summary"},{"title":"List alert rules","deprecated":null,"version":null,"sidebarTitle":"Alert rules","openapi":"/api-reference/openapi/observe.yaml get /observe/alertRules","href":"/api-reference/observe/alert-rules"},{"title":"Create alert rule","deprecated":null,"version":null,"sidebarTitle":"Create alert rule","openapi":"/api-reference/openapi/observe.yaml post /observe/alertRules","href":"/api-reference/observe/create-alert-rule"},{"title":"Simulate alert rule","deprecated":null,"version":null,"sidebarTitle":"Simulate alert rule","openapi":"/api-reference/openapi/observe.yaml post /observe/alertRules/simulate","href":"/api-reference/observe/simulate-alert-rule"},{"title":"Get alert rule","deprecated":null,"version":null,"sidebarTitle":"Alert rule","openapi":"/api-reference/openapi/observe.yaml get /observe/alertRules/{alertRuleID}","href":"/api-reference/observe/alert-rule"},{"title":"Update alert rule","deprecated":null,"version":null,"sidebarTitle":"Update alert rule","openapi":"/api-reference/openapi/observe.yaml put /observe/alertRules/{alertRuleID}","href":"/api-reference/observe/update-alert-rule"},{"title":"Delete alert rule","deprecated":null,"version":null,"sidebarTitle":"Delete alert rule","openapi":"/api-reference/openapi/observe.yaml delete /observe/alertRules/{alertRuleID}","href":"/api-reference/observe/delete-alert-rule"},{"title":"Evaluate alert rules","deprecated":null,"version":null,"sidebarTitle":"Evaluate alert rules","openapi":"/api-reference/openapi/observe.yaml post /observe/alerts/evaluate","href":"/api-reference/observe/evaluate-alert-rules"},{"title":"List alert contact points","deprecated":null,"version":null,"sidebarTitle":"Alert contact points","openapi":"/api-reference/openapi/observe.yaml get /observe/alertContactPoints","href":"/api-reference/observe/alert-contact-points"},{"title":"Create alert contact point","deprecated":null,"version":null,"sidebarTitle":"Create alert contact point","openapi":"/api-reference/openapi/observe.yaml post /observe/alertContactPoints","href":"/api-reference/observe/create-alert-contact-point"},{"title":"Get alert contact point","deprecated":null,"version":null,"sidebarTitle":"Alert contact point","openapi":"/api-reference/openapi/observe.yaml get /observe/alertContactPoints/{alertContactPointID}","href":"/api-reference/observe/alert-contact-point"},{"title":"Update alert contact point","deprecated":null,"version":null,"sidebarTitle":"Update alert contact point","openapi":"/api-reference/openapi/observe.yaml put /observe/alertContactPoints/{alertContactPointID}","href":"/api-reference/observe/update-alert-contact-point"},{"title":"Delete alert contact point","deprecated":null,"version":null,"sidebarTitle":"Delete alert contact point","openapi":"/api-reference/openapi/observe.yaml delete /observe/alertContactPoints/{alertContactPointID}","href":"/api-reference/observe/delete-alert-contact-point"},{"title":"Send test notification","deprecated":null,"version":null,"sidebarTitle":"Test alert contact point integration","openapi":"/api-reference/openapi/observe.yaml post /observe/alertContactPoints/{alertContactPointID}/integrations/{alertContactPointIntegrationID}/test","href":"/api-reference/observe/test-alert-contact-point-integration"},{"title":"List alert rule types","deprecated":null,"version":null,"sidebarTitle":"Alert rule types","openapi":"/api-reference/openapi/observe.yaml get /observe/alertRuleTypes","href":"/api-reference/observe/alert-rule-types"},{"title":"List alert rule groups","deprecated":null,"version":null,"sidebarTitle":"Alert rule groups","openapi":"/api-reference/openapi/observe.yaml get /observe/alertRuleGroups","href":"/api-reference/observe/alert-rule-groups"},{"title":"List alert instances","deprecated":null,"version":null,"sidebarTitle":"Alert instances","openapi":"/api-reference/openapi/observe.yaml get /observe/alertInstances","href":"/api-reference/observe/alert-instances"},{"title":"Get alert instance statistics","deprecated":null,"version":null,"sidebarTitle":"Alert instance statistics","openapi":"/api-reference/openapi/observe.yaml get /observe/alertInstanceStatistics","href":"/api-reference/observe/alert-instance-statistics"},{"title":"Get alert firing","deprecated":null,"version":null,"sidebarTitle":"Alert firing","openapi":"/api-reference/openapi/observe.yaml get /observe/alertFirings/{alertFiringID}","href":"/api-reference/observe/alert-firing"},{"title":"Get alert rule statistics","deprecated":null,"version":null,"sidebarTitle":"Alert rule statistics","openapi":"/api-reference/openapi/observe.yaml get /observe/alertRuleStatistics","href":"/api-reference/observe/alert-rule-statistics"},{"title":"List alert evaluations","deprecated":null,"version":null,"sidebarTitle":"Alert evaluations","openapi":"/api-reference/openapi/observe.yaml get /observe/alertEvaluations","href":"/api-reference/observe/alert-evaluations"},{"title":"List alert transitions","deprecated":null,"version":null,"sidebarTitle":"Alert transitions","openapi":"/api-reference/openapi/observe.yaml get /observe/alertTransitions","href":"/api-reference/observe/alert-transitions"},{"title":"List alert notifications","deprecated":null,"version":null,"sidebarTitle":"Alert notifications","openapi":"/api-reference/openapi/observe.yaml get /observe/alertNotifications","href":"/api-reference/observe/alert-notifications"}]},{"group":"Experiments","pages":[{"title":"List experiments","deprecated":null,"version":null,"sidebarTitle":"Experiments","openapi":"/api-reference/openapi/observe.yaml get /observe/experiments","href":"/api-reference/observe/experiments"},{"title":"List experiment runs","deprecated":null,"version":null,"sidebarTitle":"Experiment runs","openapi":"/api-reference/openapi/observe.yaml get /observe/experimentRuns","href":"/api-reference/observe/experiment-runs"},{"title":"Create experiment run","deprecated":null,"version":null,"sidebarTitle":"Create experiment run","openapi":"/api-reference/openapi/observe.yaml post /observe/experimentRuns","href":"/api-reference/observe/create-experiment-run"},{"title":"Update experiment run","deprecated":null,"version":null,"sidebarTitle":"Update experiment run","openapi":"/api-reference/openapi/observe.yaml put /observe/experimentRuns/{experimentRunID}","href":"/api-reference/observe/update-experiment-run"},{"title":"Delete experiment run","deprecated":null,"version":null,"sidebarTitle":"Delete experiment run","openapi":"/api-reference/openapi/observe.yaml delete /observe/experimentRuns/{experimentRunID}","href":"/api-reference/observe/delete-experiment-run"}]}]}]},{"group":"Corbado Connect","pages":[{"title":"Connect API reference","sidebarTitle":"Overview","href":"/api-reference/connect/overview"},{"title":"Connect API authentication","sidebarTitle":"Authentication","href":"/api-reference/connect/authentication"},{"title":"Connect API error types","sidebarTitle":"Error types","href":"/api-reference/connect/error-types"},{"title":"Connect Frontend API","sidebarTitle":"Frontend protocol","href":"/api-reference/connect/frontend"},{"group":"Frontend API","pages":[{"group":"Passkey flows","pages":[{"title":"Initialize connect login","deprecated":null,"version":null,"sidebarTitle":"Initialize connect login","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/login/init","href":"/api-reference/connect/frontend/corbadoconnect/initialize-connect-login"},{"title":"Start connect login","deprecated":null,"version":null,"sidebarTitle":"Start connect login","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/login/start","href":"/api-reference/connect/frontend/corbadoconnect/start-connect-login"},{"title":"Finish connect login","deprecated":null,"version":null,"sidebarTitle":"Finish connect login","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/login/finish","href":"/api-reference/connect/frontend/corbadoconnect/finish-connect-login"},{"title":"Initialize connect append","deprecated":null,"version":null,"sidebarTitle":"Initialize connect append","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/append/init","href":"/api-reference/connect/frontend/corbadoconnect/initialize-connect-append"},{"title":"Start connect append","deprecated":null,"version":null,"sidebarTitle":"Start connect append","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/append/start","href":"/api-reference/connect/frontend/corbadoconnect/start-connect-append"},{"title":"Finish connect append","deprecated":null,"version":null,"sidebarTitle":"Finish connect append","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/append/finish","href":"/api-reference/connect/frontend/corbadoconnect/finish-connect-append"},{"title":"Initialize connect management","deprecated":null,"version":null,"sidebarTitle":"Initialize connect management","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/manage/init","href":"/api-reference/connect/frontend/corbadoconnect/initialize-connect-management"},{"title":"Delete connect passkey","deprecated":null,"version":null,"sidebarTitle":"Delete connect passkey","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/manage/delete","href":"/api-reference/connect/frontend/corbadoconnect/delete-connect-passkey"},{"title":"List connect passkeys","deprecated":null,"version":null,"sidebarTitle":"List connect passkeys","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/manage/list","href":"/api-reference/connect/frontend/corbadoconnect/list-connect-passkeys"},{"title":"Create connect event","deprecated":null,"version":null,"sidebarTitle":"Create connect event","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/events","href":"/api-reference/connect/frontend/corbadoconnect/create-connect-event"},{"title":"Send low-level Connect events","deprecated":null,"version":null,"sidebarTitle":"Send low-level Connect events","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/eventsLow","href":"/api-reference/connect/frontend/corbadoconnect/post-v2connecteventslow"},{"title":"Clear connect process","deprecated":null,"version":null,"sidebarTitle":"Clear connect process","openapi":"/api-reference/openapi/connect-frontend.yaml post /v2/connect/process/clear","href":"/api-reference/connect/frontend/corbadoconnect/clear-connect-process"}]},{"group":"App association and keys","pages":[{"title":"Get Android Digital Asset Links","deprecated":null,"version":null,"sidebarTitle":"Get Android Digital Asset Links","openapi":"/api-reference/openapi/connect-frontend.yaml get /.well-known/assetlinks.json","href":"/api-reference/connect/frontend/wellknown/get-well-knownassetlinksjson"},{"title":"Get Apple App Site Association","deprecated":null,"version":null,"sidebarTitle":"Get Apple App Site Association","openapi":"/api-reference/openapi/connect-frontend.yaml get /.well-known/apple-app-site-association","href":"/api-reference/connect/frontend/wellknown/get-well-knownapple-app-site-association"},{"title":"Get project signing keys","deprecated":null,"version":null,"sidebarTitle":"Get project signing keys","openapi":"/api-reference/openapi/connect-frontend.yaml get /.well-known/jwks","href":"/api-reference/connect/frontend/wellknown/get-well-knownjwks"}]}]},{"group":"Backend API","pages":[{"group":"Users and passkeys","pages":[{"title":"List users","deprecated":null,"version":null,"sidebarTitle":"List users","openapi":"/api-reference/openapi/connect-backend.yaml get /users","href":"/api-reference/connect/backend/users/list-users"},{"title":"Create a new user","deprecated":null,"version":null,"sidebarTitle":"Create a new user","openapi":"/api-reference/openapi/connect-backend.yaml post /users","href":"/api-reference/connect/backend/users/create-a-new-user"},{"title":"Retrieve a user","deprecated":null,"version":null,"sidebarTitle":"Retrieve a user","openapi":"/api-reference/openapi/connect-backend.yaml get /users/{userID}","href":"/api-reference/connect/backend/users/retrieve-a-user"},{"title":"Delete a user","deprecated":null,"version":null,"sidebarTitle":"Delete a user","openapi":"/api-reference/openapi/connect-backend.yaml delete /users/{userID}","href":"/api-reference/connect/backend/users/delete-a-user"},{"title":"Update a user","deprecated":null,"version":null,"sidebarTitle":"Update a user","openapi":"/api-reference/openapi/connect-backend.yaml patch /users/{userID}","href":"/api-reference/connect/backend/users/update-a-user"},{"title":"List passkeys for a user","deprecated":null,"version":null,"sidebarTitle":"List passkeys for a user","openapi":"/api-reference/openapi/connect-backend.yaml get /users/{userID}/credentials","href":"/api-reference/connect/backend/users/list-passkeys-for-a-user"},{"title":"Delete a passkey for a user","deprecated":null,"version":null,"sidebarTitle":"Delete a passkey for a user","openapi":"/api-reference/openapi/connect-backend.yaml delete /users/{userID}/credentials/{credentialID}","href":"/api-reference/connect/backend/users/delete-a-passkey-for-a-user"},{"title":"List passkeys for a user including full authenticator data","deprecated":null,"version":null,"sidebarTitle":"List passkeys for a user including full authenticator data","openapi":"/api-reference/openapi/connect-backend.yaml get /users/{userID}/fullCredentials","href":"/api-reference/connect/backend/users/list-passkeys-for-a-user-including-full-authenticator-data"}]},{"group":"Identifiers","pages":[{"title":"Create a login identifier for a user","deprecated":null,"version":null,"sidebarTitle":"Create a login identifier for a user","openapi":"/api-reference/openapi/connect-backend.yaml post /users/{userID}/identifiers","href":"/api-reference/connect/backend/identifiers/create-a-login-identifier-for-a-user"},{"title":"Delete a login identifier for a user","deprecated":null,"version":null,"sidebarTitle":"Delete a login identifier for a user","openapi":"/api-reference/openapi/connect-backend.yaml delete /users/{userID}/identifiers/{identifierID}","href":"/api-reference/connect/backend/identifiers/delete-a-login-identifier-for-a-user"},{"title":"Update a login identifier for a user","deprecated":null,"version":null,"sidebarTitle":"Update a login identifier for a user","openapi":"/api-reference/openapi/connect-backend.yaml patch /users/{userID}/identifiers/{identifierID}","href":"/api-reference/connect/backend/identifiers/update-a-login-identifier-for-a-user"},{"title":"List all login identifiers","deprecated":null,"version":null,"sidebarTitle":"List all login identifiers","openapi":"/api-reference/openapi/connect-backend.yaml get /identifiers","href":"/api-reference/connect/backend/identifiers/list-all-login-identifiers"}]},{"group":"Passkey diagnostics","pages":[{"title":"List all passkey events for a user","deprecated":null,"version":null,"sidebarTitle":"List all passkey events for a user","openapi":"/api-reference/openapi/connect-backend.yaml get /users/{userID}/passkeyEvents","href":"/api-reference/connect/backend/passkeyevents/list-all-passkey-events-for-a-user"},{"title":"Create a passkey event for a user","deprecated":null,"version":null,"sidebarTitle":"Create a passkey event for a user","openapi":"/api-reference/openapi/connect-backend.yaml post /users/{userID}/passkeyEvents","href":"/api-reference/connect/backend/passkeyevents/create-a-passkey-event-for-a-user"},{"title":"Delete a passkey event for a user","deprecated":null,"version":null,"sidebarTitle":"Delete a passkey event for a user","openapi":"/api-reference/openapi/connect-backend.yaml delete /users/{userID}/passkeyEvents/{passkeyEventID}","href":"/api-reference/connect/backend/passkeyevents/delete-a-passkey-event-for-a-user"},{"title":"List all passkey challenges for a user","deprecated":null,"version":null,"sidebarTitle":"List all passkey challenges for a user","openapi":"/api-reference/openapi/connect-backend.yaml get /users/{userID}/passkeyChallenges","href":"/api-reference/connect/backend/passkeychallenges/list-all-passkey-challenges-for-a-user"},{"title":"Update a passkey challenge for a user","deprecated":null,"version":null,"sidebarTitle":"Update a passkey challenge for a user","openapi":"/api-reference/openapi/connect-backend.yaml patch /users/{userID}/passkeyChallenges/{passkeyChallengeID}","href":"/api-reference/connect/backend/passkeychallenges/update-a-passkey-challenge-for-a-user"}]},{"group":"Connect tokens","pages":[{"title":"List all ConnectTokens","deprecated":null,"version":null,"sidebarTitle":"List all connecttokens","openapi":"/api-reference/openapi/connect-backend.yaml get /connectTokens","href":"/api-reference/connect/backend/connecttokens/list-all-connecttokens"},{"title":"Create a connectToken","deprecated":null,"version":null,"sidebarTitle":"Create a connecttoken","openapi":"/api-reference/openapi/connect-backend.yaml post /connectTokens","href":"/api-reference/connect/backend/connecttokens/create-a-connecttoken"},{"title":"Delete a ConnectToken","deprecated":null,"version":null,"sidebarTitle":"Delete a connecttoken","openapi":"/api-reference/openapi/connect-backend.yaml delete /connectTokens/{connectTokenID}","href":"/api-reference/connect/backend/connecttokens/delete-a-connecttoken"},{"title":"Update a ConnectToken","deprecated":null,"version":null,"sidebarTitle":"Update a connecttoken","openapi":"/api-reference/openapi/connect-backend.yaml patch /connectTokens/{connectTokenID}","href":"/api-reference/connect/backend/connecttokens/update-a-connecttoken"}]},{"group":"Passkey ceremonies","pages":[{"title":"Start creating a new passkey","deprecated":null,"version":null,"sidebarTitle":"Start creating a new passkey","openapi":"/api-reference/openapi/connect-backend.yaml post /passkey/append/start","href":"/api-reference/connect/backend/passkeys/start-creating-a-new-passkey"},{"title":"Finish creating a new passkey","deprecated":null,"version":null,"sidebarTitle":"Finish creating a new passkey","openapi":"/api-reference/openapi/connect-backend.yaml post /passkey/append/finish","href":"/api-reference/connect/backend/passkeys/finish-creating-a-new-passkey"},{"title":"Start login with an existing passkey","deprecated":null,"version":null,"sidebarTitle":"Start login with an existing passkey","openapi":"/api-reference/openapi/connect-backend.yaml post /passkey/login/start","href":"/api-reference/connect/backend/passkeys/start-login-with-an-existing-passkey"},{"title":"Finish login with an existing passkey","deprecated":null,"version":null,"sidebarTitle":"Finish login with an existing passkey","openapi":"/api-reference/openapi/connect-backend.yaml post /passkey/login/finish","href":"/api-reference/connect/backend/passkeys/finish-login-with-an-existing-passkey"},{"title":"Verify signedPasskeyData from a passkey login","deprecated":null,"version":null,"sidebarTitle":"Verify signedpasskeydata from a passkey login","openapi":"/api-reference/openapi/connect-backend.yaml post /passkey/verifySignedData","href":"/api-reference/connect/backend/passkeys/verify-signedpasskeydata-from-a-passkey-login"},{"title":"Start login with an existing passkey (Conditional UI)","deprecated":null,"version":null,"sidebarTitle":"Start login with an existing passkey conditional ui","openapi":"/api-reference/openapi/connect-backend.yaml post /passkey/mediation/start","href":"/api-reference/connect/backend/passkeys/start-login-with-an-existing-passkey-conditional-ui"},{"title":"Finish login with an existing passkey (Conditional UI)","deprecated":null,"version":null,"sidebarTitle":"Finish login with an existing passkey conditional ui","openapi":"/api-reference/openapi/connect-backend.yaml post /passkey/mediation/finish","href":"/api-reference/connect/backend/passkeys/finish-login-with-an-existing-passkey-conditional-ui"}]},{"group":"Data exports","pages":[{"title":"List project exports","deprecated":null,"version":null,"sidebarTitle":"List project exports","openapi":"/api-reference/openapi/connect-backend.yaml get /exports/{exportType}","href":"/api-reference/connect/backend/exports/list-project-exports"},{"title":"Get download link for an export file","deprecated":null,"version":null,"sidebarTitle":"Get download link for an export file","openapi":"/api-reference/openapi/connect-backend.yaml get /exports/{exportType}/{filename}/downloadLink","href":"/api-reference/connect/backend/exports/get-download-link-for-an-export-file"}]},{"group":"Analytics and configuration","pages":[{"title":"Get project statistics","deprecated":null,"version":null,"sidebarTitle":"Get project statistics","openapi":"/api-reference/openapi/connect-backend.yaml get /stats","href":"/api-reference/connect/backend/connect-reads/get-stats"},{"title":"Get statistics over time","deprecated":null,"version":null,"sidebarTitle":"Get statistics over time","openapi":"/api-reference/openapi/connect-backend.yaml get /statsByTime","href":"/api-reference/connect/backend/connect-reads/get-statsbytime"},{"title":"List applications","deprecated":null,"version":null,"sidebarTitle":"List applications","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/applications","href":"/api-reference/connect/backend/connect-reads/get-connectapplications"},{"title":"Search Connect processes","deprecated":null,"version":null,"sidebarTitle":"Search Connect processes","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/processSearch","href":"/api-reference/connect/backend/connect-reads/post-connectprocesssearch"},{"title":"Get Connect processes by ID","deprecated":null,"version":null,"sidebarTitle":"Get Connect processes by ID","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/processList","href":"/api-reference/connect/backend/connect-reads/post-connectprocesslist"},{"title":"List process events","deprecated":null,"version":null,"sidebarTitle":"List process events","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/processes/{processID}/events","href":"/api-reference/connect/backend/connect-reads/get-connectprocesses-events"},{"title":"Get process metadata","deprecated":null,"version":null,"sidebarTitle":"Get process metadata","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/processMetadata/{processID}","href":"/api-reference/connect/backend/connect-reads/get-connectprocessmetadata"},{"title":"List subprocesses","deprecated":null,"version":null,"sidebarTitle":"List subprocesses","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/processes/{processID}/subProcesses","href":"/api-reference/connect/backend/connect-reads/get-connectprocesses-subprocesses"},{"title":"List process errors","deprecated":null,"version":null,"sidebarTitle":"List process errors","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/processErrors","href":"/api-reference/connect/backend/connect-reads/get-connectprocesserrors"},{"title":"List error patterns","deprecated":null,"version":null,"sidebarTitle":"List error patterns","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/processErrorPatterns","href":"/api-reference/connect/backend/connect-reads/get-connectprocesserrorpatterns"},{"title":"List devices for multiple users","deprecated":null,"version":null,"sidebarTitle":"List devices for multiple users","openapi":"/api-reference/openapi/connect-backend.yaml post /devices","href":"/api-reference/connect/backend/connect-reads/list-devices-for-multiple-users"},{"title":"List shared devices for a user","deprecated":null,"version":null,"sidebarTitle":"List shared devices for a user","openapi":"/api-reference/openapi/connect-backend.yaml get /sharedDevices","href":"/api-reference/connect/backend/connect-reads/get-shareddevices"},{"title":"List Android app configurations","deprecated":null,"version":null,"sidebarTitle":"List Android app configurations","openapi":"/api-reference/openapi/connect-backend.yaml get /androidappconfig","href":"/api-reference/connect/backend/connect-reads/get-androidappconfig"},{"title":"List Passkey Intelligence rulesets","deprecated":null,"version":null,"sidebarTitle":"List Passkey Intelligence rulesets","openapi":"/api-reference/openapi/connect-backend.yaml get /passkeyIntelligence/{projectID}/rulesetsMetadata","href":"/api-reference/connect/backend/connect-reads/get-passkeyintelligence-rulesetsmetadata"},{"title":"Get a Passkey Intelligence ruleset","deprecated":null,"version":null,"sidebarTitle":"Get a Passkey Intelligence ruleset","openapi":"/api-reference/openapi/connect-backend.yaml get /passkeyIntelligence/{projectID}/rulesets/{rulesetID}","href":"/api-reference/connect/backend/connect-reads/get-passkeyintelligence-rulesets"},{"title":"Get project configuration","deprecated":null,"version":null,"sidebarTitle":"Get project configuration","openapi":"/api-reference/openapi/connect-backend.yaml get /projectConfig","href":"/api-reference/connect/backend/connect-reads/get-projectconfig"}]},{"group":"App configuration","pages":[{"title":"Create an application","deprecated":null,"version":null,"sidebarTitle":"Create an application","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/applications","href":"/api-reference/connect/backend/connectmanagement/post-connectapplications"},{"title":"Create an Android app configuration","deprecated":null,"version":null,"sidebarTitle":"Create an Android app configuration","openapi":"/api-reference/openapi/connect-backend.yaml post /androidappconfig","href":"/api-reference/connect/backend/connectmanagement/post-androidappconfig"},{"title":"Update an application","deprecated":null,"version":null,"sidebarTitle":"Update an application","openapi":"/api-reference/openapi/connect-backend.yaml put /connect/applications/{applicationID}","href":"/api-reference/connect/backend/connectmanagement/put-connectapplications"},{"title":"Delete an application","deprecated":null,"version":null,"sidebarTitle":"Delete an application","openapi":"/api-reference/openapi/connect-backend.yaml delete /connect/applications/{applicationID}","href":"/api-reference/connect/backend/connectmanagement/delete-connectapplications"},{"title":"Update an Android app configuration","deprecated":null,"version":null,"sidebarTitle":"Update an Android app configuration","openapi":"/api-reference/openapi/connect-backend.yaml put /androidappconfig/{androidAppConfigID}","href":"/api-reference/connect/backend/connectmanagement/put-androidappconfig"},{"title":"Delete an Android app configuration","deprecated":null,"version":null,"sidebarTitle":"Delete an Android app configuration","openapi":"/api-reference/openapi/connect-backend.yaml delete /androidappconfig/{androidAppConfigID}","href":"/api-reference/connect/backend/connectmanagement/delete-androidappconfig"},{"title":"Create a Passkey Intelligence ruleset","deprecated":null,"version":null,"sidebarTitle":"Create a Passkey Intelligence ruleset","openapi":"/api-reference/openapi/connect-backend.yaml post /passkeyIntelligence/{projectID}/rulesets","href":"/api-reference/connect/backend/connectmanagement/post-passkeyintelligence-rulesets"},{"title":"Activate a Passkey Intelligence ruleset","deprecated":null,"version":null,"sidebarTitle":"Activate a Passkey Intelligence ruleset","openapi":"/api-reference/openapi/connect-backend.yaml post /passkeyIntelligence/{projectID}/rulesets/{rulesetID}/activate","href":"/api-reference/connect/backend/connectmanagement/post-passkeyintelligence-rulesets-activate"}]},{"group":"Rollout configuration","pages":[{"title":"Get Connect configuration","deprecated":null,"version":null,"sidebarTitle":"Get Connect configuration","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/config","href":"/api-reference/connect/backend/connectrollout/get-connectconfig"},{"title":"Update Connect configuration","deprecated":null,"version":null,"sidebarTitle":"Update Connect configuration","openapi":"/api-reference/openapi/connect-backend.yaml put /connect/config","href":"/api-reference/connect/backend/connectrollout/put-connectconfig"},{"title":"Create Connect configuration","deprecated":null,"version":null,"sidebarTitle":"Create Connect configuration","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/config","href":"/api-reference/connect/backend/connectrollout/post-connectconfig"},{"title":"List rollout rulesets","deprecated":null,"version":null,"sidebarTitle":"List rollout rulesets","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/rulesetsMetadata","href":"/api-reference/connect/backend/connectrollout/get-connectrulesetsmetadata"},{"title":"Create a rollout ruleset","deprecated":null,"version":null,"sidebarTitle":"Create a rollout ruleset","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/rulesets","href":"/api-reference/connect/backend/connectrollout/post-connectrulesets"},{"title":"Get a rollout ruleset","deprecated":null,"version":null,"sidebarTitle":"Get a rollout ruleset","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/rulesets/{rulesetID}","href":"/api-reference/connect/backend/connectrollout/get-connectrulesets"},{"title":"Update a rollout ruleset","deprecated":null,"version":null,"sidebarTitle":"Update a rollout ruleset","openapi":"/api-reference/openapi/connect-backend.yaml patch /connect/rulesets/{rulesetID}","href":"/api-reference/connect/backend/connectrollout/patch-connectrulesets"},{"title":"Activate a rollout ruleset","deprecated":null,"version":null,"sidebarTitle":"Activate a rollout ruleset","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/rulesets/{rulesetID}/activate","href":"/api-reference/connect/backend/connectrollout/post-connectrulesets-activate"},{"title":"List identifier allowlists","deprecated":null,"version":null,"sidebarTitle":"List identifier allowlists","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/identifierWhitelists","href":"/api-reference/connect/backend/connectrollout/get-connectidentifierwhitelists"},{"title":"Create an identifier allowlist","deprecated":null,"version":null,"sidebarTitle":"Create an identifier allowlist","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/identifierWhitelists","href":"/api-reference/connect/backend/connectrollout/post-connectidentifierwhitelists"},{"title":"Update an identifier allowlist","deprecated":null,"version":null,"sidebarTitle":"Update an identifier allowlist","openapi":"/api-reference/openapi/connect-backend.yaml put /connect/identifierWhitelists/{identifierWhitelistID}","href":"/api-reference/connect/backend/connectrollout/put-connectidentifierwhitelists"},{"title":"Delete an identifier allowlist","deprecated":null,"version":null,"sidebarTitle":"Delete an identifier allowlist","openapi":"/api-reference/openapi/connect-backend.yaml delete /connect/identifierWhitelists/{identifierWhitelistID}","href":"/api-reference/connect/backend/connectrollout/delete-connectidentifierwhitelists"},{"title":"List rollout simulations","deprecated":null,"version":null,"sidebarTitle":"List rollout simulations","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/rulesets/{rulesetID}/simulations","href":"/api-reference/connect/backend/connectrollout/get-connectrulesets-simulations"},{"title":"Create a rollout simulation","deprecated":null,"version":null,"sidebarTitle":"Create a rollout simulation","openapi":"/api-reference/openapi/connect-backend.yaml post /connect/rulesets/{rulesetID}/simulations","href":"/api-reference/connect/backend/connectrollout/post-connectrulesets-simulations"},{"title":"Get rollout simulation status","deprecated":null,"version":null,"sidebarTitle":"Get rollout simulation status","openapi":"/api-reference/openapi/connect-backend.yaml get /connect/rulesets/{rulesetID}/simulations/{simulationID}","href":"/api-reference/connect/backend/connectrollout/get-connectrulesets-simulations-1"}]}]}]}]},{"tab":"Passkey UI Flows","pages":[{"title":"Passkey UI Flows","href":"/passkey-ui-flows/overview"}]}]},"basePath":"","title":"Search flows by filter criteria - Corbado docs","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}