[{"data":1,"prerenderedAt":616},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fuser\u002Fhttp-access-tokens\u002F":3,"docs-nav":161},{"id":4,"title":5,"body":6,"description":149,"extension":150,"layout":151,"meta":152,"navGroup":151,"navGroupOrder":151,"navOrder":151,"navTitle":5,"navigation":153,"originalPath":154,"path":155,"redirect":151,"seo":156,"stem":157,"updated":158,"version":159,"__hash__":160},"docs\u002Fdocs\u002Fuser\u002Fhttp-access-tokens.md","HTTP Access Tokens",{"type":7,"value":8,"toc":142},"minimark",[9,13,23,26,29,34,37,40,47,51,59,74,114,121,126,130,138],[10,11,5],"h1",{"id":12},"http-access-tokens",[14,15,16,17,22],"p",{},"When a FlowFuse instance is secured with ",[18,19,21],"a",{"href":20},"\u002Fdocs\u002Fuser\u002Finstance-settings#flowfuse-user-authentication","FlowFuse User Authentication",",\nonly users who are in the same FlowFuse team can access the dashboard and HTTP endpoints\ncreated within Node-RED.",[14,24,25],{},"In some cases, it is also necessary to provide secure access to the endpoints for other applications to use.\nThis is where the HTTP Access Tokens can be used.",[14,27,28],{},"With the FlowFuse User Authentication option enabled on the Instance's Security settings tab, the table of access\ntokens is shown.",[30,31,33],"h3",{"id":32},"creating-an-access-token","Creating an access token",[14,35,36],{},"To create a token, click the Add Token button. Given your token a name and an optional expiry date, then click create.",[14,38,39],{},"You will be shown the token value - this is the only time it will be shown so make a note of it before closing the dialog.",[14,41,42],{},[43,44],"img",{"alt":45,"src":46},"","\u002Fdocs\u002Fuser\u002Fimages\u002Fbearer-token-dialog.png",[30,48,50],{"id":49},"using-an-access-token","Using an access token",[14,52,53,54,58],{},"The token can be used when making an HTTP request to the Node-RED instance by providing it in the ",[55,56,57],"code",{},"Authorization"," http header as\na bearer token.",[14,60,61,62,65,66,69,70,73],{},"For example, if a Node-RED instance has a flow deployed that includes an ",[55,63,64],{},"HTTP In"," node listening on ",[55,67,68],{},"\u002Ftoken-demo",", the following\n",[55,71,72],{},"curl"," command can be used to access it:",[75,76,80],"pre",{"className":77,"code":78,"language":79,"meta":45,"style":45},"language-shell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -H \"Authorization: Bearer ffhttp_FKc_S4qlTBV1H411hmhneHcSJ6F_FGNQLPYbnoD3-B0\" \\\n   https:\u002F\u002Fexample.flowfuse.cloud\u002Ftoken-demo\n","shell",[55,81,82,108],{"__ignoreMap":45},[83,84,87,90,94,98,101,104],"span",{"class":85,"line":86},"line",1,[83,88,72],{"class":89},"sBMFI",[83,91,93],{"class":92},"sfazB"," -H",[83,95,97],{"class":96},"sMK4o"," \"",[83,99,100],{"class":92},"Authorization: Bearer ffhttp_FKc_S4qlTBV1H411hmhneHcSJ6F_FGNQLPYbnoD3-B0",[83,102,103],{"class":96},"\"",[83,105,107],{"class":106},"sTEyZ"," \\\n",[83,109,111],{"class":85,"line":110},2,[83,112,113],{"class":92},"   https:\u002F\u002Fexample.flowfuse.cloud\u002Ftoken-demo\n",[14,115,116,117,120],{},"To access it from another Node-RED instance, you can use the ",[55,118,119],{},"HTTP Request"," node by enabling the 'Use authentication'\noption, selecting 'bearer authentication' and providing the token:",[14,122,123],{},[43,124],{"alt":45,"src":125},"\u002Fdocs\u002Fuser\u002Fimages\u002Fbearer-token-nr-request.png",[30,127,129],{"id":128},"remote-instances","Remote Instances",[14,131,132,133,137],{},"HTTP Access Tokens can also be used to secure HTTP endpoints served by Node-RED flows running on Remote Instances (devices). This requires ",[18,134,136],{"href":135},"\u002Fdocs\u002Fdevice-agent\u002Fintroduction","Device Agent v4"," or later. On self-hosted FlowFuse, it also requires FlowFuse v2.32 or later.",[139,140,141],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":45,"searchDepth":143,"depth":143,"links":144},4,[145,147,148],{"id":32,"depth":146,"text":33},3,{"id":49,"depth":146,"text":50},{"id":128,"depth":146,"text":129},"When a FlowFuse instance is secured with FlowFuse User Authentication,\nonly users who are in the same FlowFuse team can access the dashboard and HTTP endpoints\ncreated within Node-RED.","md",null,{},true,"user\u002Fhttp-access-tokens.md","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",{"title":5,"description":149},"docs\u002Fuser\u002Fhttp-access-tokens","2026-07-02 16:30:21 +0100","2.33.2","Ppy6dstw29xUlPnxJZXk7rV6-A70uzifIgC4vyVoh0E",[162,169,188,200],{"name":163,"order":86,"children":164},"FlowFuse User Manuals",[165],{"title":166,"path":167,"group":163,"groupOrder":86,"order":110,"children":168},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":170,"order":143,"children":171},"FlowFuse Self-Hosted",[172,176],{"title":173,"path":174,"group":170,"groupOrder":143,"order":86,"children":175},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":177,"path":178,"group":170,"groupOrder":143,"order":146,"children":179},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[180,184],{"title":181,"path":182,"order":151,"children":183},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":185,"path":186,"order":151,"children":187},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":189,"order":190,"children":191},"Support",5,[192,196],{"title":193,"path":194,"group":189,"groupOrder":190,"order":146,"children":195},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":197,"path":198,"group":189,"groupOrder":190,"order":151,"children":199},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":201,"order":151,"children":202},"Other",[203,251,263,342,390,409,483,494],{"title":204,"path":205,"order":151,"children":206},"admin","\u002Fdocs\u002Fadmin",[207,211,223,231,235,239,243,247],{"title":208,"path":209,"order":86,"children":210},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":212,"path":213,"order":151,"children":214},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[215,219],{"title":216,"path":217,"order":151,"children":218},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":220,"path":221,"order":151,"children":222},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":224,"path":225,"order":151,"children":226},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[227],{"title":228,"path":229,"order":151,"children":230},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":232,"path":233,"order":151,"children":234},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":236,"path":237,"order":151,"children":238},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":240,"path":241,"order":151,"children":242},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":244,"path":245,"order":151,"children":246},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":248,"path":249,"order":151,"children":250},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":252,"path":253,"order":151,"children":254},"cloud","\u002Fdocs\u002Fcloud",[255,259],{"title":256,"path":257,"order":86,"children":258},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":260,"path":261,"order":151,"children":262},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":264,"path":265,"order":151,"children":266},"contribute","\u002Fdocs\u002Fcontribute",[267,270,274,278,282,286,290,298,334,338],{"title":256,"path":268,"order":86,"children":269},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":271,"path":272,"order":151,"children":273},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":275,"path":276,"order":151,"children":277},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":279,"path":280,"order":151,"children":281},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":283,"path":284,"order":151,"children":285},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":287,"path":288,"order":151,"children":289},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":291,"path":292,"order":151,"children":293},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[294],{"title":295,"path":296,"order":151,"children":297},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":299,"path":300,"order":151,"children":301},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[302,306,310,314,318,322,326,330],{"title":303,"path":304,"order":151,"children":305},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":307,"path":308,"order":151,"children":309},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":311,"path":312,"order":151,"children":313},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":315,"path":316,"order":151,"children":317},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":319,"path":320,"order":151,"children":321},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":323,"path":324,"order":151,"children":325},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":327,"path":328,"order":151,"children":329},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":331,"path":332,"order":151,"children":333},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":335,"path":336,"order":151,"children":337},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":339,"path":340,"order":151,"children":341},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":343,"path":344,"order":151,"children":345},"device-agent","\u002Fdocs\u002Fdevice-agent",[346,349,352,356,360,365],{"title":347,"path":135,"order":86,"children":348},"FlowFuse Device Agent Introduction",[],{"title":173,"path":350,"order":110,"children":351},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":353,"path":354,"order":143,"children":355},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":357,"path":358,"order":190,"children":359},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":361,"path":362,"order":363,"children":364},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":366,"path":367,"order":151,"children":368},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[369,374,378,382,386],{"title":370,"path":371,"group":372,"order":86,"children":373},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":375,"path":376,"group":372,"order":110,"children":377},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":379,"path":380,"group":372,"order":146,"children":381},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":383,"path":384,"group":372,"order":143,"children":385},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":387,"path":388,"group":372,"order":190,"children":389},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":391,"path":392,"order":151,"children":393},"hardware","\u002Fdocs\u002Fhardware",[394,397,401,405],{"title":370,"path":395,"order":86,"children":396},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":398,"path":399,"order":110,"children":400},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":402,"path":403,"order":146,"children":404},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":406,"path":407,"order":146,"children":408},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":366,"path":410,"order":151,"children":411},"\u002Fdocs\u002Finstall",[412,415,419,423,443,447,451,455],{"title":370,"path":413,"order":86,"children":414},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":416,"path":417,"order":151,"children":418},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":420,"path":421,"order":151,"children":422},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":424,"path":425,"order":151,"children":426},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[427,431,435,439],{"title":428,"path":429,"order":151,"children":430},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":432,"path":433,"order":151,"children":434},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":436,"path":437,"order":151,"children":438},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":440,"path":441,"order":151,"children":442},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":444,"path":445,"order":151,"children":446},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":448,"path":449,"order":151,"children":450},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":452,"path":453,"order":151,"children":454},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":456,"path":457,"order":151,"children":458},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[459,463,467,471,475,479],{"title":460,"path":461,"order":151,"children":462},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":464,"path":465,"order":151,"children":466},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":468,"path":469,"order":151,"children":470},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":472,"path":473,"order":151,"children":474},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":476,"path":477,"order":151,"children":478},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":480,"path":481,"order":151,"children":482},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":484,"path":485,"order":151,"children":486},"migration","\u002Fdocs\u002Fmigration",[487,490],{"title":256,"path":488,"order":86,"children":489},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":491,"path":492,"order":151,"children":493},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":495,"path":496,"order":151,"children":497},"user","\u002Fdocs\u002Fuser",[498,502,506,510,514,519,523,527,531,535,539,543,555,559,563,567,571,575,579,583,585,589,593,597,601,605,608,612],{"title":499,"path":500,"order":86,"children":501},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":503,"path":504,"order":86,"children":505},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":507,"path":508,"order":110,"children":509},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":511,"path":512,"order":110,"children":513},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":515,"path":516,"order":517,"children":518},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":520,"path":521,"order":151,"children":522},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":524,"path":525,"order":151,"children":526},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":528,"path":529,"order":151,"children":530},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":532,"path":533,"order":151,"children":534},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":536,"path":537,"order":151,"children":538},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":540,"path":541,"order":151,"children":542},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":544,"path":545,"order":151,"children":546},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[547,551],{"title":548,"path":549,"order":151,"children":550},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":552,"path":553,"order":151,"children":554},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":556,"path":557,"order":151,"children":558},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":560,"path":561,"order":151,"children":562},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":564,"path":565,"order":151,"children":566},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":568,"path":569,"order":151,"children":570},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":572,"path":573,"order":151,"children":574},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":576,"path":577,"order":151,"children":578},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":580,"path":581,"order":151,"children":582},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":5,"path":155,"order":151,"children":584},[],{"title":586,"path":587,"order":151,"children":588},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":590,"path":591,"order":151,"children":592},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":594,"path":595,"order":151,"children":596},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":598,"path":599,"order":151,"children":600},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":602,"path":603,"order":151,"children":604},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":335,"path":606,"order":151,"children":607},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":609,"path":610,"order":151,"children":611},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":613,"path":614,"order":151,"children":615},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546044683]