Record an access request from a visitor whose email failed the signup policy.
Unauthenticated and whitelisted — the caller has no account. The submission
is persisted (source of truth, one row per email — a resubmit upserts) and a
Slack notification to the self-service channel is fired as a background task
so a slow or failing webhook never blocks or fails the response. Only a
genuinely new request notifies, so a resubmit (or a double-click) won’t
re-ping the channel.
The response is a constant acknowledgement regardless of whether the request
was new or already existed, so it can’t be used to enumerate which emails
have requested access.
The optional attribution/referrer/timezone/distinct id the client sends, plus
the User-Agent, are stored on the row and summarised into a source line on the
Slack message. A resubmit replaces them on the row but does not re-announce.
Sanitising, summarising and redacting all happen in the service; the handler
only reads the header and schedules the notification.
A visitor's request for access submitted from the blocked-signup CTA.
The min-lengths mirror the client-side form validation; the max-lengths cap
abuse on this unauthenticated endpoint. The required fields reject when they
exceed theirs — the visitor is looking at the form and can fix it — while the
optional fields the page fills in silently are clamped instead.
The visitor's first-touch marketing attribution, allow-listed server-side to the §3 shape. Used to say where the request came from in the team notification.
document.referrer at submit time. Sent separately from attribution because the attribution snapshot only exists when the URL carried a UTM or click id, so an organic search arrival has no touch to carry a referrer.
IANA timezone reported by the browser, used as a coarse location signal.
Maximum string length: 64
Response
Access request received
Constant acknowledgement that an access request was received.
Deliberately carries no record identifier and is identical whether the
request was newly created or updated an existing one, so the unauthenticated
endpoint can't be probed to learn which emails have already requested access
(an email-enumeration oracle). The created-vs-existing distinction stays
internal (it only gates the Slack notification).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SuperAI Flows","description":"Build reliable, scalable workflows that orchestrate AI models, data processing, and business logic through a simple API.","colors":{"primary":"#7443ff","light":"#9775f7","dark":"#6c40f5"},"logo":{"light":"https://mintcdn.com/superai-flows-docs/mOFmLJuUNWWCPrgW/logo/light.svg?fit=max\u0026auto=format\u0026n=mOFmLJuUNWWCPrgW\u0026q=85\u0026s=763a91d73e6886f99fbebba85459ee15","dark":"https://mintcdn.com/superai-flows-docs/mOFmLJuUNWWCPrgW/logo/dark.svg?fit=max\u0026auto=format\u0026n=mOFmLJuUNWWCPrgW\u0026q=85\u0026s=5e03ccaedeb7b9890d260cd5f28ba690","href":"https://flows.super.ai"},"favicon":"https://mintcdn.com/superai-flows-docs/mOFmLJuUNWWCPrgW/favicon.png?fit=max\u0026auto=format\u0026n=mOFmLJuUNWWCPrgW\u0026q=85\u0026s=a54a72f5610b7af45f895302bd9fec95","navbar":{"links":[{"href":"mailto:support@super.ai","label":"Support"},{"href":"https://status.super.ai","label":"Status"}],"primary":{"type":"button","label":"Dashboard","href":"https://flows.super.ai"}},"footer":{"socials":{"website":"https://super.ai","x":"https://x.com/mysuperai","linkedin":"https://www.linkedin.com/company/mysuperai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"superai-flows-docs","hasAudioNarration":false,"actualSubdomain":"superai-flows-docs","customDomains":["docs.flows.super.ai"],"gitSource":{"type":"github","owner":"mysuperai","repo":"superai-flows-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"4c020797-e5c5-4927-8e18-f9ead2828ae7","liveDeploymentHistoryId":"6adb511a124faf20fe6181b8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adb511a124faf20fe6181b8"},"entitlements":{},"buildId":"6adb511a124faf20fe6181b8","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":159},{"language":"default","tag":"Endpoints","count":155},{"language":"default","tag":"integrations","count":37},{"language":"default","tag":"flows","count":31},{"language":"default","tag":"organizations","count":15},{"language":"default","tag":"plugins","count":11},{"language":"default","tag":"auth","count":9},{"language":"default","tag":"service-accounts","count":9},{"language":"default","tag":"flow-executions","count":8},{"language":"default","tag":"human-review-tasks","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/auth/submit-a-self-service-access-request","slug":"/api-reference/auth/submit-a-self-service-access-request","pageMetadata":{"title":"Submit a self-service access request","description":"Record an access request from a visitor whose email failed the signup policy.\n\nUnauthenticated and whitelisted — the caller has no account. The submission\nis persisted (source of truth, one row per email — a resubmit upserts) and a\nSlack notification to the self-service channel is fired as a background task\nso a slow or failing webhook never blocks or fails the response. Only a\ngenuinely new request notifies, so a resubmit (or a double-click) won't\nre-ping the channel.\n\nThe response is a constant acknowledgement regardless of whether the request\nwas new or already existed, so it can't be used to enumerate which emails\nhave requested access.\n\nThe optional attribution/referrer/timezone/distinct id the client sends, plus\nthe User-Agent, are stored on the row and summarised into a source line on the\nSlack message. A resubmit replaces them on the row but does not re-announce.\n\nSanitising, summarising and redacting all happen in the service; the handler\nonly reads the header and schedules the notification.","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/auth/access-request","href":"/api-reference/auth/submit-a-self-service-access-request","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 p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Record an access request from a visitor whose email failed the signup policy.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Unauthenticated and whitelisted — the caller has no account. The submission\\nis persisted (source of truth, one row per email — a resubmit upserts) and a\\nSlack notification to the self-service channel is fired as a background task\\nso a slow or failing webhook never blocks or fails the response. Only a\\ngenuinely new request notifies, so a resubmit (or a double-click) won’t\\nre-ping the channel.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"The response is a constant acknowledgement regardless of whether the request\\nwas new or already existed, so it can’t be used to enumerate which emails\\nhave requested access.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"The optional attribution/referrer/timezone/distinct id the client sends, plus\\nthe User-Agent, are stored on the row and summarised into a source line on the\\nSlack message. A resubmit replaces them on the row but does not re-announce.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Sanitising, summarising and redacting all happen in the service; the handler\\nonly reads the header and schedules the notification.\"\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":"Submit a self-service access request","description":"Record an access request from a visitor whose email failed the signup policy.\n\nUnauthenticated and whitelisted — the caller has no account. The submission\nis persisted (source of truth, one row per email — a resubmit upserts) and a\nSlack notification to the self-service channel is fired as a background task\nso a slow or failing webhook never blocks or fails the response. Only a\ngenuinely new request notifies, so a resubmit (or a double-click) won't\nre-ping the channel.\n\nThe response is a constant acknowledgement regardless of whether the request\nwas new or already existed, so it can't be used to enumerate which emails\nhave requested access.\n\nThe optional attribution/referrer/timezone/distinct id the client sends, plus\nthe User-Agent, are stored on the row and summarised into a source line on the\nSlack message. A resubmit replaces them on the row but does not re-announce.\n\nSanitising, summarising and redacting all happen in the service; the handler\nonly reads the header and schedules the notification.","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/auth/access-request","href":"/api-reference/auth/submit-a-self-service-access-request","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Record an access request from a visitor whose email failed the signup policy.\n\nUnauthenticated and whitelisted — the caller has no account. The submission\nis persisted (source of truth, one row per email — a resubmit upserts) and a\nSlack notification to the self-service channel is fired as a background task\nso a slow or failing webhook never blocks or fails the response. Only a\ngenuinely new request notifies, so a resubmit (or a double-click) won't\nre-ping the channel.\n\nThe response is a constant acknowledgement regardless of whether the request\nwas new or already existed, so it can't be used to enumerate which emails\nhave requested access.\n\nThe optional attribution/referrer/timezone/distinct id the client sends, plus\nthe User-Agent, are stored on the row and summarised into a source line on the\nSlack message. A resubmit replaces them on the row but does not re-announce.\n\nSanitising, summarising and redacting all happen in the service; the handler\nonly reads the header and schedules the notification.","operationId":"create_access_request_api_auth_access_request_post","requestBody":"c31aff76-0b78-430a-b659-9140672fb977","responses":{"200":"e9cf99e1-e91c-4bc1-b13a-aa9d05266b53","422":"8bfd8e0f-d2e5-4fd8-81fd-2047890269a6"},"summary":"Submit a self-service access request","tags":["auth"],"method":"post","type":"path","servers":["4d0b7ba2-10f8-42a9-8f2d-c56b9c660af5"],"security":[],"path":"/api/auth/access-request","baseUrlOptions":["https://flows.super.ai"],"title":"Submit a self-service access request","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"description":"A visitor's request for access submitted from the blocked-signup CTA.\n\nThe min-lengths mirror the client-side form validation; the max-lengths cap\nabuse on this unauthenticated endpoint. The required fields reject when they\nexceed theirs — the visitor is looking at the form and can fix it — while the\noptional fields the page fills in silently are clamped instead.","properties":{"email":{"description":"Email the visitor tried to sign up with.","format":"email","title":"Email","type":"string","isRequired":true,"uniqueKey":"email","typeLabel":"string\u003cemail>"},"full_name":{"description":"The visitor's name.","maxLength":200,"minLength":1,"title":"Full Name","type":"string","isRequired":true,"uniqueKey":"full_name","typeLabel":"string"},"use_case":{"description":"Free-text description of what the visitor wants to use the product for.","maxLength":5000,"minLength":50,"title":"Use Case","type":"string","isRequired":true,"uniqueKey":"use_case","typeLabel":"string"},"attribution":{"oneOf":[{"type":"object","title":"Attribution","description":"The visitor's first-touch marketing attribution, allow-listed server-side to the §3 shape. Used to say where the request came from in the team notification.","maxProperties":32,"additionalProperties":{"oneOf":[{"type":"string","maxLength":4096,"uniqueKey":"attribution.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"boolean","uniqueKey":"attribution.oneOf.0.additionalProperties.oneOf.1","typeLabel":"boolean"}],"uniqueKey":"attribution.oneOf.0.additionalProperties","typeLabel":"string | boolean"},"uniqueKey":"attribution.oneOf.0","typeLabel":"Attribution · object"},{"type":"null","title":"Attribution","description":"The visitor's first-touch marketing attribution, allow-listed server-side to the §3 shape. Used to say where the request came from in the team notification.","uniqueKey":"attribution.oneOf.1","typeLabel":"null"}],"uniqueKey":"attribution","typeLabel":"Attribution · object | null"},"posthog_distinct_id":{"oneOf":[{"type":"string","title":"Posthog Distinct Id","description":"PostHog distinct id, so the notification can link the person.","maxLength":200,"uniqueKey":"posthog_distinct_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Posthog Distinct Id","description":"PostHog distinct id, so the notification can link the person.","uniqueKey":"posthog_distinct_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"posthog_distinct_id","typeLabel":"string | null"},"referrer":{"oneOf":[{"type":"string","title":"Referrer","description":"``document.referrer`` at submit time. Sent separately from ``attribution`` because the attribution snapshot only exists when the URL carried a UTM or click id, so an organic search arrival has no touch to carry a referrer.","maxLength":2000,"uniqueKey":"referrer.oneOf.0","typeLabel":"string"},{"type":"null","title":"Referrer","description":"``document.referrer`` at submit time. Sent separately from ``attribution`` because the attribution snapshot only exists when the URL carried a UTM or click id, so an organic search arrival has no touch to carry a referrer.","uniqueKey":"referrer.oneOf.1","typeLabel":"null"}],"uniqueKey":"referrer","typeLabel":"string | null"},"timezone":{"oneOf":[{"type":"string","title":"Timezone","description":"IANA timezone reported by the browser, used as a coarse location signal.","maxLength":64,"uniqueKey":"timezone.oneOf.0","typeLabel":"string"},{"type":"null","title":"Timezone","description":"IANA timezone reported by the browser, used as a coarse location signal.","uniqueKey":"timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"timezone","typeLabel":"string | null"}},"required":["email","full_name","use_case"],"title":"AccessRequestCreate","type":"object","uniqueKey":"","typeLabel":"AccessRequestCreate · object"},"examples":{"Example":{"title":"Example","value":{"email":"jsmith@example.com","full_name":"\u003cstring>","use_case":"\u003cstring>","attribution":{},"posthog_distinct_id":"\u003cstring>","referrer":"\u003cstring>","timezone":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"e9cf99e1-e91c-4bc1-b13a-aa9d05266b53":{"content":{"application/json":{"schema":{"description":"Constant acknowledgement that an access request was received.\n\nDeliberately carries no record identifier and is identical whether the\nrequest was newly created or updated an existing one, so the unauthenticated\nendpoint can't be probed to learn which emails have already requested access\n(an email-enumeration oracle). The created-vs-existing distinction stays\ninternal (it only gates the Slack notification).","properties":{"status":{"default":"received","description":"Always 'received'.","title":"Status","type":"string","uniqueKey":"status","typeLabel":"string"}},"title":"AccessRequestResponse","type":"object","uniqueKey":"","typeLabel":"AccessRequestResponse · object"},"examples":{"Example":{"title":"Example","value":{"status":"received"}}},"exampleType":"generated"}},"description":"Access request received","exampleType":"generated"},"8bfd8e0f-d2e5-4fd8-81fd-2047890269a6":{"content":{"application/json":{"examples":{"type_error":{"title":"type_error","value":{"error":{"code":"validation_error","details":[{"input":"not-a-uuid","loc":["path","flow_id"],"msg":"Input should be a valid UUID","type":"uuid_parsing"}],"message":"Request validation failed"},"request_id":"01K8KACP7D2XFGHJ9KLM4NPQR8"}},"validation_error":{"title":"validation_error","value":{"error":{"code":"validation_error","details":[{"loc":["body","name"],"msg":"Field required","type":"missing"}],"message":"Request validation failed"},"request_id":"01K8KABR6S16YETA2SZPVBS9SP"}}},"schema":{"description":"Standard API error response structure.\n\nAll error responses from the API follow this format, ensuring\nconsistent error handling for API consumers.\n\nExample:\n {\n \"error\": {\n \"message\": \"Flow not found\",\n \"code\": \"not_found\"\n },\n \"request_id\": \"01K8KABR6S16YETA2SZPVBS9SP\"\n }","examples":[{"error":{"code":"not_found","message":"Resource not found"},"request_id":"01K8KABR6S16YETA2SZPVBS9SP"}],"properties":{"error":{"description":"Standard error detail structure.\n\nThis model matches the error format returned by the centralized\nexception handlers in app/api/errors/handlers.py.","properties":{"message":{"description":"Human-readable error message","title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"code":{"oneOf":[{"type":"string","title":"Code","description":"Machine-readable error code for programmatic handling","uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"null","title":"Code","description":"Machine-readable error code for programmatic handling","uniqueKey":"error.code.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.code","typeLabel":"string | null"},"details":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"error.details.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Details","description":"Additional error context, validation errors, or debugging information","uniqueKey":"error.details.oneOf.0","typeLabel":"string[]"},{"type":"array","items":{"additionalProperties":true,"type":"object","uniqueKey":"error.details.oneOf.1.items.[INDEX]","typeLabel":"object"},"title":"Details","description":"Additional error context, validation errors, or debugging information","uniqueKey":"error.details.oneOf.1","typeLabel":"Details · object[]"},{"type":"object","title":"Details","description":"Additional error context, validation errors, or debugging information","additionalProperties":true,"uniqueKey":"error.details.oneOf.2","typeLabel":"Details · object"},{"type":"null","title":"Details","description":"Additional error context, validation errors, or debugging information","uniqueKey":"error.details.oneOf.3","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"string[] | Details · object[] | Details · object | null"}},"required":["message"],"title":"ErrorDetail","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorDetail · object"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","description":"Unique request identifier in ULID format for debugging and support. Example: 01K8KABR6S16YETA2SZPVBS9SP","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","description":"Unique request identifier in ULID format for debugging and support. Example: 01K8KABR6S16YETA2SZPVBS9SP","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"}},"required":["error"],"title":"ErrorResponse","type":"object","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"description":"Unprocessable Entity - Request validation failed","exampleType":"examples"}},"security":{},"servers":{"4d0b7ba2-10f8-42a9-8f2d-c56b9c660af5":{"description":"Production server","url":"https://flows.super.ai"}}},"originalFileLocation":"openapi/superai-flows-openapi.json"},"subdomain":"superai-flows-docs","siteName":"SuperAI Flows","title":"Submit a self-service access request - SuperAI Flows","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T12:20:51.332Z","originalFileLocation":"api-reference/auth/submit-a-self-service-access-request.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=\"Record an access request from a visitor whose email failed the signup policy. Unauthenticated and whitelisted — the caller has no account. The submission is persisted (source of truth, one row per email — a resubmit upserts) and a Slack notification to the self-service channel is fired as a background task so a slow or failing webhook never blocks or fails the response. Only a genuinely new request notifies, so a resubmit (or a double-click) won\u0026#x27;t re-ping the channel. The response is a constant acknowledgement regardless of whether the request was new or already existed, so it can\u0026#x27;t be used to enumerate which emails have requested access. The optional attribution/referrer/timezone/distinct id the client sends, plus the User-Agent, are stored on the row and summarised into a source line on the Slack message. A resubmit replaces them on the row but does not re-announce. Sanitising, summarising and redacting all happen in the service; the handler only reads the header and schedules the notification.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SuperAI Flows\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/superai-flows-docs/qpT9WA2q8_qrkdpL/_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/superai-flows-docs/qpT9WA2q8_qrkdpL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/superai-flows-docs/qpT9WA2q8_qrkdpL/_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/superai-flows-docs/qpT9WA2q8_qrkdpL/_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/superai-flows-docs/qpT9WA2q8_qrkdpL/_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/superai-flows-docs/qpT9WA2q8_qrkdpL/_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/superai-flows-docs/qpT9WA2q8_qrkdpL/_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/superai-flows-docs/qpT9WA2q8_qrkdpL/_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/superai-flows-docs/qpT9WA2q8_qrkdpL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Submit a self-service access request - SuperAI Flows\">\u003cmeta data-mint-head property=\"og:description\" content=\"Record an access request from a visitor whose email failed the signup policy. Unauthenticated and whitelisted — the caller has no account. The submission is persisted (source of truth, one row per email — a resubmit upserts) and a Slack notification to the self-service channel is fired as a background task so a slow or failing webhook never blocks or fails the response. Only a genuinely new request notifies, so a resubmit (or a double-click) won\u0026#x27;t re-ping the channel. The response is a constant acknowledgement regardless of whether the request was new or already existed, so it can\u0026#x27;t be used to enumerate which emails have requested access. The optional attribution/referrer/timezone/distinct id the client sends, plus the User-Agent, are stored on the row and summarised into a source line on the Slack message. A resubmit replaces them on the row but does not re-announce. Sanitising, summarising and redacting all happen in the service; the handler only reads the header and schedules the notification.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SuperAI Flows\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://superai-flows-docs.mintlify.app/_mintlify/api/og/v2?division=auth\u0026amp;title=Submit+a+self-service+access+request\u0026amp;description=Record+an+access+request+from+a+visitor+whose+email+failed+the+signup+policy.%0A%0AUnauthenticated+and+whitelisted+%E2%80%94+the+caller+has+no+account.+The+submission%0Ais+pe\u0026amp;theme=ab5065c76c8574caf1b0798b\u0026amp;signature=6103763e3b7bac5dda88f4c51c1de6619b90c504d1e5cd985e0d8183d7fb1d68\">\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=\"Submit a self-service access request - SuperAI Flows\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Record an access request from a visitor whose email failed the signup policy. Unauthenticated and whitelisted — the caller has no account. The submission is persisted (source of truth, one row per email — a resubmit upserts) and a Slack notification to the self-service channel is fired as a background task so a slow or failing webhook never blocks or fails the response. Only a genuinely new request notifies, so a resubmit (or a double-click) won\u0026#x27;t re-ping the channel. The response is a constant acknowledgement regardless of whether the request was new or already existed, so it can\u0026#x27;t be used to enumerate which emails have requested access. The optional attribution/referrer/timezone/distinct id the client sends, plus the User-Agent, are stored on the row and summarised into a source line on the Slack message. A resubmit replaces them on the row but does not re-announce. Sanitising, summarising and redacting all happen in the service; the handler only reads the header and schedules the notification.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://superai-flows-docs.mintlify.app/_mintlify/api/og/v2?division=auth\u0026amp;title=Submit+a+self-service+access+request\u0026amp;description=Record+an+access+request+from+a+visitor+whose+email+failed+the+signup+policy.%0A%0AUnauthenticated+and+whitelisted+%E2%80%94+the+caller+has+no+account.+The+submission%0Ais+pe\u0026amp;theme=ab5065c76c8574caf1b0798b\u0026amp;signature=6103763e3b7bac5dda88f4c51c1de6619b90c504d1e5cd985e0d8183d7fb1d68\">\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/superai-flows-docs/qpT9WA2q8_qrkdpL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SuperAI Flows\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7443ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/auth/submit-a-self-service-access-request.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.flows.super.ai/#organization\",\"name\":\"SuperAI Flows\",\"url\":\"https://docs.flows.super.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/superai-flows-docs/mOFmLJuUNWWCPrgW/logo/light.svg?fit=max\u0026auto=format\u0026n=mOFmLJuUNWWCPrgW\u0026q=85\u0026s=763a91d73e6886f99fbebba85459ee15\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.flows.super.ai#website\",\"name\":\"SuperAI Flows\",\"url\":\"https://docs.flows.super.ai\",\"publisher\":{\"@id\":\"https://docs.flows.super.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request#webpage\",\"url\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request\",\"name\":\"Submit a self-service access request\",\"description\":\"Record an access request from a visitor whose email failed the signup policy. Unauthenticated and whitelisted — the caller has no account. The submission is persisted (source of truth, one row per email — a resubmit upserts) and a Slack notification to the self-service channel is fired as a background task so a slow or failing webhook never blocks or fails the response. Only a genuinely new request notifies, so a resubmit (or a double-click) won't re-ping the channel. The response is a constant acknowledgement regardless of whether the request was new or already existed, so it can't be used to enumerate which emails have requested access. The optional attribution/referrer/timezone/distinct id the client sends, plus the User-Agent, are stored on the row and summarised into a source line on the Slack message. A resubmit replaces them on the row but does not re-announce. Sanitising, summarising and redacting all happen in the service; the handler only reads the header and schedules the notification.\",\"dateModified\":\"2026-10-23T12:20:51.332Z\",\"isPartOf\":{\"@id\":\"https://docs.flows.super.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SuperAI Flows\",\"item\":\"https://docs.flows.super.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Submit a self-service access request\",\"item\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request#apireference\",\"headline\":\"Submit a self-service access request\",\"name\":\"Submit a self-service access request\",\"description\":\"Record an access request from a visitor whose email failed the signup policy. Unauthenticated and whitelisted — the caller has no account. The submission is persisted (source of truth, one row per email — a resubmit upserts) and a Slack notification to the self-service channel is fired as a background task so a slow or failing webhook never blocks or fails the response. Only a genuinely new request notifies, so a resubmit (or a double-click) won't re-ping the channel. The response is a constant acknowledgement regardless of whether the request was new or already existed, so it can't be used to enumerate which emails have requested access. The optional attribution/referrer/timezone/distinct id the client sends, plus the User-Agent, are stored on the row and summarised into a source line on the Slack message. A resubmit replaces them on the row but does not re-announce. Sanitising, summarising and redacting all happen in the service; the handler only reads the header and schedules the notification.\",\"url\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request\",\"mainEntityOfPage\":{\"@id\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request#webpage\"},\"dateModified\":\"2026-10-23T12:20:51.332Z\",\"publisher\":{\"@id\":\"https://docs.flows.super.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.flows.super.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SuperAI Flows\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SuperAI Flows","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Overview","icon":"code","href":"/api-reference/introduction"},{"title":"Authentication","icon":"lock","href":"/api-reference/authentication"},{"title":"Error Codes","icon":"triangle-exclamation","href":"/api-reference/errors"},{"title":"MCP Server","description":"Connect external AI agents and MCP-compatible clients to SuperAI Flows over the Model Context Protocol.","icon":"robot","href":"/api-reference/mcp-server"}]},{"group":"Endpoints","pages":[{"group":"auth","pages":[{"title":"Submit a self-service access request","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/auth/access-request","href":"/api-reference/auth/submit-a-self-service-access-request"},{"title":"Retrieve authentication API key","description":"Retrieve the anonymous authentication key required for client authentication.\n\nReturns the authentication key that client applications need to authenticate\nwith the authentication API at core.flows.super.ai. This key enables clients\nto perform password-based authentication and obtain JWT access tokens.\n\nContext:\n - This key is required to make authentication requests to core.flows.super.ai\n - The key is safe for use in client-side applications (browsers, mobile apps)\n - Does not grant admin privileges or direct API access\n - Only enables authentication operations (login, token refresh)\n - Same key is used across all clients and organizations\n - Key is long-lived and rarely rotated\n\nAuthentication Flow:\n 1. Client retrieves anonymous key from this endpoint\n 2. Client sends authentication request to core.flows.super.ai\n 3. Include anonymous key in 'apikey' header\n 4. Authentication service validates credentials and returns JWT tokens\n 5. Client uses JWT access token for subsequent API requests\n\nUse Cases:\n - Web application initialization requiring user authentication\n - Mobile app setup for authentication integration\n - Testing authentication flow in development\n - Building custom authentication UI\n - Integrating third-party applications with authentication service\n\nSecurity Considerations:\n - This key is public and safe for client-side applications\n - Does not provide access to user data or administrative functions\n - Only enables authentication API operations\n - Users must still provide valid credentials (email/password)\n - Rate limiting applied at authentication service level\n - Key rotation handled by platform administrators\n\nIntegration Example:\n After retrieving this key, use it to authenticate users:\n\n Step 1: Get the anonymous key (this endpoint)\n Step 2: Use the key to authenticate users at core.flows.super.ai\n Step 3: Receive JWT tokens for API access\n\nRelated Endpoints:\n - POST /auth/resend-invite - Re-send an invitation using the token from the original invite\n - GET /profile/me - Retrieve authenticated user profile\n - See authentication tag description for complete authentication guide\n\nError Handling:\n - Returns 500 if key is not configured on server\n - Indicates server misconfiguration requiring administrator attention\n - Contact platform support if persistent errors occur","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/auth/anon-key","href":"/api-reference/auth/retrieve-authentication-api-key"},{"title":"Human-verification challenge configuration for the sign-in and signup forms","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/auth/captcha-config","href":"/api-reference/auth/human-verification-challenge-configuration-for-the-sign-in-and-signup-forms"},{"title":"Resolve login method for an email","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/auth/login-method","href":"/api-reference/auth/resolve-login-method-for-an-email"},{"title":"Public compliance configuration for the signup and sign-in surfaces","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/auth/public-config","href":"/api-reference/auth/public-compliance-configuration-for-the-signup-and-sign-in-surfaces"},{"title":"Resend user invitation email","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/auth/resend-invite","href":"/api-reference/auth/resend-user-invitation-email"},{"title":"Reset Password","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/auth/reset-password","href":"/api-reference/auth/reset-password"},{"title":"Pre-flight signup email policy check for magic link","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/auth/signup-email-policy","href":"/api-reference/auth/pre-flight-signup-email-policy-check-for-magic-link"},{"title":"The authenticated caller's terms-acceptance state","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/auth/terms-status","href":"/api-reference/auth/the-authenticated-callers-terms-acceptance-state"}]},{"group":"files","pages":[{"title":"Download file by URI (with redirect)","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/files/download","href":"/api-reference/files/download-file-by-uri-with-redirect"},{"title":"Resolve storage URI to download URL","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/files/resolve","href":"/api-reference/files/resolve-storage-uri-to-download-url"}]},{"group":"flow-executions","pages":[{"title":"List flow executions with filtering and pagination","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flow-executions","href":"/api-reference/flow-executions/list-flow-executions-with-filtering-and-pagination"},{"title":"Create and start a flow execution","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flow-executions","href":"/api-reference/flow-executions/create-and-start-a-flow-execution"},{"title":"List the execution IDs of one filtered, sorted runs-table page","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flow-executions/page-ids","href":"/api-reference/flow-executions/list-the-execution-ids-of-one-filtered-sorted-runs-table-page"},{"title":"Retrieve a specific flow execution","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flow-executions/{flow_execution_id}","href":"/api-reference/flow-executions/retrieve-a-specific-flow-execution"},{"title":"Soft delete a flow execution","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/flow-executions/{flow_execution_id}","href":"/api-reference/flow-executions/soft-delete-a-flow-execution"},{"title":"Cancel a flow execution","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flow-executions/{flow_execution_id}/cancel","href":"/api-reference/flow-executions/cancel-a-flow-execution"},{"title":"Re-execute a flow execution","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flow-executions/{flow_execution_id}/execute","href":"/api-reference/flow-executions/re-execute-a-flow-execution"},{"title":"Add task status updates (Internal API)","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flow-executions/{flow_execution_id}/task-status","href":"/api-reference/flow-executions/add-task-status-updates-internal-api"}]},{"group":"webhook-data","pages":[{"title":"Submit webhook data for a waiting task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flow-executions/{flow_execution_id}/webhook-data","href":"/api-reference/webhook-data/submit-webhook-data-for-a-waiting-task"}]},{"group":"flows","pages":[{"title":"List all flows","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows","href":"/api-reference/flows/list-all-flows"},{"title":"Create a new flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flows","href":"/api-reference/flows/create-a-new-flow"},{"title":"Get available flow tags for autocomplete","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/available-tags","href":"/api-reference/flows/get-available-flow-tags-for-autocomplete"},{"title":"Generate file download URL","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flows/download-url","href":"/api-reference/flows/generate-file-download-url"},{"title":"Retrieve a flow by ID","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}","href":"/api-reference/flows/retrieve-a-flow-by-id"},{"title":"Delete a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/flows/{flow_id}","href":"/api-reference/flows/delete-a-flow"},{"title":"Partially update a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/flows/{flow_id}","href":"/api-reference/flows/partially-update-a-flow"},{"title":"Get clone info for a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/clone-info","href":"/api-reference/flows/get-clone-info-for-a-flow"},{"title":"Update flow definition","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/flows/{flow_id}/definition","href":"/api-reference/flows/update-flow-definition"},{"title":"List flow files","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/files","href":"/api-reference/flows/list-flow-files"},{"title":"List flow invitations","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/invitations","href":"/api-reference/flows/list-flow-invitations"},{"title":"Upsert user invitations to a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/flows/{flow_id}/invitations","href":"/api-reference/flows/upsert-user-invitations-to-a-flow"},{"title":"Remove user invitations from a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/flows/{flow_id}/invitations","href":"/api-reference/flows/remove-user-invitations-from-a-flow"},{"title":"Get distinct metadata keys for a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/metadata/keys","href":"/api-reference/flows/get-distinct-metadata-keys-for-a-flow"},{"title":"Get distinct values for a metadata key","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/metadata/values","href":"/api-reference/flows/get-distinct-values-for-a-metadata-key"},{"title":"Get tag suggestions for a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/tag-suggestions","href":"/api-reference/flows/get-tag-suggestions-for-a-flow"},{"title":"Get tag usage for a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/tag-usage","href":"/api-reference/flows/get-tag-usage-for-a-flow"},{"title":"Get tags for flow executions","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/tags","href":"/api-reference/flows/get-tags-for-flow-executions"},{"title":"Permanently delete tags from a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/flows/{flow_id}/tags","href":"/api-reference/flows/permanently-delete-tags-from-a-flow"},{"title":"Update a single task in flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/flows/{flow_id}/task","href":"/api-reference/flows/update-a-single-task-in-flow"},{"title":"List team invitations for a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/team-invitations","href":"/api-reference/flows/list-team-invitations-for-a-flow"},{"title":"Upsert team (worker group) invitations to a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/flows/{flow_id}/team-invitations","href":"/api-reference/flows/upsert-team-worker-group-invitations-to-a-flow"},{"title":"Remove team invitations from a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/flows/{flow_id}/team-invitations","href":"/api-reference/flows/remove-team-invitations-from-a-flow"},{"title":"Generate file upload URL","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flows/{flow_id}/upload-url","href":"/api-reference/flows/generate-file-upload-url"},{"title":"Validate a flow definition without persisting","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flows/{flow_id}/validate","href":"/api-reference/flows/validate-a-flow-definition-without-persisting"},{"title":"List all versions of a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/versions","href":"/api-reference/flows/list-all-versions-of-a-flow"},{"title":"List version summaries for a flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/versions/summary","href":"/api-reference/flows/list-version-summaries-for-a-flow"},{"title":"Get specific flow version","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/versions/{version}","href":"/api-reference/flows/get-specific-flow-version"},{"title":"Update version metadata","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/flows/{flow_id}/versions/{version}","href":"/api-reference/flows/update-version-metadata"},{"title":"Restore a past version","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/flows/{flow_id}/versions/{version}/restore","href":"/api-reference/flows/restore-a-past-version"},{"title":"List task summaries for flow version","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/flows/{flow_id}/versions/{version}/summary","href":"/api-reference/flows/list-task-summaries-for-flow-version"}]},{"group":"human-review-tasks","pages":[{"title":"List human review tasks assigned to the current user","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/human-review-tasks","href":"/api-reference/human-review-tasks/list-human-review-tasks-assigned-to-the-current-user"},{"title":"Create a new human review task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/human-review-tasks","href":"/api-reference/human-review-tasks/create-a-new-human-review-task"},{"title":"List human review tasks for a flow execution (org-level access)","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/human-review-tasks/by-execution","href":"/api-reference/human-review-tasks/list-human-review-tasks-for-a-flow-execution-org-level-access"},{"title":"Get a human review task by ID","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/human-review-tasks/{task_id}","href":"/api-reference/human-review-tasks/get-a-human-review-task-by-id"},{"title":"List all assignments for a human review task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/human-review-tasks/{task_id}/assignments","href":"/api-reference/human-review-tasks/list-all-assignments-for-a-human-review-task"},{"title":"Complete a human review task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/human-review-tasks/{task_id}/complete","href":"/api-reference/human-review-tasks/complete-a-human-review-task"},{"title":"Start a human review task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/human-review-tasks/{task_id}/start","href":"/api-reference/human-review-tasks/start-a-human-review-task"},{"title":"Unstart a human review task assignment","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/human-review-tasks/{task_id}/unstart","href":"/api-reference/human-review-tasks/unstart-a-human-review-task-assignment"}]},{"group":"integrations","pages":[{"title":"List integration catalog","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/catalog","href":"/api-reference/integrations/list-integration-catalog"},{"title":"List user credentials","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/credentials","href":"/api-reference/integrations/list-user-credentials"},{"title":"Create integration credentials","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/credentials","href":"/api-reference/integrations/create-integration-credentials"},{"title":"List credentials by provider","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/credentials/provider/{provider}","href":"/api-reference/integrations/list-credentials-by-provider"},{"title":"Get credential by ID","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/credentials/{credential_id}","href":"/api-reference/integrations/get-credential-by-id"},{"title":"Delete credential","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/integrations/credentials/{credential_id}","href":"/api-reference/integrations/delete-credential"},{"title":"Update credential","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/integrations/credentials/{credential_id}","href":"/api-reference/integrations/update-credential"},{"title":"Get credential secrets","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/credentials/{credential_id}/credentials","href":"/api-reference/integrations/get-credential-secrets"},{"title":"List user databases","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/database","href":"/api-reference/integrations/list-user-databases"},{"title":"Create Database","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database","href":"/api-reference/integrations/create-database"},{"title":"Create managed database","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/managed","href":"/api-reference/integrations/create-managed-database"},{"title":"List tables in managed database","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/database/managed/tables","href":"/api-reference/integrations/list-tables-in-managed-database"},{"title":"Create table in managed database","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/managed/tables","href":"/api-reference/integrations/create-table-in-managed-database"},{"title":"Get table columns from managed database","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/database/managed/tables/{table_name}/columns","href":"/api-reference/integrations/get-table-columns-from-managed-database"},{"title":"Get table data from managed database","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/database/managed/tables/{table_name}/data","href":"/api-reference/integrations/get-table-data-from-managed-database"},{"title":"Query a managed-DB table with exact-match filters","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/managed/tables/{table_name}/query","href":"/api-reference/integrations/query-a-managed-db-table-with-exact-match-filters"},{"title":"Insert one row into a managed-DB table","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/managed/tables/{table_name}/rows","href":"/api-reference/integrations/insert-one-row-into-a-managed-db-table"},{"title":"Get database by ID","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/database/{db_id}","href":"/api-reference/integrations/get-database-by-id"},{"title":"Delete database","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/integrations/database/{db_id}","href":"/api-reference/integrations/delete-database"},{"title":"Get database columns","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/database/{db_id}/columns","href":"/api-reference/integrations/get-database-columns"},{"title":"Get Download Url","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/database/{db_id}/download","href":"/api-reference/integrations/get-download-url"},{"title":"Generate database upload URL","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/{db_id}/upload-url","href":"/api-reference/integrations/generate-database-upload-url"},{"title":"Compare Csv For Replace","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/{db_id}/upload/compare","href":"/api-reference/integrations/compare-csv-for-replace"},{"title":"Complete File Upload","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/{db_id}/upload/complete","href":"/api-reference/integrations/complete-file-upload"},{"title":"Preview CSV file before import","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/{db_id}/upload/preview","href":"/api-reference/integrations/preview-csv-file-before-import"},{"title":"Replace File Upload","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/database/{db_id}/upload/replace","href":"/api-reference/integrations/replace-file-upload"},{"title":"Process Emails","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/email/process","href":"/api-reference/integrations/process-emails"},{"title":"Create Email Task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/email/tasks","href":"/api-reference/integrations/create-email-task"},{"title":"Deactivate Email Task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/integrations/email/tasks","href":"/api-reference/integrations/deactivate-email-task"},{"title":"Get Email Task Status","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/email/tasks/{task_id}","href":"/api-reference/integrations/get-email-task-status"},{"title":"List all registered plugins","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/plugins/","href":"/api-reference/integrations/list-all-registered-plugins"},{"title":"Execute Postgres Plugin Task","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/plugins/postgres/execute","href":"/api-reference/integrations/execute-postgres-plugin-task"},{"title":"Test Postgres Plugin Connection","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/plugins/postgres/test-connection","href":"/api-reference/integrations/test-postgres-plugin-connection"},{"title":"Get plugin capabilities","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/integrations/plugins/{plugin_name}/capabilities","href":"/api-reference/integrations/get-plugin-capabilities"},{"title":"Test Postgres Connection","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/postgres/test-connection","href":"/api-reference/integrations/test-postgres-connection"},{"title":"Test Postgres Connection By Credential Id","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/postgres/test-connection/{credential_id}","href":"/api-reference/integrations/test-postgres-connection-by-credential-id"},{"title":"Test Sftp Connection","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/integrations/sftp/test-connection","href":"/api-reference/integrations/test-sftp-connection"}]},{"group":"models","pages":[{"title":"List available models","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/models","href":"/api-reference/models/list-available-models"}]},{"group":"organizations","pages":[{"title":"Why this account is restricted, if it is","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/organizations/account-restriction","href":"/api-reference/organizations/why-this-account-is-restricted-if-it-is"},{"title":"Get credit balance for current user's organization","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/organizations/credits","href":"/api-reference/organizations/get-credit-balance-for-current-users-organization"},{"title":"List the email domains this organization has claimed","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/organizations/domains","href":"/api-reference/organizations/list-the-email-domains-this-organization-has-claimed"},{"title":"Claim an email domain for this organization","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/organizations/domains","href":"/api-reference/organizations/claim-an-email-domain-for-this-organization"},{"title":"Release a claimed email domain","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/organizations/domains/{claim_id}","href":"/api-reference/organizations/release-a-claimed-email-domain"},{"title":"List signups waiting on this organization's review","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/organizations/join-requests","href":"/api-reference/organizations/list-signups-waiting-on-this-organizations-review"},{"title":"Decline a signup request","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/organizations/join-requests/{request_id}/reject","href":"/api-reference/organizations/decline-a-signup-request"},{"title":"Update organization settings","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/organizations/settings","href":"/api-reference/organizations/update-organization-settings"},{"title":"List all worker groups","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/organizations/worker-groups","href":"/api-reference/organizations/list-all-worker-groups"},{"title":"Create a worker group","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/organizations/worker-groups","href":"/api-reference/organizations/create-a-worker-group"},{"title":"Get a worker group","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/organizations/worker-groups/{group_id}","href":"/api-reference/organizations/get-a-worker-group"},{"title":"Update a worker group","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/organizations/worker-groups/{group_id}","href":"/api-reference/organizations/update-a-worker-group"},{"title":"Delete a worker group","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/organizations/worker-groups/{group_id}","href":"/api-reference/organizations/delete-a-worker-group"},{"title":"Add or remove members from a worker group","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/organizations/worker-groups/{group_id}/members","href":"/api-reference/organizations/add-or-remove-members-from-a-worker-group"},{"title":"Get organization by ID","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/organizations/{organization_id}","href":"/api-reference/organizations/get-organization-by-id"}]},{"group":"plugins","pages":[{"title":"List Instances","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/plugins/instances","href":"/api-reference/plugins/list-instances"},{"title":"List Integrations","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/plugins/{plugin_name}/instances","href":"/api-reference/plugins/list-integrations"},{"title":"Create Integration","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/plugins/{plugin_name}/instances","href":"/api-reference/plugins/create-integration"},{"title":"Update Integration","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/plugins/{plugin_name}/instances/{integration_id}","href":"/api-reference/plugins/update-integration"},{"title":"Delete Integration","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/plugins/{plugin_name}/instances/{integration_id}","href":"/api-reference/plugins/delete-integration"},{"title":"Execute Integration","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/plugins/{plugin_name}/instances/{integration_id}/execute","href":"/api-reference/plugins/execute-integration"},{"title":"Poll Integration","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/plugins/{plugin_name}/instances/{integration_id}/poll","href":"/api-reference/plugins/poll-integration"},{"title":"Get Ui Schema","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/plugins/{plugin_name}/instances/{integration_id}/ui_schema","href":"/api-reference/plugins/get-ui-schema"},{"title":"Handle Webhook","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/plugins/{plugin_name}/instances/{integration_id}/webhook/callback","href":"/api-reference/plugins/handle-webhook"},{"title":"Oauth Authorize","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/plugins/{plugin_name}/oauth/authorize","href":"/api-reference/plugins/oauth-authorize"},{"title":"Oauth Callback","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/plugins/{plugin_name}/{provider_name}/oauth/callback","href":"/api-reference/plugins/oauth-callback"}]},{"group":"profile","pages":[{"title":"Record the caller's acceptance of one or more documents","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/profile/accept-terms","href":"/api-reference/profile/record-the-callers-acceptance-of-one-or-more-documents"},{"title":"Whether this account has a password and whether it is SSO-managed","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/profile/credential-state","href":"/api-reference/profile/whether-this-account-has-a-password-and-whether-it-is-sso-managed"},{"title":"Grant or withdraw marketing consent","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/profile/marketing-consent","href":"/api-reference/profile/grant-or-withdraw-marketing-consent"},{"title":"Get current user profile","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/profile/me","href":"/api-reference/profile/get-current-user-profile"},{"title":"Update current user profile","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/profile/me","href":"/api-reference/profile/update-current-user-profile"},{"title":"Change the authenticated user's password","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/profile/password","href":"/api-reference/profile/change-the-authenticated-users-password"}]},{"group":"service-accounts","pages":[{"title":"List all service accounts","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/service-accounts","href":"/api-reference/service-accounts/list-all-service-accounts"},{"title":"Create a new service account","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/service-accounts","href":"/api-reference/service-accounts/create-a-new-service-account"},{"title":"Get a specific service account","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/service-accounts/{service_account_id}","href":"/api-reference/service-accounts/get-a-specific-service-account"},{"title":"Delete a service account","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/service-accounts/{service_account_id}","href":"/api-reference/service-accounts/delete-a-service-account"},{"title":"Update a service account","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/service-accounts/{service_account_id}","href":"/api-reference/service-accounts/update-a-service-account"},{"title":"List API keys for a service account","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/service-accounts/{service_account_id}/api-keys","href":"/api-reference/service-accounts/list-api-keys-for-a-service-account"},{"title":"Create an API key for a service account","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/service-accounts/{service_account_id}/api-keys","href":"/api-reference/service-accounts/create-an-api-key-for-a-service-account"},{"title":"Delete an API key","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/service-accounts/{service_account_id}/api-keys/{api_key_id}","href":"/api-reference/service-accounts/delete-an-api-key"},{"title":"Update an API key","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/service-accounts/{service_account_id}/api-keys/{api_key_id}","href":"/api-reference/service-accounts/update-an-api-key"}]},{"group":"sso","pages":[{"title":"Get SSO configuration for organization","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/sso","href":"/api-reference/sso/get-sso-configuration-for-organization"},{"title":"Create SSO configuration for organization","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/sso","href":"/api-reference/sso/create-sso-configuration-for-organization"},{"title":"Remove SSO configuration for organization","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json delete /api/sso","href":"/api-reference/sso/remove-sso-configuration-for-organization"},{"title":"Update SSO metadata configuration","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/sso","href":"/api-reference/sso/update-sso-metadata-configuration"},{"title":"Proxy SAML metadata to avoid CORS issues","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/sso/metadata","href":"/api-reference/sso/proxy-saml-metadata-to-avoid-cors-issues"},{"title":"Get Supabase SAML service-provider URLs","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/sso/service-provider-details","href":"/api-reference/sso/get-supabase-saml-service-provider-urls"}]},{"group":"task-data","pages":[{"title":"Analyze flow definition and extract schemas","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/task-data","href":"/api-reference/task-data/analyze-flow-definition-and-extract-schemas"}]},{"group":"task-executions","pages":[{"title":"List task executions with filtering","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/task-executions","href":"/api-reference/task-executions/list-task-executions-with-filtering"},{"title":"Update task execution and optionally re-execute flow","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/task-executions","href":"/api-reference/task-executions/update-task-execution-and-optionally-re-execute-flow"},{"title":"Create a task execution record","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/task-executions","href":"/api-reference/task-executions/create-a-task-execution-record"},{"title":"Retrieve a specific task execution","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/task-executions/{task_execution_id}","href":"/api-reference/task-executions/retrieve-a-specific-task-execution"}]},{"group":"task-executors","pages":[{"title":"List all available task executors","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/task-executors","href":"/api-reference/task-executors/list-all-available-task-executors"}]},{"group":"task-outputs","pages":[{"title":"List all task outputs","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/task-outputs","href":"/api-reference/task-outputs/list-all-task-outputs"},{"title":"Create task output","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json post /api/task-outputs","href":"/api-reference/task-outputs/create-task-output"},{"title":"Get task output by ID","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/task-outputs/{task_output_id}","href":"/api-reference/task-outputs/get-task-output-by-id"}]},{"group":"task-tags","pages":[{"title":"List active task tags for a flow execution","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json get /api/task-tags","href":"/api-reference/task-tags/list-active-task-tags-for-a-flow-execution"},{"title":"Add or remove task tags in batch","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json patch /api/task-tags","href":"/api-reference/task-tags/add-or-remove-task-tags-in-batch"}]}]}]},{"tab":"Changelog","icon":"bullhorn","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Submit a self-service access request - SuperAI Flows","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}