This endpoint replaces settings in the organization’s settings JSONB column.
Only admins can update settings. Uses JWT token to identify the organization.
The request model (SelfServiceOrganizationSettingsRequest) exposes only the
self-service fields and structurally OMITS backoffice-only ones
(max_concurrent_executions, payment_method, enabled_capabilities,
account_state) — those are settable exclusively via the
/admin/organizations/{id}/… endpoints. Sending one is a 422 (extra fields
forbidden), so an org admin cannot alter or clear a backoffice-imposed setting
through this route.
account_state matters most here (FLO-2652): without the omission an org admin
could set their own stage to promoted and self-promote off the trial. FLO-2715
replaced the per-field 403 guards this endpoint used to carry with the narrow
model, which covers account_state by construction rather than by remembering
to add a guard for it.
Configuration Options for worker_landing_page:
hub: Workers land on the Hub page
assigned_flow_data_tab: Workers land on their assigned flow’s Data Tab
assigned_flow_work_tab: Workers land on their assigned flow’s Work Tab
Returns:
Full organization object with updated settings
Note:
To retrieve settings, use the standard organization endpoint which includes
settings in OrganizationResponse via RLS policies.
Request model for the self-service PUT /organizations/settings endpoint.
Deliberately a NARROW subset of OrganizationSettings: it exposes only the
fields an org admin sets themselves (worker_landing_page via the
worker-entry config, security via the SSO/MFA toggles, model_region via
the data-residency control) and OMITS every backoffice-only field —
max_concurrent_executions, payment_method, enabled_capabilities AND
auto_calibration — each of which has its own
/admin/organizations/{id}/… endpoint. Modelling the restriction
structurally — rather than value-guarding each field in the handler — closes
the presence-vs-value hole where a body of {"enabled_capabilities": null}
slipped past an is not None guard and cleared a backoffice override.
extra="forbid" makes any attempt to send a backoffice-only (or unknown)
field a 422 rather than a silent drop.
Where AI model inference may run: 'global' (default) or 'eu'. 'eu' region-tags every model call and refuses a model with no EU deployment rather than falling back.
Whether the organization is active, i.e. status == 'active'. Active organizations allow user logins and flow executions. Inactive organizations are read-only; users cannot log in. Set via PUT /admin/organizations/{id} or PATCH /deactivate endpoint.
Organization display name. Unique across the platform. Used in UI, reports, and organization selection. Can be updated via PUT /admin/organizations/{id}
Calendar boundary after which the purge runs (FLO-2215): deletion_requested_at + 30 days. Null if no deletion is in flight. Read-only. Never exposed to a locked-out user — the blocking screen shows no date.
RESOLVED effective side-panel capabilities for this org (FLO-2318, replacement model): the backoffice setting stored in settings.enabled_capabilities when present (including an explicit []), otherwise the tier default. This is the read/display surface — the raw stored setting lives in settings.enabled_capabilities and is written via PATCH /admin/organizations/{id}/capabilities (granted_capabilities). Populated from the Organization.enabled_capabilities ORM property on every response path. Values: 'chat', 'flows'.
Product surfaces a side-panel can expose (FLO-2318).
chat = the enterprise Chat agent surface; flows = the self-service
Flows surface. An org's effective set is the stored backoffice setting when
one exists (replacement model), otherwise the tier default (see
resolve_enabled_capabilities). Stored as string values in the
Organization.settings JSONB under enabled_capabilities.
Raw lifecycle status (FLO-2215). is_active only tells 'active' from everything else, which cannot distinguish 'inactive' from 'pending_deletion' or 'deleted' — read this field when the difference matters (backoffice deletion tab, auth enforcement).
Available options:
active,
inactive,
pending_deletion,
deleted
{"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":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/organizations/update-organization-settings","slug":"/api-reference/organizations/update-organization-settings","pageMetadata":{"title":"Update organization settings","description":"Update self-service organization settings.\n\nThis endpoint replaces settings in the organization's settings JSONB column.\nOnly admins can update settings. Uses JWT token to identify the organization.\n\nThe request model (`SelfServiceOrganizationSettingsRequest`) exposes only the\nself-service fields and structurally OMITS backoffice-only ones\n(`max_concurrent_executions`, `payment_method`, `enabled_capabilities`,\n`account_state`) — those are settable exclusively via the\n`/admin/organizations/{id}/…` endpoints. Sending one is a 422 (extra fields\nforbidden), so an org admin cannot alter or clear a backoffice-imposed setting\nthrough this route.\n\n`account_state` matters most here (FLO-2652): without the omission an org admin\ncould set their own stage to `promoted` and self-promote off the trial. FLO-2715\nreplaced the per-field 403 guards this endpoint used to carry with the narrow\nmodel, which covers `account_state` by construction rather than by remembering\nto add a guard for it.\n\nConfiguration Options for worker_landing_page:\n - hub: Workers land on the Hub page\n - assigned_flow_data_tab: Workers land on their assigned flow's Data Tab\n - assigned_flow_work_tab: Workers land on their assigned flow's Work Tab\n\nReturns:\n Full organization object with updated settings\n\nNote:\n To retrieve settings, use the standard organization endpoint which includes\n settings in OrganizationResponse via RLS policies.","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/organizations/settings","href":"/api-reference/organizations/update-organization-settings","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 li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Update self-service organization settings.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"This endpoint replaces settings in the organization’s settings JSONB column.\\nOnly admins can update settings. Uses JWT token to identify the organization.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The request model (\", _jsx(_components.code, {\n children: \"SelfServiceOrganizationSettingsRequest\"\n }), \") exposes only the\\nself-service fields and structurally OMITS backoffice-only ones\\n(\", _jsx(_components.code, {\n children: \"max_concurrent_executions\"\n }), \", \", _jsx(_components.code, {\n children: \"payment_method\"\n }), \", \", _jsx(_components.code, {\n children: \"enabled_capabilities\"\n }), \",\\n\", _jsx(_components.code, {\n children: \"account_state\"\n }), \") — those are settable exclusively via the\\n\", _jsx(_components.code, {\n children: \"/admin/organizations/{id}/…\"\n }), \" endpoints. Sending one is a 422 (extra fields\\nforbidden), so an org admin cannot alter or clear a backoffice-imposed setting\\nthrough this route.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"account_state\"\n }), \" matters most here (FLO-2652): without the omission an org admin\\ncould set their own stage to \", _jsx(_components.code, {\n children: \"promoted\"\n }), \" and self-promote off the trial. FLO-2715\\nreplaced the per-field 403 guards this endpoint used to carry with the narrow\\nmodel, which covers \", _jsx(_components.code, {\n children: \"account_state\"\n }), \" by construction rather than by remembering\\nto add a guard for it.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Configuration Options for worker_landing_page:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"hub: Workers land on the Hub page\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"assigned_flow_data_tab: Workers land on their assigned flow’s Data Tab\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"assigned_flow_work_tab: Workers land on their assigned flow’s Work Tab\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Returns:\\nFull organization object with updated settings\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Note:\\nTo retrieve settings, use the standard organization endpoint which includes\\nsettings in OrganizationResponse via RLS policies.\"\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":"Update organization settings","description":"Update self-service organization settings.\n\nThis endpoint replaces settings in the organization's settings JSONB column.\nOnly admins can update settings. Uses JWT token to identify the organization.\n\nThe request model (`SelfServiceOrganizationSettingsRequest`) exposes only the\nself-service fields and structurally OMITS backoffice-only ones\n(`max_concurrent_executions`, `payment_method`, `enabled_capabilities`,\n`account_state`) — those are settable exclusively via the\n`/admin/organizations/{id}/…` endpoints. Sending one is a 422 (extra fields\nforbidden), so an org admin cannot alter or clear a backoffice-imposed setting\nthrough this route.\n\n`account_state` matters most here (FLO-2652): without the omission an org admin\ncould set their own stage to `promoted` and self-promote off the trial. FLO-2715\nreplaced the per-field 403 guards this endpoint used to carry with the narrow\nmodel, which covers `account_state` by construction rather than by remembering\nto add a guard for it.\n\nConfiguration Options for worker_landing_page:\n - hub: Workers land on the Hub page\n - assigned_flow_data_tab: Workers land on their assigned flow's Data Tab\n - assigned_flow_work_tab: Workers land on their assigned flow's Work Tab\n\nReturns:\n Full organization object with updated settings\n\nNote:\n To retrieve settings, use the standard organization endpoint which includes\n settings in OrganizationResponse via RLS policies.","deprecated":null,"version":null,"openapi":"/openapi/superai-flows-openapi.json put /api/organizations/settings","href":"/api-reference/organizations/update-organization-settings","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Update self-service organization settings.\n\nThis endpoint replaces settings in the organization's settings JSONB column.\nOnly admins can update settings. Uses JWT token to identify the organization.\n\nThe request model (`SelfServiceOrganizationSettingsRequest`) exposes only the\nself-service fields and structurally OMITS backoffice-only ones\n(`max_concurrent_executions`, `payment_method`, `enabled_capabilities`,\n`account_state`) — those are settable exclusively via the\n`/admin/organizations/{id}/…` endpoints. Sending one is a 422 (extra fields\nforbidden), so an org admin cannot alter or clear a backoffice-imposed setting\nthrough this route.\n\n`account_state` matters most here (FLO-2652): without the omission an org admin\ncould set their own stage to `promoted` and self-promote off the trial. FLO-2715\nreplaced the per-field 403 guards this endpoint used to carry with the narrow\nmodel, which covers `account_state` by construction rather than by remembering\nto add a guard for it.\n\nConfiguration Options for worker_landing_page:\n - hub: Workers land on the Hub page\n - assigned_flow_data_tab: Workers land on their assigned flow's Data Tab\n - assigned_flow_work_tab: Workers land on their assigned flow's Work Tab\n\nReturns:\n Full organization object with updated settings\n\nNote:\n To retrieve settings, use the standard organization endpoint which includes\n settings in OrganizationResponse via RLS policies.","operationId":"update_organization_settings_api_organizations_settings_put","requestBody":"1c24394a-8ff5-4580-92e8-85536fb459e8","responses":{"200":"85c4a18c-3b19-43b5-8d91-d12e273c0a42","400":"d823434d-8614-4520-ace0-7c303265ef83","403":"834a64e7-c11a-4b8d-9dc1-3f228038b63f","404":"51bca094-f73b-428d-a574-0dbaf1ab870b","422":"daf0388b-2f7b-4152-afa8-f8080c05cfe2","500":"cc353a36-459c-48a7-9011-b6cace644500"},"security":["bc2ea669-8be8-43ad-8d3a-c5f31babc8f0","be4bc28a-4c5a-4493-bd51-c49e6aa08136"],"summary":"Update organization settings","tags":["organizations"],"method":"put","type":"path","servers":["4d0b7ba2-10f8-42a9-8f2d-c56b9c660af5"],"path":"/api/organizations/settings","baseUrlOptions":["https://flows.super.ai"],"title":"Update organization settings","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"Request model for the self-service `PUT /organizations/settings` endpoint.\n\nDeliberately a NARROW subset of ``OrganizationSettings``: it exposes only the\nfields an org admin sets themselves (``worker_landing_page`` via the\nworker-entry config, ``security`` via the SSO/MFA toggles, ``model_region`` via\nthe data-residency control) and OMITS every backoffice-only field —\n``max_concurrent_executions``, ``payment_method``, ``enabled_capabilities`` AND\n``auto_calibration`` — each of which has its own\n``/admin/organizations/{id}/…`` endpoint. Modelling the restriction\nstructurally — rather than value-guarding each field in the handler — closes\nthe presence-vs-value hole where a body of ``{\"enabled_capabilities\": null}``\nslipped past an ``is not None`` guard and cleared a backoffice override.\n``extra=\"forbid\"`` makes any attempt to send a backoffice-only (or unknown)\nfield a 422 rather than a silent drop.","properties":{"model_region":{"oneOf":[{"type":"string","title":"ModelRegion","description":"Where AI model inference may run: 'global' (default) or 'eu'. 'eu' region-tags every model call and refuses a model with no EU deployment rather than falling back.","enum":["global","eu"],"uniqueKey":"model_region.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Where AI model inference may run: 'global' (default) or 'eu'. 'eu' region-tags every model call and refuses a model with no EU deployment rather than falling back.","uniqueKey":"model_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"model_region","typeLabel":"enum\u003cstring> | null"},"security":{"description":"Security-related settings such as strict SSO enforcement.","properties":{"enforce_mfa":{"default":false,"description":"When true, all org members (except backoffice and SSO sessions) must complete MFA. Sessions at AAL1 are rejected at the API layer; the frontend redirects the user to MFA setup or challenge to upgrade the session to AAL2. SSO users are exempt — MFA is handled by the IdP.","title":"Enforce Mfa","type":"boolean","uniqueKey":"security.enforce_mfa","typeLabel":"boolean"},"enforce_sso":{"default":false,"description":"When true, all org members (except backoffice) must sign in via SSO. Password sign-in is rejected at the API layer for sessions that did not authenticate via SAML.","title":"Enforce Sso","type":"boolean","uniqueKey":"security.enforce_sso","typeLabel":"boolean"}},"title":"OrganizationSecuritySettings","type":"object","uniqueKey":"security","typeLabel":"OrganizationSecuritySettings · object"},"worker_landing_page":{"description":"Landing page configuration: 'hub', 'assigned_flow_data_tab', or 'assigned_flow_work_tab'","enum":["hub","assigned_flow_data_tab","assigned_flow_work_tab"],"title":"WorkerLandingPageConfig","type":"string","default":"hub","uniqueKey":"worker_landing_page","typeLabel":"enum\u003cstring>"}},"title":"SelfServiceOrganizationSettingsRequest","type":"object","uniqueKey":"","typeLabel":"SelfServiceOrganizationSettingsRequest · object"},"examples":{"Example":{"title":"Example","value":{"security":{"enforce_mfa":false,"enforce_sso":false},"worker_landing_page":"hub"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"85c4a18c-3b19-43b5-8d91-d12e273c0a42":{"content":{"application/json":{"schema":{"description":"Organization response model.","properties":{"created_at":{"format":"date-time","title":"Created At","type":"string","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"id":{"format":"uuid","title":"Id","type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"is_active":{"description":"Whether the organization is active, i.e. `status == 'active'`. Active organizations allow user logins and flow executions. Inactive organizations are read-only; users cannot log in. Set via PUT /admin/organizations/{id} or PATCH /deactivate endpoint.","readOnly":true,"title":"Is Active","type":"boolean","isRequired":true,"uniqueKey":"is_active","typeLabel":"boolean"},"modified_by":{"title":"Modified By","type":"string","isRequired":true,"uniqueKey":"modified_by","typeLabel":"string"},"name":{"description":"Organization display name. Unique across the platform. Used in UI, reports, and organization selection. Can be updated via PUT /admin/organizations/{id}","examples":["Acme Corporation","Engineering Team"],"title":"Name","type":"string","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"period_end":{"description":"End date of current billing period. Credits are reset when period_end is reached. Format: ISO 8601 date (e.g., '2025-02-01').","examples":["2025-02-01"],"format":"date","title":"Period End","type":"string","isRequired":true,"uniqueKey":"period_end","typeLabel":"string\u003cdate>"},"period_start":{"description":"Start date of current billing period. Monthly credits reset at the beginning of each period. Format: ISO 8601 date (e.g., '2025-01-01').","examples":["2025-01-01"],"format":"date","title":"Period Start","type":"string","isRequired":true,"uniqueKey":"period_start","typeLabel":"string\u003cdate>"},"tier":{"description":"Organization tier determining monthly credit allowance. Free: 25,000 credits/month, Growth: 100,000 credits/month, Enterprise: 500,000 credits/month. Can be changed via POST /admin/organizations/{id}/tier","enum":["free","growth","enterprise"],"title":"OrganizationTier","type":"string","examples":["free","growth","enterprise"],"isRequired":true,"uniqueKey":"tier","typeLabel":"enum\u003cstring>"},"updated_at":{"format":"date-time","title":"Updated At","type":"string","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"account_stage":{"description":"RESOLVED trial-first account stage (FLO-2652): the stored settings.account_state.stage when present, otherwise 'promoted'. Populated from the Organization.account_stage ORM property. 'trial' = one-off bounded allowance, never refreshed; 'promoted' = the ordinary free tier; 'suspended' = blocked from spending.","enum":["trial","promoted","suspended"],"title":"AccountStage","type":"string","default":"promoted","uniqueKey":"account_stage","typeLabel":"enum\u003cstring>"},"deletion_requested_at":{"oneOf":[{"type":"string","title":"Deletion Requested At","description":"When a deletion request was accepted (FLO-2215). Null if none. Read-only.","format":"date-time","uniqueKey":"deletion_requested_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Deletion Requested At","description":"When a deletion request was accepted (FLO-2215). Null if none. Read-only.","uniqueKey":"deletion_requested_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"deletion_requested_at","typeLabel":"string\u003cdate-time> | null"},"deletion_scheduled_for":{"oneOf":[{"type":"string","title":"Deletion Scheduled For","description":"Calendar boundary after which the purge runs (FLO-2215): deletion_requested_at + 30 days. Null if no deletion is in flight. Read-only. Never exposed to a locked-out user — the blocking screen shows no date.","format":"date-time","uniqueKey":"deletion_scheduled_for.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Deletion Scheduled For","description":"Calendar boundary after which the purge runs (FLO-2215): deletion_requested_at + 30 days. Null if no deletion is in flight. Read-only. Never exposed to a locked-out user — the blocking screen shows no date.","uniqueKey":"deletion_scheduled_for.oneOf.1","typeLabel":"null"}],"uniqueKey":"deletion_scheduled_for","typeLabel":"string\u003cdate-time> | null"},"enabled_capabilities":{"description":"RESOLVED effective side-panel capabilities for this org (FLO-2318, replacement model): the backoffice setting stored in settings.enabled_capabilities when present (including an explicit []), otherwise the tier default. This is the read/display surface — the raw stored setting lives in settings.enabled_capabilities and is written via PATCH /admin/organizations/{id}/capabilities (granted_capabilities). Populated from the Organization.enabled_capabilities ORM property on every response path. Values: 'chat', 'flows'.","items":{"description":"Product surfaces a side-panel can expose (FLO-2318).\n\n``chat`` = the enterprise Chat agent surface; ``flows`` = the self-service\nFlows surface. An org's effective set is the stored backoffice setting when\none exists (replacement model), otherwise the tier default (see\nresolve_enabled_capabilities). Stored as string values in the\nOrganization.settings JSONB under ``enabled_capabilities``.","enum":["chat","flows","org_self_deletion"],"title":"Capability","type":"string","uniqueKey":"enabled_capabilities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Enabled Capabilities","type":"array","uniqueKey":"enabled_capabilities","typeLabel":"enum\u003cstring>[]"},"pending_downgrade_at":{"oneOf":[{"type":"string","title":"Pending Downgrade At","description":"When a scheduled downgrade takes effect (FLO-2289). Null if none.","format":"date-time","uniqueKey":"pending_downgrade_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Pending Downgrade At","description":"When a scheduled downgrade takes effect (FLO-2289). Null if none.","uniqueKey":"pending_downgrade_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"pending_downgrade_at","typeLabel":"string\u003cdate-time> | null"},"pending_downgrade_tier":{"oneOf":[{"type":"string","title":"OrganizationTier","description":"Tier this org is scheduled to downgrade to (FLO-2289), applied at pending_downgrade_at.","enum":["free","growth","enterprise"],"uniqueKey":"pending_downgrade_tier.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Tier this org is scheduled to downgrade to (FLO-2289), applied at pending_downgrade_at.","uniqueKey":"pending_downgrade_tier.oneOf.1","typeLabel":"null"}],"uniqueKey":"pending_downgrade_tier","typeLabel":"enum\u003cstring> | null"},"settings":{"oneOf":[{"type":"object","title":"OrganizationSettings","description":"Organization settings including worker landing page configuration","properties":{"auto_calibration":{"description":"Auto-calibration trigger configuration (back office).","properties":{"enabled":{"default":true,"description":"When true, a flow version bump re-runs the flow's last applied calibration and surfaces the result to back office as a pending proposal for review. The proposal is never auto-applied. Defaults on; set false to disable per organization.","title":"Enabled","type":"boolean","uniqueKey":"settings.oneOf.0.auto_calibration.enabled","typeLabel":"boolean"}},"title":"AutoCalibrationSettings","type":"object","uniqueKey":"settings.oneOf.0.auto_calibration","typeLabel":"AutoCalibrationSettings · object"},"enabled_capabilities":{"oneOf":[{"type":"array","items":{"description":"Product surfaces a side-panel can expose (FLO-2318).\n\n``chat`` = the enterprise Chat agent surface; ``flows`` = the self-service\nFlows surface. An org's effective set is the stored backoffice setting when\none exists (replacement model), otherwise the tier default (see\nresolve_enabled_capabilities). Stored as string values in the\nOrganization.settings JSONB under ``enabled_capabilities``.","enum":["chat","flows","org_self_deletion"],"title":"Capability","type":"string","uniqueKey":"settings.oneOf.0.enabled_capabilities.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Enabled Capabilities","description":"Backoffice capability setting (FLO-2318), a REPLACEMENT of the tier default (free/growth -> chat, enterprise -> flows), not an overlay. When set (including an explicit []) it IS the exact effective set and is sticky across tier changes; null => never set, use the tier default. Set via PATCH /admin/organizations/{id}/capabilities (backoffice only), never a self-service settings endpoint. Values: 'chat', 'flows'.","uniqueKey":"settings.oneOf.0.enabled_capabilities.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Enabled Capabilities","description":"Backoffice capability setting (FLO-2318), a REPLACEMENT of the tier default (free/growth -> chat, enterprise -> flows), not an overlay. When set (including an explicit []) it IS the exact effective set and is sticky across tier changes; null => never set, use the tier default. Set via PATCH /admin/organizations/{id}/capabilities (backoffice only), never a self-service settings endpoint. Values: 'chat', 'flows'.","uniqueKey":"settings.oneOf.0.enabled_capabilities.oneOf.1","typeLabel":"null"}],"uniqueKey":"settings.oneOf.0.enabled_capabilities","typeLabel":"enum\u003cstring>[] | null"},"enterprise_adjacent":{"oneOf":[{"type":"boolean","title":"Enterprise Adjacent","description":"Backoffice marker (FLO-2652, §0.4 #28): this self-service org is believed to carry an enterprise customer's confidential content — typically an employee who signed up outside their employer's agreement. A flagged org is excluded from every FLO-2652 evaluation path exactly as an enterprise org is. Set via the admin endpoints only; structurally absent from the self-service settings request, because it is an ops finding about a third party's data, not a preference the account holder may assert.","uniqueKey":"settings.oneOf.0.enterprise_adjacent.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enterprise Adjacent","description":"Backoffice marker (FLO-2652, §0.4 #28): this self-service org is believed to carry an enterprise customer's confidential content — typically an employee who signed up outside their employer's agreement. A flagged org is excluded from every FLO-2652 evaluation path exactly as an enterprise org is. Set via the admin endpoints only; structurally absent from the self-service settings request, because it is an ops finding about a third party's data, not a preference the account holder may assert.","uniqueKey":"settings.oneOf.0.enterprise_adjacent.oneOf.1","typeLabel":"null"}],"uniqueKey":"settings.oneOf.0.enterprise_adjacent","typeLabel":"boolean | null"},"max_concurrent_executions":{"oneOf":[{"type":"integer","title":"Max Concurrent Executions","description":"Max concurrent flow executions for this organization. When set, overrides the tier-based default. When null, the tier default from TIER_CONCURRENCY_LIMITS is used.","uniqueKey":"settings.oneOf.0.max_concurrent_executions.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Concurrent Executions","description":"Max concurrent flow executions for this organization. When set, overrides the tier-based default. When null, the tier default from TIER_CONCURRENCY_LIMITS is used.","uniqueKey":"settings.oneOf.0.max_concurrent_executions.oneOf.1","typeLabel":"null"}],"uniqueKey":"settings.oneOf.0.max_concurrent_executions","typeLabel":"integer | null"},"model_region":{"oneOf":[{"type":"string","title":"ModelRegion","description":"Where this organization's AI model inference may run (FLO-2652). 'global' (the default when absent) or 'eu'. 'eu' is enforced by region-tagging every model call and FAILS CLOSED: a model with no EU deployment is refused rather than silently served from another region. Org-admin editable, and also the customer's documented transfer instruction under GDPR Art. 28(3)(a).","enum":["global","eu"],"uniqueKey":"settings.oneOf.0.model_region.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Where this organization's AI model inference may run (FLO-2652). 'global' (the default when absent) or 'eu'. 'eu' is enforced by region-tagging every model call and FAILS CLOSED: a model with no EU deployment is refused rather than silently served from another region. Org-admin editable, and also the customer's documented transfer instruction under GDPR Art. 28(3)(a).","uniqueKey":"settings.oneOf.0.model_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"settings.oneOf.0.model_region","typeLabel":"enum\u003cstring> | null"},"payment_method":{"oneOf":[{"type":"string","title":"OrganizationPaymentMethod","description":"How the organization pays (FLO-2286). 'invoice' is only valid for Enterprise; Free/Growth are always 'stripe'. Backoffice-only: set via PATCH /admin/organizations/{id}/payment-method, never this endpoint. When null, the effective method is 'stripe'.","enum":["stripe","invoice"],"uniqueKey":"settings.oneOf.0.payment_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How the organization pays (FLO-2286). 'invoice' is only valid for Enterprise; Free/Growth are always 'stripe'. Backoffice-only: set via PATCH /admin/organizations/{id}/payment-method, never this endpoint. When null, the effective method is 'stripe'.","uniqueKey":"settings.oneOf.0.payment_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"settings.oneOf.0.payment_method","typeLabel":"enum\u003cstring> | null"},"security":{"description":"Security-related settings such as strict SSO enforcement.","properties":{"enforce_mfa":{"default":false,"description":"When true, all org members (except backoffice and SSO sessions) must complete MFA. Sessions at AAL1 are rejected at the API layer; the frontend redirects the user to MFA setup or challenge to upgrade the session to AAL2. SSO users are exempt — MFA is handled by the IdP.","title":"Enforce Mfa","type":"boolean","uniqueKey":"settings.oneOf.0.security.enforce_mfa","typeLabel":"boolean"},"enforce_sso":{"default":false,"description":"When true, all org members (except backoffice) must sign in via SSO. Password sign-in is rejected at the API layer for sessions that did not authenticate via SAML.","title":"Enforce Sso","type":"boolean","uniqueKey":"settings.oneOf.0.security.enforce_sso","typeLabel":"boolean"}},"title":"OrganizationSecuritySettings","type":"object","uniqueKey":"settings.oneOf.0.security","typeLabel":"OrganizationSecuritySettings · object"},"worker_landing_page":{"description":"Landing page configuration: 'hub', 'assigned_flow_data_tab', or 'assigned_flow_work_tab'","enum":["hub","assigned_flow_data_tab","assigned_flow_work_tab"],"title":"WorkerLandingPageConfig","type":"string","default":"hub","uniqueKey":"settings.oneOf.0.worker_landing_page","typeLabel":"enum\u003cstring>"}},"uniqueKey":"settings.oneOf.0","typeLabel":"OrganizationSettings · object"},{"type":"null","description":"Organization settings including worker landing page configuration","uniqueKey":"settings.oneOf.1","typeLabel":"null"}],"uniqueKey":"settings","typeLabel":"OrganizationSettings · object | null"},"status":{"enum":["active","inactive","pending_deletion","deleted"],"title":"OrganizationStatus","type":"string","default":"active","description":"Raw lifecycle status (FLO-2215). `is_active` only tells 'active' from everything else, which cannot distinguish 'inactive' from 'pending_deletion' or 'deleted' — read this field when the difference matters (backoffice deletion tab, auth enforcement).","uniqueKey":"status","typeLabel":"enum\u003cstring>"}},"required":["id","created_at","updated_at","modified_by","name","tier","period_start","period_end","is_active"],"title":"OrganizationResponse","type":"object","uniqueKey":"","typeLabel":"OrganizationResponse · object"},"examples":{"Example":{"title":"Example","value":{"created_at":"2023-11-07T05:31:56Z","id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","is_active":true,"modified_by":"\u003cstring>","name":"Acme Corporation","period_end":"2025-02-01","period_start":"2025-01-01","tier":"free","updated_at":"2023-11-07T05:31:56Z","account_stage":"promoted","deletion_requested_at":"2023-11-07T05:31:56Z","deletion_scheduled_for":"2023-11-07T05:31:56Z","enabled_capabilities":["chat"],"pending_downgrade_at":"2023-11-07T05:31:56Z","pending_downgrade_tier":"free","settings":{"auto_calibration":{"enabled":true},"enabled_capabilities":["chat"],"enterprise_adjacent":true,"max_concurrent_executions":123,"model_region":"global","payment_method":"stripe","security":{"enforce_mfa":false,"enforce_sso":false},"worker_landing_page":"hub"},"status":"active"}}},"exampleType":"generated"}},"description":"Settings updated successfully","exampleType":"generated"},"d823434d-8614-4520-ace0-7c303265ef83":{"content":{"application/json":{"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"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"Resource not found"},"request_id":"01K8KABR6S16YETA2SZPVBS9SP"}}},"exampleType":"generated"}},"description":"Invalid settings value","exampleType":"generated"},"834a64e7-c11a-4b8d-9dc1-3f228038b63f":{"content":{"application/json":{"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"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"Resource not found"},"request_id":"01K8KABR6S16YETA2SZPVBS9SP"}}},"exampleType":"generated"}},"description":"Insufficient permissions","exampleType":"generated"},"51bca094-f73b-428d-a574-0dbaf1ab870b":{"content":{"application/json":{"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"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"Resource not found"},"request_id":"01K8KABR6S16YETA2SZPVBS9SP"}}},"exampleType":"generated"}},"description":"Organization not found","exampleType":"generated"},"daf0388b-2f7b-4152-afa8-f8080c05cfe2":{"content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"title":"Location","type":"array","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"title":"Error Type","type":"string","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"title":"Detail","type":"array","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"title":"HTTPValidationError","type":"object","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"description":"Validation Error","exampleType":"generated"},"cc353a36-459c-48a7-9011-b6cace644500":{"content":{"application/json":{"examples":{"internal_error":{"title":"internal_error","value":{"error":{"code":"internal_error","message":"Internal server error"},"request_id":"01K8KABR6S16YETA2SZPVBS9SP"}},"repository_error":{"title":"repository_error","value":{"error":{"code":"repository_error","message":"Database operation failed"},"request_id":"01K8KACP7D2XFGHJ9KLM4NPQR8"}}},"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":"Internal Server Error - An unexpected error occurred","exampleType":"examples"}},"security":{"bc2ea669-8be8-43ad-8d3a-c5f31babc8f0":{"BearerAuth":{"bearerFormat":"JWT","description":"JWT Bearer token authentication. Include your access token in the Authorization header as: `Bearer YOUR_ACCESS_TOKEN`\n\nExample:\n```\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"}},"be4bc28a-4c5a-4493-bd51-c49e6aa08136":{"APIKeyAuth":{"description":"API key authentication. Include your API key in the X-API-Key header as: `X-API-Key YOUR_API_KEY`\n\nExample:\n```\nX-API-Key: saf_1234567890\n```","in":"header","name":"X-API-Key","type":"apiKey","scopes":[],"schemeName":"APIKeyAuth"}}},"servers":{"4d0b7ba2-10f8-42a9-8f2d-c56b9c660af5":{"description":"Production server","url":"https://flows.super.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"JWT","description":"JWT Bearer token authentication. Include your access token in the Authorization header as: `Bearer YOUR_ACCESS_TOKEN`\n\nExample:\n```\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"JWT Bearer token authentication. Include your access token in the Authorization header as: `Bearer YOUR_ACCESS_TOKEN`\n\nExample:\n```\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"},{"schemes":[{"scheme":{"description":"API key authentication. Include your API key in the X-API-Key header as: `X-API-Key YOUR_API_KEY`\n\nExample:\n```\nX-API-Key: saf_1234567890\n```","in":"header","name":"X-API-Key","type":"apiKey","scopes":[],"schemeName":"APIKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"API key authentication. Include your API key in the X-API-Key header as: `X-API-Key YOUR_API_KEY`\n\nExample:\n```\nX-API-Key: saf_1234567890\n```","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKeyAuth","name":"X-API-Key"}],"title":"APIKeyAuth"}]},"originalFileLocation":"openapi/superai-flows-openapi.json"},"subdomain":"superai-flows-docs","siteName":"SuperAI Flows","title":"Update organization settings - SuperAI Flows","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T12:20:52.273Z","originalFileLocation":"api-reference/organizations/update-organization-settings.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=\"Update self-service organization settings. This endpoint replaces settings in the organization\u0026#x27;s settings JSONB column. Only admins can update settings. Uses JWT token to identify the organization. The request model (SelfServiceOrganizationSettingsRequest) exposes only the self-service fields and structurally OMITS backoffice-only ones (max_concurrent_executions, payment_method, enabled_capabilities, account_state) — those are settable exclusively via the /admin/organizations/{id}/… endpoints. Sending one is a 422 (extra fields forbidden), so an org admin cannot alter or clear a backoffice-imposed setting through this route. account_state matters most here (FLO-2652): without the omission an org admin could set their own stage to promoted and self-promote off the trial. FLO-2715 replaced the per-field 403 guards this endpoint used to carry with the narrow model, which covers account_state by construction rather than by remembering to add a guard for it. Configuration Options for worker_landing_page: - hub: Workers land on the Hub page - assigned_flow_data_tab: Workers land on their assigned flow\u0026#x27;s Data Tab - assigned_flow_work_tab: Workers land on their assigned flow\u0026#x27;s Work Tab Returns: Full organization object with updated settings Note: To retrieve settings, use the standard organization endpoint which includes settings in OrganizationResponse via RLS policies.\">\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=\"Update organization settings - SuperAI Flows\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update self-service organization settings. This endpoint replaces settings in the organization\u0026#x27;s settings JSONB column. Only admins can update settings. Uses JWT token to identify the organization. The request model (SelfServiceOrganizationSettingsRequest) exposes only the self-service fields and structurally OMITS backoffice-only ones (max_concurrent_executions, payment_method, enabled_capabilities, account_state) — those are settable exclusively via the /admin/organizations/{id}/… endpoints. Sending one is a 422 (extra fields forbidden), so an org admin cannot alter or clear a backoffice-imposed setting through this route. account_state matters most here (FLO-2652): without the omission an org admin could set their own stage to promoted and self-promote off the trial. FLO-2715 replaced the per-field 403 guards this endpoint used to carry with the narrow model, which covers account_state by construction rather than by remembering to add a guard for it. Configuration Options for worker_landing_page: - hub: Workers land on the Hub page - assigned_flow_data_tab: Workers land on their assigned flow\u0026#x27;s Data Tab - assigned_flow_work_tab: Workers land on their assigned flow\u0026#x27;s Work Tab Returns: Full organization object with updated settings Note: To retrieve settings, use the standard organization endpoint which includes settings in OrganizationResponse via RLS policies.\">\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/organizations/update-organization-settings\">\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=organizations\u0026amp;title=Update+organization+settings\u0026amp;description=Update+self-service+organization+settings.%0A%0AThis+endpoint+replaces+settings+in+the+organization%27s+settings+JSONB+column.%0AOnly+admins+can+update+settings.+Uses+J\u0026amp;theme=ab5065c76c8574caf1b0798b\u0026amp;signature=302f77c845c3e31d444fe4d960509c10d881df4866100dc59dbf7e3d6456601c\">\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=\"Update organization settings - SuperAI Flows\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update self-service organization settings. This endpoint replaces settings in the organization\u0026#x27;s settings JSONB column. Only admins can update settings. Uses JWT token to identify the organization. The request model (SelfServiceOrganizationSettingsRequest) exposes only the self-service fields and structurally OMITS backoffice-only ones (max_concurrent_executions, payment_method, enabled_capabilities, account_state) — those are settable exclusively via the /admin/organizations/{id}/… endpoints. Sending one is a 422 (extra fields forbidden), so an org admin cannot alter or clear a backoffice-imposed setting through this route. account_state matters most here (FLO-2652): without the omission an org admin could set their own stage to promoted and self-promote off the trial. FLO-2715 replaced the per-field 403 guards this endpoint used to carry with the narrow model, which covers account_state by construction rather than by remembering to add a guard for it. Configuration Options for worker_landing_page: - hub: Workers land on the Hub page - assigned_flow_data_tab: Workers land on their assigned flow\u0026#x27;s Data Tab - assigned_flow_work_tab: Workers land on their assigned flow\u0026#x27;s Work Tab Returns: Full organization object with updated settings Note: To retrieve settings, use the standard organization endpoint which includes settings in OrganizationResponse via RLS policies.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://superai-flows-docs.mintlify.app/_mintlify/api/og/v2?division=organizations\u0026amp;title=Update+organization+settings\u0026amp;description=Update+self-service+organization+settings.%0A%0AThis+endpoint+replaces+settings+in+the+organization%27s+settings+JSONB+column.%0AOnly+admins+can+update+settings.+Uses+J\u0026amp;theme=ab5065c76c8574caf1b0798b\u0026amp;signature=302f77c845c3e31d444fe4d960509c10d881df4866100dc59dbf7e3d6456601c\">\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/organizations/update-organization-settings\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/organizations/update-organization-settings.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/organizations/update-organization-settings#webpage\",\"url\":\"https://docs.flows.super.ai/api-reference/organizations/update-organization-settings\",\"name\":\"Update organization settings\",\"description\":\"Update self-service organization settings. This endpoint replaces settings in the organization's settings JSONB column. Only admins can update settings. Uses JWT token to identify the organization. The request model (SelfServiceOrganizationSettingsRequest) exposes only the self-service fields and structurally OMITS backoffice-only ones (max_concurrent_executions, payment_method, enabled_capabilities, account_state) — those are settable exclusively via the /admin/organizations/{id}/… endpoints. Sending one is a 422 (extra fields forbidden), so an org admin cannot alter or clear a backoffice-imposed setting through this route. account_state matters most here (FLO-2652): without the omission an org admin could set their own stage to promoted and self-promote off the trial. FLO-2715 replaced the per-field 403 guards this endpoint used to carry with the narrow model, which covers account_state by construction rather than by remembering to add a guard for it. Configuration Options for worker_landing_page: - hub: Workers land on the Hub page - assigned_flow_data_tab: Workers land on their assigned flow's Data Tab - assigned_flow_work_tab: Workers land on their assigned flow's Work Tab Returns: Full organization object with updated settings Note: To retrieve settings, use the standard organization endpoint which includes settings in OrganizationResponse via RLS policies.\",\"dateModified\":\"2026-10-23T12:20:52.273Z\",\"isPartOf\":{\"@id\":\"https://docs.flows.super.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.flows.super.ai/api-reference/organizations/update-organization-settings#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.flows.super.ai/api-reference/organizations/update-organization-settings#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.flows.super.ai/api-reference/auth/submit-a-self-service-access-request\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"organizations\",\"item\":\"https://docs.flows.super.ai/api-reference/organizations/why-this-account-is-restricted-if-it-is\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update organization settings\",\"item\":\"https://docs.flows.super.ai/api-reference/organizations/update-organization-settings\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.flows.super.ai/api-reference/organizations/update-organization-settings#apireference\",\"headline\":\"Update organization settings\",\"name\":\"Update organization settings\",\"description\":\"Update self-service organization settings. This endpoint replaces settings in the organization's settings JSONB column. Only admins can update settings. Uses JWT token to identify the organization. The request model (SelfServiceOrganizationSettingsRequest) exposes only the self-service fields and structurally OMITS backoffice-only ones (max_concurrent_executions, payment_method, enabled_capabilities, account_state) — those are settable exclusively via the /admin/organizations/{id}/… endpoints. Sending one is a 422 (extra fields forbidden), so an org admin cannot alter or clear a backoffice-imposed setting through this route. account_state matters most here (FLO-2652): without the omission an org admin could set their own stage to promoted and self-promote off the trial. FLO-2715 replaced the per-field 403 guards this endpoint used to carry with the narrow model, which covers account_state by construction rather than by remembering to add a guard for it. Configuration Options for worker_landing_page: - hub: Workers land on the Hub page - assigned_flow_data_tab: Workers land on their assigned flow's Data Tab - assigned_flow_work_tab: Workers land on their assigned flow's Work Tab Returns: Full organization object with updated settings Note: To retrieve settings, use the standard organization endpoint which includes settings in OrganizationResponse via RLS policies.\",\"url\":\"https://docs.flows.super.ai/api-reference/organizations/update-organization-settings\",\"mainEntityOfPage\":{\"@id\":\"https://docs.flows.super.ai/api-reference/organizations/update-organization-settings#webpage\"},\"dateModified\":\"2026-10-23T12:20:52.273Z\",\"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","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","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","description":"Decline a request without telling the requester.\n\nNo email is sent. The person finds out only if they try to sign up again,\nwhich is deliberate — a decline is often \"we don't know who that is\", and an\nunsolicited rejection notice is worse than silence.\n\nReversible in practice: adding the same person through the normal Add Member\nflow is not blocked by a declined request, and resolves it to approved.","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","description":"List all worker groups for the current organization (paginated).","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":"Update organization settings - 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"]}