openapi: 3.1.0 info: title: 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. version: 4.0.0 contact: name: Node-RED Project url: https://nodered.org license: name: Apache-2.0 url: https://www.apache.org/licenses/LICENSE-2.0 externalDocs: description: Node-RED Admin API Reference url: https://nodered.org/docs/api/admin/methods/ servers: - url: http://{host}:{port} variables: host: default: localhost description: Host where Node-RED is running port: default: "1880" description: Node-RED HTTP port security: - BearerAuth: [] paths: /auth/login: get: summary: Get the active authentication scheme operationId: getAuthLogin responses: '200': description: Active authentication scheme /auth/token: post: summary: Exchange credentials for an access token operationId: postAuthToken requestBody: required: true content: application/json: schema: type: object properties: client_id: { type: string } grant_type: { type: string } scope: { type: string } username: { type: string } password: { type: string } responses: '200': description: Access token issued /auth/revoke: post: summary: Revoke an access token operationId: postAuthRevoke responses: '200': description: Token revoked /settings: get: summary: Get the runtime settings operationId: getSettings responses: '200': description: Runtime settings /diagnostics: get: summary: Get the runtime diagnostics operationId: getDiagnostics responses: '200': description: Runtime diagnostics /flows: get: summary: Get the active flow configuration operationId: getFlows responses: '200': description: Active flow configuration post: summary: Set the active flow configuration operationId: postFlows responses: '204': description: Flow configuration updated /flows/state: get: summary: Get the active flow runtime state operationId: getFlowsState responses: '200': description: Runtime flow state post: summary: Set the active flow runtime state operationId: postFlowsState responses: '200': description: Flow state updated /flow: post: summary: Add a flow to the active configuration operationId: postFlow responses: '200': description: Flow added /flow/{id}: parameters: - in: path name: id required: true schema: { type: string } get: summary: Get an individual flow configuration operationId: getFlowById responses: '200': description: Flow configuration put: summary: Update an individual flow configuration operationId: putFlowById responses: '200': description: Flow updated delete: summary: Delete an individual flow configuration operationId: deleteFlowById responses: '204': description: Flow removed /nodes: get: summary: Get a list of the installed nodes operationId: getNodes responses: '200': description: List of installed nodes post: summary: Install a new node module operationId: postNodes responses: '200': description: Node module installed /nodes/{module}: parameters: - in: path name: module required: true schema: { type: string } get: summary: Get a node module information operationId: getNodeModule responses: '200': description: Module information put: summary: Enable or disable a node module operationId: putNodeModule responses: '200': description: Module state updated delete: summary: Remove a node module operationId: deleteNodeModule responses: '204': description: Module removed /nodes/{module}/{set}: parameters: - in: path name: module required: true schema: { type: string } - in: path name: set required: true schema: { type: string } get: summary: Get a node module set information operationId: getNodeModuleSet responses: '200': description: Module set information put: summary: Enable or disable a node set operationId: putNodeModuleSet responses: '200': description: Set state updated components: securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT