ssummer3
10/13/2016 - 3:44 AM

Apache NiFi 1.0.0 swagger.json

Apache NiFi 1.0.0 swagger.json

{
  "swagger" : "2.0",
  "info" : {
    "description" : "The Rest Api provides programmatic access to command and control a NiFi instance in real time. Start and \n                                            stop processors, monitor queues, query provenance data, and more. Each endpoint below includes a description,\n                                            definitions of the expected input and output, potential response codes, and the authorizations required\n                                            to invoke each service.",
    "version" : "1.0.0",
    "title" : "NiFi Rest Api",
    "contact" : {
      "url" : "https://nifi.apache.org",
      "email" : "dev@nifi.apache.org"
    },
    "license" : {
      "name" : "Apache 2.0",
      "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "basePath" : "/nifi-api",
  "tags" : [ {
    "name" : "output-ports"
  }, {
    "name" : "input-ports"
  }, {
    "name" : "access"
  }, {
    "name" : "site-to-site"
  }, {
    "name" : "connections"
  }, {
    "name" : "templates"
  }, {
    "name" : "provenance-events"
  }, {
    "name" : "policies"
  }, {
    "name" : "resources"
  }, {
    "name" : "system-diagnostics"
  }, {
    "name" : "counters"
  }, {
    "name" : "remote-process-groups"
  }, {
    "name" : "labels"
  }, {
    "name" : "provenance"
  }, {
    "name" : "tenants"
  }, {
    "name" : "funnel"
  }, {
    "name" : "controller"
  }, {
    "name" : "processors"
  }, {
    "name" : "flow"
  }, {
    "name" : "snippets"
  }, {
    "name" : "flowfile-queues"
  }, {
    "name" : "controller-services"
  }, {
    "name" : "data-transfer"
  }, {
    "name" : "process-groups"
  }, {
    "name" : "reporting-tasks"
  } ],
  "schemes" : [ "http", "https" ],
  "paths" : {
    "/access" : {
      "get" : {
        "tags" : [ "access" ],
        "summary" : "Gets the status the client's access",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getAccessStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AccessStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Unable to determine access status because the client could not be authenticated."
          },
          "403" : {
            "description" : "Unable to determine access status because the client is not authorized to make this request."
          },
          "409" : {
            "description" : "Unable to determine access status because NiFi is not in the appropriate state."
          },
          "500" : {
            "description" : "Unable to determine access status because an unexpected error occurred."
          }
        }
      }
    },
    "/access/config" : {
      "get" : {
        "tags" : [ "access" ],
        "summary" : "Retrieves the access configuration for this NiFi",
        "description" : "",
        "operationId" : "getLoginConfig",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AccessConfigurationEntity"
            }
          }
        }
      }
    },
    "/access/download-token" : {
      "post" : {
        "tags" : [ "access" ],
        "summary" : "Creates a single use access token for downloading FlowFile content.",
        "description" : "The token returned is a base64 encoded string. It is valid for a single request up to five minutes from being issued. It is used as a query parameter name 'access_token'.",
        "operationId" : "createDownloadToken",
        "consumes" : [ "application/x-www-form-urlencoded" ],
        "produces" : [ "text/plain" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "string"
            }
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "Unable to create the download token because NiFi is not in the appropriate state. (i.e. may not have any tokens to grant or be configured to support username/password login)"
          },
          "500" : {
            "description" : "Unable to create download token because an unexpected error occurred."
          }
        }
      }
    },
    "/access/kerberos" : {
      "post" : {
        "tags" : [ "access" ],
        "summary" : "Creates a token for accessing the REST API via Kerberos ticket exchange / SPNEGO negotiation",
        "description" : "The token returned is formatted as a JSON Web Token (JWT). The token is base64 encoded and comprised of three parts. The header, the body, and the signature. The expiration of the token is a contained within the body. The token can be used in the Authorization header in the format 'Authorization: Bearer <token>'.",
        "operationId" : "createAccessTokenFromTicket",
        "consumes" : [ "text/plain" ],
        "produces" : [ "text/plain" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "string"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "NiFi was unable to complete the request because it did not contain a valid Kerberos ticket in the Authorization header. Retry this request after initializing a ticket with kinit and ensuring your browser is configured to support SPNEGO."
          },
          "409" : {
            "description" : "Unable to create access token because NiFi is not in the appropriate state. (i.e. may not be configured to support Kerberos login."
          },
          "500" : {
            "description" : "Unable to create access token because an unexpected error occurred."
          }
        }
      }
    },
    "/access/token" : {
      "post" : {
        "tags" : [ "access" ],
        "summary" : "Creates a token for accessing the REST API via username/password",
        "description" : "The token returned is formatted as a JSON Web Token (JWT). The token is base64 encoded and comprised of three parts. The header, the body, and the signature. The expiration of the token is a contained within the body. The token can be used in the Authorization header in the format 'Authorization: Bearer <token>'.",
        "operationId" : "createAccessToken",
        "consumes" : [ "application/x-www-form-urlencoded" ],
        "produces" : [ "text/plain" ],
        "parameters" : [ {
          "name" : "username",
          "in" : "formData",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "password",
          "in" : "formData",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "string"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "Unable to create access token because NiFi is not in the appropriate state. (i.e. may not be configured to support username/password login."
          },
          "500" : {
            "description" : "Unable to create access token because an unexpected error occurred."
          }
        }
      }
    },
    "/access/ui-extension-token" : {
      "post" : {
        "tags" : [ "access" ],
        "summary" : "Creates a single use access token for accessing a NiFi UI extension.",
        "description" : "The token returned is a base64 encoded string. It is valid for a single request up to five minutes from being issued. It is used as a query parameter name 'access_token'.",
        "operationId" : "createUiExtensionToken",
        "consumes" : [ "application/x-www-form-urlencoded" ],
        "produces" : [ "text/plain" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "string"
            }
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "Unable to create the download token because NiFi is not in the appropriate state. (i.e. may not have any tokens to grant or be configured to support username/password login)"
          },
          "500" : {
            "description" : "Unable to create download token because an unexpected error occurred."
          }
        }
      }
    },
    "/connections/{id}" : {
      "get" : {
        "tags" : [ "connections" ],
        "summary" : "Gets a connection",
        "description" : "",
        "operationId" : "getConnection",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ConnectionEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Source - /{component-type}/{uuid}" : [ ]
        }, {
          "Read Destination - /{component-type}/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "connections" ],
        "summary" : "Updates a connection",
        "description" : "",
        "operationId" : "updateConnection",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The connection configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ConnectionEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ConnectionEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write Source - /{component-type}/{uuid}" : [ ]
        }, {
          "Write Destination - /{component-type}/{uuid}" : [ ]
        }, {
          "Write New Destination - /{component-type}/{uuid} - if updating Destination" : [ ]
        }, {
          "Write Process Group - /process-groups/{uuid} - if updating Destination" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "connections" ],
        "summary" : "Deletes a connection",
        "description" : "",
        "operationId" : "deleteConnection",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ConnectionEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write Source - /{component-type}/{uuid}" : [ ]
        }, {
          "Write Destination - /{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/controller-services/{id}" : {
      "get" : {
        "tags" : [ "controller-services" ],
        "summary" : "Gets a controller service",
        "description" : "",
        "operationId" : "getControllerService",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /controller-services/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "controller-services" ],
        "summary" : "Updates a controller service",
        "description" : "",
        "operationId" : "updateControllerService",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The controller service configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ControllerServiceEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller-services/{uuid}" : [ ]
        }, {
          "Read - any referenced Controller Services - /controller-services/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "controller-services" ],
        "summary" : "Deletes a controller service",
        "description" : "",
        "operationId" : "removeControllerService",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/controller-services/{id}/descriptors" : {
      "get" : {
        "tags" : [ "controller-services" ],
        "summary" : "Gets a controller service property descriptor",
        "description" : "",
        "operationId" : "getPropertyDescriptor",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "propertyName",
          "in" : "query",
          "description" : "The property name to return the descriptor for.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PropertyDescriptorEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/controller-services/{id}/references" : {
      "get" : {
        "tags" : [ "controller-services" ],
        "summary" : "Gets a controller service",
        "description" : "",
        "operationId" : "getControllerServiceReferences",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /controller-services/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "controller-services" ],
        "summary" : "Updates a controller services references",
        "description" : "",
        "operationId" : "updateControllerServiceReferences",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The controller service request update request.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/UpdateControllerServiceReferenceRequestEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceReferencingComponentsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /{component-type}/{uuid} - For each referencing component specified" : [ ]
        } ]
      }
    },
    "/controller-services/{id}/state" : {
      "get" : {
        "tags" : [ "controller-services" ],
        "summary" : "Gets the state for a controller service",
        "description" : "",
        "operationId" : "getState",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentStateDTO"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/controller-services/{id}/state/clear-requests" : {
      "post" : {
        "tags" : [ "controller-services" ],
        "summary" : "Clears the state for a controller service",
        "description" : "",
        "operationId" : "clearState",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The controller service id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentStateDTO"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/controller/cluster" : {
      "get" : {
        "tags" : [ "controller" ],
        "summary" : "Gets the contents of the cluster",
        "description" : "Returns the contents of the cluster including all nodes and their status.",
        "operationId" : "getCluster",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ClusterEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /controller" : [ ]
        } ]
      }
    },
    "/controller/cluster/nodes/{id}" : {
      "get" : {
        "tags" : [ "controller" ],
        "summary" : "Gets a node in the cluster",
        "description" : "",
        "operationId" : "getNode",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The node id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/NodeEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /controller" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "controller" ],
        "summary" : "Updates a node in the cluster",
        "description" : "",
        "operationId" : "updateNode",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The node id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The node configuration. The only configuration that will be honored at this endpoint is the status or primary flag.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NodeEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/NodeEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "controller" ],
        "summary" : "Removes a node from the cluster",
        "description" : "",
        "operationId" : "deleteNode",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The node id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/NodeEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller" : [ ]
        } ]
      }
    },
    "/controller/config" : {
      "get" : {
        "tags" : [ "controller" ],
        "summary" : "Retrieves the configuration for this NiFi Controller",
        "description" : "",
        "operationId" : "getControllerConfig",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerConfigurationEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /controller" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "controller" ],
        "summary" : "Retrieves the configuration for this NiFi",
        "description" : "",
        "operationId" : "updateControllerConfig",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The controller configuration.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ControllerConfigurationEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerConfigurationEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller" : [ ]
        } ]
      }
    },
    "/controller/controller-services" : {
      "post" : {
        "tags" : [ "controller" ],
        "summary" : "Creates a new controller service",
        "description" : "",
        "operationId" : "createControllerService",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The controller service configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ControllerServiceEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller" : [ ]
        }, {
          "Read - any referenced Controller Services - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/controller/history" : {
      "delete" : {
        "tags" : [ "controller" ],
        "summary" : "Purges history",
        "description" : "",
        "operationId" : "deleteHistory",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "endDate",
          "in" : "query",
          "description" : "Purge actions before this date/time.",
          "required" : false,
          "type" : "ref"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/HistoryEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller" : [ ]
        } ]
      }
    },
    "/controller/reporting-tasks" : {
      "post" : {
        "tags" : [ "controller" ],
        "summary" : "Creates a new reporting task",
        "description" : "",
        "operationId" : "createReportingTask",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The reporting task configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ReportingTaskEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ReportingTaskEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /controller" : [ ]
        }, {
          "Read - any referenced Controller Services - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/counters" : {
      "get" : {
        "tags" : [ "counters" ],
        "summary" : "Gets the current counters for this NiFi",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getCounters",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/CountersEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /counters" : [ ]
        } ]
      }
    },
    "/counters/{id}" : {
      "put" : {
        "tags" : [ "counters" ],
        "summary" : "Updates the specified counter. This will reset the counter value to 0",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "updateCounter",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/CounterEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /counters" : [ ]
        } ]
      }
    },
    "/data-transfer/input-ports/{portId}/transactions/{transactionId}" : {
      "put" : {
        "tags" : [ "data-transfer" ],
        "summary" : "Extend transaction TTL",
        "description" : "",
        "operationId" : "extendInputPortTransactionTTL",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "portId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "transactionId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TransactionResultEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /data-transfer/input-ports/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "data-transfer" ],
        "summary" : "Commit or cancel the specified transaction",
        "description" : "",
        "operationId" : "commitInputPortTransaction",
        "consumes" : [ "application/octet-stream" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "responseCode",
          "in" : "query",
          "description" : "The response code. Available values are BAD_CHECKSUM(19), CONFIRM_TRANSACTION(12) or CANCEL_TRANSACTION(15).",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "portId",
          "in" : "path",
          "description" : "The input port id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "transactionId",
          "in" : "path",
          "description" : "The transaction id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TransactionResultEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          },
          "503" : {
            "description" : "NiFi instance is not ready for serving request, or temporarily overloaded. Retrying the same request later may be successful"
          }
        },
        "security" : [ {
          "Write - /data-transfer/input-ports/{uuid}" : [ ]
        } ]
      }
    },
    "/data-transfer/input-ports/{portId}/transactions/{transactionId}/flow-files" : {
      "post" : {
        "tags" : [ "data-transfer" ],
        "summary" : "Transfer flow files to the input port",
        "description" : "",
        "operationId" : "receiveFlowFiles",
        "consumes" : [ "application/octet-stream" ],
        "produces" : [ "text/plain" ],
        "parameters" : [ {
          "name" : "portId",
          "in" : "path",
          "description" : "The input port id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "transactionId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "string"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          },
          "503" : {
            "description" : "NiFi instance is not ready for serving request, or temporarily overloaded. Retrying the same request later may be successful"
          }
        },
        "security" : [ {
          "Write - /data-transfer/input-ports/{uuid}" : [ ]
        } ]
      }
    },
    "/data-transfer/output-ports/{portId}/transactions/{transactionId}" : {
      "put" : {
        "tags" : [ "data-transfer" ],
        "summary" : "Extend transaction TTL",
        "description" : "",
        "operationId" : "extendOutputPortTransactionTTL",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "portId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "transactionId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TransactionResultEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          },
          "503" : {
            "description" : "NiFi instance is not ready for serving request, or temporarily overloaded. Retrying the same request later may be successful"
          }
        },
        "security" : [ {
          "Write - /data-transfer/output-ports/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "data-transfer" ],
        "summary" : "Commit or cancel the specified transaction",
        "description" : "",
        "operationId" : "commitOutputPortTransaction",
        "consumes" : [ "application/octet-stream" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "responseCode",
          "in" : "query",
          "description" : "The response code. Available values are CONFIRM_TRANSACTION(12) or CANCEL_TRANSACTION(15).",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "checksum",
          "in" : "query",
          "description" : "A checksum calculated at client side using CRC32 to check flow file content integrity. It must match with the value calculated at server side.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "portId",
          "in" : "path",
          "description" : "The output port id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "transactionId",
          "in" : "path",
          "description" : "The transaction id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TransactionResultEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          },
          "503" : {
            "description" : "NiFi instance is not ready for serving request, or temporarily overloaded. Retrying the same request later may be successful"
          }
        },
        "security" : [ {
          "Write - /data-transfer/output-ports/{uuid}" : [ ]
        } ]
      }
    },
    "/data-transfer/output-ports/{portId}/transactions/{transactionId}/flow-files" : {
      "get" : {
        "tags" : [ "data-transfer" ],
        "summary" : "Transfer flow files from the output port",
        "description" : "",
        "operationId" : "transferFlowFiles",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/octet-stream" ],
        "parameters" : [ {
          "name" : "portId",
          "in" : "path",
          "description" : "The output port id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "transactionId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "There is no flow file to return."
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          },
          "503" : {
            "description" : "NiFi instance is not ready for serving request, or temporarily overloaded. Retrying the same request later may be successful"
          }
        },
        "security" : [ {
          "Write - /data-transfer/output-ports/{uuid}" : [ ]
        } ]
      }
    },
    "/data-transfer/{portType}/{portId}/transactions" : {
      "post" : {
        "tags" : [ "data-transfer" ],
        "summary" : "Create a transaction to the specified output port or input port",
        "description" : "",
        "operationId" : "createPortTransaction",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "portType",
          "in" : "path",
          "description" : "The port type.",
          "required" : true,
          "type" : "string",
          "enum" : [ "input-ports", "output-ports" ]
        }, {
          "name" : "portId",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TransactionResultEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          },
          "503" : {
            "description" : "NiFi instance is not ready for serving request, or temporarily overloaded. Retrying the same request later may be successful"
          }
        },
        "security" : [ {
          "Write - /data-transfer/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/flow/about" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves details about this NiFi to put in the About dialog",
        "description" : "",
        "operationId" : "getAboutInfo",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AboutEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/banners" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves the banners for this NiFi",
        "description" : "",
        "operationId" : "getBanners",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/BannerEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/bulletin-board" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets current bulletins",
        "description" : "",
        "operationId" : "getBulletinBoard",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "after",
          "in" : "query",
          "description" : "Includes bulletins with an id after this value.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "sourceName",
          "in" : "query",
          "description" : "Includes bulletins originating from this sources whose name match this regular expression.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "message",
          "in" : "query",
          "description" : "Includes bulletins whose message that match this regular expression.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "sourceId",
          "in" : "query",
          "description" : "Includes bulletins originating from this sources whose id match this regular expression.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "groupId",
          "in" : "query",
          "description" : "Includes bulletins originating from this sources whose group id match this regular expression.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of bulletins to limit the response to.",
          "required" : false,
          "type" : "ref"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/BulletinBoardEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        }, {
          "Read - /{component-type}/{uuid} - For component specific bulletins" : [ ]
        } ]
      }
    },
    "/flow/client-id" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Generates a client id.",
        "description" : "",
        "operationId" : "generateClientId",
        "consumes" : [ "*/*" ],
        "produces" : [ "text/plain" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "string"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/cluster/search-results" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Searches the cluster for a node with the specified address",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "searchCluster",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "q",
          "in" : "query",
          "description" : "Node address to search for.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ClusterSearchResultsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/cluster/summary" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets the current status of this NiFi",
        "description" : "",
        "operationId" : "getClusterSummary",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/config" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves the configuration for this NiFi flow",
        "description" : "",
        "operationId" : "getFlowConfig",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FlowConfigurationEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/connections/{id}/status" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets status for a connection",
        "description" : "",
        "operationId" : "getConnectionStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ConnectionStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/connections/{id}/status/history" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets the status history for a connection",
        "description" : "",
        "operationId" : "getConnectionStatusHistory",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/StatusHistoryEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/controller-service-types" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves the types of controller services that this NiFi supports",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getControllerServiceTypes",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "serviceType",
          "in" : "query",
          "description" : "If specified, will only return controller services of this type.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceTypesEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/controller/bulletins" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves Controller level bulletins",
        "description" : "",
        "operationId" : "getBulletins",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerBulletinsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        }, {
          "Read - /controller - For controller bulletins" : [ ]
        }, {
          "Read - /controller-services/{uuid} - For controller service bulletins" : [ ]
        }, {
          "Read - /reporting-tasks/{uuid} - For reporting task bulletins" : [ ]
        } ]
      }
    },
    "/flow/controller/controller-services" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets all controller services",
        "description" : "",
        "operationId" : "getControllerServicesFromController",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServicesEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/current-user" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves the user identity of the user making the request",
        "description" : "",
        "operationId" : "getCurrentUser",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/CurrentUserEntity"
            }
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/history" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets configuration history",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "queryHistory",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "offset",
          "in" : "query",
          "description" : "The offset into the result set.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "count",
          "in" : "query",
          "description" : "The number of actions to return.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "sortColumn",
          "in" : "query",
          "description" : "The field to sort on.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sortOrder",
          "in" : "query",
          "description" : "The direction to sort.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "startDate",
          "in" : "query",
          "description" : "Include actions after this date.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "endDate",
          "in" : "query",
          "description" : "Include actions before this date.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "userIdentity",
          "in" : "query",
          "description" : "Include actions performed by this user.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sourceId",
          "in" : "query",
          "description" : "Include actions on this component.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/HistoryEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/history/components/{componentId}" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets configuration history for a component",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getComponentHistory",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "componentId",
          "in" : "path",
          "description" : "The component id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentHistoryEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        }, {
          "Read underlying component - /{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/flow/history/{id}" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets an action",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getAction",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The action id.",
          "required" : true,
          "type" : "ref"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ActionEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/input-ports/{id}/status" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets status for an input port",
        "description" : "",
        "operationId" : "getInputPortStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The input port id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/output-ports/{id}/status" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets status for an output port",
        "description" : "",
        "operationId" : "getOutputPortStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The output port id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/prioritizers" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves the types of prioritizers that this NiFi supports",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getPrioritizers",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PrioritizerTypesEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/process-groups/{id}" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets a process group",
        "description" : "",
        "operationId" : "getFlow",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessGroupFlowEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "flow" ],
        "summary" : "Schedule or unschedule comopnents in the specified Process Group.",
        "description" : "",
        "operationId" : "scheduleComponents",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The request to schedule or unschedule. If the comopnents in the request are not specified, all authorized components will be considered.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ScheduleComponentsEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ScheduleComponentsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        }, {
          "Write - /{component-type}/{uuid} - For every component being scheduled/unscheduled" : [ ]
        } ]
      }
    },
    "/flow/process-groups/{id}/controller-services" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets all controller services",
        "description" : "",
        "operationId" : "getControllerServicesFromGroup",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServicesEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/process-groups/{id}/status" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets the status for a process group",
        "description" : "The status for a process group includes status for all descendent components. When invoked on the root group with recursive set to true, it will return the current status of every component in the flow.",
        "operationId" : "getProcessGroupStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "recursive",
          "in" : "query",
          "description" : "Whether all descendant groups and the status of their content will be included. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessGroupStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/process-groups/{id}/status/history" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets status history for a remote process group",
        "description" : "",
        "operationId" : "getProcessGroupStatusHistory",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/StatusHistoryEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/processor-types" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves the types of processors that this NiFi supports",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getProcessorTypes",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorTypesEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/processors/{id}/status" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets status for a processor",
        "description" : "",
        "operationId" : "getProcessorStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/processors/{id}/status/history" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets status history for a processor",
        "description" : "",
        "operationId" : "getProcessorStatusHistory",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/StatusHistoryEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/remote-process-groups/{id}/status" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets status for a remote process group",
        "description" : "",
        "operationId" : "getRemoteProcessGroupStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The remote process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/remote-process-groups/{id}/status/history" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets the status history",
        "description" : "",
        "operationId" : "getRemoteProcessGroupStatusHistory",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The remote process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/StatusHistoryEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/reporting-task-types" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Retrieves the types of reporting tasks that this NiFi supports",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getReportingTaskTypes",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ReportingTaskTypesEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/reporting-tasks" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets all reporting tasks",
        "description" : "",
        "operationId" : "getReportingTasks",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ReportingTasksEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/search-results" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Performs a search against this NiFi using the specified search term",
        "description" : "Only search results from authorized components will be returned.",
        "operationId" : "searchFlow",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "q",
          "in" : "query",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SearchResultsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/status" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets the current status of this NiFi",
        "description" : "",
        "operationId" : "getControllerStatus",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerStatusEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flow/templates" : {
      "get" : {
        "tags" : [ "flow" ],
        "summary" : "Gets all templates",
        "description" : "",
        "operationId" : "getTemplates",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TemplatesEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /flow" : [ ]
        } ]
      }
    },
    "/flowfile-queues/{id}/drop-requests" : {
      "post" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Creates a request to drop the contents of the queue in this connection.",
        "description" : "",
        "operationId" : "createDropRequest",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/DropRequestEntity"
            }
          },
          "202" : {
            "description" : "The request has been accepted. A HTTP response header will contain the URI where the response can be polled."
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/flowfile-queues/{id}/drop-requests/{drop-request-id}" : {
      "get" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Gets the current status of a drop request for the specified connection.",
        "description" : "",
        "operationId" : "getDropRequest",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "drop-request-id",
          "in" : "path",
          "description" : "The drop request id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/DropRequestEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Cancels and/or removes a request to drop the contents of this connection.",
        "description" : "",
        "operationId" : "removeDropRequest",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "drop-request-id",
          "in" : "path",
          "description" : "The drop request id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/DropRequestEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/flowfile-queues/{id}/flowfiles/{flowfile-uuid}" : {
      "get" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Gets a FlowFile from a Connection.",
        "description" : "",
        "operationId" : "getFlowFile",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "flowfile-uuid",
          "in" : "path",
          "description" : "The flowfile uuid.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where the content exists if clustered.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/flowfile-queues/{id}/flowfiles/{flowfile-uuid}/content" : {
      "get" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Gets the content for a FlowFile in a Connection.",
        "description" : "",
        "operationId" : "downloadFlowFileContent",
        "consumes" : [ "*/*" ],
        "produces" : [ "*/*" ],
        "parameters" : [ {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "flowfile-uuid",
          "in" : "path",
          "description" : "The flowfile uuid.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where the content exists if clustered.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/flowfile-queues/{id}/listing-requests" : {
      "post" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Lists the contents of the queue in this connection.",
        "description" : "",
        "operationId" : "createFlowFileListing",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ListingRequestEntity"
            }
          },
          "202" : {
            "description" : "The request has been accepted. A HTTP response header will contain the URI where the response can be polled."
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/flowfile-queues/{id}/listing-requests/{listing-request-id}" : {
      "get" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Gets the current status of a listing request for the specified connection.",
        "description" : "",
        "operationId" : "getListingRequest",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "listing-request-id",
          "in" : "path",
          "description" : "The listing request id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ListingRequestEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "flowfile-queues" ],
        "summary" : "Cancels and/or removes a request to list the contents of this connection.",
        "description" : "",
        "operationId" : "deleteListingRequest",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The connection id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "listing-request-id",
          "in" : "path",
          "description" : "The listing request id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/DropRequestEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Source Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/funnels/{id}" : {
      "get" : {
        "tags" : [ "funnel" ],
        "summary" : "Gets a funnel",
        "description" : "",
        "operationId" : "getFunnel",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The funnel id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FunnelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /funnels/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "funnel" ],
        "summary" : "Updates a funnel",
        "description" : "",
        "operationId" : "updateFunnel",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The funnel id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The funnel configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/FunnelEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FunnelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /funnels/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "funnel" ],
        "summary" : "Deletes a funnel",
        "description" : "",
        "operationId" : "removeFunnel",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The funnel id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FunnelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /funnels/{uuid}" : [ ]
        } ]
      }
    },
    "/input-ports/{id}" : {
      "get" : {
        "tags" : [ "input-ports" ],
        "summary" : "Gets an input port",
        "description" : "",
        "operationId" : "getInputPort",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The input port id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /input-ports/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "input-ports" ],
        "summary" : "Updates an input port",
        "description" : "",
        "operationId" : "updateInputPort",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The input port id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The input port configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PortEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /input-ports/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "input-ports" ],
        "summary" : "Deletes an input port",
        "description" : "",
        "operationId" : "removeInputPort",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The input port id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /input-ports/{uuid}" : [ ]
        } ]
      }
    },
    "/labels/{id}" : {
      "get" : {
        "tags" : [ "labels" ],
        "summary" : "Gets a label",
        "description" : "",
        "operationId" : "getLabel",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The label id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LabelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /labels/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "labels" ],
        "summary" : "Updates a label",
        "description" : "",
        "operationId" : "updateLabel",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The label id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The label configuraiton details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/LabelEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LabelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /labels/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "labels" ],
        "summary" : "Deletes a label",
        "description" : "",
        "operationId" : "removeLabel",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The label id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LabelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /labels/{uuid}" : [ ]
        } ]
      }
    },
    "/output-ports/{id}" : {
      "get" : {
        "tags" : [ "output-ports" ],
        "summary" : "Gets an output port",
        "description" : "",
        "operationId" : "getOutputPort",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The output port id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /output-ports/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "output-ports" ],
        "summary" : "Updates an output port",
        "description" : "",
        "operationId" : "updateOutputPort",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The output port id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The output port configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PortEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /output-ports/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "output-ports" ],
        "summary" : "Deletes an output port",
        "description" : "",
        "operationId" : "removeOutputPort",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The output port id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /output-ports/{uuid}" : [ ]
        } ]
      }
    },
    "/policies" : {
      "post" : {
        "tags" : [ "policies" ],
        "summary" : "Creates an access policy",
        "description" : "",
        "operationId" : "createAccessPolicy",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The access policy configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AccessPolicyEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AccessPolicyEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /policies/{resource}" : [ ]
        } ]
      }
    },
    "/policies/{action}/{resource}" : {
      "get" : {
        "tags" : [ "policies" ],
        "summary" : "Gets an access policy for the specified action and resource",
        "description" : "Will return the effective policy if no component specific policy exists for the specified action and resource. Must have Read permissions to the policy with the desired action and resource. Permissions for the policy that is returned will be indicated in the response. This means the client could be authorized to get the policy for a given component but the effective policy may be inherited from an ancestor Process Group. If the client does not have permissions to that policy, the response will not include the policy and the permissions in the response will be marked accordingly. If the client does not have permissions to the policy of the desired action and resource a 403 response will be returned.",
        "operationId" : "getAccessPolicyForResource",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "action",
          "in" : "path",
          "description" : "The request action.",
          "required" : true,
          "type" : "string",
          "enum" : [ "read", "write" ]
        }, {
          "name" : "resource",
          "in" : "path",
          "description" : "The resource of the policy.",
          "required" : true,
          "type" : "string",
          "pattern" : " .+"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AccessPolicyEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /policies/{resource}" : [ ]
        } ]
      }
    },
    "/policies/{id}" : {
      "get" : {
        "tags" : [ "policies" ],
        "summary" : "Gets an access policy",
        "description" : "",
        "operationId" : "getAccessPolicy",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The access policy id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AccessPolicyEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /policies/{resource}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "policies" ],
        "summary" : "Updates a access policy",
        "description" : "",
        "operationId" : "updateAccessPolicy",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The access policy id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The access policy configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AccessPolicyEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AccessPolicyEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /policies/{resource}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "policies" ],
        "summary" : "Deletes an access policy",
        "description" : "",
        "operationId" : "removeAccessPolicy",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The access policy id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AccessPolicyEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /policies/{resource}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets a process group",
        "description" : "",
        "operationId" : "getProcessGroup",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "process-groups" ],
        "summary" : "Updates a process group",
        "description" : "",
        "operationId" : "updateProcessGroup",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The process group configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ProcessGroupEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "process-groups" ],
        "summary" : "Deletes a process group",
        "description" : "",
        "operationId" : "removeProcessGroup",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        }, {
          "Write - /{component-type}/{uuid} - For all encapsulated components" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/connections" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all connections",
        "description" : "",
        "operationId" : "getConnections",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ConnectionsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a connection",
        "description" : "",
        "operationId" : "createConnection",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The connection configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ConnectionEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ConnectionEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        }, {
          "Write Source - /{component-type}/{uuid}" : [ ]
        }, {
          "Write Destination - /{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/controller-services" : {
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a new controller service",
        "description" : "",
        "operationId" : "createControllerService",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The controller service configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ControllerServiceEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerServiceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        }, {
          "Read - any referenced Controller Services - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/funnels" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all funnels",
        "description" : "",
        "operationId" : "getFunnels",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FunnelsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a funnel",
        "description" : "",
        "operationId" : "createFunnel",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The funnel configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/FunnelEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FunnelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/input-ports" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all input ports",
        "description" : "",
        "operationId" : "getInputPorts",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/InputPortsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates an input port",
        "description" : "",
        "operationId" : "createInputPort",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The input port configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PortEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/labels" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all labels",
        "description" : "",
        "operationId" : "getLabels",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LabelsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a label",
        "description" : "",
        "operationId" : "createLabel",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The label configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/LabelEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LabelEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/output-ports" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all output ports",
        "description" : "",
        "operationId" : "getOutputPorts",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/OutputPortsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates an output port",
        "description" : "",
        "operationId" : "createOutputPort",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The output port configuration.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PortEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/process-groups" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all process groups",
        "description" : "",
        "operationId" : "getProcessGroups",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a process group",
        "description" : "",
        "operationId" : "createProcessGroup",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The process group configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ProcessGroupEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/processors" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all processors",
        "description" : "",
        "operationId" : "getProcessors",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a new processor",
        "description" : "",
        "operationId" : "createProcessor",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The processor configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ProcessorEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        }, {
          "Read - any referenced Controller Services - /controller-services/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/remote-process-groups" : {
      "get" : {
        "tags" : [ "process-groups" ],
        "summary" : "Gets all remote process groups",
        "description" : "",
        "operationId" : "getRemoteProcessGroups",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RemoteProcessGroupsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /process-groups/{uuid}" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a new process group",
        "description" : "",
        "operationId" : "createRemoteProcessGroup",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The remote process group configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RemoteProcessGroupEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RemoteProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/snippet-instance" : {
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Copies a snippet",
        "description" : "",
        "operationId" : "copySnippet",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The copy snippet request.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/CopySnippetRequestEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FlowSnippetEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        }, {
          "Read - /{component-type}/{uuid} - For each component in the snippet and their descendant components" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/template-instance" : {
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Instantiates a template",
        "description" : "",
        "operationId" : "instantiateTemplate",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The instantiate template request.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/InstantiateTemplateRequestEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/FlowEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        }, {
          "Read - /templates/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/templates" : {
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Creates a template",
        "description" : "",
        "operationId" : "createTemplate",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The create template request.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/CreateTemplateRequestEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TemplateEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        }, {
          "Read - /{component-type}/{uuid} - For each component in the snippet and their descendant components" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/templates/import" : {
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Imports a template",
        "description" : "",
        "operationId" : "importTemplate",
        "consumes" : [ "application/xml" ],
        "produces" : [ "application/xml" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TemplateEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/process-groups/{id}/templates/upload" : {
      "post" : {
        "tags" : [ "process-groups" ],
        "summary" : "Uploads a template",
        "description" : "",
        "operationId" : "uploadTemplate",
        "consumes" : [ "multipart/form-data" ],
        "produces" : [ "application/xml" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "template",
          "in" : "formData",
          "required" : false,
          "type" : "file"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TemplateEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/processors/{id}" : {
      "get" : {
        "tags" : [ "processors" ],
        "summary" : "Gets a processor",
        "description" : "",
        "operationId" : "getProcessor",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /processors/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "processors" ],
        "summary" : "Updates a processor",
        "description" : "",
        "operationId" : "updateProcessor",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The processor configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ProcessorEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /processors/{uuid}" : [ ]
        }, {
          "Read - any referenced Controller Services - /controller-services/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "processors" ],
        "summary" : "Deletes a processor",
        "description" : "",
        "operationId" : "deleteProcessor",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProcessorEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /processors/{uuid}" : [ ]
        } ]
      }
    },
    "/processors/{id}/descriptors" : {
      "get" : {
        "tags" : [ "processors" ],
        "summary" : "Gets the descriptor for a processor property",
        "description" : "",
        "operationId" : "getPropertyDescriptor",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "propertyName",
          "in" : "query",
          "description" : "The property name.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PropertyDescriptorEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /processors/{uuid}" : [ ]
        } ]
      }
    },
    "/processors/{id}/state" : {
      "get" : {
        "tags" : [ "processors" ],
        "summary" : "Gets the state for a processor",
        "description" : "",
        "operationId" : "getState",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentStateDTO"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /processors/{uuid}" : [ ]
        } ]
      }
    },
    "/processors/{id}/state/clear-requests" : {
      "post" : {
        "tags" : [ "processors" ],
        "summary" : "Clears the state for a processor",
        "description" : "",
        "operationId" : "clearState",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The processor id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentStateDTO"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /processors/{uuid}" : [ ]
        } ]
      }
    },
    "/provenance" : {
      "post" : {
        "tags" : [ "provenance" ],
        "summary" : "Submits a provenance query",
        "description" : "Provenance queries may be long running so this endpoint submits a request. The response will include the current state of the query. If the request is not completed the URI in the response can be used at a later time to get the updated state of the query. Once the query has completed the provenance request should be deleted by the client who originally submitted it.",
        "operationId" : "submitProvenanceRequest",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The provenance query details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ProvenanceEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProvenanceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /provenance" : [ ]
        }, {
          "Read - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/provenance-events/replays" : {
      "post" : {
        "tags" : [ "provenance-events" ],
        "summary" : "Replays content from a provenance event",
        "description" : "",
        "operationId" : "submitReplay",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The replay request.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/SubmitReplayRequestEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProvenanceEventEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Component Data - /data/{component-type}/{uuid}" : [ ]
        }, {
          "Write Component Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/provenance-events/{id}" : {
      "get" : {
        "tags" : [ "provenance-events" ],
        "summary" : "Gets a provenance event",
        "description" : "",
        "operationId" : "getProvenanceEvent",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where this event exists if clustered.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The provenance event id.",
          "required" : true,
          "type" : "ref"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProvenanceEventEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Component Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/provenance-events/{id}/content/input" : {
      "get" : {
        "tags" : [ "provenance-events" ],
        "summary" : "Gets the input content for a provenance event",
        "description" : "",
        "operationId" : "getInputContent",
        "consumes" : [ "*/*" ],
        "produces" : [ "*/*" ],
        "parameters" : [ {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where the content exists if clustered.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The provenance event id.",
          "required" : true,
          "type" : "ref"
        } ],
        "responses" : {
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Component Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/provenance-events/{id}/content/output" : {
      "get" : {
        "tags" : [ "provenance-events" ],
        "summary" : "Gets the output content for a provenance event",
        "description" : "",
        "operationId" : "getOutputContent",
        "consumes" : [ "*/*" ],
        "produces" : [ "*/*" ],
        "parameters" : [ {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where the content exists if clustered.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The provenance event id.",
          "required" : true,
          "type" : "ref"
        } ],
        "responses" : {
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read Component Data - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/provenance/lineage" : {
      "post" : {
        "tags" : [ "provenance" ],
        "summary" : "Submits a lineage query",
        "description" : "Lineage queries may be long running so this endpoint submits a request. The response will include the current state of the query. If the request is not completed the URI in the response can be used at a later time to get the updated state of the query. Once the query has completed the lineage request should be deleted by the client who originally submitted it.",
        "operationId" : "submitLineageRequest",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The lineage query details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/LineageEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LineageEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /provenance" : [ ]
        }, {
          "Read - /data/{component-type}/{uuid}" : [ ]
        } ]
      }
    },
    "/provenance/lineage/{id}" : {
      "get" : {
        "tags" : [ "provenance" ],
        "summary" : "Gets a lineage query",
        "description" : "",
        "operationId" : "getLineage",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where this query exists if clustered.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the lineage query.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LineageEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /provenance" : [ ]
        }, {
          "Read - /data/{component-type}/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "provenance" ],
        "summary" : "Deletes a lineage query",
        "description" : "",
        "operationId" : "deleteLineage",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where this query exists if clustered.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the lineage query.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/LineageEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /provenance" : [ ]
        } ]
      }
    },
    "/provenance/search-options" : {
      "get" : {
        "tags" : [ "provenance" ],
        "summary" : "Gets the searchable attributes for provenance events",
        "description" : "",
        "operationId" : "getSearchOptions",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProvenanceOptionsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /provenance" : [ ]
        } ]
      }
    },
    "/provenance/{id}" : {
      "get" : {
        "tags" : [ "provenance" ],
        "summary" : "Gets a provenance query",
        "description" : "",
        "operationId" : "getProvenance",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where this query exists if clustered.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the provenance query.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProvenanceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /provenance" : [ ]
        }, {
          "Read - /data/{component-type}/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "provenance" ],
        "summary" : "Deletes a provenance query",
        "description" : "",
        "operationId" : "deleteProvenance",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where this query exists if clustered.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the provenance query.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ProvenanceEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /provenance" : [ ]
        } ]
      }
    },
    "/remote-process-groups/{id}" : {
      "get" : {
        "tags" : [ "remote-process-groups" ],
        "summary" : "Gets a remote process group",
        "description" : "",
        "operationId" : "getRemoteProcessGroup",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The remote process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RemoteProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /remote-process-groups/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "remote-process-groups" ],
        "summary" : "Updates a remote process group",
        "description" : "",
        "operationId" : "updateRemoteProcessGroup",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The remote process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The remote process group.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RemoteProcessGroupEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RemoteProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /remote-process-groups/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "remote-process-groups" ],
        "summary" : "Deletes a remote process group",
        "description" : "",
        "operationId" : "removeRemoteProcessGroup",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The remote process group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RemoteProcessGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /remote-process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/remote-process-groups/{id}/input-ports/{port-id}" : {
      "put" : {
        "tags" : [ "remote-process-groups" ],
        "summary" : "Updates a remote port",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "updateRemoteProcessGroupInputPort",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The remote process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "port-id",
          "in" : "path",
          "description" : "The remote process group port id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The remote process group port.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RemoteProcessGroupPortEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RemoteProcessGroupPortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /remote-process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/remote-process-groups/{id}/output-ports/{port-id}" : {
      "put" : {
        "tags" : [ "remote-process-groups" ],
        "summary" : "Updates a remote port",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "updateRemoteProcessGroupOutputPort",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The remote process group id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "port-id",
          "in" : "path",
          "description" : "The remote process group port id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The remote process group port.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RemoteProcessGroupPortEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RemoteProcessGroupPortEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /remote-process-groups/{uuid}" : [ ]
        } ]
      }
    },
    "/reporting-tasks/{id}" : {
      "get" : {
        "tags" : [ "reporting-tasks" ],
        "summary" : "Gets a reporting task",
        "description" : "",
        "operationId" : "getReportingTask",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The reporting task id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ReportingTaskEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /reporting-tasks/{uuid}" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "reporting-tasks" ],
        "summary" : "Updates a reporting task",
        "description" : "",
        "operationId" : "updateReportingTask",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The reporting task id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The reporting task configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ReportingTaskEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ReportingTaskEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /reporting-tasks/{uuid}" : [ ]
        }, {
          "Read - any referenced Controller Services - /controller-services/{uuid}" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "reporting-tasks" ],
        "summary" : "Deletes a reporting task",
        "description" : "",
        "operationId" : "removeReportingTask",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The reporting task id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ReportingTaskEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /reporting-tasks/{uuid}" : [ ]
        } ]
      }
    },
    "/reporting-tasks/{id}/descriptors" : {
      "get" : {
        "tags" : [ "reporting-tasks" ],
        "summary" : "Gets a reporting task property descriptor",
        "description" : "",
        "operationId" : "getPropertyDescriptor",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The reporting task id.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "propertyName",
          "in" : "query",
          "description" : "The property name.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PropertyDescriptorEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /reporting-tasks/{uuid}" : [ ]
        } ]
      }
    },
    "/reporting-tasks/{id}/state" : {
      "get" : {
        "tags" : [ "reporting-tasks" ],
        "summary" : "Gets the state for a reporting task",
        "description" : "",
        "operationId" : "getState",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The reporting task id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentStateDTO"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /reporting-tasks/{uuid}" : [ ]
        } ]
      }
    },
    "/reporting-tasks/{id}/state/clear-requests" : {
      "post" : {
        "tags" : [ "reporting-tasks" ],
        "summary" : "Clears the state for a reporting task",
        "description" : "",
        "operationId" : "clearState",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The reporting task id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentStateDTO"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /reporting-tasks/{uuid}" : [ ]
        } ]
      }
    },
    "/resources" : {
      "get" : {
        "tags" : [ "resources" ],
        "summary" : "Gets the available resources that support access/authorization policies",
        "description" : "",
        "operationId" : "getResources",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ResourcesEntity"
            }
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          }
        },
        "security" : [ {
          "Read - /resources" : [ ]
        } ]
      }
    },
    "/site-to-site" : {
      "get" : {
        "tags" : [ "site-to-site" ],
        "summary" : "Returns the details about this NiFi necessary to communicate via site to site",
        "description" : "",
        "operationId" : "getSiteToSiteDetails",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ControllerEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /site-to-site" : [ ]
        } ]
      }
    },
    "/site-to-site/peers" : {
      "get" : {
        "tags" : [ "site-to-site" ],
        "summary" : "Returns the available Peers and its status of this NiFi",
        "description" : "",
        "operationId" : "getPeers",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json", "application/xml" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PeersEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /site-to-site" : [ ]
        } ]
      }
    },
    "/snippets" : {
      "post" : {
        "tags" : [ "snippets" ],
        "summary" : "Creates a snippet",
        "description" : "",
        "operationId" : "createSnippet",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The snippet configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/SnippetEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SnippetEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read or Write - /{component-type}/{uuid} - For every component (all Read or all Write) in the Snippet and their descendant components" : [ ]
        } ]
      }
    },
    "/snippets/{id}" : {
      "put" : {
        "tags" : [ "snippets" ],
        "summary" : "Move's the components in this Snippet into a new Process Group and drops the snippet",
        "description" : "",
        "operationId" : "updateSnippet",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The snippet id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The snippet configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/SnippetEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SnippetEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write Process Group - /process-groups/{uuid}" : [ ]
        }, {
          "Write - /{component-type}/{uuid} - For each component in the Snippet and their descendant components" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "snippets" ],
        "summary" : "Deletes the components in a snippet and drops the snippet",
        "description" : "",
        "operationId" : "deleteSnippet",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The snippet id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SnippetEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /{component-type}/{uuid} - For each component in the Snippet and their descendant components" : [ ]
        } ]
      }
    },
    "/system-diagnostics" : {
      "get" : {
        "tags" : [ "system-diagnostics" ],
        "summary" : "Gets the diagnostics for the system NiFi is running on",
        "description" : "",
        "operationId" : "getSystemDiagnostics",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "nodewise",
          "in" : "query",
          "description" : "Whether or not to include the breakdown per node. Optional, defaults to false",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "clusterNodeId",
          "in" : "query",
          "description" : "The id of the node where to get the status.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SystemDiagnosticsEntity"
            }
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          }
        },
        "security" : [ {
          "Read - /system" : [ ]
        } ]
      }
    },
    "/templates/{id}" : {
      "delete" : {
        "tags" : [ "templates" ],
        "summary" : "Deletes a template",
        "description" : "",
        "operationId" : "removeTemplate",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The template id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TemplateEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /templates/{uuid}" : [ ]
        } ]
      }
    },
    "/templates/{id}/download" : {
      "get" : {
        "tags" : [ "templates" ],
        "summary" : "Exports a template",
        "description" : "",
        "operationId" : "exportTemplate",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/xml" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The template id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TemplateDTO"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /templates/{uuid}" : [ ]
        } ]
      }
    },
    "/tenants/search-results" : {
      "get" : {
        "tags" : [ "tenants" ],
        "summary" : "Searches the cluster for a node with the specified address",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "searchCluster",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "q",
          "in" : "query",
          "description" : "Node address to search for.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ClusterSearchResultsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /tenants" : [ ]
        } ]
      }
    },
    "/tenants/user-groups" : {
      "get" : {
        "tags" : [ "tenants" ],
        "summary" : "Gets all user groups",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getUserGroups",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserGroupsEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /tenants" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "tenants" ],
        "summary" : "Creates a user group",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "createUserGroup",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The user group configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/UserGroupEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /tenants" : [ ]
        } ]
      }
    },
    "/tenants/user-groups/{id}" : {
      "get" : {
        "tags" : [ "tenants" ],
        "summary" : "Gets a user group",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getUserGroup",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The user group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /tenants" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "tenants" ],
        "summary" : "Updates a user group",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "updateUserGroup",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The user group id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The user group configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/UserGroupEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /tenants" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "tenants" ],
        "summary" : "Deletes a user group",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "removeUserGroup",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The user group id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserGroupEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /tenants" : [ ]
        } ]
      }
    },
    "/tenants/users" : {
      "get" : {
        "tags" : [ "tenants" ],
        "summary" : "Gets all users",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getUsers",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UsersEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /tenants" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "tenants" ],
        "summary" : "Creates a user",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "createUser",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The user configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/UserEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /tenants" : [ ]
        } ]
      }
    },
    "/tenants/users/{id}" : {
      "get" : {
        "tags" : [ "tenants" ],
        "summary" : "Gets a user",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "getUser",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The user id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Read - /tenants" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "tenants" ],
        "summary" : "Updates a user",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "updateUser",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The user id.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The user configuration details.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/UserEntity"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /tenants" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "tenants" ],
        "summary" : "Deletes a user",
        "description" : "Note: This endpoint is subject to change as NiFi and it's REST API evolve.",
        "operationId" : "removeUser",
        "consumes" : [ "*/*" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "version",
          "in" : "query",
          "description" : "The revision is used to verify the client is working with the latest version of the flow.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "If the client id is not specified, new one will be generated. This value (whether specified or generated) is included in the response.",
          "required" : false,
          "type" : "ref"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The user id.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UserEntity"
            }
          },
          "400" : {
            "description" : "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."
          },
          "401" : {
            "description" : "Client could not be authenticated."
          },
          "403" : {
            "description" : "Client is not authorized to make this request."
          },
          "404" : {
            "description" : "The specified resource could not be found."
          },
          "409" : {
            "description" : "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful."
          }
        },
        "security" : [ {
          "Write - /tenants" : [ ]
        } ]
      }
    }
  },
  "definitions" : {
    "AboutDTO" : {
      "properties" : {
        "title" : {
          "type" : "string",
          "description" : "The title to be used on the page and in the about dialog."
        },
        "version" : {
          "type" : "string",
          "description" : "The version of this NiFi."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for the NiFi."
        },
        "contentViewerUrl" : {
          "type" : "string",
          "description" : "The URL for the content viewer if configured."
        },
        "timezone" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timezone of the NiFi instance.",
          "readOnly" : true
        }
      }
    },
    "AboutEntity" : {
      "properties" : {
        "about" : {
          "$ref" : "#/definitions/AboutDTO"
        }
      },
      "xml" : {
        "name" : "aboutEntity"
      }
    },
    "AccessConfigurationDTO" : {
      "properties" : {
        "supportsLogin" : {
          "type" : "boolean",
          "description" : "Indicates whether or not this NiFi supports user login.",
          "readOnly" : true
        }
      }
    },
    "AccessConfigurationEntity" : {
      "properties" : {
        "config" : {
          "$ref" : "#/definitions/AccessConfigurationDTO"
        }
      },
      "xml" : {
        "name" : "accessConfigurationEntity"
      }
    },
    "AccessPolicyDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "resource" : {
          "type" : "string",
          "description" : "The resource for this access policy."
        },
        "action" : {
          "type" : "string",
          "description" : "The action associated with this access policy.",
          "enum" : [ "READ", "WRITE" ]
        },
        "users" : {
          "type" : "array",
          "description" : "The set of user IDs associated with this access policy.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/TenantEntity"
          }
        },
        "userGroups" : {
          "type" : "array",
          "description" : "The set of user group IDs associated with this access policy.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/TenantEntity"
          }
        }
      }
    },
    "AccessPolicyEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "generated" : {
          "type" : "string",
          "format" : "date-time"
        },
        "component" : {
          "$ref" : "#/definitions/AccessPolicyDTO"
        }
      },
      "xml" : {
        "name" : "accessPolicyEntity"
      }
    },
    "AccessPolicySummaryDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "resource" : {
          "type" : "string",
          "description" : "The resource for this access policy."
        },
        "action" : {
          "type" : "string",
          "description" : "The action associated with this access policy.",
          "enum" : [ "READ", "WRITE" ]
        }
      }
    },
    "AccessPolicySummaryEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/AccessPolicySummaryDTO"
        }
      },
      "xml" : {
        "name" : "accessPolicySummaryEntity"
      }
    },
    "AccessStatusDTO" : {
      "properties" : {
        "identity" : {
          "type" : "string",
          "description" : "The user identity.",
          "readOnly" : true
        },
        "status" : {
          "type" : "string",
          "description" : "The user access status.",
          "readOnly" : true
        },
        "message" : {
          "type" : "string",
          "description" : "Additional details about the user access status.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "accessStatus"
      }
    },
    "AccessStatusEntity" : {
      "properties" : {
        "accessStatus" : {
          "$ref" : "#/definitions/AccessStatusDTO"
        }
      },
      "xml" : {
        "name" : "accessStatusEntity"
      }
    },
    "ActionDTO" : {
      "properties" : {
        "id" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The action id."
        },
        "userIdentity" : {
          "type" : "string",
          "description" : "The identity of the user that performed the action."
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of the action."
        },
        "sourceId" : {
          "type" : "string",
          "description" : "The id of the source component."
        },
        "sourceName" : {
          "type" : "string",
          "description" : "The name of the source component."
        },
        "sourceType" : {
          "type" : "string",
          "description" : "The type of the source component."
        },
        "componentDetails" : {
          "description" : "The details of the source component.",
          "$ref" : "#/definitions/ComponentDetailsDTO"
        },
        "operation" : {
          "type" : "string",
          "description" : "The operation that was performed."
        },
        "actionDetails" : {
          "description" : "The details of the action.",
          "$ref" : "#/definitions/ActionDetailsDTO"
        }
      }
    },
    "ActionDetailsDTO" : {
      "type" : "object"
    },
    "ActionEntity" : {
      "properties" : {
        "id" : {
          "type" : "integer",
          "format" : "int32"
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time"
        },
        "sourceId" : {
          "type" : "string"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        },
        "action" : {
          "$ref" : "#/definitions/ActionDTO"
        }
      },
      "xml" : {
        "name" : "actionEntity"
      }
    },
    "AllowableValueDTO" : {
      "properties" : {
        "displayName" : {
          "type" : "string",
          "description" : "A human readable value that is allowed for the property descriptor."
        },
        "value" : {
          "type" : "string",
          "description" : "A value that is allowed for the property descriptor."
        },
        "description" : {
          "type" : "string",
          "description" : "A description for this allowable value."
        }
      }
    },
    "AllowableValueEntity" : {
      "properties" : {
        "allowableValue" : {
          "$ref" : "#/definitions/AllowableValueDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "entity"
      }
    },
    "AttributeDTO" : {
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The attribute name."
        },
        "value" : {
          "type" : "string",
          "description" : "The attribute value."
        },
        "previousValue" : {
          "type" : "string",
          "description" : "The value of the attribute before the event took place."
        }
      }
    },
    "BannerDTO" : {
      "properties" : {
        "headerText" : {
          "type" : "string",
          "description" : "The header text."
        },
        "footerText" : {
          "type" : "string",
          "description" : "The footer text."
        }
      }
    },
    "BannerEntity" : {
      "properties" : {
        "banners" : {
          "$ref" : "#/definitions/BannerDTO"
        }
      },
      "xml" : {
        "name" : "bannersEntity"
      }
    },
    "BulletinBoardDTO" : {
      "properties" : {
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins in the bulletin board, that matches the supplied request.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "generated" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when this report was generated."
        }
      }
    },
    "BulletinBoardEntity" : {
      "properties" : {
        "bulletinBoard" : {
          "$ref" : "#/definitions/BulletinBoardDTO"
        }
      },
      "xml" : {
        "name" : "bulletinBoardEntity"
      }
    },
    "BulletinDTO" : {
      "properties" : {
        "id" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The id of the bulletin."
        },
        "nodeAddress" : {
          "type" : "string",
          "description" : "If clustered, the address of the node from which the bulletin originated."
        },
        "category" : {
          "type" : "string",
          "description" : "The catagory of this bulletin."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The group id of the source component."
        },
        "sourceId" : {
          "type" : "string",
          "description" : "The id of the source component."
        },
        "sourceName" : {
          "type" : "string",
          "description" : "The name of the source component."
        },
        "level" : {
          "type" : "string",
          "description" : "The level of the bulletin."
        },
        "message" : {
          "type" : "string",
          "description" : "The bulletin message."
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "When this bulletin was generated."
        }
      }
    },
    "BulletinEntity" : {
      "properties" : {
        "id" : {
          "type" : "integer",
          "format" : "int64"
        },
        "groupId" : {
          "type" : "string"
        },
        "sourceId" : {
          "type" : "string"
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time"
        },
        "nodeAddress" : {
          "type" : "string"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        },
        "bulletin" : {
          "$ref" : "#/definitions/BulletinDTO"
        }
      },
      "xml" : {
        "name" : "entity"
      }
    },
    "ClusterDTO" : {
      "properties" : {
        "nodes" : {
          "type" : "array",
          "description" : "The collection of nodes that are part of the cluster.",
          "items" : {
            "$ref" : "#/definitions/NodeDTO"
          }
        },
        "generated" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp the report was generated."
        }
      }
    },
    "ClusterEntity" : {
      "properties" : {
        "cluster" : {
          "$ref" : "#/definitions/ClusterDTO"
        }
      },
      "xml" : {
        "name" : "clusterEntity"
      }
    },
    "ClusterSearchResultsEntity" : {
      "properties" : {
        "nodeResults" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/NodeSearchResultDTO"
          }
        }
      },
      "xml" : {
        "name" : "clusterSearchResultsEntity"
      }
    },
    "ComponentDetailsDTO" : {
      "type" : "object"
    },
    "ComponentHistoryDTO" : {
      "properties" : {
        "componentId" : {
          "type" : "string",
          "description" : "The component id."
        },
        "propertyHistory" : {
          "type" : "object",
          "description" : "The history for the properties of the component.",
          "additionalProperties" : {
            "$ref" : "#/definitions/PropertyHistoryDTO"
          }
        }
      }
    },
    "ComponentHistoryEntity" : {
      "properties" : {
        "componentHistory" : {
          "$ref" : "#/definitions/ComponentHistoryDTO"
        }
      },
      "xml" : {
        "name" : "componentHistoryEntity"
      }
    },
    "ComponentSearchResultDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component that matched the search."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The group id of the component that matched the search."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the component that matched the search."
        },
        "matches" : {
          "type" : "array",
          "description" : "What matched the search from the component.",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "ComponentStateDTO" : {
      "properties" : {
        "componentId" : {
          "type" : "string",
          "description" : "The component identifier."
        },
        "stateDescription" : {
          "type" : "string",
          "description" : "Description of the state this component persists."
        },
        "clusterState" : {
          "description" : "The cluster state for this component, or null if this NiFi is a standalone instance.",
          "$ref" : "#/definitions/StateMapDTO"
        },
        "localState" : {
          "description" : "The local state for this component.",
          "$ref" : "#/definitions/StateMapDTO"
        }
      }
    },
    "ConnectableDTO" : {
      "required" : [ "groupId", "id", "type" ],
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the connectable component."
        },
        "type" : {
          "type" : "string",
          "description" : "The type of component the connectable is.",
          "enum" : [ "PROCESSOR", "REMOTE_INPUT_PORT", "REMOTE_OUTPUT_PORT", "INPUT_PORT", "OUTPUT_PORT", "FUNNEL" ]
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the group that the connectable component resides in"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the connectable component"
        },
        "running" : {
          "type" : "boolean",
          "description" : "Reflects the current state of the connectable component."
        },
        "transmitting" : {
          "type" : "boolean",
          "description" : "If the connectable component represents a remote port, indicates if the target is configured to transmit."
        },
        "exists" : {
          "type" : "boolean",
          "description" : "If the connectable component represents a remote port, indicates if the target exists."
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments for the connectable component."
        }
      }
    },
    "ConnectionDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "source" : {
          "description" : "The source of the connection.",
          "$ref" : "#/definitions/ConnectableDTO"
        },
        "destination" : {
          "description" : "The destination of the connection.",
          "$ref" : "#/definitions/ConnectableDTO"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the connection."
        },
        "labelIndex" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The index of the bend point where to place the connection label."
        },
        "getzIndex" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The z index of the connection."
        },
        "selectedRelationships" : {
          "type" : "array",
          "description" : "The selected relationship that comprise the connection.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "availableRelationships" : {
          "type" : "array",
          "description" : "The relationships that the source of the connection currently supports.",
          "readOnly" : true,
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "backPressureObjectThreshold" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The object count threshold for determining when back pressure is applied. Updating this value is a passive change in the sense that it won't impact whether existing files over the limit are affected but it does help feeder processors to stop pushing too much into this work queue."
        },
        "backPressureDataSizeThreshold" : {
          "type" : "string",
          "description" : "The object data size threshold for determining when back pressure is applied. Updating this value is a passive change in the sense that it won't impact whether existing files over the limit are affected but it does help feeder processors to stop pushing too much into this work queue."
        },
        "flowFileExpiration" : {
          "type" : "string",
          "description" : "The amount of time a flow file may be in the flow before it will be automatically aged out of the flow. Once a flow file reaches this age it will be terminated from the flow the next time a processor attempts to start work on it."
        },
        "prioritizers" : {
          "type" : "array",
          "description" : "The comparators used to prioritize the queue.",
          "items" : {
            "type" : "string"
          }
        },
        "bends" : {
          "type" : "array",
          "description" : "The bend points on the connection.",
          "items" : {
            "$ref" : "#/definitions/PositionDTO"
          }
        }
      }
    },
    "ConnectionEntity" : {
      "required" : [ "destinationType", "sourceType" ],
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/ConnectionDTO"
        },
        "status" : {
          "description" : "The status of the connection.",
          "$ref" : "#/definitions/ConnectionStatusDTO"
        },
        "bends" : {
          "type" : "array",
          "description" : "The bend points on the connection.",
          "items" : {
            "$ref" : "#/definitions/PositionDTO"
          }
        },
        "labelIndex" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The index of the bend point where to place the connection label."
        },
        "getzIndex" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The z index of the connection."
        },
        "sourceId" : {
          "type" : "string",
          "description" : "The identifier of the source of this connection."
        },
        "sourceGroupId" : {
          "type" : "string",
          "description" : "The identifier of the group of the source of this connection."
        },
        "sourceType" : {
          "type" : "string",
          "description" : "The type of component the source connectable is.",
          "enum" : [ "PROCESSOR", "REMOTE_INPUT_PORT", "REMOTE_OUTPUT_PORT", "INPUT_PORT", "OUTPUT_PORT", "FUNNEL" ]
        },
        "destinationId" : {
          "type" : "string",
          "description" : "The identifier of the destination of this connection."
        },
        "destinationGroupId" : {
          "type" : "string",
          "description" : "The identifier of the group of the destination of this connection."
        },
        "destinationType" : {
          "type" : "string",
          "description" : "The type of component the destination connectable is.",
          "enum" : [ "PROCESSOR", "REMOTE_INPUT_PORT", "REMOTE_OUTPUT_PORT", "INPUT_PORT", "OUTPUT_PORT", "FUNNEL" ]
        }
      },
      "xml" : {
        "name" : "connectionEntity"
      }
    },
    "ConnectionStatusDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The ID of the connection"
        },
        "groupId" : {
          "type" : "string",
          "description" : "The ID of the Process Group that the connection belongs to"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the connection"
        },
        "statsLastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of when the stats were last refreshed"
        },
        "sourceId" : {
          "type" : "string",
          "description" : "The ID of the source component"
        },
        "sourceName" : {
          "type" : "string",
          "description" : "The name of the source component"
        },
        "destinationId" : {
          "type" : "string",
          "description" : "The ID of the destination component"
        },
        "destinationName" : {
          "type" : "string",
          "description" : "The name of the destination component"
        },
        "aggregateSnapshot" : {
          "description" : "The status snapshot that represents the aggregate stats of the cluster",
          "$ref" : "#/definitions/ConnectionStatusSnapshotDTO"
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "A list of status snapshots for each node",
          "items" : {
            "$ref" : "#/definitions/NodeConnectionStatusSnapshotDTO"
          }
        }
      }
    },
    "ConnectionStatusEntity" : {
      "properties" : {
        "connectionStatus" : {
          "$ref" : "#/definitions/ConnectionStatusDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "connectionStatusEntity"
      }
    },
    "ConnectionStatusSnapshotDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the connection."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the process group the connection belongs to."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the connection."
        },
        "sourceId" : {
          "type" : "string",
          "description" : "The id of the source of the connection."
        },
        "sourceName" : {
          "type" : "string",
          "description" : "The name of the source of the connection."
        },
        "destinationId" : {
          "type" : "string",
          "description" : "The id of the destination of the connection."
        },
        "destinationName" : {
          "type" : "string",
          "description" : "The name of the destination of the connection."
        },
        "flowFilesIn" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that have come into the connection in the last 5 minutes."
        },
        "bytesIn" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the FlowFiles that have come into the connection in the last 5 minutes."
        },
        "input" : {
          "type" : "string",
          "description" : "The input count/size for the connection in the last 5 minutes, pretty printed."
        },
        "flowFilesOut" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that have left the connection in the last 5 minutes."
        },
        "bytesOut" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes that have left the connection in the last 5 minutes."
        },
        "output" : {
          "type" : "string",
          "description" : "The output count/sie for the connection in the last 5 minutes, pretty printed."
        },
        "flowFilesQueued" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that are currently queued in the connection."
        },
        "bytesQueued" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the FlowFiles that are currently queued in the connection."
        },
        "queued" : {
          "type" : "string",
          "description" : "The total count and size of queued flowfiles formatted."
        },
        "queuedSize" : {
          "type" : "string",
          "description" : "The total size of flowfiles that are queued formatted."
        },
        "queuedCount" : {
          "type" : "string",
          "description" : "The number of flowfiles that are queued, pretty printed."
        }
      }
    },
    "ConnectionStatusSnapshotEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the connection."
        },
        "connectionStatusSnapshot" : {
          "$ref" : "#/definitions/ConnectionStatusSnapshotDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "entity"
      }
    },
    "ConnectionsEntity" : {
      "properties" : {
        "connections" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ConnectionEntity"
          }
        }
      },
      "xml" : {
        "name" : "connectionsEntity"
      }
    },
    "ControllerBulletinsEntity" : {
      "properties" : {
        "bulletins" : {
          "type" : "array",
          "description" : "System level bulletins to be reported to the user.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "controllerServiceBulletins" : {
          "type" : "array",
          "description" : "Controller service bulletins to be reported to the user.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "reportingTaskBulletins" : {
          "type" : "array",
          "description" : "Reporting task bulletins to be reported to the user.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        }
      },
      "xml" : {
        "name" : "controllerConfigurationEntity"
      }
    },
    "ControllerConfigurationDTO" : {
      "properties" : {
        "maxTimerDrivenThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The maimum number of timer driven threads the NiFi has available."
        },
        "maxEventDrivenThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The maximum number of event driven threads the NiFi has avaiable."
        }
      }
    },
    "ControllerConfigurationEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "component" : {
          "description" : "The controller configuration.",
          "$ref" : "#/definitions/ControllerConfigurationDTO"
        }
      },
      "xml" : {
        "name" : "controllerConfigurationEntity"
      }
    },
    "ControllerDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the NiFi."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the NiFi."
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments for the NiFi."
        },
        "runningCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of running components in the NiFi."
        },
        "stoppedCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of stopped components in the NiFi."
        },
        "invalidCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of invalid components in the NiFi."
        },
        "disabledCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of disabled components in the NiFi."
        },
        "activeRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active remote ports contained in the NiFi."
        },
        "inactiveRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of inactive remote porst contained in the NiFi."
        },
        "inputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of input ports contained in the NiFi."
        },
        "outputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of output ports in the NiFi."
        },
        "remoteSiteListeningPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The Socket Port on which this instance is listening for Remote Transfers of Flow Files. If this instance is not configured to receive Flow Files from remote instances, this will be null."
        },
        "remoteSiteHttpListeningPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The HTTP(S) Port on which this instance is listening for Remote Transfers of Flow Files. If this instance is not configured to receive Flow Files from remote instances, this will be null."
        },
        "siteToSiteSecure" : {
          "type" : "boolean",
          "description" : "Indicates whether or not Site-to-Site communications with this instance is secure (2-way authentication)."
        },
        "instanceId" : {
          "type" : "string",
          "description" : "If clustered, the id of the Cluster Manager, otherwise the id of the NiFi."
        },
        "inputPorts" : {
          "type" : "array",
          "description" : "The input ports available to send data to for the NiFi.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortDTO"
          }
        },
        "outputPorts" : {
          "type" : "array",
          "description" : "The output ports available to received data from the NiFi.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortDTO"
          }
        }
      }
    },
    "ControllerEntity" : {
      "properties" : {
        "controller" : {
          "$ref" : "#/definitions/ControllerDTO"
        }
      },
      "xml" : {
        "name" : "controllerEntity"
      }
    },
    "ControllerServiceDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the controller service."
        },
        "type" : {
          "type" : "string",
          "description" : "The type of the controller service."
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments for the controller service."
        },
        "state" : {
          "type" : "string",
          "description" : "The state of the controller service.",
          "enum" : [ "ENABLED", "ENABLING", "DISABLED", "DISABLING" ]
        },
        "persistsState" : {
          "type" : "boolean",
          "description" : "Whether the controller service persists state."
        },
        "properties" : {
          "type" : "object",
          "description" : "The properties of the controller service.",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "descriptors" : {
          "type" : "object",
          "description" : "The descriptors for the controller service properties.",
          "additionalProperties" : {
            "$ref" : "#/definitions/PropertyDescriptorDTO"
          }
        },
        "customUiUrl" : {
          "type" : "string",
          "description" : "The URL for the controller services custom configuration UI if applicable."
        },
        "annotationData" : {
          "type" : "string",
          "description" : "The annontation for the controller service. This is how the custom UI relays configuration to the controller service."
        },
        "referencingComponents" : {
          "type" : "array",
          "description" : "All components referencing this controller service.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ControllerServiceReferencingComponentEntity"
          }
        },
        "validationErrors" : {
          "type" : "array",
          "description" : "The validation errors from the controller service. These validation errors represent the problems with the controller service that must be resolved before it can be enabled.",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "ControllerServiceEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/ControllerServiceDTO"
        }
      },
      "xml" : {
        "name" : "controllerServiceEntity"
      }
    },
    "ControllerServiceReferencingComponentDTO" : {
      "properties" : {
        "groupId" : {
          "type" : "string",
          "description" : "The group id for the component referencing a controller service. If this component is another controller service or a reporting task, this field is blank."
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component referencing a controller service."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the component referencing a controller service."
        },
        "type" : {
          "type" : "string",
          "description" : "The type of the component referencing a controller service."
        },
        "state" : {
          "type" : "string",
          "description" : "The state of a processor or reporting task referencing a controller service. If this component is another controller service, this field is blank."
        },
        "properties" : {
          "type" : "object",
          "description" : "The properties for the component.",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "descriptors" : {
          "type" : "object",
          "description" : "The descriptors for the componet properties.",
          "additionalProperties" : {
            "$ref" : "#/definitions/PropertyDescriptorDTO"
          }
        },
        "validationErrors" : {
          "type" : "array",
          "description" : "The validation errors for the component.",
          "items" : {
            "type" : "string"
          }
        },
        "referenceType" : {
          "type" : "string",
          "description" : "The type of reference this is.",
          "enum" : [ "Processor", "ControllerService", "or ReportingTask" ]
        },
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active threads for the referencing component."
        },
        "referenceCycle" : {
          "type" : "boolean",
          "description" : "If the referencing component represents a controller service, this indicates whether it has already been represented in this hierarchy."
        },
        "referencingComponents" : {
          "description" : "If the referencing component represents a controller service, these are the components that referenc it.",
          "$ref" : "#/definitions/Set"
        }
      }
    },
    "ControllerServiceReferencingComponentEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/ControllerServiceReferencingComponentDTO"
        }
      },
      "xml" : {
        "name" : "controllerServiceReferencingComponentEntity"
      }
    },
    "ControllerServiceReferencingComponentsEntity" : {
      "properties" : {
        "controllerServiceReferencingComponents" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ControllerServiceReferencingComponentEntity"
          }
        }
      },
      "xml" : {
        "name" : "controllerServiceReferencingComponentsEntity"
      }
    },
    "ControllerServiceTypesEntity" : {
      "properties" : {
        "controllerServiceTypes" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/DocumentedTypeDTO"
          }
        }
      },
      "xml" : {
        "name" : "controllerServiceTypesEntity"
      }
    },
    "ControllerServicesEntity" : {
      "properties" : {
        "currentTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The current time on the system."
        },
        "controllerServices" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ControllerServiceEntity"
          }
        }
      },
      "xml" : {
        "name" : "controllerServicesEntity"
      }
    },
    "ControllerStatusDTO" : {
      "properties" : {
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active threads in the NiFi."
        },
        "queued" : {
          "type" : "string",
          "description" : "The number of flowfilew queued in the NiFi."
        },
        "flowFilesQueued" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles queued across the entire flow"
        },
        "bytesQueued" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the FlowFiles queued across the entire flow"
        },
        "runningCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of running components in the NiFi."
        },
        "stoppedCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of stopped components in the NiFi."
        },
        "invalidCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of invalid components in the NiFi."
        },
        "disabledCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of disabled components in the NiFi."
        },
        "activeRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active remote ports in the NiFi."
        },
        "inactiveRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of inactive remote ports in the NiFi."
        }
      }
    },
    "ControllerStatusEntity" : {
      "properties" : {
        "controllerStatus" : {
          "$ref" : "#/definitions/ControllerStatusDTO"
        }
      },
      "xml" : {
        "name" : "controllerStatusEntity"
      }
    },
    "CopySnippetRequestEntity" : {
      "properties" : {
        "snippetId" : {
          "type" : "string",
          "description" : "The identifier of the snippet."
        },
        "originX" : {
          "type" : "number",
          "format" : "double",
          "description" : "The x coordinate of the origin of the bounding box where the new components will be placed."
        },
        "originY" : {
          "type" : "number",
          "format" : "double",
          "description" : "The y coordinate of the origin of the bounding box where the new components will be placed."
        }
      },
      "xml" : {
        "name" : "copySnippetRequestEntity"
      }
    },
    "CounterDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the counter."
        },
        "context" : {
          "type" : "string",
          "description" : "The context of the counter."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the counter."
        },
        "valueCount" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The value count."
        },
        "value" : {
          "type" : "string",
          "description" : "The value of the counter."
        }
      }
    },
    "CounterEntity" : {
      "properties" : {
        "counter" : {
          "$ref" : "#/definitions/CounterDTO"
        }
      },
      "xml" : {
        "name" : "counterEntity"
      }
    },
    "CountersDTO" : {
      "properties" : {
        "aggregateSnapshot" : {
          "description" : "A Counters snapshot that represents the aggregate values of all nodes in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this represents the stats of the single instance.",
          "$ref" : "#/definitions/CountersSnapshotDTO"
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "A Counters snapshot for each node in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this may be null.",
          "items" : {
            "$ref" : "#/definitions/NodeCountersSnapshotDTO"
          }
        }
      }
    },
    "CountersEntity" : {
      "properties" : {
        "counters" : {
          "$ref" : "#/definitions/CountersDTO"
        }
      },
      "xml" : {
        "name" : "countersEntity"
      }
    },
    "CountersSnapshotDTO" : {
      "properties" : {
        "generated" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when the report was generated."
        },
        "counters" : {
          "type" : "array",
          "description" : "All counters in the NiFi.",
          "items" : {
            "$ref" : "#/definitions/CounterDTO"
          }
        }
      }
    },
    "CreateTemplateRequestEntity" : {
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the template."
        },
        "description" : {
          "type" : "string",
          "description" : "The description of the template."
        },
        "snippetId" : {
          "type" : "string",
          "description" : "The identifier of the snippet."
        }
      },
      "xml" : {
        "name" : "copySnippetRequestEntity"
      }
    },
    "CurrentUserEntity" : {
      "properties" : {
        "identity" : {
          "type" : "string",
          "description" : "The user identity being serialized."
        },
        "anonymous" : {
          "type" : "boolean",
          "description" : "Whether the current user is anonymous."
        },
        "provenancePermissions" : {
          "description" : "Permissions for querying provenance.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "countersPermissions" : {
          "description" : "Permissions for accessing counters.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "tenantsPermissions" : {
          "description" : "Permissions for accessing tenants.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "controllerPermissions" : {
          "description" : "Permissions for accessing the controller.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "policiesPermissions" : {
          "description" : "Permissions for accessing the policies.",
          "$ref" : "#/definitions/PermissionsDTO"
        }
      },
      "xml" : {
        "name" : "currentEntity"
      }
    },
    "DimensionsDTO" : {
      "properties" : {
        "width" : {
          "type" : "number",
          "format" : "double",
          "description" : "The width of the label in pixels when at a 1:1 scale."
        },
        "height" : {
          "type" : "number",
          "format" : "double",
          "description" : "The height of the label in pixels when at a 1:1 scale."
        }
      }
    },
    "DocumentedTypeDTO" : {
      "properties" : {
        "type" : {
          "type" : "string",
          "description" : "The fulley qualified name of the type."
        },
        "description" : {
          "type" : "string",
          "description" : "The description of the type."
        },
        "tags" : {
          "type" : "array",
          "description" : "The tags associated with this type.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "DropRequestDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id for this drop request."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for future requests to this drop request."
        },
        "submissionTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when the query was submitted."
        },
        "lastUpdated" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The last time this drop request was updated."
        },
        "percentCompleted" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The current percent complete."
        },
        "finished" : {
          "type" : "boolean",
          "description" : "Whether the query has finished."
        },
        "failureReason" : {
          "type" : "string",
          "description" : "The reason, if any, that this drop request failed."
        },
        "currentCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of flow files currently queued."
        },
        "currentSize" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of flow files currently queued in bytes."
        },
        "current" : {
          "type" : "string",
          "description" : "The count and size of flow files currently queued."
        },
        "originalCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of flow files to be dropped as a result of this request."
        },
        "originalSize" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of flow files to be dropped as a result of this request in bytes."
        },
        "original" : {
          "type" : "string",
          "description" : "The count and size of flow files to be dropped as a result of this request."
        },
        "droppedCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of flow files that have been dropped thus far."
        },
        "droppedSize" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of flow files that have been dropped thus far in bytes."
        },
        "dropped" : {
          "type" : "string",
          "description" : "The count and size of flow files that have been dropped thus far."
        },
        "state" : {
          "type" : "string",
          "description" : "The current state of the drop request."
        }
      }
    },
    "DropRequestEntity" : {
      "properties" : {
        "dropRequest" : {
          "$ref" : "#/definitions/DropRequestDTO"
        }
      },
      "xml" : {
        "name" : "dropRequestEntity"
      }
    },
    "FlowBreadcrumbDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the group."
        },
        "name" : {
          "type" : "string",
          "description" : "The id of the group."
        }
      }
    },
    "FlowBreadcrumbEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of this ancestor ProcessGroup."
        },
        "permissions" : {
          "description" : "The permissions for this ancestor ProcessGroup.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "breadcrumb" : {
          "description" : "This breadcrumb.",
          "$ref" : "#/definitions/FlowBreadcrumbDTO"
        }
      },
      "xml" : {
        "name" : "flowEntity"
      }
    },
    "FlowConfigurationDTO" : {
      "properties" : {
        "supportsConfigurableAuthorizer" : {
          "type" : "boolean",
          "description" : "Whether this NiFi supports a configurable authorizer.",
          "readOnly" : true
        },
        "autoRefreshIntervalSeconds" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The interval in seconds between the automatic NiFi refresh requests.",
          "readOnly" : true
        },
        "currentTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The current time on the system."
        },
        "timeOffset" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The time offset of the system."
        }
      }
    },
    "FlowConfigurationEntity" : {
      "properties" : {
        "flowConfiguration" : {
          "description" : "The controller configuration.",
          "$ref" : "#/definitions/FlowConfigurationDTO"
        }
      },
      "xml" : {
        "name" : "flowConfigurationEntity"
      }
    },
    "FlowDTO" : {
      "properties" : {
        "processGroups" : {
          "type" : "array",
          "description" : "The process groups in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ProcessGroupEntity"
          }
        },
        "remoteProcessGroups" : {
          "type" : "array",
          "description" : "The remote process groups in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/RemoteProcessGroupEntity"
          }
        },
        "processors" : {
          "type" : "array",
          "description" : "The processors in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ProcessorEntity"
          }
        },
        "inputPorts" : {
          "type" : "array",
          "description" : "The input ports in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortEntity"
          }
        },
        "outputPorts" : {
          "type" : "array",
          "description" : "The output ports in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortEntity"
          }
        },
        "connections" : {
          "type" : "array",
          "description" : "The connections in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ConnectionEntity"
          }
        },
        "labels" : {
          "type" : "array",
          "description" : "The labels in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/LabelEntity"
          }
        },
        "funnels" : {
          "type" : "array",
          "description" : "The funnels in this flow.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/FunnelEntity"
          }
        }
      }
    },
    "FlowEntity" : {
      "properties" : {
        "flow" : {
          "$ref" : "#/definitions/FlowDTO"
        }
      },
      "xml" : {
        "name" : "flowEntity"
      }
    },
    "FlowFileSummaryDTO" : {
      "properties" : {
        "uri" : {
          "type" : "string",
          "description" : "The URI that can be used to access this FlowFile."
        },
        "uuid" : {
          "type" : "string",
          "description" : "The FlowFile UUID."
        },
        "filename" : {
          "type" : "string",
          "description" : "The FlowFile filename."
        },
        "position" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The FlowFile's position in the queue."
        },
        "size" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The FlowFile file size."
        },
        "queuedDuration" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "How long this FlowFile has been enqueued."
        },
        "lineageDuration" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "Duration since the FlowFile's greatest ancestor entered the flow."
        },
        "clusterNodeId" : {
          "type" : "string",
          "description" : "The id of the node where this FlowFile resides."
        },
        "clusterNodeAddress" : {
          "type" : "string",
          "description" : "The label for the node where this FlowFile resides."
        },
        "penalized" : {
          "type" : "boolean",
          "description" : "If the FlowFile is penalized."
        }
      }
    },
    "FlowSnippetDTO" : {
      "properties" : {
        "processGroups" : {
          "description" : "The process groups in this flow snippet.",
          "$ref" : "#/definitions/Set"
        },
        "remoteProcessGroups" : {
          "type" : "array",
          "description" : "The remote process groups in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/RemoteProcessGroupDTO"
          }
        },
        "processors" : {
          "type" : "array",
          "description" : "The processors in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ProcessorDTO"
          }
        },
        "inputPorts" : {
          "type" : "array",
          "description" : "The input ports in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortDTO"
          }
        },
        "outputPorts" : {
          "type" : "array",
          "description" : "The output ports in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortDTO"
          }
        },
        "connections" : {
          "type" : "array",
          "description" : "The connections in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ConnectionDTO"
          }
        },
        "labels" : {
          "type" : "array",
          "description" : "The labels in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/LabelDTO"
          }
        },
        "funnels" : {
          "type" : "array",
          "description" : "The funnels in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/FunnelDTO"
          }
        },
        "controllerServices" : {
          "type" : "array",
          "description" : "The controller services in this flow snippet.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ControllerServiceDTO"
          }
        }
      }
    },
    "FlowSnippetEntity" : {
      "properties" : {
        "contents" : {
          "$ref" : "#/definitions/FlowSnippetDTO"
        }
      },
      "xml" : {
        "name" : "flowSnippetEntity"
      }
    },
    "FunnelDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        }
      }
    },
    "FunnelEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/FunnelDTO"
        }
      },
      "xml" : {
        "name" : "funnelEntity"
      }
    },
    "FunnelsEntity" : {
      "properties" : {
        "funnels" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/FunnelEntity"
          }
        }
      },
      "xml" : {
        "name" : "funnelsEntity"
      }
    },
    "GarbageCollectionDTO" : {
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the garbage collector."
        },
        "collectionCount" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of times garbage collection has run."
        },
        "collectionTime" : {
          "type" : "string",
          "description" : "The total amount of time spent garbage collecting."
        },
        "collectionMillis" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The total number of milliseconds spent garbage collecting."
        }
      }
    },
    "HistoryDTO" : {
      "properties" : {
        "total" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of number of actions that matched the search criteria.."
        },
        "lastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when the report was generated."
        },
        "actions" : {
          "type" : "array",
          "description" : "The actions.",
          "items" : {
            "$ref" : "#/definitions/ActionEntity"
          }
        }
      }
    },
    "HistoryEntity" : {
      "properties" : {
        "history" : {
          "$ref" : "#/definitions/HistoryDTO"
        }
      },
      "xml" : {
        "name" : "historyEntity"
      }
    },
    "InputPortsEntity" : {
      "properties" : {
        "inputPorts" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortEntity"
          }
        }
      },
      "xml" : {
        "name" : "inputPortsEntity"
      }
    },
    "InstantiateTemplateRequestEntity" : {
      "properties" : {
        "templateId" : {
          "type" : "string",
          "description" : "The identifier of the template."
        },
        "originX" : {
          "type" : "number",
          "format" : "double",
          "description" : "The x coordinate of the origin of the bounding box where the new components will be placed."
        },
        "originY" : {
          "type" : "number",
          "format" : "double",
          "description" : "The y coordinate of the origin of the bounding box where the new components will be placed."
        }
      },
      "xml" : {
        "name" : "instantiateTemplateRequestEntity"
      }
    },
    "LabelDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "label" : {
          "type" : "string",
          "description" : "The text that appears in the label."
        },
        "width" : {
          "type" : "number",
          "format" : "double",
          "description" : "The width of the label in pixels when at a 1:1 scale."
        },
        "height" : {
          "type" : "number",
          "format" : "double",
          "description" : "The height of the label in pixels when at a 1:1 scale."
        },
        "style" : {
          "type" : "object",
          "description" : "The styles for this label (font-size => 12px, background-color => #eee, etc).",
          "additionalProperties" : {
            "type" : "string"
          }
        }
      }
    },
    "LabelEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "dimensions" : {
          "$ref" : "#/definitions/DimensionsDTO"
        },
        "component" : {
          "$ref" : "#/definitions/LabelDTO"
        }
      },
      "xml" : {
        "name" : "labelEntity"
      }
    },
    "LabelsEntity" : {
      "properties" : {
        "labels" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/LabelEntity"
          }
        }
      },
      "xml" : {
        "name" : "labelsEntity"
      }
    },
    "LineageDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of this lineage query."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for this lineage query for later retrieval and deletion."
        },
        "submissionTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "When the lineage query was submitted."
        },
        "expiration" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "When the lineage query will expire."
        },
        "percentCompleted" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The percent complete for the lineage query."
        },
        "finished" : {
          "type" : "boolean",
          "description" : "Whether the lineage query has finished."
        },
        "request" : {
          "description" : "The initial lineage result.",
          "$ref" : "#/definitions/LineageRequestDTO"
        },
        "results" : {
          "description" : "The results of the lineage query.",
          "$ref" : "#/definitions/LineageResultsDTO"
        }
      }
    },
    "LineageEntity" : {
      "properties" : {
        "lineage" : {
          "$ref" : "#/definitions/LineageDTO"
        }
      },
      "xml" : {
        "name" : "lineageEntity"
      }
    },
    "LineageRequestDTO" : {
      "properties" : {
        "eventId" : {
          "type" : "integer",
          "format" : "int64"
        },
        "lineageRequestType" : {
          "type" : "string",
          "description" : "The type of lineage request. PARENTS will return the lineage for the flowfiles that are parents of the specified event. CHILDREN will return the lineage for the flowfiles that are children of the specified event. FLOWFILE will return the lineage for the specified flowfile.",
          "enum" : [ "PARENTS", "CHILDREN", "FLOWFILE", "and FLOWFILE" ]
        },
        "uuid" : {
          "type" : "string",
          "description" : "The uuid that was used to generate the lineage."
        },
        "clusterNodeId" : {
          "type" : "string",
          "description" : "The id of the node where this lineage originated if clustered."
        }
      }
    },
    "LineageResultsDTO" : {
      "properties" : {
        "errors" : {
          "type" : "array",
          "description" : "Any errors that occurred while generating the lineage.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "nodes" : {
          "type" : "array",
          "description" : "The nodes in the lineage.",
          "items" : {
            "$ref" : "#/definitions/ProvenanceNodeDTO"
          }
        },
        "links" : {
          "type" : "array",
          "description" : "The links between the nodes in the lineage.",
          "items" : {
            "$ref" : "#/definitions/ProvenanceLinkDTO"
          }
        }
      }
    },
    "ListingRequestDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id for this listing request."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for future requests to this listing request."
        },
        "submissionTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when the query was submitted."
        },
        "lastUpdated" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The last time this listing request was updated."
        },
        "percentCompleted" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The current percent complete."
        },
        "finished" : {
          "type" : "boolean",
          "description" : "Whether the query has finished."
        },
        "failureReason" : {
          "type" : "string",
          "description" : "The reason, if any, that this listing request failed."
        },
        "maxResults" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The maximum number of FlowFileSummary objects to return"
        },
        "state" : {
          "type" : "string",
          "description" : "The current state of the listing request."
        },
        "queueSize" : {
          "description" : "The size of the queue",
          "$ref" : "#/definitions/QueueSizeDTO"
        },
        "flowFileSummaries" : {
          "type" : "array",
          "description" : "The FlowFile summaries. The summaries will be populated once the request has completed.",
          "items" : {
            "$ref" : "#/definitions/FlowFileSummaryDTO"
          }
        },
        "sourceRunning" : {
          "type" : "boolean",
          "description" : "Whether the source of the connection is running"
        },
        "destinationRunning" : {
          "type" : "boolean",
          "description" : "Whether the destination of the connection is running"
        }
      }
    },
    "ListingRequestEntity" : {
      "properties" : {
        "listingRequest" : {
          "$ref" : "#/definitions/ListingRequestDTO"
        }
      },
      "xml" : {
        "name" : "listingRequestEntity"
      }
    },
    "NodeConnectionStatusSnapshotDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The unique ID that identifies the node"
        },
        "address" : {
          "type" : "string",
          "description" : "The API address of the node"
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The API port used to communicate with the node"
        },
        "statusSnapshot" : {
          "description" : "The connection status snapshot from the node.",
          "$ref" : "#/definitions/ConnectionStatusSnapshotDTO"
        }
      }
    },
    "NodeCountersSnapshotDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The unique ID that identifies the node"
        },
        "address" : {
          "type" : "string",
          "description" : "The API address of the node"
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The API port used to communicate with the node"
        },
        "snapshot" : {
          "description" : "The counters from the node.",
          "$ref" : "#/definitions/CountersSnapshotDTO"
        }
      }
    },
    "NodeDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The id of the node.",
          "readOnly" : true
        },
        "address" : {
          "type" : "string",
          "description" : "The node's host/ip address.",
          "readOnly" : true
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The port the node is listening for API requests.",
          "readOnly" : true
        },
        "status" : {
          "type" : "string",
          "description" : "The node's status."
        },
        "heartbeat" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "the time of the nodes's last heartbeat.",
          "readOnly" : true
        },
        "connectionRequested" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The time of the node's last connection request.",
          "readOnly" : true
        },
        "roles" : {
          "type" : "array",
          "description" : "The roles of this node.",
          "readOnly" : true,
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The active threads for the NiFi on the node.",
          "readOnly" : true
        },
        "queued" : {
          "type" : "string",
          "description" : "The queue the NiFi on the node.",
          "readOnly" : true
        },
        "events" : {
          "type" : "array",
          "description" : "The node's events.",
          "readOnly" : true,
          "items" : {
            "$ref" : "#/definitions/NodeEventDTO"
          }
        },
        "nodeStartTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The time at which this Node was last refreshed.",
          "readOnly" : true
        }
      }
    },
    "NodeEntity" : {
      "properties" : {
        "node" : {
          "$ref" : "#/definitions/NodeDTO"
        }
      },
      "xml" : {
        "name" : "nodeEntity"
      }
    },
    "NodeEventDTO" : {
      "properties" : {
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of the node event."
        },
        "category" : {
          "type" : "string",
          "description" : "The category of the node event."
        },
        "message" : {
          "type" : "string",
          "description" : "The message in the node event."
        }
      }
    },
    "NodePortStatusSnapshotDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The unique ID that identifies the node"
        },
        "address" : {
          "type" : "string",
          "description" : "The API address of the node"
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The API port used to communicate with the node"
        },
        "statusSnapshot" : {
          "description" : "The port status snapshot from the node.",
          "$ref" : "#/definitions/PortStatusSnapshotDTO"
        }
      }
    },
    "NodeProcessGroupStatusSnapshotDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The unique ID that identifies the node"
        },
        "address" : {
          "type" : "string",
          "description" : "The API address of the node"
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The API port used to communicate with the node"
        },
        "statusSnapshot" : {
          "description" : "The process group status snapshot from the node.",
          "$ref" : "#/definitions/ProcessGroupStatusSnapshotDTO"
        }
      }
    },
    "NodeProcessorStatusSnapshotDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The unique ID that identifies the node"
        },
        "address" : {
          "type" : "string",
          "description" : "The API address of the node"
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The API port used to communicate with the node"
        },
        "statusSnapshot" : {
          "description" : "The processor status snapshot from the node.",
          "$ref" : "#/definitions/ProcessorStatusSnapshotDTO"
        }
      }
    },
    "NodeRemoteProcessGroupStatusSnapshotDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The unique ID that identifies the node"
        },
        "address" : {
          "type" : "string",
          "description" : "The API address of the node"
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The API port used to communicate with the node"
        },
        "statusSnapshot" : {
          "description" : "The remote process group status snapshot from the node.",
          "$ref" : "#/definitions/RemoteProcessGroupStatusSnapshotDTO"
        }
      }
    },
    "NodeSearchResultDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the node that matched the search."
        },
        "address" : {
          "type" : "string",
          "description" : "The address of the node that matched the search."
        }
      }
    },
    "NodeStatusSnapshotsDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The id of the node."
        },
        "address" : {
          "type" : "string",
          "description" : "The node's host/ip address."
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The port the node is listening for API requests."
        },
        "statusSnapshots" : {
          "type" : "array",
          "description" : "A list of StatusSnapshotDTO objects that provide the actual metric values for the component for this node.",
          "items" : {
            "$ref" : "#/definitions/StatusSnapshotDTO"
          }
        }
      }
    },
    "NodeSystemDiagnosticsSnapshotDTO" : {
      "properties" : {
        "nodeId" : {
          "type" : "string",
          "description" : "The unique ID that identifies the node"
        },
        "address" : {
          "type" : "string",
          "description" : "The API address of the node"
        },
        "apiPort" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The API port used to communicate with the node"
        },
        "snapshot" : {
          "description" : "The System Diagnostics snapshot from the node.",
          "$ref" : "#/definitions/SystemDiagnosticsSnapshotDTO"
        }
      }
    },
    "OutputPortsEntity" : {
      "properties" : {
        "outputPorts" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/PortEntity"
          }
        }
      },
      "xml" : {
        "name" : "outputPortsEntity"
      }
    },
    "PeerDTO" : {
      "properties" : {
        "hostname" : {
          "type" : "string",
          "description" : "The hostname of this peer."
        },
        "port" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The port number of this peer."
        },
        "secure" : {
          "type" : "boolean",
          "description" : "Returns if this peer connection is secure."
        },
        "flowFileCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of flowFiles this peer holds."
        }
      }
    },
    "PeersEntity" : {
      "properties" : {
        "peers" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PeerDTO"
          }
        }
      },
      "xml" : {
        "name" : "peersEntity"
      }
    },
    "PermissionsDTO" : {
      "properties" : {
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        },
        "canWrite" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can write a given resource.",
          "readOnly" : true
        }
      }
    },
    "PortDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the port."
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments for the port."
        },
        "state" : {
          "type" : "string",
          "description" : "The state of the port.",
          "enum" : [ "RUNNING", "STOPPED", "DISABLED" ]
        },
        "type" : {
          "type" : "string",
          "description" : "The type of port.",
          "enum" : [ "INPUT_PORT", "OUTPUT_PORT" ]
        },
        "transmitting" : {
          "type" : "boolean",
          "description" : "Whether the port has incoming or output connections to a remote NiFi. This is only applicable when the port is running in the root group."
        },
        "concurrentlySchedulableTaskCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of tasks that should be concurrently scheduled for the port."
        },
        "userAccessControl" : {
          "type" : "array",
          "description" : "The users that are allowed to access the port.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "groupAccessControl" : {
          "type" : "array",
          "description" : "The user groups that are allowed to access the port.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "validationErrors" : {
          "type" : "array",
          "description" : "Gets the validation errors from this port. These validation errors represent the problems with the port that must be resolved before it can be started.",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "PortEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/PortDTO"
        },
        "status" : {
          "description" : "The status of the port.",
          "$ref" : "#/definitions/PortStatusDTO"
        },
        "portType" : {
          "type" : "string"
        }
      },
      "xml" : {
        "name" : "portEntity"
      }
    },
    "PortStatusDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the port."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the parent process group of the port."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the port."
        },
        "transmitting" : {
          "type" : "boolean",
          "description" : "Whether the port has incoming or outgoing connections to a remote NiFi."
        },
        "runStatus" : {
          "type" : "string",
          "description" : "The run status of the port."
        },
        "statsLastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The time the status for the process group was last refreshed."
        },
        "aggregateSnapshot" : {
          "description" : "A status snapshot that represents the aggregate stats of all nodes in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this represents the stats of the single instance.",
          "$ref" : "#/definitions/PortStatusSnapshotDTO"
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "A status snapshot for each node in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this may be null.",
          "items" : {
            "$ref" : "#/definitions/NodePortStatusSnapshotDTO"
          }
        }
      }
    },
    "PortStatusEntity" : {
      "properties" : {
        "portStatus" : {
          "$ref" : "#/definitions/PortStatusDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "portStatusEntity"
      }
    },
    "PortStatusSnapshotDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the port."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the parent process group of the port."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the port."
        },
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The active thread count for the port."
        },
        "flowFilesIn" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that have been accepted in the last 5 minutes."
        },
        "bytesIn" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of hte FlowFiles that have been accepted in the last 5 minutes."
        },
        "input" : {
          "type" : "string",
          "description" : "The count/size of flowfiles that have been accepted in the last 5 minutes."
        },
        "flowFilesOut" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that have been processed in the last 5 minutes."
        },
        "bytesOut" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes that have been processed in the last 5 minutes."
        },
        "output" : {
          "type" : "string",
          "description" : "The count/size of flowfiles that have been processed in the last 5 minutes."
        },
        "transmitting" : {
          "type" : "boolean",
          "description" : "Whether the port has incoming or outgoing connections to a remote NiFi."
        },
        "runStatus" : {
          "type" : "string",
          "description" : "The run status of the port."
        }
      }
    },
    "PortStatusSnapshotEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the port."
        },
        "portStatusSnapshot" : {
          "$ref" : "#/definitions/PortStatusSnapshotDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "entity"
      }
    },
    "PositionDTO" : {
      "properties" : {
        "x" : {
          "type" : "number",
          "format" : "double",
          "description" : "The x coordinate."
        },
        "y" : {
          "type" : "number",
          "format" : "double",
          "description" : "The y coordinate."
        }
      }
    },
    "PreviousValueDTO" : {
      "properties" : {
        "previousValue" : {
          "type" : "string",
          "description" : "The previous value."
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when the value was modified."
        },
        "userIdentity" : {
          "type" : "string",
          "description" : "The user who changed the previous value."
        }
      }
    },
    "PrioritizerTypesEntity" : {
      "properties" : {
        "prioritizerTypes" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/DocumentedTypeDTO"
          }
        }
      },
      "xml" : {
        "name" : "prioritizerTypesEntity"
      }
    },
    "ProcessGroupDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the process group."
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments for the process group."
        },
        "runningCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of running componetns in this process group."
        },
        "stoppedCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of stopped components in the process group."
        },
        "invalidCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of invalid components in the process group."
        },
        "disabledCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of disabled components in the process group."
        },
        "activeRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active remote ports in the process group."
        },
        "inactiveRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of inactive remote ports in the process group."
        },
        "inputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of input ports in the process group."
        },
        "outputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of output ports in the process group."
        },
        "contents" : {
          "description" : "The contents of this process group.",
          "$ref" : "#/definitions/FlowSnippetDTO"
        }
      }
    },
    "ProcessGroupEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/ProcessGroupDTO"
        },
        "status" : {
          "description" : "The status of the process group.",
          "$ref" : "#/definitions/ProcessGroupStatusDTO"
        },
        "runningCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of running componetns in this process group."
        },
        "stoppedCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of stopped components in the process group."
        },
        "invalidCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of invalid components in the process group."
        },
        "disabledCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of disabled components in the process group."
        },
        "activeRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active remote ports in the process group."
        },
        "inactiveRemotePortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of inactive remote ports in the process group."
        },
        "inputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of input ports in the process group."
        },
        "outputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of output ports in the process group."
        }
      },
      "xml" : {
        "name" : "processGroupEntity"
      }
    },
    "ProcessGroupFlowDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "breadcrumb" : {
          "description" : "The breadcrumb of the process group.",
          "$ref" : "#/definitions/FlowBreadcrumbEntity"
        },
        "flow" : {
          "description" : "The flow structure starting at this Process Group.",
          "$ref" : "#/definitions/FlowDTO"
        },
        "lastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The time the flow for the process group was last refreshed."
        }
      }
    },
    "ProcessGroupFlowEntity" : {
      "properties" : {
        "permissions" : {
          "description" : "The access policy for this process group.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "processGroupFlow" : {
          "$ref" : "#/definitions/ProcessGroupFlowDTO"
        }
      },
      "xml" : {
        "name" : "processGroupFlowEntity"
      }
    },
    "ProcessGroupStatusDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The ID of the Process Group"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the Process Group"
        },
        "statsLastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The time the status for the process group was last refreshed."
        },
        "aggregateSnapshot" : {
          "description" : "The aggregate status of all nodes in the cluster",
          "$ref" : "#/definitions/ProcessGroupStatusSnapshotDTO"
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "The status reported by each node in the cluster. If the NiFi instance is a standalone instance, rather than a clustered instance, this value may be null.",
          "items" : {
            "$ref" : "#/definitions/NodeProcessGroupStatusSnapshotDTO"
          }
        }
      }
    },
    "ProcessGroupStatusEntity" : {
      "properties" : {
        "processGroupStatus" : {
          "$ref" : "#/definitions/ProcessGroupStatusDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "processGroupStatusEntity"
      }
    },
    "ProcessGroupStatusSnapshotDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the process group."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of this process group."
        },
        "connectionStatusSnapshots" : {
          "type" : "array",
          "description" : "The status of all conenctions in the process group.",
          "items" : {
            "$ref" : "#/definitions/ConnectionStatusSnapshotEntity"
          }
        },
        "processorStatusSnapshots" : {
          "type" : "array",
          "description" : "The status of all processors in the process group.",
          "items" : {
            "$ref" : "#/definitions/ProcessorStatusSnapshotEntity"
          }
        },
        "processGroupStatusSnapshots" : {
          "type" : "array",
          "description" : "The status of all process groups in the process group.",
          "items" : {
            "$ref" : "#/definitions/ProcessGroupStatusSnapshotEntity"
          }
        },
        "remoteProcessGroupStatusSnapshots" : {
          "type" : "array",
          "description" : "The status of all remote process groups in the process group.",
          "items" : {
            "$ref" : "#/definitions/RemoteProcessGroupStatusSnapshotEntity"
          }
        },
        "inputPortStatusSnapshots" : {
          "type" : "array",
          "description" : "The status of all input ports in the process group.",
          "items" : {
            "$ref" : "#/definitions/PortStatusSnapshotEntity"
          }
        },
        "outputPortStatusSnapshots" : {
          "type" : "array",
          "description" : "The status of all output ports in the process group.",
          "items" : {
            "$ref" : "#/definitions/PortStatusSnapshotEntity"
          }
        },
        "flowFilesIn" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that have come into this ProcessGroup in the last 5 minutes"
        },
        "bytesIn" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes that have come into this ProcessGroup in the last 5 minutes"
        },
        "input" : {
          "type" : "string",
          "description" : "The input count/size for the process group in the last 5 minutes (pretty printed)."
        },
        "flowFilesQueued" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that are queued up in this ProcessGroup right now"
        },
        "bytesQueued" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes that are queued up in this ProcessGroup right now"
        },
        "queued" : {
          "type" : "string",
          "description" : "The count/size that is queued in the the process group."
        },
        "queuedCount" : {
          "type" : "string",
          "description" : "The count that is queued for the process group."
        },
        "queuedSize" : {
          "type" : "string",
          "description" : "The size that is queued for the process group."
        },
        "bytesRead" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes read by components in this ProcessGroup in the last 5 minutes"
        },
        "read" : {
          "type" : "string",
          "description" : "The number of bytes read in the last 5 minutes."
        },
        "bytesWritten" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes written by components in this ProcessGroup in the last 5 minutes"
        },
        "written" : {
          "type" : "string",
          "description" : "The number of bytes written in the last 5 minutes."
        },
        "flowFilesOut" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles transferred out of this ProcessGroup in the last 5 minutes"
        },
        "bytesOut" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes transferred out of this ProcessGroup in the last 5 minutes"
        },
        "output" : {
          "type" : "string",
          "description" : "The output count/size for the process group in the last 5 minutes."
        },
        "flowFilesTransferred" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles transferred in this ProcessGroup in the last 5 minutes"
        },
        "bytesTransferred" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes transferred in this ProcessGroup in the last 5 minutes"
        },
        "transferred" : {
          "type" : "string",
          "description" : "The count/size transferred to/frome queues in the process group in the last 5 minutes."
        },
        "bytesReceived" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes received from external sources by components within this ProcessGroup in the last 5 minutes"
        },
        "flowFilesReceived" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles received from external sources by components within this ProcessGroup in the last 5 minutes"
        },
        "received" : {
          "type" : "string",
          "description" : "The count/size sent to the process group in the last 5 minutes."
        },
        "bytesSent" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes sent to an external sink by components within this ProcessGroup in the last 5 minutes"
        },
        "flowFilesSent" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles sent to an external sink by components within this ProcessGroup in the last 5 minutes"
        },
        "sent" : {
          "type" : "string",
          "description" : "The count/size sent from this process group in the last 5 minutes."
        },
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The active thread count for this process group."
        }
      }
    },
    "ProcessGroupStatusSnapshotEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the process group."
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "entity"
      }
    },
    "ProcessorConfigDTO" : {
      "properties" : {
        "properties" : {
          "type" : "object",
          "description" : "The properties for the processor. Properties whose value is not set will only contain the property name.",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "descriptors" : {
          "type" : "object",
          "description" : "Descriptors for the processor's properties.",
          "additionalProperties" : {
            "$ref" : "#/definitions/PropertyDescriptorDTO"
          }
        },
        "schedulingPeriod" : {
          "type" : "string",
          "description" : "The frequency with which to schedule the processor. The format of the value will depend on th value of schedulingStrategy."
        },
        "schedulingStrategy" : {
          "type" : "string",
          "description" : "Indcates whether the prcessor should be scheduled to run in event or timer driven mode."
        },
        "penaltyDuration" : {
          "type" : "string",
          "description" : "The amout of time that is used when the process penalizes a flowfile."
        },
        "yieldDuration" : {
          "type" : "string",
          "description" : "The amount of time that must elapse before this processor is scheduled again after yielding."
        },
        "bulletinLevel" : {
          "type" : "string",
          "description" : "The level at which the processor will report bulletins."
        },
        "runDurationMillis" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The run duration for the processor in milliseconds."
        },
        "concurrentlySchedulableTaskCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of tasks that should be concurrently schedule for the processor. If the processor doesn't allow parallol processing then any positive input will be ignored."
        },
        "autoTerminatedRelationships" : {
          "type" : "array",
          "description" : "The names of all relationships that cause a flow file to be terminated if the relationship is not connected elsewhere. This property differs from the 'isAutoTerminate' property of the RelationshipDTO in that the RelationshipDTO is meant to depict the current configuration, whereas this property can be set in a DTO when updating a Processor in order to change which Relationships should be auto-terminated.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments for the processor."
        },
        "customUiUrl" : {
          "type" : "string",
          "description" : "The URL for the processor's custom configuration UI if applicable."
        },
        "lossTolerant" : {
          "type" : "boolean",
          "description" : "Whether the processor is loss tolerant."
        },
        "annotationData" : {
          "type" : "string",
          "description" : "The annotation data for the processor used to relay configuration between a custom UI and the procesosr."
        },
        "defaultConcurrentTasks" : {
          "type" : "object",
          "description" : "Maps default values for concurrent tasks for each applicable scheduling strategy.",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "defaultSchedulingPeriod" : {
          "type" : "object",
          "description" : "Maps default values for scheduling period for each applicable scheduling strategy.",
          "additionalProperties" : {
            "type" : "string"
          }
        }
      }
    },
    "ProcessorDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the processor."
        },
        "type" : {
          "type" : "string",
          "description" : "The type of the processor."
        },
        "state" : {
          "type" : "string",
          "description" : "The state of the processor",
          "enum" : [ "RUNNING", "STOPPED", "DISABLED" ]
        },
        "style" : {
          "type" : "object",
          "description" : "Styles for the processor (background-color => #eee).",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "relationships" : {
          "type" : "array",
          "description" : "The available relationships that the processor currently supports.",
          "readOnly" : true,
          "items" : {
            "$ref" : "#/definitions/RelationshipDTO"
          }
        },
        "description" : {
          "type" : "string",
          "description" : "The description of the processor."
        },
        "supportsParallelProcessing" : {
          "type" : "boolean",
          "description" : "Whether the processor supports parallel processing."
        },
        "supportsEventDriven" : {
          "type" : "boolean",
          "description" : "Whether the processor supports event driven scheduling."
        },
        "supportsBatching" : {
          "type" : "boolean",
          "description" : "Whether the processor supports batching. This makes the run duration settings available."
        },
        "persistsState" : {
          "type" : "boolean",
          "description" : "Whether the processor persists state."
        },
        "inputRequirement" : {
          "type" : "string",
          "description" : "The input requirement for this processor."
        },
        "config" : {
          "description" : "The configuration details for the processor. These details will be included in a resopnse if the verbose flag is included in a request.",
          "$ref" : "#/definitions/ProcessorConfigDTO"
        },
        "validationErrors" : {
          "type" : "array",
          "description" : "The validation errors for the processor. These validation errors represent the problems with the processor that must be resolved before it can be started.",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "ProcessorEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/ProcessorDTO"
        },
        "inputRequirement" : {
          "type" : "string",
          "description" : "The input requirement for this processor."
        },
        "status" : {
          "$ref" : "#/definitions/ProcessorStatusDTO"
        }
      },
      "xml" : {
        "name" : "processorEntity"
      }
    },
    "ProcessorStatusDTO" : {
      "properties" : {
        "groupId" : {
          "type" : "string",
          "description" : "The unique ID of the process group that the Processor belongs to"
        },
        "id" : {
          "type" : "string",
          "description" : "The unique ID of the Processor"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the Processor"
        },
        "type" : {
          "type" : "string",
          "description" : "The type of the Processor"
        },
        "runStatus" : {
          "type" : "string",
          "description" : "The run status of the Processor"
        },
        "statsLastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of when the stats were last refreshed"
        },
        "aggregateSnapshot" : {
          "description" : "A status snapshot that represents the aggregate stats of all nodes in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this represents the stats of the single instance.",
          "$ref" : "#/definitions/ProcessorStatusSnapshotDTO"
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "A status snapshot for each node in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this may be null.",
          "items" : {
            "$ref" : "#/definitions/NodeProcessorStatusSnapshotDTO"
          }
        }
      }
    },
    "ProcessorStatusEntity" : {
      "properties" : {
        "processorStatus" : {
          "$ref" : "#/definitions/ProcessorStatusDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "processorStatusEntity"
      }
    },
    "ProcessorStatusSnapshotDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the processor."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the parent process group to which the processor belongs."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the prcessor."
        },
        "type" : {
          "type" : "string",
          "description" : "The type of the processor."
        },
        "runStatus" : {
          "type" : "string",
          "description" : "The state of the processor.",
          "enum" : [ "RUNNING", "STOPPED", "DISABLED", "INVALID" ]
        },
        "bytesRead" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes read by this Processor in the last 5 mintues"
        },
        "bytesWritten" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes written by this Processor in the last 5 minutes"
        },
        "read" : {
          "type" : "string",
          "description" : "The number of bytes read in the last 5 minutes."
        },
        "written" : {
          "type" : "string",
          "description" : "The number of bytes written in the last 5 minutes."
        },
        "flowFilesIn" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles that have been accepted in the last 5 minutes"
        },
        "bytesIn" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the FlowFiles that have been accepted in the last 5 minutes"
        },
        "input" : {
          "type" : "string",
          "description" : "The count/size of flowfiles that have been accepted in the last 5 minutes."
        },
        "flowFilesOut" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles transferred to a Connection in the last 5 minutes"
        },
        "bytesOut" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the FlowFiles transferred to a Connection in the last 5 minutes"
        },
        "output" : {
          "type" : "string",
          "description" : "The count/size of flowfiles that have been processed in the last 5 minutes."
        },
        "taskCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of times this Processor has run in the last 5 minutes"
        },
        "tasksDurationNanos" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of nanoseconds that this Processor has spent running in the last 5 minutes"
        },
        "tasks" : {
          "type" : "string",
          "description" : "The total number of task this connectable has completed over the last 5 minutes."
        },
        "tasksDuration" : {
          "type" : "string",
          "description" : "The total duration of all tasks for this connectable over the last 5 minutes."
        },
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of threads currently executing in the processor."
        }
      }
    },
    "ProcessorStatusSnapshotEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the processor."
        },
        "processorStatusSnapshot" : {
          "$ref" : "#/definitions/ProcessorStatusSnapshotDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "entity"
      }
    },
    "ProcessorTypesEntity" : {
      "properties" : {
        "processorTypes" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/DocumentedTypeDTO"
          }
        }
      },
      "xml" : {
        "name" : "processorTypesEntity"
      }
    },
    "ProcessorsEntity" : {
      "properties" : {
        "processors" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ProcessorEntity"
          }
        }
      },
      "xml" : {
        "name" : "processorsEntity"
      }
    },
    "PropertyDescriptorDTO" : {
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name for the property."
        },
        "displayName" : {
          "type" : "string",
          "description" : "The human readable name for the property."
        },
        "description" : {
          "type" : "string",
          "description" : "The descriptoin for the property. Used to relay additional details to a user or provide a mechanism of documenting intent."
        },
        "defaultValue" : {
          "type" : "string",
          "description" : "The default value for the property."
        },
        "allowableValues" : {
          "type" : "array",
          "description" : "Allowable values for the property. If empty then the allowed values are not constrained.",
          "items" : {
            "$ref" : "#/definitions/AllowableValueEntity"
          }
        },
        "required" : {
          "type" : "boolean",
          "description" : "Whether the property is required."
        },
        "sensitive" : {
          "type" : "boolean",
          "description" : "Whether the property is sensitive and protected whenever stored or represented."
        },
        "dynamic" : {
          "type" : "boolean",
          "description" : "Whether the property is dynamic (user-defined)."
        },
        "supportsEl" : {
          "type" : "boolean",
          "description" : "Whether the property supports expression language."
        },
        "identifiesControllerService" : {
          "type" : "string",
          "description" : "If the property identifies a controller service, this returns the fully qualified type."
        }
      }
    },
    "PropertyDescriptorEntity" : {
      "properties" : {
        "propertyDescriptor" : {
          "$ref" : "#/definitions/PropertyDescriptorDTO"
        }
      },
      "xml" : {
        "name" : "propertyDescriptor"
      }
    },
    "PropertyHistoryDTO" : {
      "properties" : {
        "previousValues" : {
          "type" : "array",
          "description" : "Previous values for a given property.",
          "items" : {
            "$ref" : "#/definitions/PreviousValueDTO"
          }
        }
      }
    },
    "ProvenanceDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the provenance query."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for this query. Used for obtaining/deleting the request at a later time"
        },
        "submissionTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when the query was submitted."
        },
        "expiration" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when the query will expire."
        },
        "percentCompleted" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The current percent complete."
        },
        "finished" : {
          "type" : "boolean",
          "description" : "Whether the query has finished."
        },
        "request" : {
          "description" : "The provenance request.",
          "$ref" : "#/definitions/ProvenanceRequestDTO"
        },
        "results" : {
          "description" : "The provenance results.",
          "$ref" : "#/definitions/ProvenanceResultsDTO"
        }
      }
    },
    "ProvenanceEntity" : {
      "properties" : {
        "provenance" : {
          "$ref" : "#/definitions/ProvenanceDTO"
        }
      },
      "xml" : {
        "name" : "provenanceEntity"
      }
    },
    "ProvenanceEventDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The event uuid."
        },
        "eventId" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The event id. This is a one up number thats unique per node."
        },
        "eventTime" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of the event."
        },
        "eventDuration" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The event duration in milliseconds."
        },
        "lineageDuration" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The duration since the lineage began, in milliseconds."
        },
        "eventType" : {
          "type" : "string",
          "description" : "The type of the event."
        },
        "flowFileUuid" : {
          "type" : "string",
          "description" : "The uuid of the flowfile for the event."
        },
        "fileSize" : {
          "type" : "string",
          "description" : "The size of the flowfile for the event."
        },
        "fileSizeBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the flowfile in bytes for the event."
        },
        "clusterNodeId" : {
          "type" : "string",
          "description" : "The identifier for the node where the event originated."
        },
        "clusterNodeAddress" : {
          "type" : "string",
          "description" : "The label for the node where the event originated."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the group that the component resides in. If the component is no longer in the flow, the group id will not be set."
        },
        "componentId" : {
          "type" : "string",
          "description" : "The id of the component that generated the event."
        },
        "componentType" : {
          "type" : "string",
          "description" : "The type of the component that generated the event."
        },
        "componentName" : {
          "type" : "string",
          "description" : "The name of the component that generated the event."
        },
        "sourceSystemFlowFileId" : {
          "type" : "string",
          "description" : "The source system flowfile id."
        },
        "alternateIdentifierUri" : {
          "type" : "string",
          "description" : "The alternate identifier uri for the fileflow for the event."
        },
        "attributes" : {
          "type" : "array",
          "description" : "The attributes of the flowfile for the event.",
          "items" : {
            "$ref" : "#/definitions/AttributeDTO"
          }
        },
        "parentUuids" : {
          "type" : "array",
          "description" : "The parent uuids for the event.",
          "items" : {
            "type" : "string"
          }
        },
        "childUuids" : {
          "type" : "array",
          "description" : "The child uuids for the event.",
          "items" : {
            "type" : "string"
          }
        },
        "transitUri" : {
          "type" : "string",
          "description" : "The source/destination system uri if the event was a RECEIVE/SEND."
        },
        "relationship" : {
          "type" : "string",
          "description" : "The relationship to which the flowfile was routed if the event is of type ROUTE."
        },
        "details" : {
          "type" : "string",
          "description" : "The event details."
        },
        "contentEqual" : {
          "type" : "boolean",
          "description" : "Whether the input and output content claim is the same."
        },
        "inputContentAvailable" : {
          "type" : "boolean",
          "description" : "Whether the input content is still available."
        },
        "inputContentClaimSection" : {
          "type" : "string",
          "description" : "The section in which the input content claim lives."
        },
        "inputContentClaimContainer" : {
          "type" : "string",
          "description" : "The container in which the input content claim lives."
        },
        "inputContentClaimIdentifier" : {
          "type" : "string",
          "description" : "The identifier of the input content claim."
        },
        "inputContentClaimOffset" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The offset into the input content claim where the flowfiles content begins."
        },
        "inputContentClaimFileSize" : {
          "type" : "string",
          "description" : "The file size of the input content claim formatted."
        },
        "inputContentClaimFileSizeBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The file size of the intput content claim in bytes."
        },
        "outputContentAvailable" : {
          "type" : "boolean",
          "description" : "Whether the output content is still available."
        },
        "outputContentClaimSection" : {
          "type" : "string",
          "description" : "The section in which the output content claim lives."
        },
        "outputContentClaimContainer" : {
          "type" : "string",
          "description" : "The container in which the output content claim lives."
        },
        "outputContentClaimIdentifier" : {
          "type" : "string",
          "description" : "The identifier of the output content claim."
        },
        "outputContentClaimOffset" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The offset into the output content claim where the flowfiles content begins."
        },
        "outputContentClaimFileSize" : {
          "type" : "string",
          "description" : "The file size of the output content claim formatted."
        },
        "outputContentClaimFileSizeBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The file size of the output content claim in bytes."
        },
        "replayAvailable" : {
          "type" : "boolean",
          "description" : "Whether or not replay is available."
        },
        "replayExplanation" : {
          "type" : "string",
          "description" : "Explanation as to why replay is unavailable."
        },
        "sourceConnectionIdentifier" : {
          "type" : "string",
          "description" : "The identifier of the queue/connection from which the flowfile was pulled to genereate this event. May be null if the queue/connection is unknown or the flowfile was generated from this event."
        }
      }
    },
    "ProvenanceEventEntity" : {
      "properties" : {
        "provenanceEvent" : {
          "$ref" : "#/definitions/ProvenanceEventDTO"
        }
      },
      "xml" : {
        "name" : "provenanceEventEntity"
      }
    },
    "ProvenanceLinkDTO" : {
      "properties" : {
        "sourceId" : {
          "type" : "string",
          "description" : "The source node id of the link."
        },
        "targetId" : {
          "type" : "string",
          "description" : "The target node id of the link."
        },
        "flowFileUuid" : {
          "type" : "string",
          "description" : "The flowfile uuid that traversed the link."
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of the link (based on the destination)."
        },
        "millis" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The timestamp of this link in milliseconds."
        }
      }
    },
    "ProvenanceNodeDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the node."
        },
        "flowFileUuid" : {
          "type" : "string",
          "description" : "The uuid of the flowfile associated with the provenance event."
        },
        "parentUuids" : {
          "type" : "array",
          "description" : "The uuid of the parent flowfiles of the provenance event.",
          "items" : {
            "type" : "string"
          }
        },
        "childUuids" : {
          "type" : "array",
          "description" : "The uuid of the childrent flowfiles of the provenance event.",
          "items" : {
            "type" : "string"
          }
        },
        "clusterNodeIdentifier" : {
          "type" : "string",
          "description" : "The identifier of the node that this event/flowfile originated from."
        },
        "type" : {
          "type" : "string",
          "description" : "The type of the node.",
          "enum" : [ "FLOWFILE", "EVENT" ]
        },
        "eventType" : {
          "type" : "string",
          "description" : "If the type is EVENT, this is the type of event."
        },
        "millis" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The timestamp of the node in milliseconds."
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of the node formatted."
        }
      }
    },
    "ProvenanceOptionsDTO" : {
      "properties" : {
        "searchableFields" : {
          "type" : "array",
          "description" : "The available searchable field for the NiFi.",
          "items" : {
            "$ref" : "#/definitions/ProvenanceSearchableFieldDTO"
          }
        }
      }
    },
    "ProvenanceOptionsEntity" : {
      "properties" : {
        "provenanceOptions" : {
          "$ref" : "#/definitions/ProvenanceOptionsDTO"
        }
      },
      "xml" : {
        "name" : "provenanceOptionsEntity"
      }
    },
    "ProvenanceRequestDTO" : {
      "properties" : {
        "searchTerms" : {
          "type" : "object",
          "description" : "The search terms used to perform the search.",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "clusterNodeId" : {
          "type" : "string",
          "description" : "The id of the node in the cluster where this provenance originated."
        },
        "startDate" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The earliest event time to include in the query."
        },
        "endDate" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The latest event time to include in the query."
        },
        "minimumFileSize" : {
          "type" : "string",
          "description" : "The minimum file size to include in the query."
        },
        "maximumFileSize" : {
          "type" : "string",
          "description" : "The maximum file size to include in the query."
        },
        "maxResults" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The maximum number of results to include."
        }
      }
    },
    "ProvenanceResultsDTO" : {
      "properties" : {
        "provenanceEvents" : {
          "type" : "array",
          "description" : "The provenance events that matched the search criteria.",
          "items" : {
            "$ref" : "#/definitions/ProvenanceEventDTO"
          }
        },
        "total" : {
          "type" : "string",
          "description" : "The total number of results formatted."
        },
        "totalCount" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The total number of results."
        },
        "generated" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "Then the search was performed."
        },
        "oldestEvent" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The oldest event available in the provenance repository."
        },
        "timeOffset" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The time offset of the server that's used for event time."
        },
        "errors" : {
          "type" : "array",
          "description" : "Any errors that occurred while performing the provenance request.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "ProvenanceSearchableFieldDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the searchable field."
        },
        "field" : {
          "type" : "string",
          "description" : "The searchable field."
        },
        "label" : {
          "type" : "string",
          "description" : "The label for the searchable field."
        },
        "type" : {
          "type" : "string",
          "description" : "The type of the searchable field."
        }
      }
    },
    "QueueSizeDTO" : {
      "properties" : {
        "byteCount" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of objects in a queue."
        },
        "objectCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The count of objects in a queue."
        }
      }
    },
    "RelationshipDTO" : {
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The relationship name."
        },
        "description" : {
          "type" : "string",
          "description" : "The relationship description."
        },
        "autoTerminate" : {
          "type" : "boolean",
          "description" : "Whether or not flowfiles sent to this relationship should auto terminate."
        }
      }
    },
    "RemoteProcessGroupContentsDTO" : {
      "properties" : {
        "inputPorts" : {
          "type" : "array",
          "description" : "The input ports to which data can be sent.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/RemoteProcessGroupPortDTO"
          }
        },
        "outputPorts" : {
          "type" : "array",
          "description" : "The output ports from which data can be retrieved.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/RemoteProcessGroupPortDTO"
          }
        }
      }
    },
    "RemoteProcessGroupDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "targetUri" : {
          "type" : "string",
          "description" : "The target URI of the remote process group."
        },
        "targetSecure" : {
          "type" : "boolean",
          "description" : "Whether the target is running securely."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the remote process group."
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments for the remote process group."
        },
        "communicationsTimeout" : {
          "type" : "string",
          "description" : "The time period used for the timeout when commicating with the target."
        },
        "yieldDuration" : {
          "type" : "string",
          "description" : "When yielding, this amount of time must elapse before the remote process group is scheduled again."
        },
        "transportProtocol" : {
          "type" : "string"
        },
        "proxyHost" : {
          "type" : "string"
        },
        "proxyPort" : {
          "type" : "integer",
          "format" : "int32"
        },
        "proxyUser" : {
          "type" : "string"
        },
        "proxyPassword" : {
          "type" : "string"
        },
        "authorizationIssues" : {
          "type" : "array",
          "description" : "Any remote authorization issues for the remote process group.",
          "items" : {
            "type" : "string"
          }
        },
        "transmitting" : {
          "type" : "boolean",
          "description" : "Whether the remote process group is actively transmitting."
        },
        "inputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of remote input ports currently available on the target."
        },
        "outputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of remote output ports currently available on the target."
        },
        "activeRemoteInputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active remote input ports."
        },
        "inactiveRemoteInputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of inactive remote input ports."
        },
        "activeRemoteOutputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of acitve remote output ports."
        },
        "inactiveRemoteOutputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of inactive remote output ports."
        },
        "flowRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when this remote process group was last refreshed."
        },
        "contents" : {
          "description" : "The contents of the remote process group. Will contain available input/output ports.",
          "$ref" : "#/definitions/RemoteProcessGroupContentsDTO"
        }
      }
    },
    "RemoteProcessGroupEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/RemoteProcessGroupDTO"
        },
        "status" : {
          "description" : "The status of the remote process group.",
          "$ref" : "#/definitions/RemoteProcessGroupStatusDTO"
        },
        "inputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of remote input ports currently available on the target."
        },
        "outputPortCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of remote output ports currently available on the target."
        }
      },
      "xml" : {
        "name" : "remoteProcessGroupEntity"
      }
    },
    "RemoteProcessGroupPortDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the target port."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the remote process group that the port resides in."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the target port."
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments as configured on the target port."
        },
        "concurrentlySchedulableTaskCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of task that may transmit flowfiles to the target port concurrently."
        },
        "transmitting" : {
          "type" : "boolean",
          "description" : "Whether the remote port is configured for transmission."
        },
        "useCompression" : {
          "type" : "boolean",
          "description" : "Whether the flowfiles are compressed when sent to the target port."
        },
        "exists" : {
          "type" : "boolean",
          "description" : "Whether the target port exists."
        },
        "targetRunning" : {
          "type" : "boolean",
          "description" : "Whether the target port is running."
        },
        "connected" : {
          "type" : "boolean",
          "description" : "Whether the port has either an incoming or outgoing connection."
        }
      }
    },
    "RemoteProcessGroupPortEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "remoteProcessGroupPort" : {
          "$ref" : "#/definitions/RemoteProcessGroupPortDTO"
        }
      },
      "xml" : {
        "name" : "remoteProcessGroupPortEntity"
      }
    },
    "RemoteProcessGroupStatusDTO" : {
      "properties" : {
        "groupId" : {
          "type" : "string",
          "description" : "The unique ID of the process group that the Processor belongs to"
        },
        "id" : {
          "type" : "string",
          "description" : "The unique ID of the Processor"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the remote process group."
        },
        "targetUri" : {
          "type" : "string",
          "description" : "The URI of the target system."
        },
        "transmissionStatus" : {
          "type" : "string",
          "description" : "The transmission status of the remote process group."
        },
        "statsLastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The time the status for the process group was last refreshed."
        },
        "aggregateSnapshot" : {
          "description" : "A status snapshot that represents the aggregate stats of all nodes in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this represents the stats of the single instance.",
          "$ref" : "#/definitions/RemoteProcessGroupStatusSnapshotDTO"
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "A status snapshot for each node in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this may be null.",
          "items" : {
            "$ref" : "#/definitions/NodeRemoteProcessGroupStatusSnapshotDTO"
          }
        }
      }
    },
    "RemoteProcessGroupStatusSnapshotDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the remote process group."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the parent process group the remote process group resides in."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the remote process group."
        },
        "targetUri" : {
          "type" : "string",
          "description" : "The URI of the target system."
        },
        "transmissionStatus" : {
          "type" : "string",
          "description" : "The transmission status of the remote process group."
        },
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active threads for the remote process group."
        },
        "flowFilesSent" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles sent to the remote process group in the last 5 minutes."
        },
        "bytesSent" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the FlowFiles sent to the remote process group in the last 5 minutes."
        },
        "sent" : {
          "type" : "string",
          "description" : "The count/size of the flowfiles sent to the remote process group in the last 5 minutes."
        },
        "flowFilesReceived" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of FlowFiles received from the remote process group in the last 5 minutes."
        },
        "bytesReceived" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The size of the FlowFiles received from the remote process group in the last 5 minutes."
        },
        "received" : {
          "type" : "string",
          "description" : "The count/size of the flowfiles received from the remote process group in the last 5 minutes."
        }
      }
    },
    "RemoteProcessGroupStatusSnapshotEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the remote processo group."
        },
        "remoteProcessGroupStatusSnapshot" : {
          "$ref" : "#/definitions/RemoteProcessGroupStatusSnapshotDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "entity"
      }
    },
    "RemoteProcessGroupsEntity" : {
      "properties" : {
        "remoteProcessGroups" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/RemoteProcessGroupEntity"
          }
        }
      },
      "xml" : {
        "name" : "remoteProcessGroupsEntity"
      }
    },
    "ReportingTaskDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the reporting task."
        },
        "type" : {
          "type" : "string",
          "description" : "The fully qualified type of the reporting task."
        },
        "state" : {
          "type" : "string",
          "description" : "The state of the reporting task.",
          "enum" : [ "RUNNING", "STOPPED", "DISABLED" ]
        },
        "comments" : {
          "type" : "string",
          "description" : "The comments of the reporting task."
        },
        "persistsState" : {
          "type" : "boolean",
          "description" : "Whether the reporting task persists state."
        },
        "schedulingPeriod" : {
          "type" : "string",
          "description" : "The frequency with which to schedule the reporting task. The format of the value willd epend on the valud of the schedulingStrategy."
        },
        "schedulingStrategy" : {
          "type" : "string",
          "description" : "The scheduling strategy that determines how the schedulingPeriod value should be interpreted."
        },
        "defaultSchedulingPeriod" : {
          "type" : "object",
          "description" : "The default scheduling period for the different scheduling strategies.",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "properties" : {
          "type" : "object",
          "description" : "The properties of the reporting task.",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "descriptors" : {
          "type" : "object",
          "description" : "The descriptors for the reporting tasks properties.",
          "additionalProperties" : {
            "$ref" : "#/definitions/PropertyDescriptorDTO"
          }
        },
        "customUiUrl" : {
          "type" : "string",
          "description" : "The URL for the custom configuration UI for the reporting task."
        },
        "annotationData" : {
          "type" : "string",
          "description" : "The anntation data for the repoting task. This is how the custom UI relays configuration to the reporting task."
        },
        "validationErrors" : {
          "type" : "array",
          "description" : "Gets the validation errors from the reporting task. These validation errors represent the problems with the reporting task that must be resolved before it can be scheduled to run.",
          "items" : {
            "type" : "string"
          }
        },
        "activeThreadCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The number of active threads for the reporting task."
        }
      }
    },
    "ReportingTaskEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/ReportingTaskDTO"
        }
      },
      "xml" : {
        "name" : "reportingTaskEntity"
      }
    },
    "ReportingTaskTypesEntity" : {
      "properties" : {
        "reportingTaskTypes" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/DocumentedTypeDTO"
          }
        }
      },
      "xml" : {
        "name" : "reportingTaskTypesEntity"
      }
    },
    "ReportingTasksEntity" : {
      "properties" : {
        "reportingTasks" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/ReportingTaskEntity"
          }
        }
      },
      "xml" : {
        "name" : "reportingTasksEntity"
      }
    },
    "ResourceDTO" : {
      "properties" : {
        "identifier" : {
          "type" : "string",
          "description" : "The identifier of the resource."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the resource."
        }
      }
    },
    "ResourcesEntity" : {
      "properties" : {
        "resources" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ResourceDTO"
          }
        }
      },
      "xml" : {
        "name" : "resourcesEntity"
      }
    },
    "RevisionDTO" : {
      "properties" : {
        "clientId" : {
          "type" : "string",
          "description" : "A client identifier used to make a request. By including a client identifier, the API can allow multiple requests without needing the current revision. Due to the asynchronous nature of requests/responses this was implemented to allow the client to make numerous requests without having to wait for the previous response to come back"
        },
        "version" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "NiFi employs an optimistic locking strategy where the client must include a revision in their request when performing an update. In a response to a mutable flow request, this field represents the updated base version."
        },
        "lastModifier" : {
          "type" : "string",
          "description" : "The user that last modified the flow.",
          "readOnly" : true
        }
      }
    },
    "ScheduleComponentsEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the ProcessGroup"
        },
        "state" : {
          "type" : "string",
          "description" : "The desired state of the descendant components",
          "enum" : [ "RUNNING", "STOPPED" ]
        },
        "components" : {
          "type" : "object",
          "description" : "Optional components to schedule. If not specified, all authorized descendant components will be used.",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        }
      },
      "xml" : {
        "name" : "scheduleComponentEntity"
      }
    },
    "SearchResultsDTO" : {
      "properties" : {
        "processorResults" : {
          "type" : "array",
          "description" : "The processors that matched the search.",
          "items" : {
            "$ref" : "#/definitions/ComponentSearchResultDTO"
          }
        },
        "connectionResults" : {
          "type" : "array",
          "description" : "The connections that matched the search.",
          "items" : {
            "$ref" : "#/definitions/ComponentSearchResultDTO"
          }
        },
        "processGroupResults" : {
          "type" : "array",
          "description" : "The process groups that matched the search.",
          "items" : {
            "$ref" : "#/definitions/ComponentSearchResultDTO"
          }
        },
        "inputPortResults" : {
          "type" : "array",
          "description" : "The input ports that matched the search.",
          "items" : {
            "$ref" : "#/definitions/ComponentSearchResultDTO"
          }
        },
        "outputPortResults" : {
          "type" : "array",
          "description" : "The output ports that matched the search.",
          "items" : {
            "$ref" : "#/definitions/ComponentSearchResultDTO"
          }
        },
        "remoteProcessGroupResults" : {
          "type" : "array",
          "description" : "The remote process groups that matched the search.",
          "items" : {
            "$ref" : "#/definitions/ComponentSearchResultDTO"
          }
        },
        "funnelResults" : {
          "type" : "array",
          "description" : "The funnels that matched the search.",
          "items" : {
            "$ref" : "#/definitions/ComponentSearchResultDTO"
          }
        }
      }
    },
    "SearchResultsEntity" : {
      "properties" : {
        "searchResultsDTO" : {
          "$ref" : "#/definitions/SearchResultsDTO"
        }
      },
      "xml" : {
        "name" : "searchResultsEntity"
      }
    },
    "Set" : {
      "properties" : {
        "empty" : {
          "type" : "boolean"
        }
      }
    },
    "SnippetDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the snippet."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI of the snippet."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The group id for the components in the snippet."
        },
        "processGroups" : {
          "type" : "object",
          "description" : "The ids of the process groups in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        },
        "remoteProcessGroups" : {
          "type" : "object",
          "description" : "The ids of the remote process groups in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        },
        "processors" : {
          "type" : "object",
          "description" : "The ids of the processors in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        },
        "inputPorts" : {
          "type" : "object",
          "description" : "The ids of the input ports in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        },
        "outputPorts" : {
          "type" : "object",
          "description" : "The ids of the output ports in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        },
        "connections" : {
          "type" : "object",
          "description" : "The ids of the connections in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        },
        "labels" : {
          "type" : "object",
          "description" : "The ids of the labels in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        },
        "funnels" : {
          "type" : "object",
          "description" : "The ids of the funnels in this snippet. These ids will be populated within each response. They can be specified when creating a snippet. However, once a snippet has been created its contents cannot be modified (these ids are ignored during update requests).",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        }
      }
    },
    "SnippetEntity" : {
      "properties" : {
        "snippet" : {
          "description" : "The snippet.",
          "$ref" : "#/definitions/SnippetDTO"
        }
      },
      "xml" : {
        "name" : "snippetEntity"
      }
    },
    "StateEntryDTO" : {
      "properties" : {
        "key" : {
          "type" : "string",
          "description" : "The key for this state."
        },
        "value" : {
          "type" : "string",
          "description" : "The value for this state."
        },
        "clusterNodeId" : {
          "type" : "string",
          "description" : "The identifier for the node where the state originated."
        },
        "clusterNodeAddress" : {
          "type" : "string",
          "description" : "The label for the node where the state originated."
        }
      }
    },
    "StateMapDTO" : {
      "properties" : {
        "scope" : {
          "type" : "string",
          "description" : "The scope of this StateMap."
        },
        "totalEntryCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The total number of state entries. When the state map is lengthy, only of portion of the entries are returned."
        },
        "state" : {
          "type" : "array",
          "description" : "The state.",
          "items" : {
            "$ref" : "#/definitions/StateEntryDTO"
          }
        }
      }
    },
    "StatusDescriptorDTO" : {
      "properties" : {
        "field" : {
          "type" : "string",
          "description" : "The name of the status field."
        },
        "label" : {
          "type" : "string",
          "description" : "The label for the status field."
        },
        "description" : {
          "type" : "string",
          "description" : "The description of the status field."
        },
        "formatter" : {
          "type" : "string",
          "description" : "The formatter for the status descriptor."
        }
      }
    },
    "StatusHistoryDTO" : {
      "properties" : {
        "generated" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "When the status history was generated."
        },
        "componentDetails" : {
          "type" : "object",
          "description" : "A Map of key/value pairs that describe the component that the status history belongs to",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "fieldDescriptors" : {
          "type" : "array",
          "description" : "The Descriptors that provide information on each of the metrics provided in the status history",
          "items" : {
            "$ref" : "#/definitions/StatusDescriptorDTO"
          }
        },
        "aggregateSnapshots" : {
          "type" : "array",
          "description" : "A list of StatusSnapshotDTO objects that provide the actual metric values for the component. If the NiFi instance is clustered, this will represent the aggregate status across all nodes. If the NiFi instance is not clustered, this will represent the status of the entire NiFi instance.",
          "items" : {
            "$ref" : "#/definitions/StatusSnapshotDTO"
          }
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "The NodeStatusSnapshotsDTO objects that provide the actual metric values for the component, for each node. If the NiFi instance is not clustered, this value will be null.",
          "items" : {
            "$ref" : "#/definitions/NodeStatusSnapshotsDTO"
          }
        }
      }
    },
    "StatusHistoryEntity" : {
      "properties" : {
        "statusHistory" : {
          "$ref" : "#/definitions/StatusHistoryDTO"
        },
        "canRead" : {
          "type" : "boolean",
          "description" : "Indicates whether the user can read a given resource.",
          "readOnly" : true
        }
      },
      "xml" : {
        "name" : "statusHistoryEntity"
      }
    },
    "StatusSnapshotDTO" : {
      "properties" : {
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp of the snapshot."
        },
        "statusMetrics" : {
          "type" : "object",
          "description" : "The status metrics.",
          "additionalProperties" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      }
    },
    "StorageUsageDTO" : {
      "properties" : {
        "identifier" : {
          "type" : "string",
          "description" : "The identifier of this storage location. The identifier will correspond to the identifier keyed in the storage configuration."
        },
        "freeSpace" : {
          "type" : "string",
          "description" : "Amount of free space."
        },
        "totalSpace" : {
          "type" : "string",
          "description" : "Amount of total space."
        },
        "usedSpace" : {
          "type" : "string",
          "description" : "Amount of used space."
        },
        "freeSpaceBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes of free space."
        },
        "totalSpaceBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes of total space."
        },
        "usedSpaceBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes of used space."
        },
        "utilization" : {
          "type" : "string",
          "description" : "Utilization of this storage location."
        }
      }
    },
    "StreamingOutput" : {
      "type" : "object"
    },
    "SubmitReplayRequestEntity" : {
      "properties" : {
        "eventId" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The event identifier"
        },
        "clusterNodeId" : {
          "type" : "string",
          "description" : "The identifier of the node where to submit the replay request."
        }
      },
      "xml" : {
        "name" : "copySnippetRequestEntity"
      }
    },
    "SystemDiagnosticsDTO" : {
      "properties" : {
        "aggregateSnapshot" : {
          "description" : "A systems diagnostic snapshot that represents the aggregate values of all nodes in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this represents the stats of the single instance.",
          "$ref" : "#/definitions/SystemDiagnosticsSnapshotDTO"
        },
        "nodeSnapshots" : {
          "type" : "array",
          "description" : "A systems diagnostics snapshot for each node in the cluster. If the NiFi instance is a standalone instance, rather than a cluster, this may be null.",
          "items" : {
            "$ref" : "#/definitions/NodeSystemDiagnosticsSnapshotDTO"
          }
        }
      }
    },
    "SystemDiagnosticsEntity" : {
      "properties" : {
        "systemDiagnostics" : {
          "$ref" : "#/definitions/SystemDiagnosticsDTO"
        }
      },
      "xml" : {
        "name" : "systemDiagnosticsEntity"
      }
    },
    "SystemDiagnosticsSnapshotDTO" : {
      "properties" : {
        "totalNonHeap" : {
          "type" : "string",
          "description" : "Total size of non heap."
        },
        "totalNonHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "Total number of bytes allocated to the JVM not used for heap"
        },
        "usedNonHeap" : {
          "type" : "string",
          "description" : "Amount of use non heap."
        },
        "usedNonHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "Total number of bytes used by the JVM not in the heap space"
        },
        "freeNonHeap" : {
          "type" : "string",
          "description" : "Amount of free non heap."
        },
        "freeNonHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "Total number of free non-heap bytes available to the JVM"
        },
        "maxNonHeap" : {
          "type" : "string",
          "description" : "Maximum size of non heap."
        },
        "maxNonHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The maximum number of bytes that the JVM can use for non-heap purposes"
        },
        "nonHeapUtilization" : {
          "type" : "string",
          "description" : "Utilization of non heap."
        },
        "totalHeap" : {
          "type" : "string",
          "description" : "Total size of heap."
        },
        "totalHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The total number of bytes that are available for the JVM heap to use"
        },
        "usedHeap" : {
          "type" : "string",
          "description" : "Amount of used heap."
        },
        "usedHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes of JVM heap that are currently being used"
        },
        "freeHeap" : {
          "type" : "string",
          "description" : "Amount of free heap."
        },
        "freeHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The number of bytes that are allocated to the JVM heap but not currently being used"
        },
        "maxHeap" : {
          "type" : "string",
          "description" : "Maximum size of heap."
        },
        "maxHeapBytes" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The maximum number of bytes that can be used by the JVM"
        },
        "heapUtilization" : {
          "type" : "string",
          "description" : "Utilization of heap."
        },
        "availableProcessors" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "Number of available processors if supported by the underlying system."
        },
        "processorLoadAverage" : {
          "type" : "number",
          "format" : "double",
          "description" : "The processor load average if supported by the underlying system."
        },
        "totalThreads" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "Total number of threads."
        },
        "daemonThreads" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "Number of daemon threads."
        },
        "flowFileRepositoryStorageUsage" : {
          "description" : "The flowfile repository storage usage.",
          "$ref" : "#/definitions/StorageUsageDTO"
        },
        "contentRepositoryStorageUsage" : {
          "type" : "array",
          "description" : "The content repository storage usage.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/StorageUsageDTO"
          }
        },
        "garbageCollection" : {
          "type" : "array",
          "description" : "The garbage collection details.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/GarbageCollectionDTO"
          }
        },
        "statsLastRefreshed" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "When the diagnostics were generated."
        }
      }
    },
    "TemplateDTO" : {
      "properties" : {
        "uri" : {
          "type" : "string",
          "description" : "The URI for the template."
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the template."
        },
        "groupId" : {
          "type" : "string",
          "description" : "The id of the Process Group that the template belongs to."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the template."
        },
        "description" : {
          "type" : "string",
          "description" : "The description of the template."
        },
        "timestamp" : {
          "type" : "string",
          "format" : "date-time",
          "description" : "The timestamp when this template was created."
        },
        "encodingVersion" : {
          "type" : "string",
          "xml" : {
            "name" : "encoding-version"
          },
          "description" : "The encoding version of this template."
        },
        "snippet" : {
          "description" : "The contents of the template.",
          "$ref" : "#/definitions/FlowSnippetDTO"
        }
      },
      "xml" : {
        "name" : "template"
      }
    },
    "TemplateEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "template" : {
          "$ref" : "#/definitions/TemplateDTO"
        }
      },
      "xml" : {
        "name" : "templateEntity"
      }
    },
    "TemplatesEntity" : {
      "properties" : {
        "templates" : {
          "type" : "array",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/TemplateEntity"
          }
        },
        "generated" : {
          "type" : "string",
          "format" : "date-time"
        }
      },
      "xml" : {
        "name" : "templatesEntity"
      }
    },
    "TenantDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "identity" : {
          "type" : "string",
          "description" : "The identity of the tenant."
        }
      }
    },
    "TenantEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/TenantDTO"
        }
      },
      "xml" : {
        "name" : "tenantEntity"
      }
    },
    "TransactionResultEntity" : {
      "properties" : {
        "flowFileSent" : {
          "type" : "integer",
          "format" : "int32"
        },
        "responseCode" : {
          "type" : "integer",
          "format" : "int32"
        },
        "message" : {
          "type" : "string"
        }
      },
      "xml" : {
        "name" : "transactionResultEntity"
      }
    },
    "UpdateControllerServiceReferenceRequestEntity" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The identifier of the Controller Service."
        },
        "state" : {
          "type" : "string",
          "description" : "The new state of the references for the controller service.",
          "enum" : [ "ENABLED", "DISABLED", "RUNNING", "STOPPED" ]
        },
        "referencingComponentRevisions" : {
          "type" : "object",
          "description" : "The revisions for all referencing components.",
          "additionalProperties" : {
            "$ref" : "#/definitions/RevisionDTO"
          }
        }
      },
      "xml" : {
        "name" : "updateControllerServiceReferenceRequestEntity"
      }
    },
    "UserDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "identity" : {
          "type" : "string",
          "description" : "The identity of the tenant."
        },
        "userGroups" : {
          "type" : "array",
          "description" : "The groups to which the user belongs. This field is read only and it provided for convenience.",
          "readOnly" : true,
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/TenantEntity"
          }
        },
        "accessPolicies" : {
          "type" : "array",
          "description" : "The access policies this user belongs to.",
          "readOnly" : true,
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/AccessPolicySummaryEntity"
          }
        }
      }
    },
    "UserEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/UserDTO"
        }
      },
      "xml" : {
        "name" : "userEntity"
      }
    },
    "UserGroupDTO" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "parentGroupId" : {
          "type" : "string",
          "description" : "The id of parent process group of this component if applicable."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "identity" : {
          "type" : "string",
          "description" : "The identity of the tenant."
        },
        "users" : {
          "type" : "array",
          "description" : "The users that belong to the user group.",
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/TenantEntity"
          }
        },
        "accessPolicies" : {
          "type" : "array",
          "description" : "The access policies this user group belongs to.",
          "readOnly" : true,
          "uniqueItems" : true,
          "items" : {
            "$ref" : "#/definitions/AccessPolicyEntity"
          }
        }
      }
    },
    "UserGroupEntity" : {
      "properties" : {
        "revision" : {
          "description" : "The revision for this request/response. The revision is required for any mutable flow requests and is included in all responses.",
          "$ref" : "#/definitions/RevisionDTO"
        },
        "id" : {
          "type" : "string",
          "description" : "The id of the component."
        },
        "uri" : {
          "type" : "string",
          "description" : "The URI for futures requests to the component."
        },
        "position" : {
          "description" : "The position of this component in the UI if applicable.",
          "$ref" : "#/definitions/PositionDTO"
        },
        "permissions" : {
          "description" : "The permissions for this component.",
          "$ref" : "#/definitions/PermissionsDTO"
        },
        "bulletins" : {
          "type" : "array",
          "description" : "The bulletins for this component.",
          "items" : {
            "$ref" : "#/definitions/BulletinEntity"
          }
        },
        "component" : {
          "$ref" : "#/definitions/UserGroupDTO"
        }
      },
      "xml" : {
        "name" : "userGroupEntity"
      }
    },
    "UserGroupsEntity" : {
      "properties" : {
        "userGroups" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/UserGroupEntity"
          }
        }
      },
      "xml" : {
        "name" : "userGroupsEntity"
      }
    },
    "UsersEntity" : {
      "properties" : {
        "generated" : {
          "type" : "string",
          "format" : "date-time"
        },
        "users" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/UserEntity"
          }
        }
      },
      "xml" : {
        "name" : "usersEntity"
      }
    }
  }
}