Node-RED · Capability

Node-RED Admin API

Node-RED Admin API. 20 operations. Lead operation: Get the active authentication scheme. Self-contained Naftiko capability covering one Node Red business surface.

Run with Naftiko Node RedNode-RED Admin API

What You Can Do

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

MCP Tools

get-active-authentication-scheme

Get the active authentication scheme

read-only idempotent
revoke-access-token

Revoke an access token

exchange-credentials-access-token

Exchange credentials for an access token

get-runtime-diagnostics

Get the runtime diagnostics

read-only idempotent
add-flow-active-configuration

Add a flow to the active configuration

get-individual-flow-configuration

Get an individual flow configuration

read-only idempotent
update-individual-flow-configuration

Update an individual flow configuration

idempotent
delete-individual-flow-configuration

Delete an individual flow configuration

idempotent
get-active-flow-configuration

Get the active flow configuration

read-only idempotent
set-active-flow-configuration

Set the active flow configuration

get-active-flow-runtime-state

Get the active flow runtime state

read-only idempotent
set-active-flow-runtime-state

Set the active flow runtime state

get-list-installed-nodes

Get a list of the installed nodes

read-only idempotent
install-new-node-module

Install a new node module

get-node-module-information

Get a node module information

read-only idempotent
enable-disable-node-module

Enable or disable a node module

idempotent
remove-node-module

Remove a node module

idempotent
get-node-module-set-information

Get a node module set information

read-only idempotent
enable-disable-node-set

Enable or disable a node set

idempotent
get-runtime-settings

Get the runtime settings

read-only idempotent

Capability Spec

admin.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Node-RED Admin API
  description: 'Node-RED Admin API. 20 operations. Lead operation: Get the active authentication scheme. Self-contained Naftiko
    capability covering one Node Red business surface.'
  tags:
  - Node Red
  - Node-RED Admin API
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NODE_RED_API_KEY: NODE_RED_API_KEY
capability:
  consumes:
  - type: http
    namespace: admin
    baseUri: http://{host}:{port}
    description: Node-RED Admin API business capability. Self-contained, no shared references.
    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-revoke
      path: /auth/revoke
      operations:
      - name: postauthrevoke
        method: POST
        description: Revoke an access token
        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: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: diagnostics
      path: /diagnostics
      operations:
      - name: getdiagnostics
        method: GET
        description: Get the runtime diagnostics
        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: 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: 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: $.
    - name: settings
      path: /settings
      operations:
      - name: getsettings
        method: GET
        description: Get the runtime settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.NODE_RED_API_KEY}}'
  exposes:
  - type: rest
    namespace: admin-rest
    port: 8080
    description: REST adapter for Node-RED Admin API. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/auth/login
      name: auth-login
      description: REST surface for auth-login.
      operations:
      - method: GET
        name: getauthlogin
        description: Get the active authentication scheme
        call: admin.getauthlogin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/auth/revoke
      name: auth-revoke
      description: REST surface for auth-revoke.
      operations:
      - method: POST
        name: postauthrevoke
        description: Revoke an access token
        call: admin.postauthrevoke
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/auth/token
      name: auth-token
      description: REST surface for auth-token.
      operations:
      - method: POST
        name: postauthtoken
        description: Exchange credentials for an access token
        call: admin.postauthtoken
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/diagnostics
      name: diagnostics
      description: REST surface for diagnostics.
      operations:
      - method: GET
        name: getdiagnostics
        description: Get the runtime diagnostics
        call: admin.getdiagnostics
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flow
      name: flow
      description: REST surface for flow.
      operations:
      - method: POST
        name: postflow
        description: Add a flow to the active configuration
        call: admin.postflow
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flow/{id}
      name: flow-id
      description: REST surface for flow-id.
      operations:
      - method: GET
        name: getflowbyid
        description: Get an individual flow configuration
        call: admin.getflowbyid
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putflowbyid
        description: Update an individual flow configuration
        call: admin.putflowbyid
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteflowbyid
        description: Delete an individual flow configuration
        call: admin.deleteflowbyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flows
      name: flows
      description: REST surface for flows.
      operations:
      - method: GET
        name: getflows
        description: Get the active flow configuration
        call: admin.getflows
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postflows
        description: Set the active flow configuration
        call: admin.postflows
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/flows/state
      name: flows-state
      description: REST surface for flows-state.
      operations:
      - method: GET
        name: getflowsstate
        description: Get the active flow runtime state
        call: admin.getflowsstate
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postflowsstate
        description: Set the active flow runtime state
        call: admin.postflowsstate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nodes
      name: nodes
      description: REST surface for nodes.
      operations:
      - method: GET
        name: getnodes
        description: Get a list of the installed nodes
        call: admin.getnodes
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postnodes
        description: Install a new node module
        call: admin.postnodes
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nodes/{module}
      name: nodes-module
      description: REST surface for nodes-module.
      operations:
      - method: GET
        name: getnodemodule
        description: Get a node module information
        call: admin.getnodemodule
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putnodemodule
        description: Enable or disable a node module
        call: admin.putnodemodule
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletenodemodule
        description: Remove a node module
        call: admin.deletenodemodule
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nodes/{module}/{set}
      name: nodes-module-set
      description: REST surface for nodes-module-set.
      operations:
      - method: GET
        name: getnodemoduleset
        description: Get a node module set information
        call: admin.getnodemoduleset
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putnodemoduleset
        description: Enable or disable a node set
        call: admin.putnodemoduleset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/settings
      name: settings
      description: REST surface for settings.
      operations:
      - method: GET
        name: getsettings
        description: Get the runtime settings
        call: admin.getsettings
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: admin-mcp
    port: 9090
    transport: http
    description: MCP adapter for Node-RED Admin API. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-active-authentication-scheme
      description: Get the active authentication scheme
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getauthlogin
      outputParameters:
      - type: object
        mapping: $.
    - name: revoke-access-token
      description: Revoke an access token
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin.postauthrevoke
      outputParameters:
      - type: object
        mapping: $.
    - name: exchange-credentials-access-token
      description: Exchange credentials for an access token
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin.postauthtoken
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-runtime-diagnostics
      description: Get the runtime diagnostics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getdiagnostics
      outputParameters:
      - type: object
        mapping: $.
    - name: add-flow-active-configuration
      description: Add a flow to the active configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin.postflow
      outputParameters:
      - type: object
        mapping: $.
    - name: get-individual-flow-configuration
      description: Get an individual flow configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getflowbyid
      outputParameters:
      - type: object
        mapping: $.
    - name: update-individual-flow-configuration
      description: Update an individual flow configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin.putflowbyid
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-individual-flow-configuration
      description: Delete an individual flow configuration
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: admin.deleteflowbyid
      outputParameters:
      - type: object
        mapping: $.
    - name: get-active-flow-configuration
      description: Get the active flow configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getflows
      outputParameters:
      - type: object
        mapping: $.
    - name: set-active-flow-configuration
      description: Set the active flow configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin.postflows
      outputParameters:
      - type: object
        mapping: $.
    - name: get-active-flow-runtime-state
      description: Get the active flow runtime state
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getflowsstate
      outputParameters:
      - type: object
        mapping: $.
    - name: set-active-flow-runtime-state
      description: Set the active flow runtime state
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin.postflowsstate
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list-installed-nodes
      description: Get a list of the installed nodes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getnodes
      outputParameters:
      - type: object
        mapping: $.
    - name: install-new-node-module
      description: Install a new node module
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin.postnodes
      outputParameters:
      - type: object
        mapping: $.
    - name: get-node-module-information
      description: Get a node module information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getnodemodule
      outputParameters:
      - type: object
        mapping: $.
    - name: enable-disable-node-module
      description: Enable or disable a node module
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin.putnodemodule
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-node-module
      description: Remove a node module
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: admin.deletenodemodule
      outputParameters:
      - type: object
        mapping: $.
    - name: get-node-module-set-information
      description: Get a node module set information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getnodemoduleset
      outputParameters:
      - type: object
        mapping: $.
    - name: enable-disable-node-set
      description: Enable or disable a node set
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin.putnodemoduleset
      outputParameters:
      - type: object
        mapping: $.
    - name: get-runtime-settings
      description: Get the runtime settings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin.getsettings
      outputParameters:
      - type: object
        mapping: $.