{"openapi":"3.0.1","info":{"title":"FlowSetu API","description":"REST API for FlowSetu — design integration flows, manage projects and connectors, and export production-ready Spring Boot code. The same API surface backs the flowsetu-mcp MCP server used by AI agents.","contact":{"name":"FlowSetu Support","url":"https://flowsetu.com/contact","email":"support@flowsetu.com"},"version":"v1"},"externalDocs":{"description":"FlowSetu Documentation","url":"https://docs.flowsetu.com"},"servers":[{"url":"https://flowsetu.com/api/v1","description":"Production (via flowsetu.com)"}],"tags":[{"name":"Flows","description":"Create, read, update, and delete integration flows within a project, including canvas model and layout data."},{"name":"API Keys","description":"Manage personal API keys used to authenticate agents (e.g. flowsetu-mcp, Claude Code CLI) against the FlowSetu API."},{"name":"Projects","description":"Create and manage FlowSetu projects — the top-level container for flows, global config, and generated Java files."},{"name":"Deployments","description":"Deploy an exported project to a hosting provider and track deployment status/logs."},{"name":"AI Flow Generation","description":"Generate integration flows from a natural-language description, streamed as Server-Sent Events. Backs the flowsetu-mcp build_integration and generate_flow_ai tools."},{"name":"Import","description":"Import an existing project (e.g. a MuleSoft migration bundle) from a zip file into a new FlowSetu project."},{"name":"Export","description":"Generate and download a project's flows as a standalone Spring Boot Maven project."},{"name":"FlowScript","description":"Compile FlowScript expressions to JSONata. A pure, unauthenticated string-to-string endpoint used by callers that cannot run the FlowScript engine themselves (e.g. the Python graph service)."},{"name":"Connectors","description":"Browse the catalog of FlowSetu connectors (Salesforce, HubSpot, SFTP, databases, etc.) and their configuration schemas."}],"paths":{"/api/v1/debug/{projectId}/trigger":{"get":{"tags":["debug-controller"],"operationId":"trigger","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"body","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["debug-controller"],"operationId":"trigger_2","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["debug-controller"],"operationId":"trigger_1","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"delete":{"tags":["debug-controller"],"operationId":"trigger_4","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"patch":{"tags":["debug-controller"],"operationId":"trigger_3","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/projects/{projectId}/runner/proxy/**":{"get":{"tags":["runner-proxy-controller"],"operationId":"proxy","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"put":{"tags":["runner-proxy-controller"],"operationId":"proxy_2","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"post":{"tags":["runner-proxy-controller"],"operationId":"proxy_1","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"delete":{"tags":["runner-proxy-controller"],"operationId":"proxy_4","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"patch":{"tags":["runner-proxy-controller"],"operationId":"proxy_3","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/api/v1/projects/{projectId}/runner/proxy":{"get":{"tags":["runner-proxy-controller"],"operationId":"proxy_5","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"put":{"tags":["runner-proxy-controller"],"operationId":"proxy_7","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"post":{"tags":["runner-proxy-controller"],"operationId":"proxy_6","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"delete":{"tags":["runner-proxy-controller"],"operationId":"proxy_9","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"patch":{"tags":["runner-proxy-controller"],"operationId":"proxy_8","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/api/v1/projects/{projectId}/runner/proxy/":{"get":{"tags":["runner-proxy-controller"],"operationId":"proxy_10","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"put":{"tags":["runner-proxy-controller"],"operationId":"proxy_12","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"post":{"tags":["runner-proxy-controller"],"operationId":"proxy_11","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"delete":{"tags":["runner-proxy-controller"],"operationId":"proxy_14","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}},"patch":{"tags":["runner-proxy-controller"],"operationId":"proxy_13","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/api/v1/projects/{projectId}/global-configs/{id}":{"put":{"tags":["global-config-controller"],"operationId":"update","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConfigResponse"}}}}}},"delete":{"tags":["global-config-controller"],"operationId":"delete_1","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/flows/{flowId}/model":{"put":{"tags":["Flows"],"summary":"Save a flow's model JSON","description":"Replaces the flow's step graph. Accepts both the canonical steps/name/config shape and the MCP-generated nodes/label/configValues shape.","operationId":"saveFlowModel","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flowId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FlowSummary"}}}}}}},"/api/v1/projects/{projectId}/flows/{flowId}/layout":{"put":{"tags":["Flows"],"operationId":"saveLayout","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flowId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayoutRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/env-configs/{envName}":{"put":{"tags":["env-config-controller"],"operationId":"save","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"envName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}},"delete":{"tags":["env-config-controller"],"operationId":"delete_2","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"envName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/config-files/{configName}":{"get":{"tags":["config-file-controller"],"operationId":"get","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"configName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConfigFileDto"}}}}}},"put":{"tags":["config-file-controller"],"operationId":"update_1","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"configName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConfigFileDto"}}}}}},"delete":{"tags":["config-file-controller"],"operationId":"delete_3","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"configName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/canvas":{"put":{"tags":["Flows"],"operationId":"saveCanvas","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchCanvasSaveRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/projects/{id}/java-files/{filename}":{"put":{"tags":["Projects"],"operationId":"upsertJavaFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}},"delete":{"tags":["Projects"],"operationId":"deleteJavaFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/projects/{id}/global-config":{"get":{"tags":["Projects"],"operationId":"getGlobalConfig","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}},"put":{"tags":["Projects"],"operationId":"putGlobalConfig","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/org/{orgId}/sso":{"get":{"tags":["organization-controller"],"operationId":"getSsoConfig","parameters":[{"name":"orgId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SsoConfigResponse"}}}}}},"put":{"tags":["organization-controller"],"operationId":"saveSsoConfig","parameters":[{"name":"orgId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SsoConfigRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SsoConfigResponse"}}}}}}},"/api/v1/test-center/salesforce/test-connection":{"post":{"tags":["salesforce-test-center-controller"],"operationId":"testConnection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesforceTestCredentials"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/test-center/salesforce/run":{"post":{"tags":["salesforce-test-center-controller"],"operationId":"startRun","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesforceTestCredentials"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/test-center/salesforce/run/{testId}":{"post":{"tags":["salesforce-test-center-controller"],"operationId":"runSingle","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleRunRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesforceTestResult"}}}}}}},"/api/v1/test-center/runs":{"get":{"tags":["test-center-controller"],"operationId":"listRuns","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageTestRun"}}}}}},"post":{"tags":["test-center-controller"],"operationId":"startRun_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartRunRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestRun"}}}}}}},"/api/v1/test-center/cases/refresh":{"post":{"tags":["test-center-controller"],"operationId":"refreshRegistry","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/sftp/test-connection":{"post":{"tags":["sftp-test-controller"],"operationId":"testConnection_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/secure-properties/encrypt":{"post":{"tags":["secure-properties-controller"],"operationId":"encrypt","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurePropertiesRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SecurePropertiesResponse"}}}}}}},"/api/v1/secure-properties/decrypt":{"post":{"tags":["secure-properties-controller"],"operationId":"decrypt","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurePropertiesRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SecurePropertiesResponse"}}}}}}},"/api/v1/salesforce/test-connection":{"post":{"tags":["salesforce-test-controller"],"operationId":"testConnection_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestResult"}}}}}}},"/api/v1/proxy":{"post":{"tags":["proxy-controller"],"operationId":"proxy_15","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/projects":{"get":{"tags":["Projects"],"summary":"List the caller's projects","description":"Returns a paginated list of projects owned by the authenticated user.","operationId":"listProjects","parameters":[{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Pageable"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageProjectResponse"}}}}}},"post":{"tags":["Projects"],"summary":"Create a new project","operationId":"createProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProjectResponse"}}}}}}},"/api/v1/projects/{projectId}/runner/trigger":{"post":{"tags":["runner-controller"],"operationId":"trigger_5","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/projects/{projectId}/runner/stop":{"post":{"tags":["runner-controller"],"operationId":"stop","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/runner/start":{"post":{"tags":["runner-controller"],"operationId":"start","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/runner/prepare":{"post":{"tags":["runner-controller"],"operationId":"prepare","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/runner/debug":{"post":{"tags":["runner-controller"],"operationId":"startDebug","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/review":{"post":{"tags":["code-review-controller"],"operationId":"review","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/projects/{projectId}/policies":{"get":{"tags":["api-policy-controller"],"operationId":"list","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PolicyResponse"}}}}}}},"post":{"tags":["api-policy-controller"],"operationId":"create","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PolicyResponse"}}}}}}},"/api/v1/projects/{projectId}/policies/{policyId}/toggle":{"post":{"tags":["api-policy-controller"],"operationId":"toggle","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"policyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PolicyResponse"}}}}}}},"/api/v1/projects/{projectId}/global-configs":{"get":{"tags":["global-config-controller"],"operationId":"list_1","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigResponse"}}}}}}},"post":{"tags":["global-config-controller"],"operationId":"create_1","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConfigResponse"}}}}}}},"/api/v1/projects/{projectId}/flows":{"get":{"tags":["Flows"],"summary":"List flows in a project","description":"Returns every flow in the given project, optionally filtered by source file.","operationId":"listFlows","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"sourceFile","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlowSummary"}}}}}}},"post":{"tags":["Flows"],"summary":"Create a new flow","description":"Creates an empty flow of the given name and type in a project.","operationId":"createFlow","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FlowSummary"}}}}}}},"/api/v1/projects/{projectId}/config-files":{"get":{"tags":["config-file-controller"],"operationId":"list_3","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfigFileDto"}}}}}}},"post":{"tags":["config-file-controller"],"operationId":"create_2","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConfigFileDto"}}}}}}},"/api/v1/projects/{projectId}/config-files/{configName}/rename":{"post":{"tags":["config-file-controller"],"operationId":"rename","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"configName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConfigFileDto"}}}}}}},"/api/v1/projects/import":{"post":{"tags":["Import"],"summary":"Import a project from a zip file","operationId":"importProject","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/policy-schemas":{"get":{"tags":["policy-schema-controller"],"operationId":"list_4","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SchemaResponse"}}}}}}},"post":{"tags":["policy-schema-controller"],"operationId":"create_3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SchemaResponse"}}}}}}},"/api/v1/playground/sftp-sandbox":{"post":{"tags":["sftp-sandbox-controller"],"operationId":"create_4","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/playground/salesforce/execute":{"post":{"tags":["salesforce-playground-controller"],"operationId":"execute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/playground/salesforce/disconnect":{"post":{"tags":["salesforce-playground-controller"],"operationId":"disconnect","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/playground/salesforce/connect":{"post":{"tags":["salesforce-playground-controller"],"operationId":"connect","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/org":{"post":{"tags":["organization-controller"],"operationId":"create_5","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Organization"}}}}}}},"/api/v1/org/{orgId}/members":{"get":{"tags":["organization-controller"],"operationId":"listMembers","parameters":[{"name":"orgId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberResponse"}}}}}}},"post":{"tags":["organization-controller"],"operationId":"addMember","parameters":[{"name":"orgId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}}}}},"/api/v1/ops/executions/{executionId}/recovery/apply":{"post":{"tags":["recovery-controller"],"operationId":"applyRecovery","parameters":[{"name":"executionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/ops/events":{"post":{"tags":["ops-ingestion-controller"],"operationId":"ingestSingle","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpsEventDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/ops/events/batch":{"post":{"tags":["ops-ingestion-controller"],"operationId":"ingestBatch","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OpsEventDto"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/oauth/salesforce/jwt-connect":{"post":{"tags":["salesforce-o-auth-controller"],"operationId":"jwtConnect","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JwtConnectRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/oauth/connections":{"get":{"tags":["o-auth-connection-controller"],"operationId":"list_5","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionResponse"}}}}}}},"post":{"tags":["o-auth-connection-controller"],"operationId":"create_6","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateResponse"}}}}}}},"/api/v1/migrations/mule":{"post":{"tags":["migration-controller"],"operationId":"importMuleProject","parameters":[{"name":"projectName","in":"query","required":false,"schema":{"type":"string"}},{"name":"basePackage","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MigrationResponse"}}}}}}},"/api/v1/hubspot/test-connection":{"post":{"tags":["hub-spot-test-controller"],"operationId":"testConnection_3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/googlesheets/test-connection":{"post":{"tags":["google-sheets-test-controller"],"operationId":"testConnection_4","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/global-config/slack/test":{"post":{"tags":["slack-test-controller"],"operationId":"testConnection_5","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestResult"}}}}}}},"/api/v1/global-config/azureservicebus/test":{"post":{"tags":["azure-service-bus-test-controller"],"operationId":"testConnection_6","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestResult"}}}}}}},"/api/v1/global-config/azureblob/test":{"post":{"tags":["azure-blob-test-controller"],"operationId":"testConnection_7","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestResult"}}}}}}},"/api/v1/flowscript/compile":{"post":{"tags":["FlowScript"],"summary":"Compile FlowScript expressions to JSONata","description":"Compiles a batch of FlowScript expressions and returns the equivalent JSONata for each, or an error if compilation fails.","operationId":"compileFlowScript","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompileRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/files/write":{"post":{"tags":["file-explorer-controller"],"operationId":"write","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/files/move":{"post":{"tags":["file-explorer-controller"],"operationId":"move","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/files/mkdir":{"post":{"tags":["file-explorer-controller"],"operationId":"mkdir","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/files/copy":{"post":{"tags":["file-explorer-controller"],"operationId":"copy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/deployments":{"get":{"tags":["Deployments"],"operationId":"list_7","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentResponse"}}}}}}},"post":{"tags":["Deployments"],"summary":"Trigger a new deployment","operationId":"deployProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeployRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/deployments/{id}/redeploy":{"post":{"tags":["Deployments"],"operationId":"redeploy","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/deployments/providers/{type}/verify":{"post":{"tags":["Deployments"],"operationId":"verifyProvider","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/deployments/providers/{type}/connect":{"post":{"tags":["Deployments"],"operationId":"connectProvider","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectProviderRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/deployments/github/connect":{"post":{"tags":["Deployments"],"operationId":"connectGitHub","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectGitHubRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/debug/{projectId}/step":{"post":{"tags":["debug-controller"],"operationId":"step","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/debug/{projectId}/resume":{"post":{"tags":["debug-controller"],"operationId":"resume","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/database/test-connection":{"post":{"tags":["database-test-controller"],"operationId":"testConnection_8","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/azureblob/metadata/containers":{"post":{"tags":["azure-blob-metadata-controller"],"operationId":"listContainers","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlobCredsRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ContainerListResult"}}}}}}},"/api/v1/azureblob/metadata/containers/blobs":{"post":{"tags":["azure-blob-metadata-controller"],"operationId":"listBlobs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlobListRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BlobListResult"}}}}}}},"/api/v1/api-keys":{"get":{"tags":["API Keys"],"summary":"List the caller's API keys","operationId":"listApiKeys","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KeyResponse"}}}}}}},"post":{"tags":["API Keys"],"summary":"Create a new API key","description":"Returns the plaintext key once — it cannot be retrieved again after this response.","operationId":"createApiKey","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/ai/recommend-patterns":{"post":{"tags":["AI Flow Generation"],"operationId":"recommendPatterns","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendPatternsRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/ai/generate-mapping":{"post":{"tags":["AI Flow Generation"],"operationId":"generateMapping","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateMappingRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/ai/create-flow":{"post":{"tags":["AI Flow Generation"],"summary":"Generate a flow from a natural-language prompt","description":"Streams generation progress as Server-Sent Events while an AI model designs and saves a flow.","operationId":"createFlowAi","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFlowRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/SseEmitter"}}}}}}},"/api/v1/ai/create-flow/mcp":{"post":{"tags":["AI Flow Generation"],"operationId":"createFlowMcp","parameters":[{"name":"X-FlowSetu-Token","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFlowRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/SseEmitter"}}}}}}},"/api/v1/ai/config/key":{"post":{"tags":["user-ai-config-controller"],"operationId":"saveKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveKeyRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}},"delete":{"tags":["user-ai-config-controller"],"operationId":"deleteKey","responses":{"200":{"description":"OK"}}}},"/api/v1/agent/token":{"post":{"tags":["agent-token-controller"],"operationId":"issue","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/leads":{"post":{"tags":["lead-controller"],"operationId":"submit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/test-center/cases/{id}/enabled":{"patch":{"tags":["test-center-controller"],"operationId":"toggleEnabled","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestCase"}}}}}}},"/api/v1/projects/{projectId}/policies/{policyId}":{"delete":{"tags":["api-policy-controller"],"operationId":"delete","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"policyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["api-policy-controller"],"operationId":"update_2","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"policyId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PolicyResponse"}}}}}}},"/api/v1/projects/{projectId}/flows/{flowId}":{"get":{"tags":["Flows"],"summary":"Get a flow's model and layout","description":"Returns the full flow model JSON plus its canvas layout (node positions, viewport).","operationId":"getFlow","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flowId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FlowDetail"}}}}}},"delete":{"tags":["Flows"],"summary":"Delete a flow","operationId":"deleteFlow","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flowId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Flows"],"operationId":"rename_1","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flowId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FlowSummary"}}}}}}},"/api/v1/projects/{projectId}/flow-files":{"get":{"tags":["Flows"],"operationId":"listFlowFiles","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}},"delete":{"tags":["Flows"],"operationId":"deleteFlowFileByParam","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"fileName","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Flows"],"operationId":"renameFlowFileByParam","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"fileName","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{projectId}/flow-files/{fileName}":{"delete":{"tags":["Flows"],"operationId":"deleteFlowFile","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"fileName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Flows"],"operationId":"renameFlowFile","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"fileName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/v1/projects/{id}":{"get":{"tags":["Projects"],"summary":"Get a project by id","operationId":"getProject","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProjectResponse"}}}}}},"delete":{"tags":["Projects"],"summary":"Delete a project","operationId":"deleteProject","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Projects"],"summary":"Update a project's metadata","operationId":"updateProject","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProjectResponse"}}}}}}},"/api/v1/policy-schemas/{schemaId}":{"delete":{"tags":["policy-schema-controller"],"operationId":"delete_4","parameters":[{"name":"schemaId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["policy-schema-controller"],"operationId":"update_3","parameters":[{"name":"schemaId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SchemaResponse"}}}}}}},"/api/v1/org/{orgId}":{"patch":{"tags":["organization-controller"],"operationId":"update_4","parameters":[{"name":"orgId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Organization"}}}}}}},"/api/v1/org/{orgId}/members/{targetUserId}/role":{"patch":{"tags":["organization-controller"],"operationId":"updateRole","parameters":[{"name":"orgId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"targetUserId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/sso/{orgSlug}/logout":{"get":{"tags":["sso-auth-controller"],"operationId":"logout","parameters":[{"name":"orgSlug","in":"path","required":true,"schema":{"type":"string"}},{"name":"idTokenHint","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/sso/{orgSlug}/login":{"get":{"tags":["sso-auth-controller"],"operationId":"login","parameters":[{"name":"orgSlug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/sso/{orgSlug}/callback":{"get":{"tags":["sso-auth-controller"],"operationId":"callback","parameters":[{"name":"orgSlug","in":"path","required":true,"schema":{"type":"string"}},{"name":"code","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"error","in":"query","required":false,"schema":{"type":"string"}},{"name":"sso_state","in":"cookie","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/oauth/salesforce/callback":{"get":{"tags":["salesforce-o-auth-controller"],"operationId":"callback_1","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"error","in":"query","required":false,"schema":{"type":"string"}},{"name":"error_description","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/oauth/salesforce/authorize":{"get":{"tags":["salesforce-o-auth-controller"],"operationId":"authorize","parameters":[{"name":"stateToken","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/oauth/hubspot/callback":{"get":{"tags":["hub-spot-o-auth-controller"],"operationId":"callback_2","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"error","in":"query","required":false,"schema":{"type":"string"}},{"name":"error_description","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/oauth/hubspot/authorize":{"get":{"tags":["hub-spot-o-auth-controller"],"operationId":"authorize_1","parameters":[{"name":"stateToken","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/oauth/google/callback":{"get":{"tags":["google-sheets-o-auth-controller"],"operationId":"callback_3","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"error","in":"query","required":false,"schema":{"type":"string"}},{"name":"error_description","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/oauth/google/authorize":{"get":{"tags":["google-sheets-o-auth-controller"],"operationId":"authorize_2","parameters":[{"name":"stateToken","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/test-center/summary":{"get":{"tags":["test-center-controller"],"operationId":"summary","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/test-center/salesforce/runs/{runId}":{"get":{"tags":["salesforce-test-center-controller"],"operationId":"getRun","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesforceRunState"}}}}}}},"/api/v1/test-center/salesforce/cases":{"get":{"tags":["salesforce-test-center-controller"],"operationId":"getCases","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesforceTestDefinition"}}}}}}}},"/api/v1/test-center/runs/{id}":{"get":{"tags":["test-center-controller"],"operationId":"getRun_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestRun"}}}}}}},"/api/v1/test-center/runs/{id}/results":{"get":{"tags":["test-center-controller"],"operationId":"getResults","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TestResult"}}}}}}}},"/api/v1/test-center/runs/recent":{"get":{"tags":["test-center-controller"],"operationId":"recentRuns","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TestRun"}}}}}}}},"/api/v1/test-center/cases":{"get":{"tags":["test-center-controller"],"operationId":"listCases","parameters":[{"name":"connectorId","in":"query","required":false,"schema":{"type":"string"}},{"name":"suite","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TestCase"}}}}}}}},"/api/v1/test-center/cases/{id}":{"get":{"tags":["test-center-controller"],"operationId":"getCase","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestCase"}}}}}}},"/api/v1/sso/discover":{"get":{"tags":["sso-auth-controller"],"operationId":"discover","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/slack/metadata/users":{"get":{"tags":["slack-metadata-controller"],"operationId":"listUsers","parameters":[{"name":"configId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlackUser"}}}}}}}},"/api/v1/slack/metadata/channels":{"get":{"tags":["slack-metadata-controller"],"operationId":"listChannels","parameters":[{"name":"configId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlackChannel"}}}}}}}},"/api/v1/salesforce/metadata/objects":{"get":{"tags":["salesforce-metadata-controller"],"operationId":"listObjects","parameters":[{"name":"connectionId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SObjectSummary"}}}}}}}},"/api/v1/salesforce/metadata/objects/{objectName}/fields":{"get":{"tags":["salesforce-metadata-controller"],"operationId":"describeObject","parameters":[{"name":"objectName","in":"path","required":true,"schema":{"type":"string"}},{"name":"connectionId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ObjectDescribe"}}}}}}},"/api/v1/salesforce/metadata/by-config/objects":{"get":{"tags":["salesforce-metadata-controller"],"operationId":"listObjectsByConfig","parameters":[{"name":"configRef","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SObjectSummary"}}}}}}}},"/api/v1/salesforce/metadata/by-config/objects/{objectName}/fields":{"get":{"tags":["salesforce-metadata-controller"],"operationId":"describeObjectByConfig","parameters":[{"name":"objectName","in":"path","required":true,"schema":{"type":"string"}},{"name":"configRef","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ObjectDescribe"}}}}}}},"/api/v1/projects/{projectId}/runner/status":{"get":{"tags":["runner-controller"],"operationId":"status","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/projects/{projectId}/runner/logs":{"get":{"tags":["runner-controller"],"operationId":"logs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/SseEmitter"}}}}}}},"/api/v1/projects/{projectId}/flows/full":{"get":{"tags":["Flows"],"operationId":"getFull","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"sourceFile","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlowDetail"}}}}}}}},"/api/v1/projects/{projectId}/export/preview":{"get":{"tags":["Export"],"summary":"Preview generated code","description":"Generates the Spring Boot project for a project's flows and returns a file-by-file preview without downloading a zip.","operationId":"previewExport","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/projects/{projectId}/export/download":{"get":{"tags":["Export"],"operationId":"downloadExport","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/projects/{projectId}/env-configs":{"get":{"tags":["env-config-controller"],"operationId":"list_2","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}}}}}}}},"/api/v1/projects/{id}/java-files":{"get":{"tags":["Projects"],"operationId":"getJavaFiles","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/playground/sftp-sandbox/{username}":{"get":{"tags":["sftp-sandbox-controller"],"operationId":"status_1","parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"delete":{"tags":["sftp-sandbox-controller"],"operationId":"destroy","parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/playground/salesforce/objects":{"get":{"tags":["salesforce-playground-controller"],"operationId":"listObjects_1","parameters":[{"name":"X-Session-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/playground/salesforce/objects/{objectName}/fields":{"get":{"tags":["salesforce-playground-controller"],"operationId":"listFields","parameters":[{"name":"objectName","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Session-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/org/me":{"get":{"tags":["organization-controller"],"operationId":"me","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/ops/investigate/search":{"get":{"tags":["investigation-controller"],"operationId":"searchFlows","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlowExecution"}}}}}}}},"/api/v1/ops/investigate/execution/{executionId}":{"get":{"tags":["investigation-controller"],"operationId":"byExecutionId","parameters":[{"name":"executionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InvestigationResult"}}}}}}},"/api/v1/ops/investigate/correlation/{correlationId}":{"get":{"tags":["investigation-controller"],"operationId":"byCorrelationId","parameters":[{"name":"correlationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InvestigationResult"}}}}}}},"/api/v1/ops/investigate/capabilities":{"get":{"tags":["investigation-controller"],"operationId":"capabilities","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/ops/investigate/business-object":{"get":{"tags":["investigation-controller"],"operationId":"byBusinessObject","parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string"}},{"name":"id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InvestigationResult"}}}}}}},"/api/v1/ops/failures":{"get":{"tags":["ops-query-controller"],"operationId":"listFailures","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"flowId","in":"query","required":false,"schema":{"type":"string"}},{"name":"lookbackDays","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":7}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageFlowExecution"}}}}}}},"/api/v1/ops/failures/similar":{"get":{"tags":["ops-query-controller"],"operationId":"findSimilarFailures","parameters":[{"name":"flowId","in":"query","required":true,"schema":{"type":"string"}},{"name":"errorCode","in":"query","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/ops/executions":{"get":{"tags":["ops-query-controller"],"operationId":"listExecutions","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"flowId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageFlowExecution"}}}}}}},"/api/v1/ops/executions/{executionId}":{"get":{"tags":["ops-query-controller"],"operationId":"getExecution","parameters":[{"name":"executionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FlowExecution"}}}}}}},"/api/v1/ops/executions/{executionId}/steps":{"get":{"tags":["ops-query-controller"],"operationId":"listSteps","parameters":[{"name":"executionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExecutionStep"}}}}}}}},"/api/v1/ops/executions/{executionId}/recovery":{"get":{"tags":["recovery-controller"],"operationId":"recommend","parameters":[{"name":"executionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/ops/correlations/{correlationId}":{"get":{"tags":["ops-query-controller"],"operationId":"findByCorrelation","parameters":[{"name":"correlationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlowExecution"}}}}}}}},"/api/v1/ops/business-transactions":{"get":{"tags":["ops-query-controller"],"operationId":"findBusinessTransaction","parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string"}},{"name":"id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlowExecution"}}}}}}}},"/api/v1/migrations/projects/{projectId}/reports":{"get":{"tags":["migration-controller"],"operationId":"getReports","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MigrationRecordSummary"}}}}}}}},"/api/v1/hubspot/metadata/objects/{objectType}/properties":{"get":{"tags":["hub-spot-metadata-controller"],"operationId":"listProperties","parameters":[{"name":"objectType","in":"path","required":true,"schema":{"type":"string"}},{"name":"configId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HsProperty"}}}}}}}},"/api/v1/health":{"get":{"tags":["health-controller"],"operationId":"health","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/health":{"get":{"tags":["health-controller"],"operationId":"health_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/google/sheets/metadata/spreadsheets":{"get":{"tags":["google-sheets-metadata-controller"],"operationId":"listSpreadsheets","parameters":[{"name":"connectionId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}}}}}}}},"/api/v1/google/sheets/metadata/spreadsheets/{spreadsheetId}/sheets":{"get":{"tags":["google-sheets-metadata-controller"],"operationId":"listSheets","parameters":[{"name":"spreadsheetId","in":"path","required":true,"schema":{"type":"string"}},{"name":"connectionId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}}}}}}}},"/api/v1/google/sheets/metadata/spreadsheets/{spreadsheetId}/sheets/{sheetName}/columns":{"get":{"tags":["google-sheets-metadata-controller"],"operationId":"listColumns","parameters":[{"name":"spreadsheetId","in":"path","required":true,"schema":{"type":"string"}},{"name":"sheetName","in":"path","required":true,"schema":{"type":"string"}},{"name":"connectionId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"headerRow","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}}}}}}}},"/api/v1/files/roots":{"get":{"tags":["file-explorer-controller"],"operationId":"roots","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileEntry"}}}}}}}},"/api/v1/files/read":{"get":{"tags":["file-explorer-controller"],"operationId":"read","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReadResult"}}}}}}},"/api/v1/files/browse":{"get":{"tags":["file-explorer-controller"],"operationId":"browse","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileEntry"}}}}}}}},"/api/v1/edge/agents":{"get":{"tags":["edge-agent-controller"],"operationId":"list_6","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}}}}}}}},"/api/v1/deployments/{id}":{"get":{"tags":["Deployments"],"operationId":"get_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeploymentResponse"}}}}}},"delete":{"tags":["Deployments"],"operationId":"delete_7","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/deployments/{id}/status":{"get":{"tags":["Deployments"],"operationId":"refreshStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}}}}},"/api/v1/deployments/{id}/logs":{"get":{"tags":["Deployments"],"operationId":"getLogs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LogsResponse"}}}}}}},"/api/v1/deployments/credentials/status":{"get":{"tags":["Deployments"],"operationId":"credentialsStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/debug/{projectId}/status":{"get":{"tags":["debug-controller"],"operationId":"status_2","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/debug/{projectId}/properties":{"get":{"tags":["debug-controller"],"operationId":"properties","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"envName","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/connectors":{"get":{"tags":["Connectors"],"summary":"List all connectors","description":"Returns metadata for every connector FlowSetu supports.","operationId":"listConnectors","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorMetadata"}}}}}}}},"/api/v1/connectors/{vendorId}":{"get":{"tags":["Connectors"],"summary":"Get a connector's metadata","operationId":"getConnector","parameters":[{"name":"vendorId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorMetadata"}}}}}}},"/api/v1/connectors/{vendorId}/schema":{"get":{"tags":["Connectors"],"summary":"Get a connector's configuration schema","description":"Returns the JSON schema describing the fields required to configure this connector.","operationId":"getConnectorSchema","parameters":[{"name":"vendorId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/ai/graph/status":{"get":{"tags":["AI Flow Generation"],"operationId":"graphStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/ai/config/key/status":{"get":{"tags":["user-ai-config-controller"],"operationId":"getStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/agent/download":{"get":{"tags":["agent-download-controller"],"operationId":"download","parameters":[{"name":"os","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}}}}},"/api/v1/slack/metadata/cache":{"delete":{"tags":["slack-metadata-controller"],"operationId":"evictCache","parameters":[{"name":"configId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/salesforce/metadata/cache":{"delete":{"tags":["salesforce-metadata-controller"],"operationId":"evictCache_1","parameters":[{"name":"connectionId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/org/{orgId}/members/{targetUserId}":{"delete":{"tags":["organization-controller"],"operationId":"removeMember","parameters":[{"name":"orgId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"targetUserId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/oauth/connections/{id}":{"delete":{"tags":["o-auth-connection-controller"],"operationId":"delete_5","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/hubspot/metadata/cache":{"delete":{"tags":["hub-spot-metadata-controller"],"operationId":"evictCache_2","parameters":[{"name":"configId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/api/v1/google/sheets/metadata/cache":{"delete":{"tags":["google-sheets-metadata-controller"],"operationId":"evictCache_3","parameters":[{"name":"connectionId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}}}}}}},"/api/v1/files":{"delete":{"tags":["file-explorer-controller"],"operationId":"delete_6","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string"}},{"name":"recursive","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/v1/api-keys/{id}":{"delete":{"tags":["API Keys"],"operationId":"delete_8","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"UpdateRequest":{"type":"object","properties":{"configName":{"type":"string"},"configValues":{"type":"object","additionalProperties":{"type":"object"}}}},"ConfigResponse":{"type":"object","properties":{"id":{"type":"string"},"configName":{"type":"string"},"connectorType":{"type":"string"},"configValues":{"type":"object","additionalProperties":{"type":"object"}}}},"FlowSummary":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"sourceFile":{"type":"string"},"active":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"LayoutRequest":{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}},"viewport":{"type":"object","additionalProperties":{"type":"object"}}}},"ConfigFileDto":{"type":"object","properties":{"configName":{"type":"string"},"filePath":{"type":"string"},"content":{"type":"string"}}},"BatchCanvasSaveRequest":{"type":"object","properties":{"flows":{"type":"array","items":{"$ref":"#/components/schemas/FlowSave"}},"viewport":{"type":"object","additionalProperties":{"type":"object"}},"flowVersions":{"type":"object","additionalProperties":{"type":"string"}}}},"FlowSave":{"type":"object","properties":{"flowId":{"type":"string","format":"uuid"},"model":{"type":"object","additionalProperties":{"type":"object"}},"layoutNodes":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}}}},"SsoConfigRequest":{"type":"object","properties":{"protocol":{"type":"string"},"issuerUrl":{"type":"string"},"clientId":{"type":"string"},"clientSecret":{"type":"string"},"metadataUrl":{"type":"string"},"attributeEmail":{"type":"string"},"attributeName":{"type":"string"},"enabled":{"type":"boolean"}}},"SsoConfigResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"protocol":{"type":"string"},"issuerUrl":{"type":"string"},"clientId":{"type":"string"},"hasSecret":{"type":"boolean"},"metadataUrl":{"type":"string"},"attributeEmail":{"type":"string"},"attributeName":{"type":"string"},"enabled":{"type":"boolean"},"loginUrl":{"type":"string"}}},"SalesforceTestCredentials":{"type":"object","properties":{"authMethod":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"loginUrl":{"type":"string"},"apiVersion":{"type":"string"},"clientId":{"type":"string"},"clientSecret":{"type":"string"},"privateKeyPem":{"type":"string"}}},"SingleRunRequest":{"type":"object","properties":{"creds":{"$ref":"#/components/schemas/SalesforceTestCredentials"},"payloadOverride":{"type":"string"}}},"SalesforceTestResult":{"type":"object","properties":{"testId":{"type":"string"},"status":{"type":"string"},"assertions":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":{"type":"object"}},"errorMessage":{"type":"string"},"durationMs":{"type":"integer","format":"int64"},"extra":{"type":"object"}}},"StartRunRequest":{"type":"object","properties":{"label":{"type":"string"},"trigger":{"type":"string"},"scope":{"type":"object","additionalProperties":{"type":"object"}}}},"TestRun":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string"},"label":{"type":"string"},"trigger":{"type":"string"},"scope":{"type":"object","additionalProperties":{"type":"object"}},"status":{"type":"string"},"total":{"type":"integer","format":"int32"},"passed":{"type":"integer","format":"int32"},"failed":{"type":"integer","format":"int32"},"skipped":{"type":"integer","format":"int32"},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"},"durationMs":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"}}},"TestRequest":{"type":"object","properties":{"host":{"type":"string"},"port":{"type":"integer","format":"int32"},"username":{"type":"string"},"password":{"type":"string"},"privateKey":{"type":"string"},"knownHostsFile":{"type":"string"}}},"SecurePropertiesRequest":{"type":"object","properties":{"value":{"type":"string"},"key":{"type":"string"},"algorithm":{"type":"string"},"mode":{"type":"string"}}},"SecurePropertiesResponse":{"type":"object","properties":{"result":{"type":"string"}}},"TestResult":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"},"instanceUrl":{"type":"string"},"orgId":{"type":"string"},"orgName":{"type":"string"},"displayName":{"type":"string"},"apiVersion":{"type":"string"},"orgType":{"type":"string"},"authMethod":{"type":"string"}}},"ProxyRequest":{"type":"object","properties":{"method":{"type":"string"},"url":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{"type":"string"}}},"CreateRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"basePackage":{"type":"string"},"javaVersion":{"type":"string"},"runtime":{"type":"string"}}},"ProjectResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"basePackage":{"type":"string"},"javaVersion":{"type":"string"},"runtime":{"type":"string"},"globalConfig":{"type":"object","additionalProperties":{"type":"object"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"PolicyResponse":{"type":"object","properties":{"id":{"type":"string"},"projectId":{"type":"string"},"policyType":{"type":"string"},"name":{"type":"string"},"config":{"type":"object","additionalProperties":{"type":"object"}},"enabled":{"type":"boolean"},"policyOrder":{"type":"integer","format":"int32"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"RenameRequest":{"required":["configName"],"type":"object","properties":{"configName":{"type":"string"},"filePath":{"type":"string"}}},"SchemaResponse":{"type":"object","properties":{"id":{"type":"string"},"policyType":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"color":{"type":"string"},"icon":{"type":"string"},"fields":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"ExecuteRequest":{"type":"object","properties":{"sessionId":{"type":"string"},"operation":{"type":"string"},"soql":{"type":"string"},"objectName":{"type":"string"},"recordId":{"type":"string"},"record":{"type":"object","additionalProperties":{"type":"object"}},"externalIdField":{"type":"string"},"externalIdValue":{"type":"string"}}},"ConnectRequest":{"type":"object","properties":{"authType":{"type":"string"},"loginUrl":{"type":"string"},"apiVersion":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"clientId":{"type":"string"},"clientSecret":{"type":"string"},"privateKey":{"type":"string"}}},"CreateOrgRequest":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"domain":{"type":"string"}}},"Organization":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"domain":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"InviteRequest":{"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"}}},"MemberResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"joinedAt":{"type":"string"}}},"OpsEventDto":{"type":"object","properties":{"eventId":{"type":"string"},"eventType":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"executionId":{"type":"string"},"correlationId":{"type":"string"},"flowId":{"type":"string"},"flowVersion":{"type":"string"},"stepId":{"type":"string"},"stepName":{"type":"string"},"durationMs":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorMessage":{"type":"string"},"businessObjectType":{"type":"string"},"businessObjectId":{"type":"string"}}},"JwtConnectRequest":{"type":"object","properties":{"connectionName":{"type":"string"},"clientId":{"type":"string"},"username":{"type":"string"},"privateKey":{"type":"string"},"loginUrl":{"type":"string"},"apiVersion":{"type":"string"}}},"CreateResponse":{"type":"object","properties":{"connectionId":{"type":"string"},"stateToken":{"type":"string"},"authorizeUrl":{"type":"string"},"redirectUri":{"type":"string"}}},"ManualAction":{"type":"object","properties":{"flowName":{"type":"string"},"nodeId":{"type":"string"},"nodeName":{"type":"string"},"reason":{"type":"string"}}},"MigrationReport":{"type":"object","properties":{"sourcePlatform":{"type":"string"},"totalFlows":{"type":"integer","format":"int32"},"fullyConverted":{"type":"integer","format":"int32"},"partiallyConverted":{"type":"integer","format":"int32"},"unsupported":{"type":"integer","format":"int32"},"manualActions":{"type":"array","items":{"$ref":"#/components/schemas/ManualAction"}},"estimatedCompletionPercent":{"type":"integer","format":"int32"}}},"MigrationResponse":{"type":"object","properties":{"projectId":{"type":"string"},"report":{"$ref":"#/components/schemas/MigrationReport"}}},"CompileRequest":{"type":"object","properties":{"expressions":{"type":"array","items":{"$ref":"#/components/schemas/Item"}}}},"Item":{"type":"object","properties":{"ref":{"type":"string"},"source":{"type":"string"}}},"WriteRequest":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"},"createParents":{"type":"boolean"}}},"MoveRequest":{"type":"object","properties":{"source":{"type":"string"},"target":{"type":"string"}}},"DeployRequest":{"type":"object","properties":{"projectId":{"type":"string","format":"uuid"},"provider":{"type":"string","enum":["RENDER","RAILWAY","CLOUD_RUN","FLY","AWS_APP_RUNNER","AZURE_CONTAINER_APPS","DIGITALOCEAN"]},"branch":{"type":"string"},"envVars":{"type":"object","additionalProperties":{"type":"string"}},"githubRepoName":{"type":"string"},"githubToken":{"type":"string"},"providerToken":{"type":"string"},"port":{"type":"integer","format":"int32"},"startCommand":{"type":"string"},"buildCommand":{"type":"string"},"environment":{"type":"string"}}},"ConnectProviderRequest":{"type":"object","properties":{"providerType":{"type":"string","enum":["RENDER","RAILWAY","CLOUD_RUN","FLY","AWS_APP_RUNNER","AZURE_CONTAINER_APPS","DIGITALOCEAN"]},"accessToken":{"type":"string"},"extraConfig":{"type":"object","additionalProperties":{"type":"string"}}}},"ConnectGitHubRequest":{"type":"object","properties":{"accessToken":{"type":"string"},"username":{"type":"string"}}},"BlobCredsRequest":{"type":"object","properties":{"connectionString":{"type":"string"},"sasUrl":{"type":"string"}}},"ContainerListResult":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"},"containers":{"type":"array","items":{"type":"string"}}}},"BlobListRequest":{"type":"object","properties":{"creds":{"$ref":"#/components/schemas/BlobCredsRequest"},"containerName":{"type":"string"},"prefix":{"type":"string"}}},"BlobItem":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"string"},"lastModified":{"type":"string"},"contentType":{"type":"string"}}},"BlobListResult":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"},"blobs":{"type":"array","items":{"$ref":"#/components/schemas/BlobItem"}}}},"RecommendPatternsRequest":{"type":"object","properties":{"connectors":{"type":"array","items":{"type":"string"}},"intent":{"type":"string"}}},"GenerateMappingRequest":{"type":"object","properties":{"sourceConnector":{"type":"string"},"targetConnector":{"type":"string"},"sourceFields":{"type":"array","items":{"type":"string"}},"targetFields":{"type":"array","items":{"type":"string"}}}},"CreateFlowRequest":{"type":"object","properties":{"description":{"type":"string"},"projectId":{"type":"string"},"connections":{"type":"array","items":{"type":"string"}},"history":{"type":"array","items":{"$ref":"#/components/schemas/HistoryMessage"}}}},"HistoryMessage":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"}}},"SseEmitter":{"type":"object","properties":{"timeout":{"type":"integer","format":"int64"}}},"SaveKeyRequest":{"type":"object","properties":{"apiKey":{"type":"string"},"provider":{"type":"string"}}},"LeadRequest":{"required":["email","name"],"type":"object","properties":{"name":{"maxLength":255,"minLength":0,"type":"string"},"email":{"maxLength":255,"minLength":0,"type":"string"},"company":{"maxLength":255,"minLength":0,"type":"string"},"message":{"maxLength":2000,"minLength":0,"type":"string"},"source":{"maxLength":100,"minLength":0,"type":"string"}}},"TestCase":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"suite":{"type":"string"},"connectorId":{"type":"string"},"operationId":{"type":"string"},"category":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"generated":{"type":"boolean"},"enabled":{"type":"boolean"},"config":{"type":"object","additionalProperties":{"type":"object"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"UpdateOrgRequest":{"type":"object","properties":{"name":{"type":"string"},"domain":{"type":"string"}}},"RoleRequest":{"type":"object","properties":{"role":{"type":"string"}}},"SalesforceRunState":{"type":"object","properties":{"runId":{"type":"string"},"startedAt":{"type":"string"},"status":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SalesforceTestResult"}},"summary":{"type":"object","additionalProperties":{"type":"object"}},"error":{"type":"string"}}},"AssertionDef":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}}},"SalesforceTestDefinition":{"type":"object","properties":{"id":{"type":"string"},"operationId":{"type":"string"},"category":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"inputPayloadJson":{"type":"string"},"assertions":{"type":"array","items":{"$ref":"#/components/schemas/AssertionDef"}}}},"PageTestRun":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/TestRun"}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"empty":{"type":"boolean"}}},"PageableObject":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"pageSize":{"type":"integer","format":"int32"},"pageNumber":{"type":"integer","format":"int32"},"unpaged":{"type":"boolean"},"paged":{"type":"boolean"}}},"SortObject":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}}},"SlackUser":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"realName":{"type":"string"},"email":{"type":"string"},"displayName":{"type":"string"},"avatarUrl":{"type":"string"}}},"SlackChannel":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"isPrivate":{"type":"boolean"},"isMember":{"type":"boolean"},"memberCount":{"type":"integer","format":"int32"},"topic":{"type":"string"},"purpose":{"type":"string"}}},"SObjectSummary":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"labelPlural":{"type":"string"},"queryable":{"type":"boolean"},"createable":{"type":"boolean"},"updateable":{"type":"boolean"},"deletable":{"type":"boolean"},"custom":{"type":"boolean"}}},"FieldDescribe":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"},"externalId":{"type":"boolean"},"unique":{"type":"boolean"},"createable":{"type":"boolean"},"updateable":{"type":"boolean"},"length":{"type":"integer","format":"int32"},"picklistValues":{"type":"array","items":{"type":"string"}},"referenceTo":{"type":"string"}}},"ObjectDescribe":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"labelPlural":{"type":"string"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FieldDescribe"}}}},"Pageable":{"type":"object","properties":{"page":{"minimum":0,"type":"integer","format":"int32"},"size":{"minimum":1,"type":"integer","format":"int32"},"sort":{"type":"array","items":{"type":"string"}}}},"PageProjectResponse":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/ProjectResponse"}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"empty":{"type":"boolean"}}},"FlowDetail":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"modelJson":{"type":"object","additionalProperties":{"type":"object"}},"nodesLayout":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}},"viewport":{"type":"object","additionalProperties":{"type":"object"}}}},"FlowExecution":{"type":"object","properties":{"executionId":{"type":"string"},"userId":{"type":"string"},"projectId":{"type":"string"},"flowId":{"type":"string"},"flowVersion":{"type":"string"},"correlationId":{"type":"string"},"status":{"type":"string","enum":["RUNNING","SUCCESS","FAILURE"]},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"},"durationMs":{"type":"integer","format":"int64"},"businessObjectType":{"type":"string"},"businessObjectId":{"type":"string"},"errorCode":{"type":"string"},"errorMessage":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"object"}},"createdAt":{"type":"string","format":"date-time"}}},"InvestigationResult":{"type":"object","properties":{"executionId":{"type":"string"},"flowId":{"type":"string"},"correlationId":{"type":"string"},"businessObjectType":{"type":"string"},"businessObjectId":{"type":"string"},"status":{"type":"string"},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"},"durationMs":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorMessage":{"type":"string"},"steps":{"type":"array","items":{"$ref":"#/components/schemas/StepSummary"}},"similarFailureCount":{"type":"integer","format":"int32"},"recovery":{"$ref":"#/components/schemas/RecoveryRecommendation"},"agentSummary":{"type":"string"}}},"RecoveryRecommendation":{"type":"object","properties":{"executionId":{"type":"string"},"errorCode":{"type":"string"},"strategy":{"type":"string","enum":["RETRY_IMMEDIATELY","RETRY_WITH_BACKOFF","CHECK_CREDENTIALS","CHECK_CONNECTIVITY","FIX_INPUT_DATA","ESCALATE_TO_HUMAN","INVESTIGATE_RATE_LIMIT","UNKNOWN"]},"explanation":{"type":"string"},"confidence":{"type":"string"},"requiredActions":{"type":"array","items":{"type":"string"}},"warningNotes":{"type":"array","items":{"type":"string"}},"similarFailureCount":{"type":"integer","format":"int32"},"automatable":{"type":"boolean"}}},"StepSummary":{"type":"object","properties":{"stepId":{"type":"string"},"stepName":{"type":"string"},"status":{"type":"string"},"durationMs":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorMessage":{"type":"string"}}},"PageFlowExecution":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"first":{"type":"boolean"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/FlowExecution"}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"empty":{"type":"boolean"}}},"ExecutionStep":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"eventId":{"type":"string"},"userId":{"type":"string"},"executionId":{"type":"string"},"stepId":{"type":"string"},"stepName":{"type":"string"},"status":{"type":"string","enum":["SUCCESS","FAILURE"]},"startedAt":{"type":"string","format":"date-time"},"durationMs":{"type":"integer","format":"int64"},"errorCode":{"type":"string"},"errorMessage":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"ConnectionResponse":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string"},"connectionName":{"type":"string"},"clientId":{"type":"string"},"instanceUrl":{"type":"string"},"status":{"type":"string"},"errorMessage":{"type":"string"},"loginUrl":{"type":"string"},"apiVersion":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"MigrationRecordSummary":{"type":"object","properties":{"id":{"type":"string"},"sourcePlatform":{"type":"string"},"report":{"type":"object","additionalProperties":{"type":"object"}},"createdAt":{"type":"string"}}},"HsProperty":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"fieldType":{"type":"string"},"description":{"type":"string"},"groupName":{"type":"string"},"writeable":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}}}},"FileEntry":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"},"directory":{"type":"boolean"},"size":{"type":"integer","format":"int64"},"modified":{"type":"string"}}},"ReadResult":{"type":"object","properties":{"name":{"type":"string"},"content":{"type":"string"},"size":{"type":"integer","format":"int64"},"truncated":{"type":"boolean"}}},"DeploymentResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string"},"projectId":{"type":"string","format":"uuid"},"provider":{"type":"string","enum":["RENDER","RAILWAY","CLOUD_RUN","FLY","AWS_APP_RUNNER","AZURE_CONTAINER_APPS","DIGITALOCEAN"]},"repoFullName":{"type":"string"},"branch":{"type":"string"},"commitSha":{"type":"string"},"environment":{"type":"string"},"status":{"type":"string","enum":["PENDING","QUEUED","BUILDING","DEPLOYING","LIVE","FAILED","CANCELLED","DELETED"]},"serviceUrl":{"type":"string"},"providerDeploymentId":{"type":"string"},"errorMessage":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"StatusResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["PENDING","QUEUED","BUILDING","DEPLOYING","LIVE","FAILED","CANCELLED","DELETED"]},"serviceUrl":{"type":"string"},"errorMessage":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}}},"LogLine":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"level":{"type":"string"},"message":{"type":"string"}}},"LogsResponse":{"type":"object","properties":{"logs":{"type":"array","items":{"$ref":"#/components/schemas/LogLine"}}}},"ConnectorMetadata":{"type":"object","properties":{"vendorId":{"type":"string"},"name":{"type":"string"},"category":{"type":"string"},"iconUrl":{"type":"string"},"version":{"type":"string"},"operations":{"type":"array","items":{"$ref":"#/components/schemas/OperationMetadata"}},"configSchema":{"type":"object","additionalProperties":{"type":"object"}}}},"OperationMetadata":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"configSchema":{"type":"object","additionalProperties":{"type":"object"}},"templateTarget":{"type":"string"},"inputMimeType":{"type":"string"},"samplePayload":{"type":"string"}}},"KeyResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"prefix":{"type":"string"},"createdAt":{"type":"string"},"lastUsed":{"type":"string"}}}}}}