Implementation:FlowiseAI Flowise UpdateChatflow Public
Appearance
| Attribute | Value |
|---|---|
| Page Name | UpdateChatflow_Public |
| Workflow | Chatbot_Deployment |
| Repository | FlowiseAI/Flowise |
| Domain | Deployment, Sharing, Public Access |
| Source | packages/ui/src/api/chatflows.js:L9-L13 |
| Last Updated | 2026-02-12 14:00 GMT |
Overview
API call implementations for toggling a chatflow's public access and loading chatflow configuration from the unauthenticated public endpoint.
Code Reference
Source Location
- File:
packages/ui/src/api/chatflows.js, lines 9 and 13 - UI Components:
packages/ui/src/views/chatflows/ShareChatbot.jsx(594 lines) -- sharing UI with toggle and appearance settingspackages/ui/src/views/chatbot/index.jsx(118 lines) -- public chatbot page renderer
Signature
Update chatflow public status:
const updateChatflow = (id, body) => client.put(`/chatflows/${id}`, body)
Fetch chatflow from public endpoint (no auth required):
const getSpecificChatflowFromPublicEndpoint = (id) => client.get(`/public-chatflows/${id}`)
Import
import chatflowsApi from '@/api/chatflows'
The API client is configured at packages/ui/src/api/client.js with base URL ${baseURL}/api/v1.
I/O Contract
Inputs (updateChatflow for public toggle)
| Parameter | Type | Description |
|---|---|---|
id |
string |
The chatflow ID to update |
body |
object |
Object containing isPublic: boolean
|
{
isPublic: boolean // true to make public, false to make private
}
Inputs (getSpecificChatflowFromPublicEndpoint)
| Parameter | Type | Description |
|---|---|---|
id |
string |
The chatflow ID to retrieve |
Outputs
| Field | Type | Description |
|---|---|---|
data |
Chatflow |
The chatflow object with updated isPublic flag
|
Returns Promise<{data: Chatflow}> with the full chatflow record.
Public URL Format
`${window.location.protocol}//${window.location.host}/chatbot/${chatflowId}`
Usage Examples
Making a Chatflow Public
import chatflowsApi from '@/api/chatflows'
// Enable public access
const response = await chatflowsApi.updateChatflow(chatflowId, {
isPublic: true
})
// The chatbot is now accessible at:
// https://your-flowise-host.com/chatbot/{chatflowId}
console.log('Public URL:', `${baseURL}/chatbot/${chatflowId}`)
Revoking Public Access
import chatflowsApi from '@/api/chatflows'
// Disable public access
const response = await chatflowsApi.updateChatflow(chatflowId, {
isPublic: false
})
Loading Chatflow Config on Public Page
import chatflowsApi from '@/api/chatflows'
// This call does not require authentication
const response = await chatflowsApi.getSpecificChatflowFromPublicEndpoint(chatflowId)
// response.data contains the chatflow configuration
// including chatbotConfig for appearance settings
const chatbotConfig = response.data.chatbotConfig
? JSON.parse(response.data.chatbotConfig)
: {}
// From ShareChatbot.jsx -- the actual toggle implementation
const onSwitchChange = async (checked) => {
try {
const saveResp = await chatflowsApi.updateChatflow(chatflowid, {
isPublic: checked
})
if (saveResp.data) {
dispatch({ type: SET_CHATFLOW, chatflow: saveResp.data })
}
} catch (error) {
// Error handling with snackbar notification
}
}
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment