{
  "id": "@itentialopensource/adapter-apache_airflow",
  "type": "Adapter",
  "export": "ApacheAirflow",
  "title": "Apache_airflow",
  "src": "adapter.js",
  "roles": [
    "admin"
  ],
  "methods": [
    {
      "name": "iapUpdateAdapterConfiguration",
      "summary": "Updates the adapter configuration",
      "description": "Updates the adapter configuration file with the provided changes",
      "input": [
        {
          "name": "configFile",
          "type": "string",
          "info": "The name of the file to change",
          "required": true,
          "schema": {
            "title": "configFile",
            "type": "string"
          }
        },
        {
          "name": "changes",
          "type": "object",
          "info": "JSON object containing the configuration changes",
          "required": true,
          "schema": {
            "title": "changes",
            "type": "object"
          }
        },
        {
          "name": "entity",
          "type": "string",
          "info": "The entity in which the changes are being made",
          "required": false,
          "schema": {
            "title": "entity",
            "type": "string"
          }
        },
        {
          "name": "type",
          "type": "string",
          "info": "The type of file to change - action, schema, or mock",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "action",
          "type": "string",
          "info": "The action to be changed",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        },
        {
          "name" : "replace",
          "type": "boolean",
          "info": "True to replace entire mock data, false to merge/append",
          "required": false,
          "schema": {
            "title": "replace",
            "type" : "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUpdateAdapterConfiguration"
      },
      "task": true
    },
    {
      "name": "iapSuspendAdapter",
      "summary": "Suspends the adapter",
      "description": "Suspends the adapter",
      "input": [
        {
          "name": "mode",
          "type": "enum",
          "enumerals": [
            "pause",
            "error"
          ],
          "info": "How incoming requests are handled. Defaults to 'pause'",
          "description": "How incoming requests are handled. Defaults to 'pause'",
          "schema": {
            "title": "mode",
            "type": "string"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapSuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapUnsuspendAdapter",
      "summary": "Unsuspends the adapter",
      "description": "Unsuspends the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUnsuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterQueue",
      "summary": "Return the requests that are waiting in the queue if throttling is enabled",
      "description": "Return the requests that are waiting in the queue if throttling is enabled",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter queue",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetAdapterQueue"
      },
      "task": true
    },
    {
      "name": "iapFindAdapterPath",
      "summary": "Provides the ability to see if a particular API path is supported by the adapter",
      "description": "Provides the ability to see if a particular API path is supported by the adapter",
      "input": [
        {
          "name": "apiPath",
          "type": "string",
          "info": "The API Path you want to check - make sure to not include base path and version",
          "description": "The API Path you want to check - make sure to not include base path and version",
          "schema": {
            "title": "apiPath",
            "type": "string"
          },
          "required": true
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapFindAdapterPath"
      },
      "task": true
    },
    {
      "name": "iapTroubleshootAdapter",
      "summary": "Runs troubleshoot script for adapter",
      "description": "Runs troubleshoot script for adapter",
      "input": [
        {
          "name": "props",
          "type": "object",
          "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
          "required": true,
          "schema": {
            "title": "props",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapTroubleshootAdapter"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterHealthcheck",
      "summary": "Runs healthcheck script for adapter",
      "description": "Runs healthcheck script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "Whether healthcheck passed or failed",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterHealthcheck"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterConnectivity",
      "summary": "Runs connectivity check script for adapter",
      "description": "Runs connectivity check script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterConnectivity"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterBasicGet",
      "summary": "Runs basicGet script for adapter",
      "description": "Runs basicGet script for adapter",
      "input": [
        {
          "name": "maxCalls",
          "required": false,
          "type": "number", 
          "info": "How many GET endpoints to test (defaults to 5)",
          "schema": {
            "title": "maxCalls",
            "type": "number", 
            "default": 5
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterBasicGet"
      },
      "task": true
    },
    {
      "name": "iapMoveAdapterEntitiesToDB",
      "summary": "Moves entities from an adapter into the Itential Platform database",
      "description": "Moves entities from an adapter into the Itential Platform database",
      "input": [],
      "output": {
        "name": "res",
        "type": "object",
        "description": "A JSON Object containing status, code and the response from the mongo transaction",
        "schema": {
          "title": "res",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapMoveAdapterEntitiesToDB"
      },
      "task": true
    },
    {
      "name": "iapDeactivateTasks",
      "summary": "Deactivate the inputted tasks",
      "description": "Deactivate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to deactivate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapDeactivateTasks"
      },
      "task": true
    },
    {
      "name": "iapActivateTasks",
      "summary": "Activate the inputted tasks",
      "description": "activate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to activate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapActivateTasks"
      },
      "task": true
    },
    {
      "name": "iapPopulateEntityCache",
      "summary": "Populate the cache for the given entities",
      "description": "Populate the cache for the given entities",
      "input": [
        {
          "name": "entityTypes",
          "type": "array",
          "info": "the entity type(s) to populate",
          "required": true,
          "schema": {
            "title": "entityTypes",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapPopulateEntityCache"
      },
      "task": true
    },
    {
      "name": "iapRetrieveEntitiesCache",
      "summary": "Retrieves data from cache for specified entity type",
      "description": "Retrieves data from cache for specified entity type",
      "input": [
        {
          "name": "entityType",
          "type": "string",
          "info": "entity of which to retrieve",
          "required": true,
          "schema": {
            "title": "entityType",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "settings of which data to return and how to return it",
          "required": false,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRetrieveEntitiesCache"
      },
      "task": true
    },
    {
      "name": "getDevice",
      "summary": "Get the Appliance",
      "description": "Get the Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevice"
      },
      "task": false
    },
    {
      "name": "getDevicesFiltered",
      "summary": "Get Appliances that match the filter",
      "description": "Get Appliances that match the filter",
      "input": [
        {
          "name": "options",
          "type": "object",
          "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
          "required": true,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "array",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "array"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevicesFiltered"
      },
      "task": false
    },
    {
      "name": "isAlive",
      "summary": "Checks the status for the provided Appliance",
      "description": "Checks the status for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/isAlive"
      },
      "task": false
    },
    {
      "name": "getConfig",
      "summary": "Gets a config for the provided Appliance",
      "description": "Gets a config for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The format to be returned - this is ignored as we always return json",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getConfig"
      },
      "task": false
    },
    {
      "name": "iapGetDeviceCount",
      "summary": "Gets a device count from the system",
      "description": "Gets a device count from the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetDeviceCount"
      },
      "task": false
    },
    {
      "name": "iapExpandedGenericAdapterRequest",
      "summary": "Makes the requested generic call with additional options",
      "description": "Makes the requested generic call with additional options via metadata",
      "input": [
        {
          "name": "metadata",
          "type": "object",
          "info": "metadata for the call (optional)",
          "description": "metadata for the call - allows for many enhancements (optional)",
          "schema": {
            "title": "metadata",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "pathVars",
          "type": "object",
          "info": "the parameters to be put within the url path (optional)",
          "description": "the parameters to be put within the url path (optional)",
          "schema": {
            "title": "pathVars",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapExpandedGenericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequest",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequestNoBasePath",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequestNoBasePath"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterLint",
      "summary": "Run the adapter lint script to return the results",
      "description": "Run the adapter lint script to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "string",
        "description": "A string containing the run results",
        "schema": {
          "title": "result",
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterLint"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterTests",
      "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
      "description": "Run the adapter test scripts (baseunit and unit) to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterTests"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterInventory",
      "summary": "Provide inventory information abbout the adapter",
      "description": "Provide inventory information abbout the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapGetAdapterInventory"
      },
      "task": true
    },
    {
      "name": "getAirflowConfig",
      "summary": "get_config",
      "description": "Get current configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAirflowConfig"
      },
      "task": true
    },
    {
      "name": "getConnections",
      "summary": "get_connections",
      "description": "List connections",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ConnectionCollection",
          "type": "object",
          "properties": {
            "connections": {
              "type": "array",
              "items": {
                "title": "ConnectionCollectionItem",
                "type": "object",
                "properties": {
                  "connection_id": {
                    "type": "string",
                    "description": "The connection ID."
                  },
                  "conn_type": {
                    "type": "string",
                    "description": "The connection type."
                  },
                  "host": {
                    "type": "string",
                    "description": "Host of the connection.",
                    "x-nullable": true
                  },
                  "login": {
                    "type": "string",
                    "description": "Login of the connection.",
                    "x-nullable": true
                  },
                  "schema": {
                    "type": "string",
                    "description": "Schema of the connection.",
                    "x-nullable": true
                  },
                  "port": {
                    "type": "integer",
                    "description": "Port of the connection.",
                    "x-nullable": true
                  }
                },
                "description": "Connection collection item.\nThe password and extra fields are only available when retrieving a single object due to the sensitivity of this data."
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of connections."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getConnections"
      },
      "task": true
    },
    {
      "name": "postConnection",
      "summary": "post_connection",
      "description": "Create a connection",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Connection",
          "type": "object",
          "properties": {
            "connection_id": {
              "type": "string",
              "description": "The connection ID."
            },
            "conn_type": {
              "type": "string",
              "description": "The connection type."
            },
            "host": {
              "type": "string",
              "description": "Host of the connection.",
              "x-nullable": true
            },
            "login": {
              "type": "string",
              "description": "Login of the connection.",
              "x-nullable": true
            },
            "schema": {
              "type": "string",
              "description": "Schema of the connection.",
              "x-nullable": true
            },
            "port": {
              "type": "integer",
              "description": "Port of the connection.",
              "x-nullable": true
            },
            "password": {
              "type": "string",
              "description": "Password of the connection."
            },
            "extra": {
              "type": "string",
              "description": "Other values that cannot be put into another field, e.g. RSA keys.",
              "x-nullable": true
            }
          },
          "description": "Full representation of the connection."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postConnection"
      },
      "task": true
    },
    {
      "name": "getConnection",
      "summary": "get_connection",
      "description": "Get a connection",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Connection",
          "type": "object",
          "properties": {
            "connection_id": {
              "type": "string",
              "description": "The connection ID."
            },
            "conn_type": {
              "type": "string",
              "description": "The connection type."
            },
            "host": {
              "type": "string",
              "description": "Host of the connection.",
              "x-nullable": true
            },
            "login": {
              "type": "string",
              "description": "Login of the connection.",
              "x-nullable": true
            },
            "schema": {
              "type": "string",
              "description": "Schema of the connection.",
              "x-nullable": true
            },
            "port": {
              "type": "integer",
              "description": "Port of the connection.",
              "x-nullable": true
            },
            "password": {
              "type": "string",
              "description": "Password of the connection."
            },
            "extra": {
              "type": "string",
              "description": "Other values that cannot be put into another field, e.g. RSA keys.",
              "x-nullable": true
            }
          },
          "description": "Full representation of the connection."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getConnection"
      },
      "task": true
    },
    {
      "name": "patchConnection",
      "summary": "patch_connection",
      "description": "Update a connection",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Connection",
          "type": "object",
          "properties": {
            "connection_id": {
              "type": "string",
              "description": "The connection ID."
            },
            "conn_type": {
              "type": "string",
              "description": "The connection type."
            },
            "host": {
              "type": "string",
              "description": "Host of the connection.",
              "x-nullable": true
            },
            "login": {
              "type": "string",
              "description": "Login of the connection.",
              "x-nullable": true
            },
            "schema": {
              "type": "string",
              "description": "Schema of the connection.",
              "x-nullable": true
            },
            "port": {
              "type": "integer",
              "description": "Port of the connection.",
              "x-nullable": true
            },
            "password": {
              "type": "string",
              "description": "Password of the connection."
            },
            "extra": {
              "type": "string",
              "description": "Other values that cannot be put into another field, e.g. RSA keys.",
              "x-nullable": true
            }
          },
          "description": "Full representation of the connection."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/patchConnection"
      },
      "task": true
    },
    {
      "name": "deleteConnection",
      "summary": "delete_connection",
      "description": "Delete a connection",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deleteConnection"
      },
      "task": true
    },
    {
      "name": "testConnection",
      "summary": "test_connection",
      "description": "Test a connection",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ConnectionTest",
          "type": "object",
          "properties": {
            "status": {
              "type": "boolean",
              "description": "The status of the request."
            },
            "message": {
              "type": "string",
              "description": "The success or failure message of the request."
            }
          },
          "description": "Connection test results."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/testConnection"
      },
      "task": true
    },
    {
      "name": "getDags",
      "summary": "get_dags",
      "description": "List DAGs",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAGCollection",
          "type": "object",
          "properties": {
            "dags": {
              "type": "array",
              "items": {
                "title": "DAG",
                "type": "object",
                "properties": {
                  "dag_id": {
                    "type": "string",
                    "description": "The ID of the DAG."
                  },
                  "root_dag_id": {
                    "type": "string",
                    "description": "If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.",
                    "x-nullable": true
                  },
                  "is_paused": {
                    "type": "boolean",
                    "description": "Whether the DAG is paused.",
                    "x-nullable": true
                  },
                  "is_active": {
                    "type": "boolean",
                    "description": "Whether the DAG is currently seen by the scheduler(s).",
                    "x-nullable": true
                  },
                  "is_subdag": {
                    "type": "boolean",
                    "description": "Whether the DAG is SubDAG."
                  },
                  "fileloc": {
                    "type": "string",
                    "description": "The absolute path to the file."
                  },
                  "file_token": {
                    "type": "string",
                    "description": "The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change."
                  },
                  "owners": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "description": {
                    "type": "string",
                    "description": "User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.",
                    "x-nullable": true
                  },
                  "schedule_interval": {
                    "description": "Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's\nexecution_date to figure out the next schedule."
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "title": "Tag",
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      },
                      "description": "Tag"
                    },
                    "description": "List of tags.",
                    "x-nullable": true
                  }
                },
                "description": "DAG"
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of DAGs."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDags"
      },
      "task": true
    },
    {
      "name": "getDag",
      "summary": "get_dag",
      "description": "Presents only information available in database (DAGModel).\nIf you need detailed information, consider using GET /dags/{dag_id}/details.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAG",
          "type": "object",
          "properties": {
            "dag_id": {
              "type": "string",
              "description": "The ID of the DAG."
            },
            "root_dag_id": {
              "type": "string",
              "description": "If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.",
              "x-nullable": true
            },
            "is_paused": {
              "type": "boolean",
              "description": "Whether the DAG is paused.",
              "x-nullable": true
            },
            "is_active": {
              "type": "boolean",
              "description": "Whether the DAG is currently seen by the scheduler(s).",
              "x-nullable": true
            },
            "is_subdag": {
              "type": "boolean",
              "description": "Whether the DAG is SubDAG."
            },
            "fileloc": {
              "type": "string",
              "description": "The absolute path to the file."
            },
            "file_token": {
              "type": "string",
              "description": "The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change."
            },
            "owners": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "description": {
              "type": "string",
              "description": "User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.",
              "x-nullable": true
            },
            "schedule_interval": {
              "description": "Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's\nexecution_date to figure out the next schedule."
            },
            "tags": {
              "type": "array",
              "items": {
                "title": "Tag",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "description": "Tag"
              },
              "description": "List of tags.",
              "x-nullable": true
            }
          },
          "description": "DAG"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDag"
      },
      "task": true
    },
    {
      "name": "patchDag",
      "summary": "patch_dag",
      "description": "Update a DAG",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAG",
          "type": "object",
          "properties": {
            "dag_id": {
              "type": "string",
              "description": "The ID of the DAG."
            },
            "root_dag_id": {
              "type": "string",
              "description": "If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.",
              "x-nullable": true
            },
            "is_paused": {
              "type": "boolean",
              "description": "Whether the DAG is paused.",
              "x-nullable": true
            },
            "is_active": {
              "type": "boolean",
              "description": "Whether the DAG is currently seen by the scheduler(s).",
              "x-nullable": true
            },
            "is_subdag": {
              "type": "boolean",
              "description": "Whether the DAG is SubDAG."
            },
            "fileloc": {
              "type": "string",
              "description": "The absolute path to the file."
            },
            "file_token": {
              "type": "string",
              "description": "The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change."
            },
            "owners": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "description": {
              "type": "string",
              "description": "User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.",
              "x-nullable": true
            },
            "schedule_interval": {
              "description": "Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's\nexecution_date to figure out the next schedule."
            },
            "tags": {
              "type": "array",
              "items": {
                "title": "Tag",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "description": "Tag"
              },
              "description": "List of tags.",
              "x-nullable": true
            }
          },
          "description": "DAG"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/patchDag"
      },
      "task": true
    },
    {
      "name": "deleteDag",
      "summary": "delete_dag",
      "description": "Deletes all metadata related to the DAG, including finished DAG Runs and Tasks. Logs are not deleted. This action cannot be undone.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deleteDag"
      },
      "task": true
    },
    {
      "name": "postClearTaskInstances",
      "summary": "post_clear_task_instances",
      "description": "Clears a set of task instances associated with the DAG for a specified date range.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "TaskInstanceReferenceCollection",
          "type": "object",
          "properties": {
            "task_instances": {
              "type": "array",
              "items": {
                "title": "TaskInstanceReference",
                "type": "object",
                "properties": {
                  "task_id": {
                    "type": "string",
                    "description": "The task ID."
                  },
                  "dag_id": {
                    "type": "string",
                    "description": "The DAG ID."
                  },
                  "execution_date": {
                    "type": "string"
                  },
                  "dag_run_id": {
                    "type": "string",
                    "description": "The DAG run ID."
                  }
                }
              },
              "description": ""
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postClearTaskInstances"
      },
      "task": true
    },
    {
      "name": "postSetTaskInstancesState",
      "summary": "post_set_task_instances_state",
      "description": "Updates the state for multiple task instances simultaneously.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "TaskInstanceReferenceCollection",
          "type": "object",
          "properties": {
            "task_instances": {
              "type": "array",
              "items": {
                "title": "TaskInstanceReference",
                "type": "object",
                "properties": {
                  "task_id": {
                    "type": "string",
                    "description": "The task ID."
                  },
                  "dag_id": {
                    "type": "string",
                    "description": "The DAG ID."
                  },
                  "execution_date": {
                    "type": "string"
                  },
                  "dag_run_id": {
                    "type": "string",
                    "description": "The DAG run ID."
                  }
                }
              },
              "description": ""
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postSetTaskInstancesState"
      },
      "task": true
    },
    {
      "name": "getDagDetails",
      "summary": "get_dag_details",
      "description": "The response contains many DAG attributes, so the response can be large. If possible, consider using GET /dags/{dag_id}.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAGDetail",
          "type": "object",
          "properties": {
            "dag_id": {
              "type": "string",
              "description": "The ID of the DAG."
            },
            "root_dag_id": {
              "type": "string",
              "description": "If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.",
              "x-nullable": true
            },
            "is_paused": {
              "type": "boolean",
              "description": "Whether the DAG is paused.",
              "x-nullable": true
            },
            "is_active": {
              "type": "boolean",
              "description": "Whether the DAG is currently seen by the scheduler(s).",
              "x-nullable": true
            },
            "is_subdag": {
              "type": "boolean",
              "description": "Whether the DAG is SubDAG."
            },
            "fileloc": {
              "type": "string",
              "description": "The absolute path to the file."
            },
            "file_token": {
              "type": "string",
              "description": "The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change."
            },
            "owners": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "description": {
              "type": "string",
              "description": "User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.",
              "x-nullable": true
            },
            "schedule_interval": {
              "description": "Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's\nexecution_date to figure out the next schedule."
            },
            "tags": {
              "type": "array",
              "items": {
                "title": "Tag",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "description": "Tag"
              },
              "description": "List of tags.",
              "x-nullable": true
            },
            "timezone": {
              "type": "string"
            },
            "catchup": {
              "type": "boolean"
            },
            "orientation": {
              "type": "string"
            },
            "concurrency": {
              "type": "number"
            },
            "start_date": {
              "type": "string",
              "x-nullable": true
            },
            "dag_run_timeout": {
              "title": "TimeDelta",
              "description": "Time delta",
              "x-discriminator-value": "TimeDelta",
              "x-ms-discriminator-value": "TimeDelta"
            },
            "doc_md": {
              "type": "string",
              "x-nullable": true
            },
            "default_view": {
              "type": "string"
            },
            "params": {
              "type": "object"
            }
          },
          "description": "DAG details.\n\nFor details see:\n(airflow.models.DAG)[https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/index.html#airflow.models.DAG]"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDagDetails"
      },
      "task": true
    },
    {
      "name": "getTasks",
      "summary": "get_tasks",
      "description": "Get tasks for DAG",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "TaskCollection",
          "type": "object",
          "properties": {
            "tasks": {
              "type": "array",
              "items": {
                "title": "Task",
                "type": "object",
                "properties": {
                  "class_ref": {
                    "title": "ClassReference",
                    "type": "object",
                    "properties": {
                      "module_path": {
                        "type": "string"
                      },
                      "class_name": {
                        "type": "string"
                      }
                    },
                    "description": "Class reference"
                  },
                  "task_id": {
                    "type": "string"
                  },
                  "owner": {
                    "type": "string"
                  },
                  "start_date": {
                    "type": "string"
                  },
                  "end_date": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "trigger_rule": {
                    "title": "TriggerRule",
                    "type": "string",
                    "description": "Trigger rule.",
                    "example": "all_success"
                  },
                  "extra_links": {
                    "type": "array",
                    "items": {
                      "title": "ExtraLink1",
                      "type": "object",
                      "properties": {
                        "class_ref": {
                          "title": "ClassReference",
                          "type": "object",
                          "properties": {
                            "module_path": {
                              "type": "string"
                            },
                            "class_name": {
                              "type": "string"
                            }
                          },
                          "description": "Class reference"
                        }
                      }
                    },
                    "description": ""
                  },
                  "depends_on_past": {
                    "type": "boolean"
                  },
                  "wait_for_downstream": {
                    "type": "boolean"
                  },
                  "retries": {
                    "type": "number"
                  },
                  "queue": {
                    "type": "string"
                  },
                  "pool": {
                    "type": "string"
                  },
                  "pool_slots": {
                    "type": "number"
                  },
                  "execution_timeout": {
                    "title": "TimeDelta",
                    "description": "Time delta",
                    "x-discriminator-value": "TimeDelta",
                    "x-ms-discriminator-value": "TimeDelta"
                  },
                  "retry_delay": {
                    "title": "TimeDelta",
                    "description": "Time delta",
                    "x-discriminator-value": "TimeDelta",
                    "x-ms-discriminator-value": "TimeDelta"
                  },
                  "retry_exponential_backoff": {
                    "type": "boolean"
                  },
                  "priority_weight": {
                    "type": "number"
                  },
                  "weight_rule": {
                    "title": "WeightRule",
                    "type": "string",
                    "description": "Weight rule.",
                    "example": "downstream"
                  },
                  "ui_color": {
                    "pattern": "^#[a-fA-F0-9]{3,6}$",
                    "type": "string",
                    "description": "Color in hexadecimal notation."
                  },
                  "ui_fgcolor": {
                    "pattern": "^#[a-fA-F0-9]{3,6}$",
                    "type": "string",
                    "description": "Color in hexadecimal notation."
                  },
                  "template_fields": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "sub_dag": {
                    "title": "DAG",
                    "type": "object",
                    "properties": {
                      "dag_id": {
                        "type": "string",
                        "description": "The ID of the DAG."
                      },
                      "root_dag_id": {
                        "type": "string",
                        "description": "If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.",
                        "x-nullable": true
                      },
                      "is_paused": {
                        "type": "boolean",
                        "description": "Whether the DAG is paused.",
                        "x-nullable": true
                      },
                      "is_active": {
                        "type": "boolean",
                        "description": "Whether the DAG is currently seen by the scheduler(s).",
                        "x-nullable": true
                      },
                      "is_subdag": {
                        "type": "boolean",
                        "description": "Whether the DAG is SubDAG."
                      },
                      "fileloc": {
                        "type": "string",
                        "description": "The absolute path to the file."
                      },
                      "file_token": {
                        "type": "string",
                        "description": "The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change."
                      },
                      "owners": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": ""
                      },
                      "description": {
                        "type": "string",
                        "description": "User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.",
                        "x-nullable": true
                      },
                      "schedule_interval": {
                        "description": "Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's\nexecution_date to figure out the next schedule."
                      },
                      "tags": {
                        "type": "array",
                        "items": {
                          "title": "Tag",
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            }
                          },
                          "description": "Tag"
                        },
                        "description": "List of tags.",
                        "x-nullable": true
                      }
                    },
                    "description": "DAG"
                  },
                  "downstream_task_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  }
                },
                "description": "For details see:\n(airflow.models.BaseOperator)[https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/index.html#airflow.models.BaseOperator]"
              },
              "description": ""
            }
          },
          "description": "Collection of tasks."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTasks"
      },
      "task": true
    },
    {
      "name": "getTask",
      "summary": "get_task",
      "description": "Get simplified representation of a task",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Task",
          "type": "object",
          "properties": {
            "class_ref": {
              "title": "ClassReference",
              "type": "object",
              "properties": {
                "module_path": {
                  "type": "string"
                },
                "class_name": {
                  "type": "string"
                }
              },
              "description": "Class reference"
            },
            "task_id": {
              "type": "string"
            },
            "owner": {
              "type": "string"
            },
            "start_date": {
              "type": "string"
            },
            "end_date": {
              "type": "string",
              "x-nullable": true
            },
            "trigger_rule": {
              "title": "TriggerRule",
              "type": "string",
              "description": "Trigger rule.",
              "example": "all_success"
            },
            "extra_links": {
              "type": "array",
              "items": {
                "title": "ExtraLink1",
                "type": "object",
                "properties": {
                  "class_ref": {
                    "title": "ClassReference",
                    "type": "object",
                    "properties": {
                      "module_path": {
                        "type": "string"
                      },
                      "class_name": {
                        "type": "string"
                      }
                    },
                    "description": "Class reference"
                  }
                }
              },
              "description": ""
            },
            "depends_on_past": {
              "type": "boolean"
            },
            "wait_for_downstream": {
              "type": "boolean"
            },
            "retries": {
              "type": "number"
            },
            "queue": {
              "type": "string"
            },
            "pool": {
              "type": "string"
            },
            "pool_slots": {
              "type": "number"
            },
            "execution_timeout": {
              "title": "TimeDelta",
              "description": "Time delta",
              "x-discriminator-value": "TimeDelta",
              "x-ms-discriminator-value": "TimeDelta"
            },
            "retry_delay": {
              "title": "TimeDelta",
              "description": "Time delta",
              "x-discriminator-value": "TimeDelta",
              "x-ms-discriminator-value": "TimeDelta"
            },
            "retry_exponential_backoff": {
              "type": "boolean"
            },
            "priority_weight": {
              "type": "number"
            },
            "weight_rule": {
              "title": "WeightRule",
              "type": "string",
              "description": "Weight rule.",
              "example": "downstream"
            },
            "ui_color": {
              "pattern": "^#[a-fA-F0-9]{3,6}$",
              "type": "string",
              "description": "Color in hexadecimal notation."
            },
            "ui_fgcolor": {
              "pattern": "^#[a-fA-F0-9]{3,6}$",
              "type": "string",
              "description": "Color in hexadecimal notation."
            },
            "template_fields": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            },
            "sub_dag": {
              "title": "DAG",
              "type": "object",
              "properties": {
                "dag_id": {
                  "type": "string",
                  "description": "The ID of the DAG."
                },
                "root_dag_id": {
                  "type": "string",
                  "description": "If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.",
                  "x-nullable": true
                },
                "is_paused": {
                  "type": "boolean",
                  "description": "Whether the DAG is paused.",
                  "x-nullable": true
                },
                "is_active": {
                  "type": "boolean",
                  "description": "Whether the DAG is currently seen by the scheduler(s).",
                  "x-nullable": true
                },
                "is_subdag": {
                  "type": "boolean",
                  "description": "Whether the DAG is SubDAG."
                },
                "fileloc": {
                  "type": "string",
                  "description": "The absolute path to the file."
                },
                "file_token": {
                  "type": "string",
                  "description": "The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change."
                },
                "owners": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "description": {
                  "type": "string",
                  "description": "User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.",
                  "x-nullable": true
                },
                "schedule_interval": {
                  "description": "Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's\nexecution_date to figure out the next schedule."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "title": "Tag",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      }
                    },
                    "description": "Tag"
                  },
                  "description": "List of tags.",
                  "x-nullable": true
                }
              },
              "description": "DAG"
            },
            "downstream_task_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": ""
            }
          },
          "description": "For details see:\n(airflow.models.BaseOperator)[https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/index.html#airflow.models.BaseOperator]"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTask"
      },
      "task": true
    },
    {
      "name": "getDagRuns",
      "summary": "get_dag_runs",
      "description": "This endpoint allows specifying `~` as the dag_id to retrieve DAG runs for all DAGs.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAGRunCollection",
          "type": "object",
          "properties": {
            "dag_runs": {
              "type": "array",
              "items": {
                "title": "DAGRun",
                "type": "object",
                "properties": {
                  "dag_run_id": {
                    "type": "string",
                    "description": "Run ID.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nIf not provided, a value will be generated based on execution_date.\n\nIf the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error.\n\nThis together with DAG_ID are a unique key.",
                    "x-nullable": true
                  },
                  "dag_id": {
                    "type": "string"
                  },
                  "logical_date": {
                    "type": "string",
                    "description": "The logical date (previously called execution date). This is the time or interval covered by\nthis DAG run, according to the DAG definition.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nThis together with DAG_ID are a unique key.",
                    "x-nullable": true
                  },
                  "execution_date": {
                    "type": "string",
                    "description": "The execution date. This is the same as logical_date, kept for backwards compatibility.\nIf both this field and logical_date are provided but with different values, the request\nwill fail with an BAD_REQUEST error.",
                    "x-nullable": true,
                    "x-deprecated": true
                  },
                  "start_date": {
                    "type": "string",
                    "description": "The start time. The time when DAG run was actually created.",
                    "x-nullable": true
                  },
                  "end_date": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "state": {
                    "title": "DagState",
                    "type": "string",
                    "description": "DAG State.",
                    "example": "queued"
                  },
                  "external_trigger": {
                    "type": "boolean",
                    "default": true
                  },
                  "conf": {
                    "type": "object",
                    "description": "JSON object describing additional configuration parameters.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error."
                  }
                }
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of DAG runs."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDagRuns"
      },
      "task": true
    },
    {
      "name": "postDagRun",
      "summary": "post_dag_run",
      "description": "Trigger a new DAG run",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAGRun",
          "type": "object",
          "properties": {
            "dag_run_id": {
              "type": "string",
              "description": "Run ID.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nIf not provided, a value will be generated based on execution_date.\n\nIf the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error.\n\nThis together with DAG_ID are a unique key.",
              "x-nullable": true
            },
            "dag_id": {
              "type": "string"
            },
            "logical_date": {
              "type": "string",
              "description": "The logical date (previously called execution date). This is the time or interval covered by\nthis DAG run, according to the DAG definition.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nThis together with DAG_ID are a unique key.",
              "x-nullable": true
            },
            "execution_date": {
              "type": "string",
              "description": "The execution date. This is the same as logical_date, kept for backwards compatibility.\nIf both this field and logical_date are provided but with different values, the request\nwill fail with an BAD_REQUEST error.",
              "x-nullable": true,
              "x-deprecated": true
            },
            "start_date": {
              "type": "string",
              "description": "The start time. The time when DAG run was actually created.",
              "x-nullable": true
            },
            "end_date": {
              "type": "string",
              "x-nullable": true
            },
            "state": {
              "title": "DagState",
              "type": "string",
              "description": "DAG State.",
              "example": "queued"
            },
            "external_trigger": {
              "type": "boolean",
              "default": true
            },
            "conf": {
              "type": "object",
              "description": "JSON object describing additional configuration parameters.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postDagRun"
      },
      "task": true
    },
    {
      "name": "getDagRunsBatch",
      "summary": "get_dag_runs_batch",
      "description": "This endpoint is a POST to allow filtering across a large number of DAG IDs, where as a GET it would run in to maximum HTTP request URL length limit.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAGRunCollection",
          "type": "object",
          "properties": {
            "dag_runs": {
              "type": "array",
              "items": {
                "title": "DAGRun",
                "type": "object",
                "properties": {
                  "dag_run_id": {
                    "type": "string",
                    "description": "Run ID.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nIf not provided, a value will be generated based on execution_date.\n\nIf the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error.\n\nThis together with DAG_ID are a unique key.",
                    "x-nullable": true
                  },
                  "dag_id": {
                    "type": "string"
                  },
                  "logical_date": {
                    "type": "string",
                    "description": "The logical date (previously called execution date). This is the time or interval covered by\nthis DAG run, according to the DAG definition.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nThis together with DAG_ID are a unique key.",
                    "x-nullable": true
                  },
                  "execution_date": {
                    "type": "string",
                    "description": "The execution date. This is the same as logical_date, kept for backwards compatibility.\nIf both this field and logical_date are provided but with different values, the request\nwill fail with an BAD_REQUEST error.",
                    "x-nullable": true,
                    "x-deprecated": true
                  },
                  "start_date": {
                    "type": "string",
                    "description": "The start time. The time when DAG run was actually created.",
                    "x-nullable": true
                  },
                  "end_date": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "state": {
                    "title": "DagState",
                    "type": "string",
                    "description": "DAG State.",
                    "example": "queued"
                  },
                  "external_trigger": {
                    "type": "boolean",
                    "default": true
                  },
                  "conf": {
                    "type": "object",
                    "description": "JSON object describing additional configuration parameters.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error."
                  }
                }
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of DAG runs."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDagRunsBatch"
      },
      "task": true
    },
    {
      "name": "getDagRun",
      "summary": "get_dag_run",
      "description": "Get a DAG run",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAGRun",
          "type": "object",
          "properties": {
            "dag_run_id": {
              "type": "string",
              "description": "Run ID.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nIf not provided, a value will be generated based on execution_date.\n\nIf the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error.\n\nThis together with DAG_ID are a unique key.",
              "x-nullable": true
            },
            "dag_id": {
              "type": "string"
            },
            "logical_date": {
              "type": "string",
              "description": "The logical date (previously called execution date). This is the time or interval covered by\nthis DAG run, according to the DAG definition.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nThis together with DAG_ID are a unique key.",
              "x-nullable": true
            },
            "execution_date": {
              "type": "string",
              "description": "The execution date. This is the same as logical_date, kept for backwards compatibility.\nIf both this field and logical_date are provided but with different values, the request\nwill fail with an BAD_REQUEST error.",
              "x-nullable": true,
              "x-deprecated": true
            },
            "start_date": {
              "type": "string",
              "description": "The start time. The time when DAG run was actually created.",
              "x-nullable": true
            },
            "end_date": {
              "type": "string",
              "x-nullable": true
            },
            "state": {
              "title": "DagState",
              "type": "string",
              "description": "DAG State.",
              "example": "queued"
            },
            "external_trigger": {
              "type": "boolean",
              "default": true
            },
            "conf": {
              "type": "object",
              "description": "JSON object describing additional configuration parameters.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDagRun"
      },
      "task": true
    },
    {
      "name": "deleteDagRun",
      "summary": "delete_dag_run",
      "description": "Delete a DAG run",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deleteDagRun"
      },
      "task": true
    },
    {
      "name": "updateDagRunState",
      "summary": "update_dag_run_state",
      "description": "Modify a DAG run",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DAGRun",
          "type": "object",
          "properties": {
            "dag_run_id": {
              "type": "string",
              "description": "Run ID.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nIf not provided, a value will be generated based on execution_date.\n\nIf the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error.\n\nThis together with DAG_ID are a unique key.",
              "x-nullable": true
            },
            "dag_id": {
              "type": "string"
            },
            "logical_date": {
              "type": "string",
              "description": "The logical date (previously called execution date). This is the time or interval covered by\nthis DAG run, according to the DAG definition.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error.\n\nThis together with DAG_ID are a unique key.",
              "x-nullable": true
            },
            "execution_date": {
              "type": "string",
              "description": "The execution date. This is the same as logical_date, kept for backwards compatibility.\nIf both this field and logical_date are provided but with different values, the request\nwill fail with an BAD_REQUEST error.",
              "x-nullable": true,
              "x-deprecated": true
            },
            "start_date": {
              "type": "string",
              "description": "The start time. The time when DAG run was actually created.",
              "x-nullable": true
            },
            "end_date": {
              "type": "string",
              "x-nullable": true
            },
            "state": {
              "title": "DagState",
              "type": "string",
              "description": "DAG State.",
              "example": "queued"
            },
            "external_trigger": {
              "type": "boolean",
              "default": true
            },
            "conf": {
              "type": "object",
              "description": "JSON object describing additional configuration parameters.\n\nThe value of this field can be set only when creating the object. If you try to modify the\nfield of an existing object, the request fails with an BAD_REQUEST error."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/updateDagRunState"
      },
      "task": true
    },
    {
      "name": "getTaskInstances",
      "summary": "get_task_instances",
      "description": "This endpoint allows specifying `~` as the dag_id, dag_run_id to retrieve DAG runs for all DAGs and DAG runs.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "TaskInstanceCollection",
          "type": "object",
          "properties": {
            "task_instances": {
              "type": "array",
              "items": {
                "title": "TaskInstance",
                "type": "object",
                "properties": {
                  "task_id": {
                    "type": "string"
                  },
                  "dag_id": {
                    "type": "string"
                  },
                  "execution_date": {
                    "type": "string"
                  },
                  "start_date": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "end_date": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "duration": {
                    "type": "number",
                    "x-nullable": true
                  },
                  "state": {
                    "title": "TaskState",
                    "type": "string",
                    "description": "Task state.",
                    "example": "success"
                  },
                  "try_number": {
                    "type": "integer"
                  },
                  "max_tries": {
                    "type": "integer"
                  },
                  "hostname": {
                    "type": "string"
                  },
                  "unixname": {
                    "type": "string"
                  },
                  "pool": {
                    "type": "string"
                  },
                  "pool_slots": {
                    "type": "integer"
                  },
                  "queue": {
                    "type": "string"
                  },
                  "priority_weight": {
                    "type": "integer"
                  },
                  "operator": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "queued_when": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "pid": {
                    "type": "integer",
                    "x-nullable": true
                  },
                  "executor_config": {
                    "type": "string"
                  },
                  "sla_miss": {
                    "title": "SLAMiss",
                    "type": "object",
                    "properties": {
                      "task_id": {
                        "type": "string",
                        "description": "The task ID."
                      },
                      "dag_id": {
                        "type": "string",
                        "description": "The DAG ID."
                      },
                      "execution_date": {
                        "type": "string"
                      },
                      "email_sent": {
                        "type": "boolean"
                      },
                      "timestamp": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string",
                        "x-nullable": true
                      },
                      "notification_sent": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of task instances."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTaskInstances"
      },
      "task": true
    },
    {
      "name": "getTaskInstance",
      "summary": "get_task_instance",
      "description": "Get a task instance",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "TaskInstance",
          "type": "object",
          "properties": {
            "task_id": {
              "type": "string"
            },
            "dag_id": {
              "type": "string"
            },
            "execution_date": {
              "type": "string"
            },
            "start_date": {
              "type": "string",
              "x-nullable": true
            },
            "end_date": {
              "type": "string",
              "x-nullable": true
            },
            "duration": {
              "type": "number",
              "x-nullable": true
            },
            "state": {
              "title": "TaskState",
              "type": "string",
              "description": "Task state.",
              "example": "success"
            },
            "try_number": {
              "type": "integer"
            },
            "max_tries": {
              "type": "integer"
            },
            "hostname": {
              "type": "string"
            },
            "unixname": {
              "type": "string"
            },
            "pool": {
              "type": "string"
            },
            "pool_slots": {
              "type": "integer"
            },
            "queue": {
              "type": "string"
            },
            "priority_weight": {
              "type": "integer"
            },
            "operator": {
              "type": "string",
              "x-nullable": true
            },
            "queued_when": {
              "type": "string",
              "x-nullable": true
            },
            "pid": {
              "type": "integer",
              "x-nullable": true
            },
            "executor_config": {
              "type": "string"
            },
            "sla_miss": {
              "title": "SLAMiss",
              "type": "object",
              "properties": {
                "task_id": {
                  "type": "string",
                  "description": "The task ID."
                },
                "dag_id": {
                  "type": "string",
                  "description": "The DAG ID."
                },
                "execution_date": {
                  "type": "string"
                },
                "email_sent": {
                  "type": "boolean"
                },
                "timestamp": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "x-nullable": true
                },
                "notification_sent": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTaskInstance"
      },
      "task": true
    },
    {
      "name": "getTaskInstancesBatch",
      "summary": "get_task_instances_batch",
      "description": "List task instances from all DAGs and DAG runs.\nThis endpoint is a POST to allow filtering across a large number of DAG IDs, where as a GET it would run in to maximum HTTP request URL length limits.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "TaskInstanceCollection",
          "type": "object",
          "properties": {
            "task_instances": {
              "type": "array",
              "items": {
                "title": "TaskInstance",
                "type": "object",
                "properties": {
                  "task_id": {
                    "type": "string"
                  },
                  "dag_id": {
                    "type": "string"
                  },
                  "execution_date": {
                    "type": "string"
                  },
                  "start_date": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "end_date": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "duration": {
                    "type": "number",
                    "x-nullable": true
                  },
                  "state": {
                    "title": "TaskState",
                    "type": "string",
                    "description": "Task state.",
                    "example": "success"
                  },
                  "try_number": {
                    "type": "integer"
                  },
                  "max_tries": {
                    "type": "integer"
                  },
                  "hostname": {
                    "type": "string"
                  },
                  "unixname": {
                    "type": "string"
                  },
                  "pool": {
                    "type": "string"
                  },
                  "pool_slots": {
                    "type": "integer"
                  },
                  "queue": {
                    "type": "string"
                  },
                  "priority_weight": {
                    "type": "integer"
                  },
                  "operator": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "queued_when": {
                    "type": "string",
                    "x-nullable": true
                  },
                  "pid": {
                    "type": "integer",
                    "x-nullable": true
                  },
                  "executor_config": {
                    "type": "string"
                  },
                  "sla_miss": {
                    "title": "SLAMiss",
                    "type": "object",
                    "properties": {
                      "task_id": {
                        "type": "string",
                        "description": "The task ID."
                      },
                      "dag_id": {
                        "type": "string",
                        "description": "The DAG ID."
                      },
                      "execution_date": {
                        "type": "string"
                      },
                      "email_sent": {
                        "type": "boolean"
                      },
                      "timestamp": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string",
                        "x-nullable": true
                      },
                      "notification_sent": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of task instances."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTaskInstancesBatch"
      },
      "task": true
    },
    {
      "name": "getExtraLinks",
      "summary": "get_extra_links",
      "description": "List extra links for task instance.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ExtraLinkCollection",
          "type": "object",
          "properties": {
            "extra_links": {
              "type": "array",
              "items": {
                "title": "ExtraLink",
                "type": "object",
                "properties": {
                  "class_ref": {
                    "title": "ClassReference",
                    "type": "object",
                    "properties": {
                      "module_path": {
                        "type": "string"
                      },
                      "class_name": {
                        "type": "string"
                      }
                    },
                    "description": "Class reference"
                  },
                  "name": {
                    "type": "string"
                  },
                  "href": {
                    "type": "string"
                  }
                },
                "description": "Additional links containing additional information about the task."
              },
              "description": ""
            }
          },
          "description": "The collection of extra links."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getExtraLinks"
      },
      "task": true
    },
    {
      "name": "getLog",
      "summary": "get_log",
      "description": "Get logs for a specific task instance and its try number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DagsDagRunsTaskInstancesTaskIdLogsTaskTryNumberResponse",
          "type": "object",
          "properties": {
            "continuation_token": {
              "type": "string"
            },
            "content": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getLog"
      },
      "task": true
    },
    {
      "name": "getXcomEntries",
      "summary": "get_xcom_entries",
      "description": "This endpoint allows specifying `~` as the dag_id, dag_run_id, task_id to retrieve XCOM entries for for all DAGs, DAG runs and task instances. XCom values won't be returned as they can be large. Use this endpoint to get a list of XCom entries and then fetch individual entry to get value.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "XComCollection",
          "type": "object",
          "properties": {
            "xcom_entries": {
              "type": "array",
              "items": {
                "title": "XComCollectionItem",
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "timestamp": {
                    "type": "string"
                  },
                  "execution_date": {
                    "type": "string"
                  },
                  "task_id": {
                    "type": "string"
                  },
                  "dag_id": {
                    "type": "string"
                  }
                },
                "description": "XCom entry collection item.\n\nThe value field is only available when reading a single object due to the size of the value."
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of XCom entries."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getXcomEntries"
      },
      "task": true
    },
    {
      "name": "getXcomEntry",
      "summary": "get_xcom_entry",
      "description": "Get an XCom entry",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "XCom",
          "type": "object",
          "properties": {
            "key": {
              "type": "string"
            },
            "timestamp": {
              "type": "string"
            },
            "execution_date": {
              "type": "string"
            },
            "task_id": {
              "type": "string"
            },
            "dag_id": {
              "type": "string"
            },
            "value": {
              "type": "string",
              "description": "The value"
            }
          },
          "description": "Full representations of XCom entry."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getXcomEntry"
      },
      "task": true
    },
    {
      "name": "getDagSource",
      "summary": "get_dag_source",
      "description": "Get a source code using file token.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "DagSourcesResponse",
          "type": "object",
          "properties": {
            "content": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDagSource"
      },
      "task": true
    },
    {
      "name": "getEventLogs",
      "summary": "get_event_logs",
      "description": "List log entries from event log.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "EventLogCollection",
          "type": "object",
          "properties": {
            "event_logs": {
              "type": "array",
              "items": {
                "title": "EventLog",
                "type": "object",
                "properties": {
                  "event_log_id": {
                    "type": "integer",
                    "description": "The event log ID"
                  },
                  "when": {
                    "type": "string",
                    "description": "The time when these events happened."
                  },
                  "dag_id": {
                    "type": "string",
                    "description": "The DAG ID",
                    "x-nullable": true
                  },
                  "task_id": {
                    "type": "string",
                    "description": "The DAG ID",
                    "x-nullable": true
                  },
                  "event": {
                    "type": "string",
                    "description": "A key describing the type of event."
                  },
                  "execution_date": {
                    "type": "string",
                    "description": "When the event was dispatched for an object having execution_date, the value of this field.",
                    "x-nullable": true
                  },
                  "owner": {
                    "type": "string",
                    "description": "Name of the user who triggered these events a."
                  },
                  "extra": {
                    "type": "string",
                    "description": "Other information that was not included in the other fields, e.g. the complete CLI command.",
                    "x-nullable": true
                  }
                },
                "description": "Log of user operations via CLI or Web UI."
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of event logs."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getEventLogs"
      },
      "task": true
    },
    {
      "name": "getEventLog",
      "summary": "get_event_log",
      "description": "Get a log entry",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "EventLog",
          "type": "object",
          "properties": {
            "event_log_id": {
              "type": "integer",
              "description": "The event log ID"
            },
            "when": {
              "type": "string",
              "description": "The time when these events happened."
            },
            "dag_id": {
              "type": "string",
              "description": "The DAG ID",
              "x-nullable": true
            },
            "task_id": {
              "type": "string",
              "description": "The DAG ID",
              "x-nullable": true
            },
            "event": {
              "type": "string",
              "description": "A key describing the type of event."
            },
            "execution_date": {
              "type": "string",
              "description": "When the event was dispatched for an object having execution_date, the value of this field.",
              "x-nullable": true
            },
            "owner": {
              "type": "string",
              "description": "Name of the user who triggered these events a."
            },
            "extra": {
              "type": "string",
              "description": "Other information that was not included in the other fields, e.g. the complete CLI command.",
              "x-nullable": true
            }
          },
          "description": "Log of user operations via CLI or Web UI."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getEventLog"
      },
      "task": true
    },
    {
      "name": "getImportErrors",
      "summary": "get_import_errors",
      "description": "List import errors",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ImportErrorCollection",
          "type": "object",
          "properties": {
            "import_errors": {
              "type": "array",
              "items": {
                "title": "ImportError",
                "type": "object",
                "properties": {
                  "import_error_id": {
                    "type": "integer",
                    "description": "The import error ID."
                  },
                  "timestamp": {
                    "type": "string",
                    "description": "The time when this error was created."
                  },
                  "filename": {
                    "type": "string",
                    "description": "The filename"
                  },
                  "stack_trace": {
                    "type": "string",
                    "description": "The full stackstrace.."
                  }
                }
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of import errors."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getImportErrors"
      },
      "task": true
    },
    {
      "name": "getImportError",
      "summary": "get_import_error",
      "description": "Get an import error",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ImportError",
          "type": "object",
          "properties": {
            "import_error_id": {
              "type": "integer",
              "description": "The import error ID."
            },
            "timestamp": {
              "type": "string",
              "description": "The time when this error was created."
            },
            "filename": {
              "type": "string",
              "description": "The filename"
            },
            "stack_trace": {
              "type": "string",
              "description": "The full stackstrace.."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getImportError"
      },
      "task": true
    },
    {
      "name": "getHealth",
      "summary": "get_health",
      "description": "Get the status of Airflow's metadatabase and scheduler. It includes info about\nmetadatabase and last heartbeat of scheduler.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "HealthInfo",
          "type": "object",
          "properties": {
            "metadatabase": {
              "title": "MetadatabaseStatus",
              "type": "object",
              "properties": {
                "status": {
                  "title": "HealthStatus",
                  "type": "string",
                  "description": "Health status",
                  "example": "healthy"
                }
              },
              "description": "The status of the metadatabase."
            },
            "scheduler": {
              "title": "SchedulerStatus",
              "type": "object",
              "properties": {
                "status": {
                  "title": "HealthStatus",
                  "type": "string",
                  "description": "Health status",
                  "example": "healthy"
                },
                "latest_scheduler_heartbeat": {
                  "type": "string",
                  "description": "The time the scheduler last do a heartbeat.",
                  "x-nullable": true
                }
              },
              "description": "The status and the latest scheduler heartbeat."
            }
          },
          "description": "Instance status information."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getHealth"
      },
      "task": true
    },
    {
      "name": "getVersion",
      "summary": "get_version",
      "description": "Get version information",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VersionInfo",
          "type": "object",
          "properties": {
            "version": {
              "type": "string",
              "description": "The version of Airflow"
            },
            "git_version": {
              "type": "string",
              "description": "The git version (including git commit hash)",
              "x-nullable": true
            }
          },
          "description": "Version information."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getVersion"
      },
      "task": true
    },
    {
      "name": "getPools",
      "summary": "get_pools",
      "description": "List pools",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PoolCollection",
          "type": "object",
          "properties": {
            "pools": {
              "type": "array",
              "items": {
                "title": "Pool",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of pool."
                  },
                  "slots": {
                    "type": "integer",
                    "description": "The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots."
                  },
                  "occupied_slots": {
                    "type": "integer",
                    "description": "The number of slots used by running/queued tasks at the moment."
                  },
                  "used_slots": {
                    "type": "integer",
                    "description": "The number of slots used by running tasks at the moment."
                  },
                  "queued_slots": {
                    "type": "integer",
                    "description": "The number of slots used by queued tasks at the moment."
                  },
                  "open_slots": {
                    "type": "integer",
                    "description": "The number of free slots at the moment."
                  }
                },
                "description": "The pool"
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of pools."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getPools"
      },
      "task": true
    },
    {
      "name": "postPool",
      "summary": "post_pool",
      "description": "Create a pool",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Pool",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of pool."
            },
            "slots": {
              "type": "integer",
              "description": "The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots."
            },
            "occupied_slots": {
              "type": "integer",
              "description": "The number of slots used by running/queued tasks at the moment."
            },
            "used_slots": {
              "type": "integer",
              "description": "The number of slots used by running tasks at the moment."
            },
            "queued_slots": {
              "type": "integer",
              "description": "The number of slots used by queued tasks at the moment."
            },
            "open_slots": {
              "type": "integer",
              "description": "The number of free slots at the moment."
            }
          },
          "description": "The pool"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postPool"
      },
      "task": true
    },
    {
      "name": "getPool",
      "summary": "get_pool",
      "description": "Get a pool",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Pool",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of pool."
            },
            "slots": {
              "type": "integer",
              "description": "The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots."
            },
            "occupied_slots": {
              "type": "integer",
              "description": "The number of slots used by running/queued tasks at the moment."
            },
            "used_slots": {
              "type": "integer",
              "description": "The number of slots used by running tasks at the moment."
            },
            "queued_slots": {
              "type": "integer",
              "description": "The number of slots used by queued tasks at the moment."
            },
            "open_slots": {
              "type": "integer",
              "description": "The number of free slots at the moment."
            }
          },
          "description": "The pool"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getPool"
      },
      "task": true
    },
    {
      "name": "patchPool",
      "summary": "patch_pool",
      "description": "Update a pool",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Pool",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of pool."
            },
            "slots": {
              "type": "integer",
              "description": "The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots."
            },
            "occupied_slots": {
              "type": "integer",
              "description": "The number of slots used by running/queued tasks at the moment."
            },
            "used_slots": {
              "type": "integer",
              "description": "The number of slots used by running tasks at the moment."
            },
            "queued_slots": {
              "type": "integer",
              "description": "The number of slots used by queued tasks at the moment."
            },
            "open_slots": {
              "type": "integer",
              "description": "The number of free slots at the moment."
            }
          },
          "description": "The pool"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/patchPool"
      },
      "task": true
    },
    {
      "name": "deletePool",
      "summary": "delete_pool",
      "description": "Delete a pool",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deletePool"
      },
      "task": true
    },
    {
      "name": "getProviders",
      "summary": "get_providers",
      "description": "List providers",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ProvidersResponse",
          "type": "object",
          "properties": {
            "providers": {
              "type": "array",
              "items": {
                "title": "Provider",
                "type": "object",
                "properties": {
                  "package_name": {
                    "type": "string",
                    "description": "The package name of the provider."
                  },
                  "description": {
                    "type": "string",
                    "description": "The description of the provider."
                  },
                  "version": {
                    "type": "string",
                    "description": "The version of the provider."
                  }
                },
                "description": "The provider"
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getProviders"
      },
      "task": true
    },
    {
      "name": "getVariables",
      "summary": "get_variables",
      "description": "The collection does not contain data. To get data, you must get a single entity.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VariableCollection",
          "type": "object",
          "properties": {
            "variables": {
              "type": "array",
              "items": {
                "title": "VariableCollectionItem",
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  }
                },
                "description": "XCom entry collection item.\nThe value field are only available when retrieving a single object due to the sensitivity of this data."
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of variables."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getVariables"
      },
      "task": true
    },
    {
      "name": "postVariables",
      "summary": "post_variables",
      "description": "Create a variable",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Variable",
          "type": "object",
          "properties": {
            "key": {
              "type": "string"
            },
            "value": {
              "type": "string"
            }
          },
          "description": "Full representation of Variable"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postVariables"
      },
      "task": true
    },
    {
      "name": "getVariable",
      "summary": "get_variable",
      "description": "Get a variable by key.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Variable",
          "type": "object",
          "properties": {
            "key": {
              "type": "string"
            },
            "value": {
              "type": "string"
            }
          },
          "description": "Full representation of Variable"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getVariable"
      },
      "task": true
    },
    {
      "name": "patchVariable",
      "summary": "patch_variable",
      "description": "Update a variable by key.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Variable",
          "type": "object",
          "properties": {
            "key": {
              "type": "string"
            },
            "value": {
              "type": "string"
            }
          },
          "description": "Full representation of Variable"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/patchVariable"
      },
      "task": true
    },
    {
      "name": "deleteVariable",
      "summary": "delete_variable",
      "description": "Delete a variable",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deleteVariable"
      },
      "task": true
    },
    {
      "name": "getPlugins",
      "summary": "get_plugins",
      "description": "Get a list of loaded plugins",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PluginCollection",
          "type": "object",
          "properties": {
            "plugins": {
              "type": "array",
              "items": {
                "title": "PluginCollectionItem",
                "type": "object",
                "properties": {
                  "number": {
                    "type": "string",
                    "description": "The plugin number"
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the plugin"
                  },
                  "hooks": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The plugin hooks"
                  },
                  "executors": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The plugin executors"
                  },
                  "macros": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "The plugin macros"
                  },
                  "flask_blueprints": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "The flask blueprints"
                  },
                  "appbuilder_views": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "The appuilder views"
                  },
                  "appbuilder_menu_items": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "The Flask Appbuilder menu items"
                  },
                  "global_operator_extra_links": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "The global operator extra links"
                  },
                  "operator_extra_links": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": "Operator extra links"
                  },
                  "source": {
                    "type": "string",
                    "description": "The plugin source",
                    "x-nullable": true
                  }
                },
                "description": "Plugin Item"
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Plugin Collection"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getPlugins"
      },
      "task": true
    },
    {
      "name": "getRoles",
      "summary": "get_roles",
      "description": "List roles",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "RoleCollection",
          "type": "object",
          "properties": {
            "roles": {
              "type": "array",
              "items": {
                "title": "Role",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the role"
                  },
                  "actions": {
                    "type": "array",
                    "items": {
                      "title": "ActionResource",
                      "type": "object",
                      "properties": {
                        "action": {
                          "title": "Action",
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name of the permission \"action\""
                            }
                          },
                          "description": "Action Item"
                        },
                        "resource": {
                          "title": "Resource",
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name of the resource"
                            }
                          },
                          "description": "A \"resource\" on which permissions are granted."
                        }
                      },
                      "description": "The Action-Resource item"
                    },
                    "description": ""
                  }
                },
                "description": "Role item"
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Role Collections"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getRoles"
      },
      "task": true
    },
    {
      "name": "postRole",
      "summary": "post_role",
      "description": "Create a role",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Role",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the role"
            },
            "actions": {
              "type": "array",
              "items": {
                "title": "ActionResource",
                "type": "object",
                "properties": {
                  "action": {
                    "title": "Action",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the permission \"action\""
                      }
                    },
                    "description": "Action Item"
                  },
                  "resource": {
                    "title": "Resource",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the resource"
                      }
                    },
                    "description": "A \"resource\" on which permissions are granted."
                  }
                },
                "description": "The Action-Resource item"
              },
              "description": ""
            }
          },
          "description": "Role item"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postRole"
      },
      "task": true
    },
    {
      "name": "getRole",
      "summary": "get_role",
      "description": "Get a role",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Role",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the role"
            },
            "actions": {
              "type": "array",
              "items": {
                "title": "ActionResource",
                "type": "object",
                "properties": {
                  "action": {
                    "title": "Action",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the permission \"action\""
                      }
                    },
                    "description": "Action Item"
                  },
                  "resource": {
                    "title": "Resource",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the resource"
                      }
                    },
                    "description": "A \"resource\" on which permissions are granted."
                  }
                },
                "description": "The Action-Resource item"
              },
              "description": ""
            }
          },
          "description": "Role item"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getRole"
      },
      "task": true
    },
    {
      "name": "patchRole",
      "summary": "patch_role",
      "description": "Update a role",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Role",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the role"
            },
            "actions": {
              "type": "array",
              "items": {
                "title": "ActionResource",
                "type": "object",
                "properties": {
                  "action": {
                    "title": "Action",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the permission \"action\""
                      }
                    },
                    "description": "Action Item"
                  },
                  "resource": {
                    "title": "Resource",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the resource"
                      }
                    },
                    "description": "A \"resource\" on which permissions are granted."
                  }
                },
                "description": "The Action-Resource item"
              },
              "description": ""
            }
          },
          "description": "Role item"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/patchRole"
      },
      "task": true
    },
    {
      "name": "deleteRole",
      "summary": "delete_role",
      "description": "Delete a role",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deleteRole"
      },
      "task": true
    },
    {
      "name": "getPermissions",
      "summary": "get_permissions",
      "description": "List permissions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ActionCollection",
          "type": "object",
          "properties": {
            "actions": {
              "type": "array",
              "items": {
                "title": "Action",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the permission \"action\""
                  }
                },
                "description": "Action Item"
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Action Collection"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getPermissions"
      },
      "task": true
    },
    {
      "name": "getUsers",
      "summary": "get_users",
      "description": "List users",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "UserCollection",
          "type": "object",
          "properties": {
            "users": {
              "type": "array",
              "items": {
                "title": "UserCollectionItem",
                "type": "object",
                "properties": {
                  "first_name": {
                    "minLength": 1,
                    "type": "string",
                    "description": "The user firstname"
                  },
                  "last_name": {
                    "minLength": 1,
                    "type": "string",
                    "description": "The user lastname"
                  },
                  "username": {
                    "minLength": 1,
                    "type": "string",
                    "description": "The username"
                  },
                  "email": {
                    "minLength": 1,
                    "type": "string",
                    "description": "The user's email"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the user is active",
                    "x-nullable": true
                  },
                  "last_login": {
                    "type": "string",
                    "description": "The last user login",
                    "x-nullable": true
                  },
                  "login_count": {
                    "type": "integer",
                    "description": "The login count",
                    "x-nullable": true
                  },
                  "failed_login_count": {
                    "type": "integer",
                    "description": "The number of times the login failed",
                    "x-nullable": true
                  },
                  "roles": {
                    "type": "array",
                    "items": {
                      "title": "Role2",
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "description": "User roles"
                  },
                  "created_on": {
                    "type": "string",
                    "description": "The date user was created",
                    "x-nullable": true
                  },
                  "changed_on": {
                    "type": "string",
                    "description": "The date user was changed",
                    "x-nullable": true
                  }
                },
                "description": "A user object"
              },
              "description": ""
            },
            "total_entries": {
              "type": "integer",
              "description": "Count of objects in the current result set."
            }
          },
          "description": "Collection of users."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getUsers"
      },
      "task": true
    },
    {
      "name": "postUser",
      "summary": "post_user",
      "description": "Create a user",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "User",
          "type": "object",
          "properties": {
            "first_name": {
              "minLength": 1,
              "type": "string",
              "description": "The user firstname"
            },
            "last_name": {
              "minLength": 1,
              "type": "string",
              "description": "The user lastname"
            },
            "username": {
              "minLength": 1,
              "type": "string",
              "description": "The username"
            },
            "email": {
              "minLength": 1,
              "type": "string",
              "description": "The user's email"
            },
            "active": {
              "type": "boolean",
              "description": "Whether the user is active",
              "x-nullable": true
            },
            "last_login": {
              "type": "string",
              "description": "The last user login",
              "x-nullable": true
            },
            "login_count": {
              "type": "integer",
              "description": "The login count",
              "x-nullable": true
            },
            "failed_login_count": {
              "type": "integer",
              "description": "The number of times the login failed",
              "x-nullable": true
            },
            "roles": {
              "type": "array",
              "items": {
                "title": "Role2",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              },
              "description": "User roles"
            },
            "created_on": {
              "type": "string",
              "description": "The date user was created",
              "x-nullable": true
            },
            "changed_on": {
              "type": "string",
              "description": "The date user was changed",
              "x-nullable": true
            },
            "password": {
              "type": "string"
            }
          },
          "description": "A user object with sensitive data"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/postUser"
      },
      "task": true
    },
    {
      "name": "getUser",
      "summary": "get_user",
      "description": "Get a user",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "UserCollectionItem",
          "type": "object",
          "properties": {
            "first_name": {
              "minLength": 1,
              "type": "string",
              "description": "The user firstname"
            },
            "last_name": {
              "minLength": 1,
              "type": "string",
              "description": "The user lastname"
            },
            "username": {
              "minLength": 1,
              "type": "string",
              "description": "The username"
            },
            "email": {
              "minLength": 1,
              "type": "string",
              "description": "The user's email"
            },
            "active": {
              "type": "boolean",
              "description": "Whether the user is active",
              "x-nullable": true
            },
            "last_login": {
              "type": "string",
              "description": "The last user login",
              "x-nullable": true
            },
            "login_count": {
              "type": "integer",
              "description": "The login count",
              "x-nullable": true
            },
            "failed_login_count": {
              "type": "integer",
              "description": "The number of times the login failed",
              "x-nullable": true
            },
            "roles": {
              "type": "array",
              "items": {
                "title": "Role2",
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              },
              "description": "User roles"
            },
            "created_on": {
              "type": "string",
              "description": "The date user was created",
              "x-nullable": true
            },
            "changed_on": {
              "type": "string",
              "description": "The date user was changed",
              "x-nullable": true
            }
          },
          "description": "A user object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getUser"
      },
      "task": true
    },
    {
      "name": "patchUser",
      "summary": "patch_user",
      "description": "Update a user",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Role",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the role"
            },
            "actions": {
              "type": "array",
              "items": {
                "title": "ActionResource",
                "type": "object",
                "properties": {
                  "action": {
                    "title": "Action",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the permission \"action\""
                      }
                    },
                    "description": "Action Item"
                  },
                  "resource": {
                    "title": "Resource",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the resource"
                      }
                    },
                    "description": "A \"resource\" on which permissions are granted."
                  }
                },
                "description": "The Action-Resource item"
              },
              "description": ""
            }
          },
          "description": "Role item"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/patchUser"
      },
      "task": true
    },
    {
      "name": "deleteUser",
      "summary": "delete_user",
      "description": "Delete a user",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deleteUser"
      },
      "task": true
    }
  ],
  "views": []
}