{"openapi":"3.1.0","info":{"title":"Flowise API","description":"AI workflow automation and orchestration platform - build LLM applications visually.\n\nFlowise allows you to create, manage, and execute AI workflows (chatflows) that combine\nvarious AI components including LLMs, vector stores, document loaders, tools, and agents.\n","version":"v1","contact":{"name":"Flowise AI","url":"https://flowiseai.com"},"license":{"name":"Apache-2.0","url":"https://github.com/FlowiseAI/Flowise/blob/main/LICENSE"}},"servers":[{"url":"https://flowise.haiven.site/api/v1","description":"Production server (via Traefik)"},{"url":"http://flowise:3000/api/v1","description":"Internal Docker network"}],"tags":[{"name":"Chatflows","description":"Manage AI workflow definitions and configurations"},{"name":"Predictions","description":"Execute chatflows and get AI responses"},{"name":"Nodes","description":"Available workflow components and their configurations"},{"name":"Tools","description":"Manage tools available to AI agents"},{"name":"Assistants","description":"OpenAI-compatible assistant integrations"},{"name":"Variables","description":"Manage global and flow-specific variables"},{"name":"Vectors","description":"Vector database operations and embeddings"},{"name":"Chat Messages","description":"Conversation history and message management"},{"name":"System","description":"Health checks and system information"}],"security":[{"BearerAuth":[]}],"paths":{"/ping":{"get":{"tags":["System"],"summary":"Health check","description":"Check if the Flowise API is responsive","operationId":"ping","security":[],"responses":{"200":{"description":"Service is healthy","content":{"text/plain":{"schema":{"type":"string","example":"pong"}}}}}}},"/chatflows":{"get":{"tags":["Chatflows"],"summary":"List all chatflows","description":"Retrieve all chatflow configurations","operationId":"getAllChatflows","responses":{"200":{"description":"List of chatflows","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Chatflow"}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Chatflows"],"summary":"Create a new chatflow","description":"Create a new AI workflow configuration","operationId":"createChatflow","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatflowCreate"}}}},"responses":{"201":{"description":"Chatflow created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Chatflow"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/chatflows/{id}":{"get":{"tags":["Chatflows"],"summary":"Get chatflow by ID","description":"Retrieve a specific chatflow configuration","operationId":"getChatflowById","parameters":[{"$ref":"#/components/parameters/ChatflowId"}],"responses":{"200":{"description":"Chatflow details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Chatflow"}}}},"404":{"$ref":"#/components/responses/NotFoundError"}}},"put":{"tags":["Chatflows"],"summary":"Update chatflow","description":"Update an existing chatflow configuration","operationId":"updateChatflow","parameters":[{"$ref":"#/components/parameters/ChatflowId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatflowUpdate"}}}},"responses":{"200":{"description":"Chatflow updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Chatflow"}}}}}},"delete":{"tags":["Chatflows"],"summary":"Delete chatflow","description":"Remove a chatflow and all associated data","operationId":"deleteChatflow","parameters":[{"$ref":"#/components/parameters/ChatflowId"}],"responses":{"200":{"description":"Chatflow deleted successfully"}}}},"/prediction/{chatflowId}":{"post":{"tags":["Predictions"],"summary":"Make a prediction","description":"Execute a chatflow to generate AI responses. Supports text input, file uploads,\nconversation memory via sessionId, and configuration overrides.\n","operationId":"createPrediction","parameters":[{"name":"chatflowId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"UUID of the chatflow to execute"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionRequest"}},"multipart/form-data":{"schema":{"type":"object","properties":{"question":{"type":"string"},"files":{"type":"array","items":{"type":"string","format":"binary"}},"overrideConfig":{"type":"string"}}}}}},"responses":{"200":{"description":"Prediction completed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionResponse"}},"text/event-stream":{"schema":{"type":"string","description":"Server-Sent Events stream when streaming is enabled"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"404":{"description":"Chatflow not found"},"429":{"description":"Rate limit exceeded"}}}},"/node-configs":{"post":{"tags":["Nodes"],"summary":"Get available node configurations","description":"Retrieve configuration schemas for all available workflow nodes","operationId":"getAllNodeConfigs","responses":{"200":{"description":"Node configurations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NodeConfig"}}}}}}}},"/tools":{"get":{"tags":["Tools"],"summary":"List all tools","description":"Get all tools available for AI agents","operationId":"getAllTools","responses":{"200":{"description":"List of tools","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tool"}}}}}}},"post":{"tags":["Tools"],"summary":"Create a new tool","description":"Add a custom tool for AI agents to use","operationId":"createTool","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolCreate"}}}},"responses":{"201":{"description":"Tool created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}}}}}},"/tools/{id}":{"get":{"tags":["Tools"],"summary":"Get tool by ID","operationId":"getToolById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tool details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}}}}},"put":{"tags":["Tools"],"summary":"Update tool","operationId":"updateTool","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolCreate"}}}},"responses":{"200":{"description":"Tool updated successfully"}}},"delete":{"tags":["Tools"],"summary":"Delete tool","operationId":"deleteTool","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tool deleted successfully"}}}},"/openai-assistants":{"get":{"tags":["Assistants"],"summary":"List all assistants","description":"Get all OpenAI-compatible assistants","operationId":"getAllAssistants","responses":{"200":{"description":"List of assistants","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Assistant"}}}}}}}},"/openai-assistants/{id}":{"get":{"tags":["Assistants"],"summary":"Get assistant by ID","operationId":"getAssistantById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Assistant details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Assistant"}}}}}}},"/variables":{"get":{"tags":["Variables"],"summary":"List all variables","description":"Get all global and flow-specific variables","operationId":"getAllVariables","responses":{"200":{"description":"List of variables","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}}}}}}},"post":{"tags":["Variables"],"summary":"Create a variable","operationId":"createVariable","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableCreate"}}}},"responses":{"201":{"description":"Variable created successfully"}}}},"/variables/{id}":{"put":{"tags":["Variables"],"summary":"Update variable","operationId":"updateVariable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableCreate"}}}},"responses":{"200":{"description":"Variable updated"}}},"delete":{"tags":["Variables"],"summary":"Delete variable","operationId":"deleteVariable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Variable deleted"}}}},"/vector/upsert/{id}":{"post":{"tags":["Vectors"],"summary":"Upsert vectors","description":"Upload and index documents into a vector store for similarity search","operationId":"upsertVectors","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Vector store or chatflow ID"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string","format":"binary"}},"overwrites":{"type":"string"}}}}}},"responses":{"200":{"description":"Vectors upserted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"numAdded":{"type":"integer"},"addedDocs":{"type":"array","items":{"type":"object"}}}}}}}}}},"/chatmessage/{chatflowId}":{"get":{"tags":["Chat Messages"],"summary":"Get chat history","description":"Retrieve conversation history for a specific chatflow","operationId":"getChatMessages","parameters":[{"name":"chatflowId","in":"path","required":true,"schema":{"type":"string"}},{"name":"sessionId","in":"query","schema":{"type":"string"}},{"name":"sort","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"startDate","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"endDate","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Chat message history","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChatMessage"}}}}}}},"delete":{"tags":["Chat Messages"],"summary":"Delete chat history","operationId":"deleteChatMessages","parameters":[{"name":"chatflowId","in":"path","required":true,"schema":{"type":"string"}},{"name":"sessionId","in":"query","schema":{"type":"string"}},{"name":"chatId","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Chat messages deleted successfully"}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"API key authentication via Authorization header"}},"parameters":{"ChatflowId":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Unique identifier for the chatflow"}},"schemas":{"Chatflow":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"flowData":{"type":"string","description":"JSON-stringified flow graph"},"deployed":{"type":"boolean"},"isPublic":{"type":"boolean"},"apikeyid":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"type":{"type":"string","enum":["CHATFLOW","AGENTFLOW"]},"createdDate":{"type":"string","format":"date-time"},"updatedDate":{"type":"string","format":"date-time"}}},"ChatflowCreate":{"type":"object","required":["name","flowData"],"properties":{"name":{"type":"string"},"flowData":{"type":"string"},"deployed":{"type":"boolean","default":false},"isPublic":{"type":"boolean","default":false},"category":{"type":"string"}}},"ChatflowUpdate":{"type":"object","properties":{"name":{"type":"string"},"flowData":{"type":"string"},"deployed":{"type":"boolean"},"isPublic":{"type":"boolean"},"category":{"type":"string"}}},"PredictionRequest":{"type":"object","required":["question"],"properties":{"question":{"type":"string","description":"The user's question or prompt"},"streaming":{"type":"boolean","default":false},"history":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string"}}}},"overrideConfig":{"type":"object","properties":{"sessionId":{"type":"string"},"temperature":{"type":"number"},"maxTokens":{"type":"integer"},"returnSourceDocuments":{"type":"boolean"},"vars":{"type":"object","additionalProperties":true}},"additionalProperties":true}}},"PredictionResponse":{"type":"object","properties":{"text":{"type":"string"},"sessionId":{"type":"string"},"chatId":{"type":"string"},"sourceDocuments":{"type":"array","items":{"type":"object","properties":{"pageContent":{"type":"string"},"metadata":{"type":"object"}}}},"question":{"type":"string"}}},"NodeConfig":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"inputs":{"type":"array","items":{"type":"object"}},"outputs":{"type":"array","items":{"type":"object"}}}},"Tool":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"string"},"func":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"updatedDate":{"type":"string","format":"date-time"}}},"ToolCreate":{"type":"object","required":["name","description","schema","func"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"string"},"func":{"type":"string"}}},"Assistant":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"instructions":{"type":"string"},"model":{"type":"string"},"tools":{"type":"array","items":{"type":"object"}}}},"Variable":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"value":{"type":"string"},"type":{"type":"string","enum":["static","runtime"]},"createdDate":{"type":"string","format":"date-time"},"updatedDate":{"type":"string","format":"date-time"}}},"VariableCreate":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string"},"type":{"type":"string","enum":["static","runtime"],"default":"static"}}},"ChatMessage":{"type":"object","properties":{"id":{"type":"string"},"chatflowid":{"type":"string"},"sessionId":{"type":"string"},"chatId":{"type":"string"},"role":{"type":"string","enum":["user","assistant","system"]},"content":{"type":"string"},"sourceDocuments":{"type":"string"},"createdDate":{"type":"string","format":"date-time"}}},"Error":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string"}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"BadRequestError":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFoundError":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"externalDocs":{"description":"Flowise Documentation","url":"https://docs.flowiseai.com"}}