Node-RED · Capability

Node-RED Admin API

Node-RED's Admin HTTP API enables remote administration of the runtime. It is used by the Node-RED Editor and the command-line admin tool to manage flows, nodes, settings, and authentication.

Run with Naftiko NodeRedAPI

What You Can Do

GET
Getauthlogin — Get the active authentication scheme
/auth/login
POST
Postauthtoken — Exchange credentials for an access token
/auth/token
POST
Postauthrevoke — Revoke an access token
/auth/revoke
GET
Getsettings — Get the runtime settings
/settings
GET
Getdiagnostics — Get the runtime diagnostics
/diagnostics
GET
Getflows — Get the active flow configuration
/flows
POST
Postflows — Set the active flow configuration
/flows
GET
Getflowsstate — Get the active flow runtime state
/flows/state
POST
Postflowsstate — Set the active flow runtime state
/flows/state
POST
Postflow — Add a flow to the active configuration
/flow
GET
Getflowbyid — Get an individual flow configuration
/flow/{id}
PUT
Putflowbyid — Update an individual flow configuration
/flow/{id}
DELETE
Deleteflowbyid — Delete an individual flow configuration
/flow/{id}
GET
Getnodes — Get a list of the installed nodes
/nodes
POST
Postnodes — Install a new node module
/nodes
GET
Getnodemodule — Get a node module information
/nodes/{module}
PUT
Putnodemodule — Enable or disable a node module
/nodes/{module}
DELETE
Deletenodemodule — Remove a node module
/nodes/{module}
GET
Getnodemoduleset — Get a node module set information
/nodes/{module}/{set}
PUT
Putnodemoduleset — Enable or disable a node set
/nodes/{module}/{set}

MCP Tools

getauthlogin

Get the active authentication scheme

read-only idempotent
postauthtoken

Exchange credentials for an access token

postauthrevoke

Revoke an access token

getsettings

Get the runtime settings

read-only idempotent
getdiagnostics

Get the runtime diagnostics

read-only idempotent
getflows

Get the active flow configuration

read-only idempotent
postflows

Set the active flow configuration

getflowsstate

Get the active flow runtime state

read-only idempotent
postflowsstate

Set the active flow runtime state

postflow

Add a flow to the active configuration

getflowbyid

Get an individual flow configuration

read-only idempotent
putflowbyid

Update an individual flow configuration

idempotent
deleteflowbyid

Delete an individual flow configuration

idempotent
getnodes

Get a list of the installed nodes

read-only idempotent
postnodes

Install a new node module

getnodemodule

Get a node module information

read-only idempotent
putnodemodule

Enable or disable a node module

idempotent
deletenodemodule

Remove a node module

idempotent
getnodemoduleset

Get a node module set information

read-only idempotent
putnodemoduleset

Enable or disable a node set

idempotent

Capability Spec

node-red-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Node-RED Admin API
  description: Node-RED's Admin HTTP API enables remote administration of the runtime. It is used by the Node-RED Editor and
    the command-line admin tool to manage flows, nodes, settings, and authentication.
  tags:
  - Node
  - Red
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: node-red
    baseUri: http://localhost:1880
    description: Node-RED Admin API HTTP API.
    authentication:
      type: bearer
      token: '{{NODE_RED_TOKEN}}'
    resources:
    - name: auth-login
      path: /auth/login
      operations:
      - name: getauthlogin
        method: GET
        description: Get the active authentication scheme
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-token
      path: /auth/token
      operations:
      - name: postauthtoken
        method: POST
        description: Exchange credentials for an access token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-revoke
      path: /auth/revoke
      operations:
      - name: postauthrevoke
        method: POST
        description: Revoke an access token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: settings
      path: /settings
      operations:
      - name: getsettings
        method: GET
        description: Get the runtime settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: diagnostics
      path: /diagnostics
      operations:
      - name: getdiagnostics
        method: GET
        description: Get the runtime diagnostics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flows
      path: /flows
      operations:
      - name: getflows
        method: GET
        description: Get the active flow configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: postflows
        method: POST
        description: Set the active flow configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flows-state
      path: /flows/state
      operations:
      - name: getflowsstate
        method: GET
        description: Get the active flow runtime state
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: postflowsstate
        method: POST
        description: Set the active flow runtime state
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flow
      path: /flow
      operations:
      - name: postflow
        method: POST
        description: Add a flow to the active configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flow-id
      path: /flow/{id}
      operations:
      - name: getflowbyid
        method: GET
        description: Get an individual flow configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: putflowbyid
        method: PUT
        description: Update an individual flow configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteflowbyid
        method: DELETE
        description: Delete an individual flow configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: nodes
      path: /nodes
      operations:
      - name: getnodes
        method: GET
        description: Get a list of the installed nodes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: postnodes
        method: POST
        description: Install a new node module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: nodes-module
      path: /nodes/{module}
      operations:
      - name: getnodemodule
        method: GET
        description: Get a node module information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: putnodemodule
        method: PUT
        description: Enable or disable a node module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletenodemodule
        method: DELETE
        description: Remove a node module
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: nodes-module-set
      path: /nodes/{module}/{set}
      operations:
      - name: getnodemoduleset
        method: GET
        description: Get a node module set information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: putnodemoduleset
        method: PUT
        description: Enable or disable a node set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: node-red-rest
    description: REST adapter for Node-RED Admin API.
    resources:
    - path: /auth/login
      name: getauthlogin
      operations:
      - method: GET
        name: getauthlogin
        description: Get the active authentication scheme
        call: node-red.getauthlogin
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/token
      name: postauthtoken
      operations:
      - method: POST
        name: postauthtoken
        description: Exchange credentials for an access token
        call: node-red.postauthtoken
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/revoke
      name: postauthrevoke
      operations:
      - method: POST
        name: postauthrevoke
        description: Revoke an access token
        call: node-red.postauthrevoke
        outputParameters:
        - type: object
          mapping: $.
    - path: /settings
      name: getsettings
      operations:
      - method: GET
        name: getsettings
        description: Get the runtime settings
        call: node-red.getsettings
        outputParameters:
        - type: object
          mapping: $.
    - path: /diagnostics
      name: getdiagnostics
      operations:
      - method: GET
        name: getdiagnostics
        description: Get the runtime diagnostics
        call: node-red.getdiagnostics
        outputParameters:
        - type: object
          mapping: $.
    - path: /flows
      name: getflows
      operations:
      - method: GET
        name: getflows
        description: Get the active flow configuration
        call: node-red.getflows
        outputParameters:
        - type: object
          mapping: $.
    - path: /flows
      name: postflows
      operations:
      - method: POST
        name: postflows
        description: Set the active flow configuration
        call: node-red.postflows
        outputParameters:
        - type: object
          mapping: $.
    - path: /flows/state
      name: getflowsstate
      operations:
      - method: GET
        name: getflowsstate
        description: Get the active flow runtime state
        call: node-red.getflowsstate
        outputParameters:
        - type: object
          mapping: $.
    - path: /flows/state
      name: postflowsstate
      operations:
      - method: POST
        name: postflowsstate
        description: Set the active flow runtime state
        call: node-red.postflowsstate
        outputParameters:
        - type: object
          mapping: $.
    - path: /flow
      name: postflow
      operations:
      - method: POST
        name: postflow
        description: Add a flow to the active configuration
        call: node-red.postflow
        outputParameters:
        - type: object
          mapping: $.
    - path: /flow/{id}
      name: getflowbyid
      operations:
      - method: GET
        name: getflowbyid
        description: Get an individual flow configuration
        call: node-red.getflowbyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /flow/{id}
      name: putflowbyid
      operations:
      - method: PUT
        name: putflowbyid
        description: Update an individual flow configuration
        call: node-red.putflowbyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /flow/{id}
      name: deleteflowbyid
      operations:
      - method: DELETE
        name: deleteflowbyid
        description: Delete an individual flow configuration
        call: node-red.deleteflowbyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes
      name: getnodes
      operations:
      - method: GET
        name: getnodes
        description: Get a list of the installed nodes
        call: node-red.getnodes
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes
      name: postnodes
      operations:
      - method: POST
        name: postnodes
        description: Install a new node module
        call: node-red.postnodes
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes/{module}
      name: getnodemodule
      operations:
      - method: GET
        name: getnodemodule
        description: Get a node module information
        call: node-red.getnodemodule
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes/{module}
      name: putnodemodule
      operations:
      - method: PUT
        name: putnodemodule
        description: Enable or disable a node module
        call: node-red.putnodemodule
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes/{module}
      name: deletenodemodule
      operations:
      - method: DELETE
        name: deletenodemodule
        description: Remove a node module
        call: node-red.deletenodemodule
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes/{module}/{set}
      name: getnodemoduleset
      operations:
      - method: GET
        name: getnodemoduleset
        description: Get a node module set information
        call: node-red.getnodemoduleset
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes/{module}/{set}
      name: putnodemoduleset
      operations:
      - method: PUT
        name: putnodemoduleset
        description: Enable or disable a node set
        call: node-red.putnodemoduleset
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: node-red-mcp
    transport: http
    description: MCP adapter for Node-RED Admin API for AI agent use.
    tools:
    - name: getauthlogin
      description: Get the active authentication scheme
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getauthlogin
      outputParameters:
      - type: object
        mapping: $.
    - name: postauthtoken
      description: Exchange credentials for an access token
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: node-red.postauthtoken
      outputParameters:
      - type: object
        mapping: $.
    - name: postauthrevoke
      description: Revoke an access token
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: node-red.postauthrevoke
      outputParameters:
      - type: object
        mapping: $.
    - name: getsettings
      description: Get the runtime settings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getsettings
      outputParameters:
      - type: object
        mapping: $.
    - name: getdiagnostics
      description: Get the runtime diagnostics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getdiagnostics
      outputParameters:
      - type: object
        mapping: $.
    - name: getflows
      description: Get the active flow configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getflows
      outputParameters:
      - type: object
        mapping: $.
    - name: postflows
      description: Set the active flow configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: node-red.postflows
      outputParameters:
      - type: object
        mapping: $.
    - name: getflowsstate
      description: Get the active flow runtime state
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getflowsstate
      outputParameters:
      - type: object
        mapping: $.
    - name: postflowsstate
      description: Set the active flow runtime state
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: node-red.postflowsstate
      outputParameters:
      - type: object
        mapping: $.
    - name: postflow
      description: Add a flow to the active configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: node-red.postflow
      outputParameters:
      - type: object
        mapping: $.
    - name: getflowbyid
      description: Get an individual flow configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getflowbyid
      outputParameters:
      - type: object
        mapping: $.
    - name: putflowbyid
      description: Update an individual flow configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: node-red.putflowbyid
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteflowbyid
      description: Delete an individual flow configuration
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: node-red.deleteflowbyid
      outputParameters:
      - type: object
        mapping: $.
    - name: getnodes
      description: Get a list of the installed nodes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getnodes
      outputParameters:
      - type: object
        mapping: $.
    - name: postnodes
      description: Install a new node module
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: node-red.postnodes
      outputParameters:
      - type: object
        mapping: $.
    - name: getnodemodule
      description: Get a node module information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getnodemodule
      outputParameters:
      - type: object
        mapping: $.
    - name: putnodemodule
      description: Enable or disable a node module
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: node-red.putnodemodule
      outputParameters:
      - type: object
        mapping: $.
    - name: deletenodemodule
      description: Remove a node module
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: node-red.deletenodemodule
      outputParameters:
      - type: object
        mapping: $.
    - name: getnodemoduleset
      description: Get a node module set information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: node-red.getnodemoduleset
      outputParameters:
      - type: object
        mapping: $.
    - name: putnodemoduleset
      description: Enable or disable a node set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: node-red.putnodemoduleset
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    NODE_RED_TOKEN: NODE_RED_TOKEN