[{"data":1,"prerenderedAt":579},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fapi\u002F":3,"docs-nav":124},{"id":4,"title":5,"body":6,"description":16,"extension":109,"layout":110,"meta":111,"navGroup":112,"navGroupOrder":113,"navOrder":114,"navTitle":115,"navigation":116,"originalPath":117,"path":118,"redirect":110,"seo":119,"stem":120,"updated":121,"version":122,"__hash__":123},"docs\u002Fdocs\u002Fapi\u002Findex.md","FlowFuse Platform API",{"type":7,"value":8,"toc":104},"minimark",[9,13,17,33,38,41,48,51,54,57,68,71,81,91,98],[10,11,5],"h1",{"id":12},"flowfuse-platform-api",[14,15,16],"p",{},"The platform provides a REST API that makes it possible to create integrations and\ncustom workflows.",[14,18,19,20,27,28,32],{},"The API comes with an OpenAPI 3.0 Specification that can be viewed ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fapp.flowfuse.com\u002Fapi\u002F",[25],"nofollow","here",",\nor on any FlowFuse instance on the path ",[29,30,31],"code",{},"\u002Fapi\u002F",".",[34,35,37],"h3",{"id":36},"accessing-the-api","Accessing the API",[14,39,40],{},"To make use of the API you will need a valid Access Token. Tokens can be generated\nfor a user under the Security section of the User Settings page.",[14,42,43],{},[44,45],"img",{"alt":46,"src":47},"Tokens Settings Page","\u002Fdocs\u002Fapi\u002Fimages\u002Ftokens.png",[14,49,50],{},"Tokens can be set to have a limited life or unlimited and can be revoked\nby deleting the token from the list. Tokens with an expiry date will be deleted once they reach that date.",[14,52,53],{},"Be aware that the token value will only be displayed once, at creation time,\nthere is no way to recover the token after this point.",[14,55,56],{},"Currently, all routes require a valid token to be included in the request.",[14,58,59,60,63,64,67],{},"The tokens are passed using the ",[29,61,62],{},"Authorization"," header as a ",[29,65,66],{},"Bearer"," token.",[14,69,70],{},"For example, the following will get a list of the token owner's teams:",[72,73,78],"pre",{"className":74,"code":76,"language":77},[75],"language-text","curl -H \"Authorization: Bearer ffpat_d4vZlLhCN8muyFUi6UsquLj47H2aTDkDpvxBUf5Ea\" \\\n     https:\u002F\u002Fapp.flowforge.com\u002Fapi\u002Fv1\u002Fuser\u002Fteams\n","text",[29,79,76],{"__ignoreMap":80},"",[14,82,83,84,87,88,32],{},"When sending data to the API, requests must set the ",[29,85,86],{},"Content-Type"," header to ",[29,89,90],{},"application\u002Fjson",[14,92,93,94,97],{},"For example, the following will update the name of the team with an id of ",[29,95,96],{},"mNYLkklLAG",":",[72,99,102],{"className":100,"code":101,"language":77},[75],"curl -X PUT \\\n     -H \"Content-Type: application\u002Fjson\" \\\n     -H \"Authorization: Bearer ffpat_d4vZlLhCN8muyFUi6UsquLj47H2aTDkDpvxBUf5Ea\" \\\n     -d '{\"name\": \"My Development Team\"}' \\\n     https:\u002F\u002Fapp.flowforge.com\u002Fapi\u002Fv1\u002Fteams\u002FmNYLkklLAG\n",[29,103,101],{"__ignoreMap":80},{"title":80,"searchDepth":105,"depth":105,"links":106},4,[107],{"id":36,"depth":108,"text":37},3,"md",null,{},"FlowFuse User Manuals",1,2,"FlowFuse API",true,"api\u002FREADME.md","\u002Fdocs\u002Fapi",{"title":5,"description":16},"docs\u002Fapi\u002Findex","2026-08-05 13:23:12 +0200","2.33.2","ur5qB73rrfEJVbyYFgR7G96J98KmEXL_KvJeYNV0MJA",[125,129,148,160],{"name":112,"order":113,"children":126},[127],{"title":115,"path":118,"group":112,"groupOrder":113,"order":114,"children":128},[],{"name":130,"order":105,"children":131},"FlowFuse Self-Hosted",[132,136],{"title":133,"path":134,"group":130,"groupOrder":105,"order":113,"children":135},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":137,"path":138,"group":130,"groupOrder":105,"order":108,"children":139},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[140,144],{"title":141,"path":142,"order":110,"children":143},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":145,"path":146,"order":110,"children":147},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":149,"order":150,"children":151},"Support",5,[152,156],{"title":153,"path":154,"group":149,"groupOrder":150,"order":108,"children":155},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":157,"path":158,"group":149,"groupOrder":150,"order":110,"children":159},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":161,"order":110,"children":162},"Other",[163,211,223,302,351,370,444,455],{"title":164,"path":165,"order":110,"children":166},"admin","\u002Fdocs\u002Fadmin",[167,171,183,191,195,199,203,207],{"title":168,"path":169,"order":113,"children":170},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":172,"path":173,"order":110,"children":174},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[175,179],{"title":176,"path":177,"order":110,"children":178},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":180,"path":181,"order":110,"children":182},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":184,"path":185,"order":110,"children":186},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[187],{"title":188,"path":189,"order":110,"children":190},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":192,"path":193,"order":110,"children":194},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":196,"path":197,"order":110,"children":198},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":200,"path":201,"order":110,"children":202},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":204,"path":205,"order":110,"children":206},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":208,"path":209,"order":110,"children":210},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":212,"path":213,"order":110,"children":214},"cloud","\u002Fdocs\u002Fcloud",[215,219],{"title":216,"path":217,"order":113,"children":218},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":220,"path":221,"order":110,"children":222},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":224,"path":225,"order":110,"children":226},"contribute","\u002Fdocs\u002Fcontribute",[227,230,234,238,242,246,250,258,294,298],{"title":216,"path":228,"order":113,"children":229},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":231,"path":232,"order":110,"children":233},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":235,"path":236,"order":110,"children":237},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":239,"path":240,"order":110,"children":241},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":243,"path":244,"order":110,"children":245},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":247,"path":248,"order":110,"children":249},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":251,"path":252,"order":110,"children":253},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[254],{"title":255,"path":256,"order":110,"children":257},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":259,"path":260,"order":110,"children":261},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[262,266,270,274,278,282,286,290],{"title":263,"path":264,"order":110,"children":265},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":267,"path":268,"order":110,"children":269},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":271,"path":272,"order":110,"children":273},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":275,"path":276,"order":110,"children":277},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":279,"path":280,"order":110,"children":281},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":283,"path":284,"order":110,"children":285},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":287,"path":288,"order":110,"children":289},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":291,"path":292,"order":110,"children":293},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":295,"path":296,"order":110,"children":297},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":299,"path":300,"order":110,"children":301},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":303,"path":304,"order":110,"children":305},"device-agent","\u002Fdocs\u002Fdevice-agent",[306,310,313,317,321,326],{"title":307,"path":308,"order":113,"children":309},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":133,"path":311,"order":114,"children":312},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":314,"path":315,"order":105,"children":316},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":318,"path":319,"order":150,"children":320},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":322,"path":323,"order":324,"children":325},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":327,"path":328,"order":110,"children":329},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[330,335,339,343,347],{"title":331,"path":332,"group":333,"order":113,"children":334},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":336,"path":337,"group":333,"order":114,"children":338},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":340,"path":341,"group":333,"order":108,"children":342},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":344,"path":345,"group":333,"order":105,"children":346},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":348,"path":349,"group":333,"order":150,"children":350},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":352,"path":353,"order":110,"children":354},"hardware","\u002Fdocs\u002Fhardware",[355,358,362,366],{"title":331,"path":356,"order":113,"children":357},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":359,"path":360,"order":114,"children":361},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":363,"path":364,"order":108,"children":365},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":367,"path":368,"order":108,"children":369},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":327,"path":371,"order":110,"children":372},"\u002Fdocs\u002Finstall",[373,376,380,384,404,408,412,416],{"title":331,"path":374,"order":113,"children":375},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":377,"path":378,"order":110,"children":379},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":381,"path":382,"order":110,"children":383},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":385,"path":386,"order":110,"children":387},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[388,392,396,400],{"title":389,"path":390,"order":110,"children":391},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":393,"path":394,"order":110,"children":395},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":397,"path":398,"order":110,"children":399},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":401,"path":402,"order":110,"children":403},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":405,"path":406,"order":110,"children":407},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":409,"path":410,"order":110,"children":411},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":413,"path":414,"order":110,"children":415},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":417,"path":418,"order":110,"children":419},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[420,424,428,432,436,440],{"title":421,"path":422,"order":110,"children":423},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":425,"path":426,"order":110,"children":427},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":429,"path":430,"order":110,"children":431},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":433,"path":434,"order":110,"children":435},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":437,"path":438,"order":110,"children":439},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":441,"path":442,"order":110,"children":443},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":445,"path":446,"order":110,"children":447},"migration","\u002Fdocs\u002Fmigration",[448,451],{"title":216,"path":449,"order":113,"children":450},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":452,"path":453,"order":110,"children":454},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":456,"path":457,"order":110,"children":458},"user","\u002Fdocs\u002Fuser",[459,463,467,471,475,480,484,488,492,496,500,504,516,520,524,528,532,536,540,544,548,552,556,560,564,568,571,575],{"title":460,"path":461,"order":113,"children":462},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":464,"path":465,"order":113,"children":466},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":468,"path":469,"order":114,"children":470},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":472,"path":473,"order":114,"children":474},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":476,"path":477,"order":478,"children":479},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":481,"path":482,"order":110,"children":483},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":485,"path":486,"order":110,"children":487},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":489,"path":490,"order":110,"children":491},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":493,"path":494,"order":110,"children":495},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":497,"path":498,"order":110,"children":499},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":501,"path":502,"order":110,"children":503},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":505,"path":506,"order":110,"children":507},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[508,512],{"title":509,"path":510,"order":110,"children":511},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":513,"path":514,"order":110,"children":515},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":517,"path":518,"order":110,"children":519},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":521,"path":522,"order":110,"children":523},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":525,"path":526,"order":110,"children":527},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":529,"path":530,"order":110,"children":531},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":533,"path":534,"order":110,"children":535},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":537,"path":538,"order":110,"children":539},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":541,"path":542,"order":110,"children":543},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":545,"path":546,"order":110,"children":547},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":549,"path":550,"order":110,"children":551},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":553,"path":554,"order":110,"children":555},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":557,"path":558,"order":110,"children":559},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":561,"path":562,"order":110,"children":563},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":565,"path":566,"order":110,"children":567},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":295,"path":569,"order":110,"children":570},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":572,"path":573,"order":110,"children":574},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":576,"path":577,"order":110,"children":578},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546036959]