{
  "id": "@itentialopensource/adapter-moogsoft_saas",
  "type": "Adapter",
  "export": "MoogsoftSaas",
  "title": "Moogsoft_saas",
  "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": "alertDetails",
      "summary": "alertDetails",
      "description": "Returns a single alert.",
      "input": [
        {
          "name": "alertId",
          "type": "string",
          "info": "ID of the alert to return. Returns 400 (Invalid ID Supplied) if this value is anything other than a non-negative integer.: string",
          "required": true,
          "schema": {
            "title": "alertId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAlertWebDto",
          "required": [
            "status"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "AlertDetails",
              "type": "object",
              "properties": {
                "assignee": {
                  "type": "string",
                  "description": "email of the user who is assigned to the incident/alert",
                  "example": "test@moogsoft.com"
                },
                "description": {
                  "type": "string",
                  "description": "description that usually contains the incident/alert ID, source and service",
                  "example": "1 Source: www.your-source.com Affected retail, support\n"
                },
                "first_event_time": {
                  "type": "integer",
                  "description": "Epoch timestamp in seconds of the first event for this incident",
                  "format": "int64",
                  "example": 1607985505
                },
                "last_event_time": {
                  "type": "integer",
                  "description": "Epoch timestamp in seconds of the last event for this incident",
                  "format": "int64",
                  "example": 1607985505
                },
                "severity": {
                  "title": "Severity",
                  "enum": [
                    "clear",
                    "unknown",
                    "warning",
                    "minor",
                    "major",
                    "critical"
                  ],
                  "type": "string",
                  "description": "Severity Level (case-insensitive)"
                },
                "status": {
                  "title": "Status",
                  "enum": [
                    "error",
                    "open",
                    "in progress",
                    "superseded",
                    "resolved",
                    "closed"
                  ],
                  "type": "string",
                  "description": "Status for incidents and alerts (case-insensitive)"
                },
                "alert_id": {
                  "type": "integer",
                  "format": "int64"
                },
                "alias": {
                  "type": "string"
                },
                "check": {
                  "type": "string"
                },
                "class": {
                  "type": "string"
                },
                "dedupe_key": {
                  "type": "string"
                },
                "event_count": {
                  "type": "integer",
                  "format": "int32"
                },
                "incidents": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "description": ""
                },
                "last_status_change_time": {
                  "type": "integer",
                  "format": "int64"
                },
                "location": {
                  "type": "object"
                },
                "maintenance": {
                  "type": "string"
                },
                "manager": {
                  "type": "string"
                },
                "manager_id": {
                  "type": "string"
                },
                "namespace": {
                  "type": "string"
                },
                "service": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "source": {
                  "type": "string"
                },
                "tags": {
                  "type": "object"
                },
                "type": {
                  "type": "string"
                },
                "utcOffset": {
                  "type": "string"
                },
                "active_incidents_count": {
                  "type": "integer",
                  "format": "int32"
                },
                "service_count": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alertDetails"
      },
      "task": true
    },
    {
      "name": "updateAlert",
      "summary": "updateAlert",
      "description": "Updates a single alert.",
      "input": [
        {
          "name": "alertId",
          "type": "number",
          "info": ": 123",
          "required": true,
          "schema": {
            "title": "alertId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"assignee\": \"string\", \"status\": \"Must be one of [error, open, in progress, superseded, resolved, closed]\"}",
          "required": false,
          "schema": {
            "title": "AlertUpdateRequest",
            "type": "object",
            "properties": {
              "assignee": {
                "type": "string",
                "description": "Username of the assignee, specified as one string. Returns an error if the username is not found.",
                "example": "john.doe@company.com"
              },
              "status": {
                "title": "Status",
                "enum": [
                  "error",
                  "open",
                  "in progress",
                  "superseded",
                  "resolved",
                  "closed"
                ],
                "type": "string",
                "description": "Status for incidents and alerts (case-insensitive)"
              }
            }
          }
        }
      ],
      "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": "/updateAlert"
      },
      "task": true
    },
    {
      "name": "listAlerts",
      "summary": "listAlerts",
      "description": "Get a list of all alerts with matching criteria.",
      "input": [
        {
          "name": "filter",
          "type": "string",
          "info": "Return only alerts that match this filter. To specify an alerts filter, do the following.   Go to the Alerts table in the UI.  Enter and validate your filter in the searc...(description truncated): string",
          "required": false,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        },
        {
          "name": "incidentId",
          "type": "number",
          "info": "Returns alerts that belong to this incident ID. (Takes precedence over filter: 123",
          "required": false,
          "schema": {
            "title": "incidentId",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Maximum number of alerts to return. This is equivalent to the maximum number of alerts per page.: 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "sortBy",
          "type": "string",
          "info": "Field to sort by: string",
          "required": false,
          "schema": {
            "title": "sortBy",
            "type": "string"
          }
        },
        {
          "name": "sortOrder",
          "type": "string",
          "info": "Sort order: Must be one of [asc, desc]",
          "required": false,
          "schema": {
            "title": "sortOrder",
            "type": "string"
          }
        },
        {
          "name": "start",
          "type": "number",
          "info": "Get the list of alerts starting at position [offset-1]. This is generally a multiple of the page size minus 1. If you are retrieving alerts 50 at a time, for example, set...(description truncated): 123",
          "required": false,
          "schema": {
            "title": "start",
            "type": "number"
          }
        },
        {
          "name": "utcOffset",
          "type": "string",
          "info": "UTC Offset: string",
          "required": false,
          "schema": {
            "title": "utcOffset",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAlertList",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "AlertList",
              "type": "object",
              "properties": {
                "result": {
                  "type": "array",
                  "items": {
                    "title": "AlertDetails",
                    "type": "object",
                    "properties": {
                      "assignee": {
                        "type": "string",
                        "description": "email of the user who is assigned to the incident/alert",
                        "example": "test@moogsoft.com"
                      },
                      "description": {
                        "type": "string",
                        "description": "description that usually contains the incident/alert ID, source and service",
                        "example": "1 Source: www.your-source.com Affected retail, support\n"
                      },
                      "first_event_time": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds of the first event for this incident",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "last_event_time": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds of the last event for this incident",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "severity": {
                        "title": "Severity",
                        "enum": [
                          "clear",
                          "unknown",
                          "warning",
                          "minor",
                          "major",
                          "critical"
                        ],
                        "type": "string",
                        "description": "Severity Level (case-insensitive)"
                      },
                      "status": {
                        "title": "Status",
                        "enum": [
                          "error",
                          "open",
                          "in progress",
                          "superseded",
                          "resolved",
                          "closed"
                        ],
                        "type": "string",
                        "description": "Status for incidents and alerts (case-insensitive)"
                      },
                      "alert_id": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "alias": {
                        "type": "string"
                      },
                      "check": {
                        "type": "string"
                      },
                      "class": {
                        "type": "string"
                      },
                      "dedupe_key": {
                        "type": "string"
                      },
                      "event_count": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "incidents": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "int64"
                        },
                        "description": ""
                      },
                      "last_status_change_time": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "location": {
                        "type": "object"
                      },
                      "maintenance": {
                        "type": "string"
                      },
                      "manager": {
                        "type": "string"
                      },
                      "manager_id": {
                        "type": "string"
                      },
                      "namespace": {
                        "type": "string"
                      },
                      "service": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": ""
                      },
                      "source": {
                        "type": "string"
                      },
                      "tags": {
                        "type": "object"
                      },
                      "type": {
                        "type": "string"
                      },
                      "utcOffset": {
                        "type": "string"
                      },
                      "active_incidents_count": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "service_count": {
                        "type": "integer",
                        "format": "int32"
                      }
                    }
                  },
                  "description": ""
                }
              }
            }
          },
          "description": "Alerts API AlertList response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listAlerts"
      },
      "task": true
    },
    {
      "name": "updateAlerts",
      "summary": "updateAlerts",
      "description": "Updates bulk alerts.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"assignee\": \"string\", \"status\": \"Must be one of [error, open, in progress, superseded, resolved, closed]\", \"ids\": \"array\"}",
          "required": false,
          "schema": {
            "title": "BulkAlertUpdateRequest",
            "required": [
              "ids"
            ],
            "type": "object",
            "properties": {
              "assignee": {
                "type": "string",
                "description": "Username of the assignee, specified as one string. Returns an error if the username is not found.",
                "example": "john.doe@company.com"
              },
              "status": {
                "title": "Status",
                "enum": [
                  "error",
                  "open",
                  "in progress",
                  "superseded",
                  "resolved",
                  "closed"
                ],
                "type": "string",
                "description": "Status for incidents and alerts (case-insensitive)"
              },
              "ids": {
                "minItems": 1,
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                },
                "description": "Unique alert ids to update"
              }
            }
          }
        }
      ],
      "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": "/updateAlerts"
      },
      "task": true
    },
    {
      "name": "incidentIds",
      "summary": "incidentIds",
      "description": "Get a list of all incidentIds for an alert.",
      "input": [
        {
          "name": "alertId",
          "type": "number",
          "info": "ID of the alert to use. Returns 400 (Invalid ID Supplied) if this value is anything other than a non-negative integer.: 123",
          "required": true,
          "schema": {
            "title": "alertId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseIncidentIdList",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "IncidentIdList",
              "type": "object",
              "properties": {
                "result": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "description": ""
                }
              }
            }
          },
          "description": "Alerts API IncidentIdList response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/incidentIds"
      },
      "task": true
    },
    {
      "name": "alertDtoColumnNames",
      "summary": "alertDtoColumnNames",
      "description": "Column names for filtering alerts in outbound integrations, returns a list of strings",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseColumnsDto",
          "required": [
            "status"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "ColumnsDto",
              "type": "object",
              "properties": {
                "fields": {
                  "type": "array",
                  "items": {
                    "title": "ColumnInfo",
                    "type": "object",
                    "properties": {
                      "internalName": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "uiName": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                }
              }
            },
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/alertDtoColumnNames"
      },
      "task": true
    },
    {
      "name": "getAlertCount",
      "summary": "getAlertCount",
      "description": "Returns a count of all alerts that match the following criteria.",
      "input": [
        {
          "name": "filter",
          "type": "string",
          "info": "Return only alerts that match this filter. To specify an alerts filter, do the following.   Go to the Alerts table in the UI.  Enter and validate your filter in the searc...(description truncated): string",
          "required": false,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Maximum number of alerts to count.: 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        }
      ],
      "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": "/getAlertCount"
      },
      "task": true
    },
    {
      "name": "search",
      "summary": "search",
      "description": "Search for alerts matching the following criteria.",
      "input": [
        {
          "name": "eventTime",
          "type": "number",
          "info": "Event time for the alerts. Must be a UNIX timestamp. Not used if not present.: 123",
          "required": false,
          "schema": {
            "title": "eventTime",
            "type": "number"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "Namespace of the alerts to search: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/search"
      },
      "task": true
    },
    {
      "name": "alertSummaries",
      "summary": "alertSummaries",
      "description": "Provide `begin` time and `end` time parameter for summary information.",
      "input": [
        {
          "name": "begin",
          "type": "number",
          "info": "Start time for the summary. Must be a UNIX timestamp: 123",
          "required": false,
          "schema": {
            "title": "begin",
            "type": "number"
          }
        },
        {
          "name": "buckets",
          "type": "number",
          "info": "The number buckets requested. Must be > 0: 123",
          "required": false,
          "schema": {
            "title": "buckets",
            "type": "number"
          }
        },
        {
          "name": "end",
          "type": "number",
          "info": "End time for the summary. Must be a UNIX timestamp: 123",
          "required": false,
          "schema": {
            "title": "end",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAlertSummaryDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "AlertSummaryDto",
              "type": "object",
              "properties": {
                "buckets": {
                  "type": "integer",
                  "description": "Number of buckets",
                  "format": "int32"
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "title": "MetricSummary",
                    "type": "object",
                    "properties": {
                      "metric": {
                        "type": "string",
                        "description": "Name of metric"
                      },
                      "stats": {
                        "title": "MetricStats",
                        "type": "object",
                        "properties": {
                          "avg_prev_week": {
                            "type": "number"
                          }
                        },
                        "description": "Metric statistics"
                      },
                      "values": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object"
                          }
                        },
                        "description": "List of pair of Long values: bucket time (UNIX time seconds) and bucket count"
                      }
                    }
                  },
                  "description": ""
                },
                "time": {
                  "title": "TimeSummary",
                  "type": "object",
                  "properties": {
                    "begin": {
                      "type": "integer",
                      "description": "Begin time of summary (UNIX time seconds)",
                      "format": "int64"
                    },
                    "end": {
                      "type": "integer",
                      "description": "End time of summary (UNIX time seconds)",
                      "format": "int64"
                    },
                    "interval": {
                      "type": "integer",
                      "description": "Bucket window size (seconds)",
                      "format": "int32"
                    }
                  },
                  "description": "List of MetricSummary"
                }
              }
            }
          },
          "description": "Alerts API AlertSummaryDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alertSummaries"
      },
      "task": true
    },
    {
      "name": "getAutomationConfig",
      "summary": "getAutomationConfig",
      "description": "Get automation config for auto close of alerts and incidents.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAutomationConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "AutomationConfigDto",
              "required": [
                "closeAlertsInSeconds",
                "closeAlertsWhenAllIncidentsClosed",
                "closeIncidentsInSeconds",
                "closeResolvedAlertsInSeconds",
                "closeResolvedIncidentsInSeconds"
              ],
              "type": "object",
              "properties": {
                "closeAlertsInSeconds": {
                  "type": "integer",
                  "description": "Automatically close any alerts that are older than XX seconds",
                  "format": "int64"
                },
                "closeAlertsWhenAllIncidentsClosed": {
                  "type": "boolean",
                  "description": "When set to true, alerts will be automatically closed when all related incidents are closed. When set to false, alerts will be automatically closed when any related incident is closed."
                },
                "closeIncidentsInSeconds": {
                  "type": "integer",
                  "description": "Automatically close any incidents that are older than XX seconds",
                  "format": "int64"
                },
                "closeResolvedAlertsInSeconds": {
                  "type": "integer",
                  "description": "Automatically close resolved alerts that have not been updated for XX seconds",
                  "format": "int64"
                },
                "closeResolvedIncidentsInSeconds": {
                  "type": "integer",
                  "description": "Automatically close resolved incidents that have not been updated for XX seconds",
                  "format": "int64"
                }
              }
            }
          },
          "description": "Alerts API AutomationConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAutomationConfig"
      },
      "task": true
    },
    {
      "name": "patchAutomationConfig",
      "summary": "patchAutomationConfig",
      "description": "Update automation config for auto close of alerts and incidents.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"closeAlertsInSeconds\": 123, \"closeAlertsWhenAllIncidentsClosed\": \"boolean\", \"closeIncidentsInSeconds\": 123, \"closeResolvedAlertsInSeconds\": 123, \"closeResolvedIncidentsInSeconds\": 123}",
          "required": false,
          "schema": {
            "title": "AutomationConfigDto",
            "required": [
              "closeAlertsInSeconds",
              "closeAlertsWhenAllIncidentsClosed",
              "closeIncidentsInSeconds",
              "closeResolvedAlertsInSeconds",
              "closeResolvedIncidentsInSeconds"
            ],
            "type": "object",
            "properties": {
              "closeAlertsInSeconds": {
                "type": "integer",
                "description": "Automatically close any alerts that are older than XX seconds",
                "format": "int64"
              },
              "closeAlertsWhenAllIncidentsClosed": {
                "type": "boolean",
                "description": "When set to true, alerts will be automatically closed when all related incidents are closed. When set to false, alerts will be automatically closed when any related incident is closed."
              },
              "closeIncidentsInSeconds": {
                "type": "integer",
                "description": "Automatically close any incidents that are older than XX seconds",
                "format": "int64"
              },
              "closeResolvedAlertsInSeconds": {
                "type": "integer",
                "description": "Automatically close resolved alerts that have not been updated for XX seconds",
                "format": "int64"
              },
              "closeResolvedIncidentsInSeconds": {
                "type": "integer",
                "description": "Automatically close resolved incidents that have not been updated for XX seconds",
                "format": "int64"
              }
            }
          }
        }
      ],
      "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": "/patchAutomationConfig"
      },
      "task": true
    },
    {
      "name": "testWorkflow",
      "summary": "testWorkflow",
      "description": "Test a workflow synchronously.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"input\": \"object\", \"priority\": 123, \"steps\": [{\"actionName\": \"string\", \"configuration\": \"object\", \"description\": \"string\"}], \"trigger\": {\"entryFilter\": \"string\", \"type\": \"Must be one of [EVENT_CREATED]\"}, \"type\": \"Must be one of [EVENT]\"}",
          "required": false,
          "schema": {
            "title": "TestWorkflowDto",
            "required": [
              "input",
              "steps",
              "trigger",
              "type"
            ],
            "type": "object",
            "properties": {
              "input": {
                "type": "object"
              },
              "priority": {
                "type": "integer",
                "description": "The priority of the workflow",
                "format": "int32",
                "default": 1
              },
              "steps": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "title": "WorkflowActionDto",
                  "required": [
                    "actionName",
                    "configuration"
                  ],
                  "type": "object",
                  "properties": {
                    "actionName": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Computer name of the action"
                    },
                    "configuration": {
                      "type": "object"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the configured action"
                    }
                  },
                  "description": "A configured action."
                },
                "description": "A list of the configured actions of the workflow"
              },
              "trigger": {
                "title": "Trigger",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "entryFilter": {
                    "type": "string",
                    "description": "Entry filter for the workflow (can be empty)"
                  },
                  "type": {
                    "title": "WorkflowTriggerType",
                    "enum": [
                      "EVENT_CREATED"
                    ],
                    "type": "string"
                  }
                }
              },
              "type": {
                "title": "WorkflowType",
                "enum": [
                  "EVENT"
                ],
                "type": "string"
              }
            },
            "description": "A test workflow representing a workflow and test input."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowTestDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowTestDto",
              "type": "object",
              "properties": {
                "actionsTestList": {
                  "type": "array",
                  "items": {
                    "title": "ActionTestDto",
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "type": "string",
                        "description": "The computer name of the action"
                      },
                      "discarded": {
                        "type": "boolean",
                        "description": "Input was discarded by the workflow action"
                      },
                      "endMillis": {
                        "type": "integer",
                        "description": "End time in millis of the workflow action",
                        "format": "int64"
                      },
                      "exception": {
                        "type": "string",
                        "description": "Description of any exceptions that occurred"
                      },
                      "input": {
                        "type": "object"
                      },
                      "output": {
                        "type": "object"
                      },
                      "skipped": {
                        "type": "boolean",
                        "description": "Input was skipped by the workflow action"
                      },
                      "startMillis": {
                        "type": "integer",
                        "description": "Start time in millis of the workflow action",
                        "format": "int64"
                      }
                    },
                    "description": "Test results for an action."
                  },
                  "description": "List of test results for each action"
                },
                "discarded": {
                  "type": "boolean",
                  "description": "Input was discarded by one of the workflow actions"
                },
                "endMillis": {
                  "type": "integer",
                  "description": "End time in millis of the workflow test",
                  "format": "int64"
                },
                "exception": {
                  "type": "string",
                  "description": "Description of any exceptions that occurred"
                },
                "filterTest": {
                  "title": "FilterTest",
                  "type": "object",
                  "properties": {
                    "endMillis": {
                      "type": "integer",
                      "description": "End time in millis of the filter",
                      "format": "int64"
                    },
                    "exception": {
                      "type": "string",
                      "description": "Description of any exceptions that occurred"
                    },
                    "input": {
                      "type": "object"
                    },
                    "result": {
                      "type": "boolean",
                      "description": "Boolean result of running the filter"
                    },
                    "startMillis": {
                      "type": "integer",
                      "description": "Start time in millis of the filter",
                      "format": "int64"
                    }
                  }
                },
                "generalError": {
                  "type": "string",
                  "description": "Description of any error that occurred outside of the workflow"
                },
                "input": {
                  "type": "object"
                },
                "output": {
                  "type": "object"
                },
                "skipped": {
                  "type": "boolean",
                  "description": "Input was skipped by one of the workflow actions"
                },
                "startMillis": {
                  "type": "integer",
                  "description": "Start time in millis of the workflow test",
                  "format": "int64"
                },
                "status": {
                  "title": "WorkflowTestStatusDto",
                  "enum": [
                    "FAILED",
                    "RUNNING",
                    "SUCCESS"
                  ],
                  "type": "string"
                }
              },
              "description": "Test results for a workflow."
            }
          },
          "description": "Workflow Engine API WorkflowTestDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/testWorkflow"
      },
      "task": true
    },
    {
      "name": "getActions",
      "summary": "getActions",
      "description": "Returns all possible actions for use in workflows.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "ActionDto",
            "type": "object",
            "properties": {
              "description": {
                "type": "string",
                "description": "Description of the action"
              },
              "displayName": {
                "type": "string",
                "description": "Display name of the action"
              },
              "name": {
                "type": "string",
                "description": "Computer name of the action"
              },
              "schema": {
                "title": "Schema",
                "required": [
                  "fields"
                ],
                "type": "object",
                "properties": {
                  "fields": {
                    "type": "array",
                    "items": {
                      "title": "ActionConfigurationFieldSchemaDto",
                      "type": "object",
                      "properties": {
                        "description": {
                          "type": "string",
                          "description": "Description of the action field"
                        },
                        "displayName": {
                          "type": "string",
                          "description": "Display name of the action field"
                        },
                        "name": {
                          "type": "string",
                          "description": "Computer name of the action field"
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of the action field (Special pre-defined types)"
                        }
                      },
                      "description": "Schema for a field of an action."
                    },
                    "description": "A list of any required schema for each action (can be empty if no config required)"
                  }
                }
              },
              "workflowTypes": {
                "type": "array",
                "items": {
                  "title": "WorkflowType",
                  "enum": [
                    "EVENT"
                  ],
                  "type": "string"
                },
                "description": "Types of workflows the action can be used in"
              }
            },
            "description": "Definition of a workflow action."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getActions"
      },
      "task": true
    },
    {
      "name": "getDraftEndpointConfig",
      "summary": "getDraftEndpointConfig",
      "description": "Gets the unpublished config for an endpoint. This draft is not being applied to payloads sent to the endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "EndpointConfigDto",
              "required": [
                "mappings"
              ],
              "type": "object",
              "properties": {
                "batchKey": {
                  "type": "string",
                  "description": "Optional batch key"
                },
                "mappings": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  },
                  "description": ""
                }
              },
              "description": "Create your own endpoint configuration."
            }
          },
          "description": "Create Your Own Integration API EndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDraftEndpointConfig"
      },
      "task": true
    },
    {
      "name": "updateDraftEndpointConfig",
      "summary": "updateDraftEndpointConfig",
      "description": "Updates the draft config for an endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The updated config: {\"batchKey\": \"string\", \"mappings\": \"array\"}",
          "required": true,
          "schema": {
            "title": "EndpointConfigDto",
            "required": [
              "mappings"
            ],
            "type": "object",
            "properties": {
              "batchKey": {
                "type": "string",
                "description": "Optional batch key"
              },
              "mappings": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": ""
              }
            },
            "description": "Create your own endpoint configuration."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "EndpointConfigDto",
              "required": [
                "mappings"
              ],
              "type": "object",
              "properties": {
                "batchKey": {
                  "type": "string",
                  "description": "Optional batch key"
                },
                "mappings": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  },
                  "description": ""
                }
              },
              "description": "Create your own endpoint configuration."
            }
          },
          "description": "Create Your Own Integration API EndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateDraftEndpointConfig"
      },
      "task": true
    },
    {
      "name": "getLiveEndpointConfig",
      "summary": "getLiveEndpointConfig",
      "description": "Gets the live or published config that an endpoint is currently applying to incoming requests",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "EndpointConfigDto",
              "required": [
                "mappings"
              ],
              "type": "object",
              "properties": {
                "batchKey": {
                  "type": "string",
                  "description": "Optional batch key"
                },
                "mappings": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  },
                  "description": ""
                }
              },
              "description": "Create your own endpoint configuration."
            }
          },
          "description": "Create Your Own Integration API EndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getLiveEndpointConfig"
      },
      "task": true
    },
    {
      "name": "updateLiveEndpointConfig",
      "summary": "updateLiveEndpointConfig",
      "description": "Updates the live config for an endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The updated config: {\"batchKey\": \"string\", \"mappings\": \"array\"}",
          "required": true,
          "schema": {
            "title": "EndpointConfigDto",
            "required": [
              "mappings"
            ],
            "type": "object",
            "properties": {
              "batchKey": {
                "type": "string",
                "description": "Optional batch key"
              },
              "mappings": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": ""
              }
            },
            "description": "Create your own endpoint configuration."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "EndpointConfigDto",
              "required": [
                "mappings"
              ],
              "type": "object",
              "properties": {
                "batchKey": {
                  "type": "string",
                  "description": "Optional batch key"
                },
                "mappings": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  },
                  "description": ""
                }
              },
              "description": "Create your own endpoint configuration."
            }
          },
          "description": "Create Your Own Integration API EndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateLiveEndpointConfig"
      },
      "task": true
    },
    {
      "name": "testEndpointConfig",
      "summary": "testEndpointConfig",
      "description": "Tests the provided config for an endpoint against a provided series of json payloads",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The test config and test payloads: {\"testConfig\": {\"batchKey\": \"string\", \"mappings\": \"array\"}, \"testPayloads\": \"array\"}",
          "required": true,
          "schema": {
            "title": "TestConfigAndPayloads1",
            "required": [
              "testConfig",
              "testPayloads"
            ],
            "type": "object",
            "properties": {
              "testConfig": {
                "title": "TestConfig1",
                "required": [
                  "mappings"
                ],
                "type": "object",
                "properties": {
                  "batchKey": {
                    "type": "string",
                    "description": "Optional batch key"
                  },
                  "mappings": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": ""
                  }
                }
              },
              "testPayloads": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": ""
              }
            },
            "description": "The test config and json payloads required to run a test"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseTestResult",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "TestResult",
              "type": "object",
              "properties": {
                "dedupeKeyStatus": {
                  "type": "object",
                  "additionalProperties": {
                    "title": "DedupeKeyStatus",
                    "enum": [
                      "FAILURE",
                      "PARTIAL",
                      "SUCCESS"
                    ],
                    "type": "string"
                  }
                },
                "mappingResults": {
                  "type": "array",
                  "items": {
                    "title": "TestMappingResultDto",
                    "type": "object",
                    "properties": {
                      "dedupeKeyErrors": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "errorMessage": {
                        "type": "string"
                      },
                      "event": {
                        "title": "EventDto",
                        "required": [
                          "check",
                          "description",
                          "severity",
                          "source"
                        ],
                        "type": "object",
                        "properties": {
                          "alias": {
                            "type": "string"
                          },
                          "check": {
                            "type": "string"
                          },
                          "class": {
                            "type": "string"
                          },
                          "dedupe_key": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "location": {
                            "type": "object",
                            "description": ""
                          },
                          "maintenance": {
                            "type": "string"
                          },
                          "manager": {
                            "type": "string"
                          },
                          "manager_id": {
                            "type": "string"
                          },
                          "namespace": {
                            "type": "string"
                          },
                          "services": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          },
                          "severity": {
                            "type": "object",
                            "description": ""
                          },
                          "source": {
                            "type": "string"
                          },
                          "tags": {
                            "type": "object"
                          },
                          "time": {
                            "type": "string",
                            "format": "date"
                          },
                          "utc_offset": {
                            "type": "string"
                          }
                        }
                      },
                      "metric": {
                        "type": "object"
                      },
                      "payloadProcessingResult": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                }
              },
              "description": "The results of testing an endpoint config"
            }
          },
          "description": "Create Your Own Integration API TestResult response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/testEndpointConfig"
      },
      "task": true
    },
    {
      "name": "getAllEndpoints",
      "summary": "getAllEndpoints",
      "description": "Gets all configured custom endpoints",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "Endpoint",
            "required": [
              "authRequired",
              "endpointName"
            ],
            "type": "object",
            "properties": {
              "authRequired": {
                "type": "boolean"
              },
              "description": {
                "type": "string"
              },
              "endpointName": {
                "type": "string"
              },
              "draftConfigV2": {
                "title": "EndpointConfigDto",
                "required": [
                  "mappings"
                ],
                "type": "object",
                "properties": {
                  "batchKey": {
                    "type": "string",
                    "description": "Optional batch key"
                  },
                  "mappings": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": ""
                  }
                },
                "description": "Create your own endpoint configuration."
              },
              "endpointUrl": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "liveConfigV2": {
                "title": "EndpointConfigDto",
                "required": [
                  "mappings"
                ],
                "type": "object",
                "properties": {
                  "batchKey": {
                    "type": "string",
                    "description": "Optional batch key"
                  },
                  "mappings": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "description": ""
                  }
                },
                "description": "Create your own endpoint configuration."
              },
              "status": {
                "title": "EndpointStatus",
                "enum": [
                  "ACTIVE",
                  "ERROR",
                  "INACTIVE",
                  "PROVISIONED"
                ],
                "type": "string"
              },
              "type": {
                "title": "Type",
                "enum": [
                  "EVENT",
                  "METRIC"
                ],
                "type": "string"
              }
            },
            "description": "A configured endpoint"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllEndpoints"
      },
      "task": true
    },
    {
      "name": "createCustomEndpoint",
      "summary": "createCustomEndpoint",
      "description": "Create a new custom endpoint",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The config for the new endpoint: {\"description\": \"string\", \"endpointName\": \"string\", \"type\": \"Must be one of [EVENT, METRIC]\"}",
          "required": true,
          "schema": {
            "title": "CreateEndpoint",
            "required": [
              "endpointName",
              "type"
            ],
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "endpointName": {
                "type": "string"
              },
              "type": {
                "title": "Type",
                "enum": [
                  "EVENT",
                  "METRIC"
                ],
                "type": "string"
              }
            },
            "description": "Information required to create an endpoint"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpoint",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "Endpoint",
              "required": [
                "authRequired",
                "endpointName"
              ],
              "type": "object",
              "properties": {
                "authRequired": {
                  "type": "boolean"
                },
                "description": {
                  "type": "string"
                },
                "endpointName": {
                  "type": "string"
                },
                "draftConfigV2": {
                  "title": "EndpointConfigDto",
                  "required": [
                    "mappings"
                  ],
                  "type": "object",
                  "properties": {
                    "batchKey": {
                      "type": "string",
                      "description": "Optional batch key"
                    },
                    "mappings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": ""
                    }
                  },
                  "description": "Create your own endpoint configuration."
                },
                "endpointUrl": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "liveConfigV2": {
                  "title": "EndpointConfigDto",
                  "required": [
                    "mappings"
                  ],
                  "type": "object",
                  "properties": {
                    "batchKey": {
                      "type": "string",
                      "description": "Optional batch key"
                    },
                    "mappings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": ""
                    }
                  },
                  "description": "Create your own endpoint configuration."
                },
                "status": {
                  "title": "EndpointStatus",
                  "enum": [
                    "ACTIVE",
                    "ERROR",
                    "INACTIVE",
                    "PROVISIONED"
                  ],
                  "type": "string"
                },
                "type": {
                  "title": "Type",
                  "enum": [
                    "EVENT",
                    "METRIC"
                  ],
                  "type": "string"
                }
              },
              "description": "A configured endpoint"
            }
          },
          "description": "Create Your Own Integration API Endpoint response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createCustomEndpoint"
      },
      "task": true
    },
    {
      "name": "getCustomEndpoint",
      "summary": "getCustomEndpoint",
      "description": "Gets a custom endpoint by id",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpoint",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "Endpoint",
              "required": [
                "authRequired",
                "endpointName"
              ],
              "type": "object",
              "properties": {
                "authRequired": {
                  "type": "boolean"
                },
                "description": {
                  "type": "string"
                },
                "endpointName": {
                  "type": "string"
                },
                "draftConfigV2": {
                  "title": "EndpointConfigDto",
                  "required": [
                    "mappings"
                  ],
                  "type": "object",
                  "properties": {
                    "batchKey": {
                      "type": "string",
                      "description": "Optional batch key"
                    },
                    "mappings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": ""
                    }
                  },
                  "description": "Create your own endpoint configuration."
                },
                "endpointUrl": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "liveConfigV2": {
                  "title": "EndpointConfigDto",
                  "required": [
                    "mappings"
                  ],
                  "type": "object",
                  "properties": {
                    "batchKey": {
                      "type": "string",
                      "description": "Optional batch key"
                    },
                    "mappings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": ""
                    }
                  },
                  "description": "Create your own endpoint configuration."
                },
                "status": {
                  "title": "EndpointStatus",
                  "enum": [
                    "ACTIVE",
                    "ERROR",
                    "INACTIVE",
                    "PROVISIONED"
                  ],
                  "type": "string"
                },
                "type": {
                  "title": "Type",
                  "enum": [
                    "EVENT",
                    "METRIC"
                  ],
                  "type": "string"
                }
              },
              "description": "A configured endpoint"
            }
          },
          "description": "Create Your Own Integration API Endpoint response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getCustomEndpoint"
      },
      "task": true
    },
    {
      "name": "updateCustomEndpoint",
      "summary": "updateCustomEndpoint",
      "description": "Updates a configured custom endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "the endpoint config to update: {\"authRequired\": \"boolean\", \"description\": \"string\", \"endpointName\": \"string\"}",
          "required": true,
          "schema": {
            "title": "BaseEndpointDto",
            "required": [
              "authRequired",
              "endpointName"
            ],
            "type": "object",
            "properties": {
              "authRequired": {
                "type": "boolean"
              },
              "description": {
                "type": "string"
              },
              "endpointName": {
                "type": "string"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpoint",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "Endpoint",
              "required": [
                "authRequired",
                "endpointName"
              ],
              "type": "object",
              "properties": {
                "authRequired": {
                  "type": "boolean"
                },
                "description": {
                  "type": "string"
                },
                "endpointName": {
                  "type": "string"
                },
                "draftConfigV2": {
                  "title": "EndpointConfigDto",
                  "required": [
                    "mappings"
                  ],
                  "type": "object",
                  "properties": {
                    "batchKey": {
                      "type": "string",
                      "description": "Optional batch key"
                    },
                    "mappings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": ""
                    }
                  },
                  "description": "Create your own endpoint configuration."
                },
                "endpointUrl": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "liveConfigV2": {
                  "title": "EndpointConfigDto",
                  "required": [
                    "mappings"
                  ],
                  "type": "object",
                  "properties": {
                    "batchKey": {
                      "type": "string",
                      "description": "Optional batch key"
                    },
                    "mappings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": ""
                    }
                  },
                  "description": "Create your own endpoint configuration."
                },
                "status": {
                  "title": "EndpointStatus",
                  "enum": [
                    "ACTIVE",
                    "ERROR",
                    "INACTIVE",
                    "PROVISIONED"
                  ],
                  "type": "string"
                },
                "type": {
                  "title": "Type",
                  "enum": [
                    "EVENT",
                    "METRIC"
                  ],
                  "type": "string"
                }
              },
              "description": "A configured endpoint"
            }
          },
          "description": "Create Your Own Integration API Endpoint response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateCustomEndpoint"
      },
      "task": true
    },
    {
      "name": "deleteCustomEndpoint",
      "summary": "deleteCustomEndpoint",
      "description": "Deletes a custom endpoint by id",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "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": "/deleteCustomEndpoint"
      },
      "task": true
    },
    {
      "name": "postJsonPayload",
      "summary": "postJsonPayload",
      "description": "Post a payload to a user defined endpoint",
      "input": [
        {
          "name": "endpointName",
          "type": "string",
          "info": "The name of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointName",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The unique id generated for your Moogsoft Observability Cloud instance: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "User json: object",
          "required": true,
          "schema": {
            "type": "object",
            "description": "User json"
          }
        }
      ],
      "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": "/postJsonPayload"
      },
      "task": true
    },
    {
      "name": "getRecentPayload",
      "summary": "getRecentPayload",
      "description": "Gets a recent payload sent to an endpoint by id",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "the unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "id",
          "type": "string",
          "info": "the unique id of the recent payload: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseRecentPayload",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "RecentPayload",
              "type": "object",
              "properties": {
                "errorMessage": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "payload": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  },
                  "description": ""
                },
                "payloadProcessingResult": {
                  "type": "string"
                },
                "_raw": {
                  "type": "string"
                },
                "sourceIp": {
                  "type": "string"
                },
                "timestamp": {
                  "type": "integer",
                  "format": "int64"
                },
                "traceId": {
                  "type": "string"
                }
              },
              "description": "Recent payloads recieved by an endpoint"
            }
          },
          "description": "Create Your Own Integration API RecentPayload response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRecentPayload"
      },
      "task": true
    },
    {
      "name": "getTrafficSummary",
      "summary": "getTrafficSummary",
      "description": "Returns statistics about traffic to a given endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "the unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEndpointMetrics",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "EndpointMetrics",
              "type": "object",
              "properties": {
                "averagePayloadProcessingTimeMs": {
                  "type": "number"
                },
                "endpointName": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "lastUpdateTime": {
                  "type": "integer",
                  "format": "int64"
                },
                "maxPayloadProcessingTimeMs": {
                  "type": "integer",
                  "format": "int64"
                },
                "minPayloadProcessingTimeMs": {
                  "type": "integer",
                  "format": "int64"
                },
                "numPayloadsBadJSON": {
                  "type": "integer",
                  "format": "int64"
                },
                "numPayloadsFailed": {
                  "type": "integer",
                  "format": "int64"
                },
                "numPayloadsHandled": {
                  "type": "integer",
                  "format": "int64"
                },
                "numPayloadsMappingFailed": {
                  "type": "integer",
                  "format": "int64"
                },
                "numPayloadsNoEndpoint": {
                  "type": "integer",
                  "format": "int64"
                },
                "numPayloadsNoLiveConfig": {
                  "type": "integer",
                  "format": "int64"
                },
                "numPayloadsSuccess": {
                  "type": "integer",
                  "format": "int64"
                },
                "podname": {
                  "type": "string"
                },
                "ratePayloadsHandledPerSecond": {
                  "type": "number"
                }
              },
              "description": "Contains statistics about endpoint traffic, including processing time and error rates."
            }
          },
          "description": "Create Your Own Integration API EndpointMetrics response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTrafficSummary"
      },
      "task": true
    },
    {
      "name": "getAllRecentPayloads",
      "summary": "getAllRecentPayloads",
      "description": "Gets all recent payloads sent to an endpoint. Only the last 20 payloads recieved are stored",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "the unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "maxResults",
          "type": "number",
          "info": "the max number of recent payloads to return: 123",
          "required": true,
          "schema": {
            "title": "maxResults",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "RecentPayload",
            "type": "object",
            "properties": {
              "errorMessage": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "payload": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": ""
              },
              "payloadProcessingResult": {
                "type": "string"
              },
              "_raw": {
                "type": "string"
              },
              "sourceIp": {
                "type": "string"
              },
              "timestamp": {
                "type": "integer",
                "format": "int64"
              },
              "traceId": {
                "type": "string"
              }
            },
            "description": "Recent payloads recieved by an endpoint"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAllRecentPayloads"
      },
      "task": true
    },
    {
      "name": "posttestEndpointConfig",
      "summary": "testEndpointConfig",
      "description": "Tests the provided config for an endpoint against a provided series of json payloads",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The test config and test payloads: {\"testConfig\": {\"batchKey\": \"string\", \"type\": \"Must be one of [EVENT, METRIC]\", \"fieldMapping\": {\"check\": {\"default\": \"string\", \"paths\": \"array\"}, \"description\": {\"default\": \"string\", \"paths\": \"array\"}, \"location\": \"object\", \"severity\": {\"default\": \"string\", \"paths\": \"array\"}, \"source\": {\"default\": \"string\", \"paths\": \"array\"}, \"tags\": {\"labels\": \"object\", \"tags\": \"object\"}, \"data\": {\"default\": \"string\", \"paths\": \"array\"}, \"metricName\": {\"default\": \"string\", \"paths\": \"array\"}}, \"valueMapping\": {\"dedupe_key\": \"array\", \"severity\": \"object\"}}, \"testPayloads\": \"array\"}",
          "required": true,
          "schema": {
            "title": "TestConfigAndPayloads",
            "required": [
              "testConfig",
              "testPayloads"
            ],
            "type": "object",
            "properties": {
              "testConfig": {
                "title": "TestConfig",
                "required": [
                  "type",
                  "fieldMapping"
                ],
                "type": "object",
                "properties": {
                  "batchKey": {
                    "type": "string"
                  },
                  "type": {
                    "title": "Type",
                    "enum": [
                      "EVENT",
                      "METRIC"
                    ],
                    "type": "string"
                  },
                  "fieldMapping": {
                    "title": "FieldMapping2",
                    "type": "object",
                    "properties": {
                      "check": {
                        "title": "FieldMappingDto",
                        "type": "object",
                        "properties": {
                          "default": {
                            "type": "string"
                          },
                          "paths": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          }
                        }
                      },
                      "description": {
                        "title": "FieldMappingDto",
                        "type": "object",
                        "properties": {
                          "default": {
                            "type": "string"
                          },
                          "paths": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          }
                        }
                      },
                      "location": {
                        "type": "object",
                        "additionalProperties": {
                          "title": "FieldMappingDto",
                          "type": "object",
                          "properties": {
                            "default": {
                              "type": "string"
                            },
                            "paths": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": ""
                            }
                          }
                        }
                      },
                      "severity": {
                        "title": "FieldMappingDto",
                        "type": "object",
                        "properties": {
                          "default": {
                            "type": "string"
                          },
                          "paths": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          }
                        }
                      },
                      "source": {
                        "title": "FieldMappingDto",
                        "type": "object",
                        "properties": {
                          "default": {
                            "type": "string"
                          },
                          "paths": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          }
                        }
                      },
                      "tags": {
                        "title": "TagsMappingDto",
                        "type": "object",
                        "properties": {
                          "labels": {
                            "type": "object",
                            "description": ""
                          },
                          "tags": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "description": ""
                            }
                          }
                        }
                      },
                      "data": {
                        "title": "FieldMappingDto",
                        "type": "object",
                        "properties": {
                          "default": {
                            "type": "string"
                          },
                          "paths": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          }
                        }
                      },
                      "metricName": {
                        "title": "FieldMappingDto",
                        "type": "object",
                        "properties": {
                          "default": {
                            "type": "string"
                          },
                          "paths": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          }
                        }
                      }
                    }
                  },
                  "valueMapping": {
                    "title": "EventValueMappingDto",
                    "type": "object",
                    "properties": {
                      "dedupe_key": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": ""
                      },
                      "severity": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              },
              "testPayloads": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "description": ""
              }
            },
            "description": "The test config and json payloads required to run a test"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseTestResult",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "TestResult",
              "type": "object",
              "properties": {
                "dedupeKeyStatus": {
                  "type": "object",
                  "additionalProperties": {
                    "title": "DedupeKeyStatus",
                    "enum": [
                      "FAILURE",
                      "PARTIAL",
                      "SUCCESS"
                    ],
                    "type": "string"
                  }
                },
                "mappingResults": {
                  "type": "array",
                  "items": {
                    "title": "TestMappingResultDto",
                    "type": "object",
                    "properties": {
                      "dedupeKeyErrors": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "errorMessage": {
                        "type": "string"
                      },
                      "event": {
                        "title": "EventDto",
                        "required": [
                          "check",
                          "description",
                          "severity",
                          "source"
                        ],
                        "type": "object",
                        "properties": {
                          "alias": {
                            "type": "string"
                          },
                          "check": {
                            "type": "string"
                          },
                          "class": {
                            "type": "string"
                          },
                          "dedupe_key": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "location": {
                            "type": "object",
                            "description": ""
                          },
                          "maintenance": {
                            "type": "string"
                          },
                          "manager": {
                            "type": "string"
                          },
                          "manager_id": {
                            "type": "string"
                          },
                          "namespace": {
                            "type": "string"
                          },
                          "services": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": ""
                          },
                          "severity": {
                            "type": "object",
                            "description": ""
                          },
                          "source": {
                            "type": "string"
                          },
                          "tags": {
                            "type": "object"
                          },
                          "time": {
                            "type": "string",
                            "format": "date"
                          },
                          "utc_offset": {
                            "type": "string"
                          }
                        }
                      },
                      "metric": {
                        "type": "object"
                      },
                      "payloadProcessingResult": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                }
              },
              "description": "The results of testing an endpoint config"
            }
          },
          "description": "Create Your Own Integration API TestResult response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/posttestEndpointConfig"
      },
      "task": true
    },
    {
      "name": "getgetLiveEndpointConfig",
      "summary": "getLiveEndpointConfig",
      "description": "Gets the live or published config that an endpoint is currently applying to incoming requests",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseBaseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "oneOf": [
                {
                  "type": "object"
                },
                {
                  "type": "object"
                }
              ],
              "type": "object"
            }
          },
          "description": "Create Your Own Integration API BaseEndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getgetLiveEndpointConfig"
      },
      "task": true
    },
    {
      "name": "putupdateLiveEndpointConfig",
      "summary": "updateLiveEndpointConfig",
      "description": "Updates the live config for an endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The updated config: object",
          "required": true,
          "schema": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "object"
              }
            ],
            "description": "The updated config"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseBaseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "oneOf": [
                {
                  "type": "object"
                },
                {
                  "type": "object"
                }
              ],
              "type": "object"
            }
          },
          "description": "Create Your Own Integration API BaseEndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putupdateLiveEndpointConfig"
      },
      "task": true
    },
    {
      "name": "getgetDraftEndpointConfig",
      "summary": "getDraftEndpointConfig",
      "description": "Gets the unpublished config for an endpoint. This draft is not being applied to payloads sent to the endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseBaseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "oneOf": [
                {
                  "type": "object"
                },
                {
                  "type": "object"
                }
              ],
              "type": "object"
            }
          },
          "description": "Create Your Own Integration API BaseEndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getgetDraftEndpointConfig"
      },
      "task": true
    },
    {
      "name": "putupdateDraftEndpointConfig",
      "summary": "updateDraftEndpointConfig",
      "description": "Updates the draft config for an endpoint",
      "input": [
        {
          "name": "endpointId",
          "type": "string",
          "info": "The unique id of the endpoint: string",
          "required": true,
          "schema": {
            "title": "endpointId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The updated config: object",
          "required": true,
          "schema": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "object"
              }
            ],
            "description": "The updated config"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseBaseEndpointConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "oneOf": [
                {
                  "type": "object"
                },
                {
                  "type": "object"
                }
              ],
              "type": "object"
            }
          },
          "description": "Create Your Own Integration API BaseEndpointConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putupdateDraftEndpointConfig"
      },
      "task": true
    },
    {
      "name": "uploadNewCatalog",
      "summary": "uploadNewCatalog",
      "description": "Creates a new catalog with schema and documents based on the given CSV file. For an example of the expected format, search for \"enrichment CSV\" in the Moogsoft documentation.",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "description",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "description",
            "type": "string"
          }
        },
        {
          "name": "file",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "file",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseCatalog",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "Catalog",
              "required": [
                "description",
                "name"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string"
                },
                "name": {
                  "minLength": 1,
                  "type": "string"
                },
                "schema": {
                  "title": "CatalogSchema",
                  "required": [
                    "fields"
                  ],
                  "type": "object",
                  "properties": {
                    "fields": {
                      "type": "array",
                      "items": {
                        "title": "CatalogFieldSchema",
                        "required": [
                          "name",
                          "required",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "name": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "type": {
                            "title": "CatalogFieldSchemaType",
                            "enum": [
                              "BOOLEAN",
                              "JSON_ARRAY",
                              "JSON_OBJECT",
                              "NUMBER",
                              "STRING"
                            ],
                            "type": "string"
                          }
                        }
                      },
                      "description": ""
                    }
                  }
                },
                "createdBy": {
                  "type": "string"
                },
                "entries": {
                  "type": "integer",
                  "format": "int64"
                },
                "lastUpdated": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "description": "Catalog Service API Catalog response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/uploadNewCatalog"
      },
      "task": true
    },
    {
      "name": "deleteCatalogDocument",
      "summary": "deleteCatalogDocument",
      "description": "Deletes the catalog and content documents.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "type": "string"
          }
        },
        {
          "name": "documentId",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "documentId",
            "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": "/deleteCatalogDocument"
      },
      "task": true
    },
    {
      "name": "modifyCatalogDocument",
      "summary": "modifyCatalogDocument",
      "description": "Modifies a document in the catalog.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "type": "string"
          }
        },
        {
          "name": "documentId",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "documentId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "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": "/modifyCatalogDocument"
      },
      "task": true
    },
    {
      "name": "getCatalogs",
      "summary": "getCatalogs",
      "description": "Returns all catalogs.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "Catalog",
            "required": [
              "description",
              "name"
            ],
            "type": "object",
            "properties": {
              "description": {
                "minLength": 1,
                "type": "string"
              },
              "name": {
                "minLength": 1,
                "type": "string"
              },
              "schema": {
                "title": "CatalogSchema",
                "required": [
                  "fields"
                ],
                "type": "object",
                "properties": {
                  "fields": {
                    "type": "array",
                    "items": {
                      "title": "CatalogFieldSchema",
                      "required": [
                        "name",
                        "required",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "name": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "type": {
                          "title": "CatalogFieldSchemaType",
                          "enum": [
                            "BOOLEAN",
                            "JSON_ARRAY",
                            "JSON_OBJECT",
                            "NUMBER",
                            "STRING"
                          ],
                          "type": "string"
                        }
                      }
                    },
                    "description": ""
                  }
                }
              },
              "createdBy": {
                "type": "string"
              },
              "entries": {
                "type": "integer",
                "format": "int64"
              },
              "lastUpdated": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getCatalogs"
      },
      "task": true
    },
    {
      "name": "createNewEmptyCatalog",
      "summary": "createNewEmptyCatalog",
      "description": "Creates a new, empty catalog.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"description\": \"string\", \"name\": \"string\", \"schema\": {\"fields\": [{\"name\": \"string\", \"required\": \"boolean\", \"type\": \"Must be one of [BOOLEAN, JSON_ARRAY, JSON_OBJECT, NUMBER, STRING]\"}]}}",
          "required": false,
          "schema": {
            "title": "BaseCatalog",
            "required": [
              "description",
              "name"
            ],
            "type": "object",
            "properties": {
              "description": {
                "minLength": 1,
                "type": "string"
              },
              "name": {
                "minLength": 1,
                "type": "string"
              },
              "schema": {
                "title": "CatalogSchema",
                "required": [
                  "fields"
                ],
                "type": "object",
                "properties": {
                  "fields": {
                    "type": "array",
                    "items": {
                      "title": "CatalogFieldSchema",
                      "required": [
                        "name",
                        "required",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "name": {
                          "minLength": 1,
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "type": {
                          "title": "CatalogFieldSchemaType",
                          "enum": [
                            "BOOLEAN",
                            "JSON_ARRAY",
                            "JSON_OBJECT",
                            "NUMBER",
                            "STRING"
                          ],
                          "type": "string"
                        }
                      }
                    },
                    "description": ""
                  }
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseCatalog",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "Catalog",
              "required": [
                "description",
                "name"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string"
                },
                "name": {
                  "minLength": 1,
                  "type": "string"
                },
                "schema": {
                  "title": "CatalogSchema",
                  "required": [
                    "fields"
                  ],
                  "type": "object",
                  "properties": {
                    "fields": {
                      "type": "array",
                      "items": {
                        "title": "CatalogFieldSchema",
                        "required": [
                          "name",
                          "required",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "name": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "type": {
                            "title": "CatalogFieldSchemaType",
                            "enum": [
                              "BOOLEAN",
                              "JSON_ARRAY",
                              "JSON_OBJECT",
                              "NUMBER",
                              "STRING"
                            ],
                            "type": "string"
                          }
                        }
                      },
                      "description": ""
                    }
                  }
                },
                "createdBy": {
                  "type": "string"
                },
                "entries": {
                  "type": "integer",
                  "format": "int64"
                },
                "lastUpdated": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "description": "Catalog Service API Catalog response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createNewEmptyCatalog"
      },
      "task": true
    },
    {
      "name": "addCatalogDocuments",
      "summary": "addCatalogDocuments",
      "description": "Adds a batch of new documents to the catalog. The documents should conform to the catalog schema.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "type": "object"
            },
            "description": ""
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addCatalogDocuments"
      },
      "task": true
    },
    {
      "name": "getCatalog",
      "summary": "getCatalog",
      "description": "Returns the catalog with the given name.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseCatalog",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "Catalog",
              "required": [
                "description",
                "name"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string"
                },
                "name": {
                  "minLength": 1,
                  "type": "string"
                },
                "schema": {
                  "title": "CatalogSchema",
                  "required": [
                    "fields"
                  ],
                  "type": "object",
                  "properties": {
                    "fields": {
                      "type": "array",
                      "items": {
                        "title": "CatalogFieldSchema",
                        "required": [
                          "name",
                          "required",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "name": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "required": {
                            "type": "boolean"
                          },
                          "type": {
                            "title": "CatalogFieldSchemaType",
                            "enum": [
                              "BOOLEAN",
                              "JSON_ARRAY",
                              "JSON_OBJECT",
                              "NUMBER",
                              "STRING"
                            ],
                            "type": "string"
                          }
                        }
                      },
                      "description": ""
                    }
                  }
                },
                "createdBy": {
                  "type": "string"
                },
                "entries": {
                  "type": "integer",
                  "format": "int64"
                },
                "lastUpdated": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "description": "Catalog Service API Catalog response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getCatalog"
      },
      "task": true
    },
    {
      "name": "deleteCatalog",
      "summary": "deleteCatalog",
      "description": "Deletes the catalog and content documents.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "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": "/deleteCatalog"
      },
      "task": true
    },
    {
      "name": "queryCatalogDocuments",
      "summary": "queryCatalogDocuments",
      "description": "Returns the matching documents in the catalog.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": ": 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "offset",
          "type": "number",
          "info": ": 123",
          "required": false,
          "schema": {
            "title": "offset",
            "type": "number"
          }
        },
        {
          "name": "query",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "query",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/queryCatalogDocuments"
      },
      "task": true
    },
    {
      "name": "addCatalogDocument",
      "summary": "addCatalogDocument",
      "description": "Adds a new document (row) to the catalog. The document should conform to the catalog schema.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "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": "/addCatalogDocument"
      },
      "task": true
    },
    {
      "name": "searchCatalogDocuments",
      "summary": "searchCatalogDocuments",
      "description": "Returns the matching documents in the catalog. This is a POST rather than a GET due to the JSON body.",
      "input": [
        {
          "name": "catalogName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "catalogName",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": ": 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "offset",
          "type": "number",
          "info": ": 123",
          "required": false,
          "schema": {
            "title": "offset",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "object"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchCatalogDocuments"
      },
      "task": true
    },
    {
      "name": "getIntegrationByName",
      "summary": "getIntegrationByName",
      "description": "Gets AppInsights integration config by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the integration: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAppInsightsIntegration",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "AppInsightsIntegration",
              "type": "object",
              "properties": {
                "createdBy": {
                  "type": "string"
                },
                "credentialName": {
                  "type": "string"
                },
                "metricCount": {
                  "type": "integer",
                  "format": "int32"
                },
                "name": {
                  "type": "string"
                },
                "status": {
                  "title": "Status",
                  "enum": [
                    "NONE",
                    "STARTING",
                    "RUNNING",
                    "LIMITED",
                    "DISCONNECTED",
                    "STOPPED"
                  ],
                  "type": "string"
                }
              }
            }
          },
          "description": "API AppInsightsIntegration response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getIntegrationByName"
      },
      "task": true
    },
    {
      "name": "deleteIntegrationByName",
      "summary": "deleteIntegrationByName",
      "description": "Deletes an AppInsights integration config and stops polling for data",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the integration: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/deleteIntegrationByName"
      },
      "task": true
    },
    {
      "name": "editIntegration",
      "summary": "editIntegration",
      "description": "Update an AppInsights integration by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the integration: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Config updates for the integration: {\"createdBy\": \"string\", \"credentialName\": \"string\", \"metricCount\": 123, \"name\": \"string\", \"status\": \"Must be one of [NONE, STARTING, RUNNING, LIMITED, DISCONNECTED, STOPPED]\"}",
          "required": true,
          "schema": {
            "title": "AppInsightsIntegration",
            "type": "object",
            "properties": {
              "createdBy": {
                "type": "string"
              },
              "credentialName": {
                "type": "string"
              },
              "metricCount": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "status": {
                "title": "Status",
                "enum": [
                  "NONE",
                  "STARTING",
                  "RUNNING",
                  "LIMITED",
                  "DISCONNECTED",
                  "STOPPED"
                ],
                "type": "string"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAppInsightsIntegration",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "AppInsightsIntegration",
              "type": "object",
              "properties": {
                "createdBy": {
                  "type": "string"
                },
                "credentialName": {
                  "type": "string"
                },
                "metricCount": {
                  "type": "integer",
                  "format": "int32"
                },
                "name": {
                  "type": "string"
                },
                "status": {
                  "title": "Status",
                  "enum": [
                    "NONE",
                    "STARTING",
                    "RUNNING",
                    "LIMITED",
                    "DISCONNECTED",
                    "STOPPED"
                  ],
                  "type": "string"
                }
              }
            }
          },
          "description": "API AppInsightsIntegration response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/editIntegration"
      },
      "task": true
    },
    {
      "name": "testIntegrationCredentials",
      "summary": "testIntegrationCredentials",
      "description": "Tests credentials (identified by name) against the AppInsights API",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The named credential set to validate: {\"credentialName\": \"string\"}",
          "required": true,
          "schema": {
            "title": "AppInsightsValidator",
            "required": [
              "credentialName"
            ],
            "type": "object",
            "properties": {
              "credentialName": {
                "type": "string"
              }
            },
            "description": "Contains the name of the credentials to validate"
          }
        }
      ],
      "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": "/testIntegrationCredentials"
      },
      "task": true
    },
    {
      "name": "listIntegrations",
      "summary": "listIntegrations",
      "description": "Retrieves all currently configured AppInsights integrations",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "AppInsightsIntegration",
            "type": "object",
            "properties": {
              "createdBy": {
                "type": "string"
              },
              "credentialName": {
                "type": "string"
              },
              "metricCount": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "status": {
                "title": "Status",
                "enum": [
                  "NONE",
                  "STARTING",
                  "RUNNING",
                  "LIMITED",
                  "DISCONNECTED",
                  "STOPPED"
                ],
                "type": "string"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listIntegrations"
      },
      "task": true
    },
    {
      "name": "createNewIntegration",
      "summary": "createNewIntegration",
      "description": "Creates an AppInsights integration",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "details of the AppInsights integration: {\"createdBy\": \"string\", \"credentialName\": \"string\", \"metricCount\": 123, \"name\": \"string\", \"status\": \"Must be one of [NONE, STARTING, RUNNING, LIMITED, DISCONNECTED, STOPPED]\"}",
          "required": true,
          "schema": {
            "title": "AppInsightsIntegration",
            "type": "object",
            "properties": {
              "createdBy": {
                "type": "string"
              },
              "credentialName": {
                "type": "string"
              },
              "metricCount": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "status": {
                "title": "Status",
                "enum": [
                  "NONE",
                  "STARTING",
                  "RUNNING",
                  "LIMITED",
                  "DISCONNECTED",
                  "STOPPED"
                ],
                "type": "string"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAppInsightsIntegration",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "AppInsightsIntegration",
              "type": "object",
              "properties": {
                "createdBy": {
                  "type": "string"
                },
                "credentialName": {
                  "type": "string"
                },
                "metricCount": {
                  "type": "integer",
                  "format": "int32"
                },
                "name": {
                  "type": "string"
                },
                "status": {
                  "title": "Status",
                  "enum": [
                    "NONE",
                    "STARTING",
                    "RUNNING",
                    "LIMITED",
                    "DISCONNECTED",
                    "STOPPED"
                  ],
                  "type": "string"
                }
              }
            }
          },
          "description": "API AppInsightsIntegration response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createNewIntegration"
      },
      "task": true
    },
    {
      "name": "getCloudwatchDetectors",
      "summary": "getCloudwatchDetectors",
      "description": "Get a list of detector configuration for cloudwatch collected metrics",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "CloudwatchDetectorConfig",
            "type": "object",
            "properties": {
              "detector": {
                "type": "object"
              },
              "fully_qualified_moob": {
                "type": "string"
              },
              "metric": {
                "type": "string"
              },
              "uuid": {
                "type": "string"
              },
              "version": {
                "type": "string"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getCloudwatchDetectors"
      },
      "task": true
    },
    {
      "name": "updateCloudwatchDetectors",
      "summary": "updateCloudwatchDetectors",
      "description": "Update detector configuration for cloudwatch collected metrics",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"traceID\": \"string\", \"config\": \"object\", \"detector\": \"string\", \"fqm\": \"string\", \"metric\": \"string\", \"uuid\": \"string\"}",
          "required": false,
          "schema": {
            "title": "MetricConfigDto",
            "required": [
              "config",
              "metric"
            ],
            "type": "object",
            "properties": {
              "traceID": {
                "type": "string"
              },
              "config": {
                "type": "object"
              },
              "detector": {
                "type": "string"
              },
              "fqm": {
                "type": "string"
              },
              "metric": {
                "type": "string"
              },
              "uuid": {
                "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": "/updateCloudwatchDetectors"
      },
      "task": true
    },
    {
      "name": "deleteCloudwatch",
      "summary": "deleteCloudwatch",
      "description": "Delete an existing cloudwatch integration",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/deleteCloudwatch"
      },
      "task": true
    },
    {
      "name": "updateCloudwatch",
      "summary": "updateCloudwatch",
      "description": "Update an existing cloudwatch integration",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"aws_credential_name\": \"string\", \"cw_custom_metrics\": \"boolean\", \"cw_alarms\": \"boolean\", \"cw_source_prepend\": \"boolean\", \"name\": \"string\", \"aws_regions\": \"array\", \"service_list\": \"array\", \"customMetric\": \"boolean\", \"cwAlarm\": \"boolean\", \"sourcePrepend\": \"boolean\"}",
          "required": false,
          "schema": {
            "title": "BaseCloudwatchConfigDto",
            "required": [
              "aws_regions",
              "service_list"
            ],
            "type": "object",
            "properties": {
              "aws_credential_name": {
                "pattern": "\\S",
                "type": "string"
              },
              "cw_custom_metrics": {
                "type": "boolean"
              },
              "cw_alarms": {
                "type": "boolean"
              },
              "cw_source_prepend": {
                "type": "boolean"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "aws_regions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "service_list": {
                "type": "array",
                "items": {
                  "title": "CloudwatchServices",
                  "enum": [
                    "AMAZON_M_Q",
                    "API_GATEWAY",
                    "APPLICATION_E_L_B",
                    "APP_STREAM",
                    "APP_SYNC",
                    "ATHENA",
                    "AUTO_SCALING",
                    "A_C_M_PRIVATE_C_A",
                    "BILLING",
                    "CASSANDRA",
                    "CHATBOT",
                    "CLOUD_FRONT",
                    "CLOUD_H_S_M",
                    "CLOUD_SEARCH",
                    "CODE_BUILD",
                    "COGNITO",
                    "CONNECT",
                    "DATA_SYNC",
                    "DOC_D_B",
                    "DYNAMO_D_B",
                    "D_DO_S_PROTECTION",
                    "D_M_S",
                    "D_X",
                    "ELASTIC_BEANSTALK",
                    "ELASTIC_INFERENCE",
                    "ELASTIC_MAP_REDUCE",
                    "ELASTIC_TRANSCODER",
                    "ELASTI_CACHE",
                    "EVENTS",
                    "E_B_S",
                    "E_C2",
                    "E_C2_SPOT",
                    "E_C_S",
                    "E_F_S",
                    "E_L_B",
                    "E_S",
                    "FIREHOSE",
                    "F_SX",
                    "GAME_LIFT",
                    "GLUE",
                    "GROUND_STATION",
                    "INSPECTOR",
                    "IO_T",
                    "IO_T_ANALYTICS",
                    "KAFKA",
                    "KINESIS",
                    "KINESIS_ANALYTICS",
                    "KINESIS_VIDEO",
                    "K_M_S",
                    "LAMBDA",
                    "LEX",
                    "LOGS",
                    "MEDIA_CONNECT",
                    "MEDIA_CONVERT",
                    "MEDIA_PACKAGE",
                    "MEDIA_TAILOR",
                    "M_L",
                    "NEPTUNE",
                    "NETWORK_E_L_B",
                    "N_A_T_GATEWAY",
                    "OPS_WORKS",
                    "POLLY",
                    "Q_L_D_B",
                    "REDSHIFT",
                    "ROBOMAKER",
                    "ROUTE53",
                    "R_D_S",
                    "S3",
                    "SAGE_MAKER",
                    "SERVICE_CATALOG",
                    "STATES",
                    "STORAGE_GATEWAY",
                    "S_D_K_METRICS",
                    "S_E_S",
                    "S_N_S",
                    "S_Q_S",
                    "S_S_M_RUN_COMMAND",
                    "S_W_F",
                    "TEXTRACT",
                    "THINGS_GRAPH",
                    "TRANSFER",
                    "TRANSIT_GATEWAY",
                    "TRANSLATE",
                    "TRUSTED_ADVISOR",
                    "V_P_N",
                    "WORK_MAIL",
                    "WORK_SPACES",
                    "W_A_F"
                  ],
                  "type": "string"
                },
                "description": ""
              },
              "customMetric": {
                "type": "boolean"
              },
              "cwAlarm": {
                "type": "boolean"
              },
              "sourcePrepend": {
                "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": "/updateCloudwatch"
      },
      "task": true
    },
    {
      "name": "getCloudwatchStatus",
      "summary": "getCloudwatchStatus",
      "description": "Get the status for an existing cloudwatch integration",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseCloudwatchStatusDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "CloudwatchStatusDto",
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "regions": {
                  "type": "object",
                  "additionalProperties": {
                    "title": "CloudwatchRegionStatus",
                    "type": "object",
                    "properties": {
                      "message": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "Moogsoft Cloudwatch API CloudwatchStatusDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getCloudwatchStatus"
      },
      "task": true
    },
    {
      "name": "cloudwatchAccountId",
      "summary": "cloudwatchAccountId",
      "description": "Get Moogsoft AWS accountID for setting up a cloudwatch integration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseCloudwatchAccountDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "CloudwatchAccountDto",
              "type": "object",
              "properties": {
                "accountId": {
                  "type": "string"
                }
              }
            }
          },
          "description": "Moogsoft Cloudwatch API CloudwatchAccountDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/cloudwatchAccountId"
      },
      "task": true
    },
    {
      "name": "testCloudwatch",
      "summary": "testCloudwatch",
      "description": "Test if the AWS credentianls are valid for the regions",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"aws_credential_name\": \"string\", \"aws_regions\": \"array\"}",
          "required": false,
          "schema": {
            "title": "CloudwatchTestDto",
            "required": [
              "aws_regions"
            ],
            "type": "object",
            "properties": {
              "aws_credential_name": {
                "pattern": "\\S",
                "type": "string"
              },
              "aws_regions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseCloudwatchTestResponse",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "CloudwatchTestResponse",
              "type": "object",
              "properties": {
                "err": {
                  "title": "CloudwatchTestError",
                  "type": "object",
                  "properties": {
                    "msg": {
                      "type": "string"
                    },
                    "regions": {
                      "type": "array",
                      "items": {
                        "title": "CloudwatchRegionError",
                        "type": "object",
                        "properties": {
                          "exists": {
                            "type": "boolean"
                          },
                          "msg": {
                            "type": "string"
                          },
                          "region": {
                            "type": "string"
                          }
                        }
                      },
                      "description": ""
                    }
                  }
                },
                "success": {
                  "type": "boolean"
                },
                "validationResult": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "warning": {
                  "type": "string"
                }
              }
            }
          },
          "description": "Moogsoft Cloudwatch API CloudwatchTestResponse response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/testCloudwatch"
      },
      "task": true
    },
    {
      "name": "listCloudwatch",
      "summary": "listCloudwatch",
      "description": "List all existing cloudwatch integrations that have been setup",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "CloudwatchConfig",
            "required": [
              "aws_regions",
              "service_list"
            ],
            "type": "object",
            "properties": {
              "aws_credential_name": {
                "pattern": "\\S",
                "type": "string"
              },
              "cw_custom_metrics": {
                "type": "boolean"
              },
              "cw_alarms": {
                "type": "boolean"
              },
              "cw_source_prepend": {
                "type": "boolean"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "aws_regions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "service_list": {
                "type": "array",
                "items": {
                  "title": "CloudwatchServices",
                  "enum": [
                    "AMAZON_M_Q",
                    "API_GATEWAY",
                    "APPLICATION_E_L_B",
                    "APP_STREAM",
                    "APP_SYNC",
                    "ATHENA",
                    "AUTO_SCALING",
                    "A_C_M_PRIVATE_C_A",
                    "BILLING",
                    "CASSANDRA",
                    "CHATBOT",
                    "CLOUD_FRONT",
                    "CLOUD_H_S_M",
                    "CLOUD_SEARCH",
                    "CODE_BUILD",
                    "COGNITO",
                    "CONNECT",
                    "DATA_SYNC",
                    "DOC_D_B",
                    "DYNAMO_D_B",
                    "D_DO_S_PROTECTION",
                    "D_M_S",
                    "D_X",
                    "ELASTIC_BEANSTALK",
                    "ELASTIC_INFERENCE",
                    "ELASTIC_MAP_REDUCE",
                    "ELASTIC_TRANSCODER",
                    "ELASTI_CACHE",
                    "EVENTS",
                    "E_B_S",
                    "E_C2",
                    "E_C2_SPOT",
                    "E_C_S",
                    "E_F_S",
                    "E_L_B",
                    "E_S",
                    "FIREHOSE",
                    "F_SX",
                    "GAME_LIFT",
                    "GLUE",
                    "GROUND_STATION",
                    "INSPECTOR",
                    "IO_T",
                    "IO_T_ANALYTICS",
                    "KAFKA",
                    "KINESIS",
                    "KINESIS_ANALYTICS",
                    "KINESIS_VIDEO",
                    "K_M_S",
                    "LAMBDA",
                    "LEX",
                    "LOGS",
                    "MEDIA_CONNECT",
                    "MEDIA_CONVERT",
                    "MEDIA_PACKAGE",
                    "MEDIA_TAILOR",
                    "M_L",
                    "NEPTUNE",
                    "NETWORK_E_L_B",
                    "N_A_T_GATEWAY",
                    "OPS_WORKS",
                    "POLLY",
                    "Q_L_D_B",
                    "REDSHIFT",
                    "ROBOMAKER",
                    "ROUTE53",
                    "R_D_S",
                    "S3",
                    "SAGE_MAKER",
                    "SERVICE_CATALOG",
                    "STATES",
                    "STORAGE_GATEWAY",
                    "S_D_K_METRICS",
                    "S_E_S",
                    "S_N_S",
                    "S_Q_S",
                    "S_S_M_RUN_COMMAND",
                    "S_W_F",
                    "TEXTRACT",
                    "THINGS_GRAPH",
                    "TRANSFER",
                    "TRANSIT_GATEWAY",
                    "TRANSLATE",
                    "TRUSTED_ADVISOR",
                    "V_P_N",
                    "WORK_MAIL",
                    "WORK_SPACES",
                    "W_A_F"
                  ],
                  "type": "string"
                },
                "description": ""
              },
              "customMetric": {
                "type": "boolean"
              },
              "cwAlarm": {
                "type": "boolean"
              },
              "sourcePrepend": {
                "type": "boolean"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "status": {
                "type": "string"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listCloudwatch"
      },
      "task": true
    },
    {
      "name": "createCloudwatch",
      "summary": "createCloudwatch",
      "description": "Create a new cloudwatch integration",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"aws_credential_name\": \"string\", \"cw_custom_metrics\": \"boolean\", \"cw_alarms\": \"boolean\", \"cw_source_prepend\": \"boolean\", \"name\": \"string\", \"aws_regions\": \"array\", \"service_list\": \"array\", \"customMetric\": \"boolean\", \"cwAlarm\": \"boolean\", \"sourcePrepend\": \"boolean\"}",
          "required": false,
          "schema": {
            "title": "BaseCloudwatchConfigDto",
            "required": [
              "aws_regions",
              "service_list"
            ],
            "type": "object",
            "properties": {
              "aws_credential_name": {
                "pattern": "\\S",
                "type": "string"
              },
              "cw_custom_metrics": {
                "type": "boolean"
              },
              "cw_alarms": {
                "type": "boolean"
              },
              "cw_source_prepend": {
                "type": "boolean"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "aws_regions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "service_list": {
                "type": "array",
                "items": {
                  "title": "CloudwatchServices",
                  "enum": [
                    "AMAZON_M_Q",
                    "API_GATEWAY",
                    "APPLICATION_E_L_B",
                    "APP_STREAM",
                    "APP_SYNC",
                    "ATHENA",
                    "AUTO_SCALING",
                    "A_C_M_PRIVATE_C_A",
                    "BILLING",
                    "CASSANDRA",
                    "CHATBOT",
                    "CLOUD_FRONT",
                    "CLOUD_H_S_M",
                    "CLOUD_SEARCH",
                    "CODE_BUILD",
                    "COGNITO",
                    "CONNECT",
                    "DATA_SYNC",
                    "DOC_D_B",
                    "DYNAMO_D_B",
                    "D_DO_S_PROTECTION",
                    "D_M_S",
                    "D_X",
                    "ELASTIC_BEANSTALK",
                    "ELASTIC_INFERENCE",
                    "ELASTIC_MAP_REDUCE",
                    "ELASTIC_TRANSCODER",
                    "ELASTI_CACHE",
                    "EVENTS",
                    "E_B_S",
                    "E_C2",
                    "E_C2_SPOT",
                    "E_C_S",
                    "E_F_S",
                    "E_L_B",
                    "E_S",
                    "FIREHOSE",
                    "F_SX",
                    "GAME_LIFT",
                    "GLUE",
                    "GROUND_STATION",
                    "INSPECTOR",
                    "IO_T",
                    "IO_T_ANALYTICS",
                    "KAFKA",
                    "KINESIS",
                    "KINESIS_ANALYTICS",
                    "KINESIS_VIDEO",
                    "K_M_S",
                    "LAMBDA",
                    "LEX",
                    "LOGS",
                    "MEDIA_CONNECT",
                    "MEDIA_CONVERT",
                    "MEDIA_PACKAGE",
                    "MEDIA_TAILOR",
                    "M_L",
                    "NEPTUNE",
                    "NETWORK_E_L_B",
                    "N_A_T_GATEWAY",
                    "OPS_WORKS",
                    "POLLY",
                    "Q_L_D_B",
                    "REDSHIFT",
                    "ROBOMAKER",
                    "ROUTE53",
                    "R_D_S",
                    "S3",
                    "SAGE_MAKER",
                    "SERVICE_CATALOG",
                    "STATES",
                    "STORAGE_GATEWAY",
                    "S_D_K_METRICS",
                    "S_E_S",
                    "S_N_S",
                    "S_Q_S",
                    "S_S_M_RUN_COMMAND",
                    "S_W_F",
                    "TEXTRACT",
                    "THINGS_GRAPH",
                    "TRANSFER",
                    "TRANSIT_GATEWAY",
                    "TRANSLATE",
                    "TRUSTED_ADVISOR",
                    "V_P_N",
                    "WORK_MAIL",
                    "WORK_SPACES",
                    "W_A_F"
                  ],
                  "type": "string"
                },
                "description": ""
              },
              "customMetric": {
                "type": "boolean"
              },
              "cwAlarm": {
                "type": "boolean"
              },
              "sourcePrepend": {
                "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": "/createCloudwatch"
      },
      "task": true
    },
    {
      "name": "getInstallCommand",
      "summary": "getInstallCommand",
      "description": "Returns a command to download and install the collector.",
      "input": [
        {
          "name": "platform",
          "type": "string",
          "info": "The desired platform for the install command: Must be one of [LINUX, MACOS, WINDOWS]",
          "required": true,
          "schema": {
            "title": "platform",
            "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": "/getInstallCommand"
      },
      "task": true
    },
    {
      "name": "download",
      "summary": "download",
      "description": "Download the collector bundle (latest if no version specified).",
      "input": [
        {
          "name": "arch",
          "type": "string",
          "info": "The desired architecture for the download: Must be one of [ARM64, ARMV7, X86_64]",
          "required": true,
          "schema": {
            "title": "arch",
            "type": "string"
          }
        },
        {
          "name": "platform",
          "type": "string",
          "info": "The desired platform for the download: Must be one of [LINUX, MACOS, WINDOWS]",
          "required": true,
          "schema": {
            "title": "platform",
            "type": "string"
          }
        },
        {
          "name": "version",
          "type": "string",
          "info": "The desired version for the download (default to latest if not provided): string",
          "required": false,
          "schema": {
            "title": "version",
            "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": "/download"
      },
      "task": true
    },
    {
      "name": "latestVersion",
      "summary": "latestVersion",
      "description": "Fetch the latest collector version.",
      "input": [
        {
          "name": "arch",
          "type": "string",
          "info": "The desired architecture: Must be one of [ARM64, ARMV7, X86_64]",
          "required": true,
          "schema": {
            "title": "arch",
            "type": "string"
          }
        },
        {
          "name": "platform",
          "type": "string",
          "info": "The desired platform: Must be one of [LINUX, MACOS, WINDOWS]",
          "required": true,
          "schema": {
            "title": "platform",
            "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": "/latestVersion"
      },
      "task": true
    },
    {
      "name": "getInstallScript",
      "summary": "getInstallScript",
      "description": "Fetch the collector install script.",
      "input": [
        {
          "name": "platform",
          "type": "string",
          "info": "The desired platform for the install script: Must be one of [LINUX, MACOS, WINDOWS]",
          "required": true,
          "schema": {
            "title": "platform",
            "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": "/getInstallScript"
      },
      "task": true
    },
    {
      "name": "getCollectors",
      "summary": "getCollectors",
      "description": "Get all known collectors.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "CollectorDto",
            "type": "object",
            "properties": {
              "host": {
                "type": "string",
                "description": "The host of the collector"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "last_updated": {
                "title": "Instant",
                "type": "object",
                "properties": {
                  "nanos": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "seconds": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "nano": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "uptime": {
                "type": "number",
                "description": "Uptime in seconds"
              },
              "version": {
                "type": "string",
                "description": "The version of the collector"
              }
            },
            "description": "Basic collector attributes."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getCollectors"
      },
      "task": true
    },
    {
      "name": "registerCollector",
      "summary": "registerCollector",
      "description": "Register a new collector.",
      "input": [
        {
          "name": "body",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseCollectorDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "CollectorDto",
              "type": "object",
              "properties": {
                "host": {
                  "type": "string",
                  "description": "The host of the collector"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "last_updated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "uptime": {
                  "type": "number",
                  "description": "Uptime in seconds"
                },
                "version": {
                  "type": "string",
                  "description": "The version of the collector"
                }
              },
              "description": "Basic collector attributes."
            }
          },
          "description": "Collector V2 API CollectorDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/registerCollector"
      },
      "task": true
    },
    {
      "name": "deleteCollector",
      "summary": "deleteCollector",
      "description": "deleteCollector",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The collector id: object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deleteCollector"
      },
      "task": true
    },
    {
      "name": "processHeartbeats",
      "summary": "processHeartbeats",
      "description": "processHeartbeats",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The collector id: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "CollectorHeartbeatDto",
              "required": [
                "timestamp",
                "uptime",
                "version"
              ],
              "type": "object",
              "properties": {
                "host": {
                  "type": "string",
                  "description": "The host of the collector"
                },
                "timestamp": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "uptime": {
                  "type": "number",
                  "description": "The uptime of the collector in seconds"
                },
                "version": {
                  "type": "string",
                  "description": "The version of the collector"
                }
              },
              "description": "Collector heartbeat message."
            },
            "description": ""
          }
        }
      ],
      "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": "/processHeartbeats"
      },
      "task": true
    },
    {
      "name": "getLogs",
      "summary": "getLogs",
      "description": "getLogs",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The collector id: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "CollectorLogDto",
            "required": [
              "level",
              "message",
              "timestamp"
            ],
            "type": "object",
            "properties": {
              "component": {
                "type": "string",
                "description": "The component that generated the log message"
              },
              "level": {
                "title": "LogLevel",
                "enum": [
                  "DEBUG",
                  "ERROR",
                  "INFO",
                  "TRACE",
                  "WARN"
                ],
                "type": "string"
              },
              "message": {
                "type": "string",
                "description": "The log message"
              },
              "timestamp": {
                "title": "Instant",
                "type": "object",
                "properties": {
                  "nanos": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "seconds": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "nano": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            },
            "description": "Collector log message."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getLogs"
      },
      "task": true
    },
    {
      "name": "saveLogs",
      "summary": "saveLogs",
      "description": "saveLogs",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The collector id: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "CollectorLogDto",
              "required": [
                "level",
                "message",
                "timestamp"
              ],
              "type": "object",
              "properties": {
                "component": {
                  "type": "string",
                  "description": "The component that generated the log message"
                },
                "level": {
                  "title": "LogLevel",
                  "enum": [
                    "DEBUG",
                    "ERROR",
                    "INFO",
                    "TRACE",
                    "WARN"
                  ],
                  "type": "string"
                },
                "message": {
                  "type": "string",
                  "description": "The log message"
                },
                "timestamp": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              },
              "description": "Collector log message."
            },
            "description": ""
          }
        }
      ],
      "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": "/saveLogs"
      },
      "task": true
    },
    {
      "name": "getAndClearMessages",
      "summary": "getAndClearMessages",
      "description": "getAndClearMessages",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The collector id: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "CollectorMessageDto",
            "type": "object",
            "properties": {
              "collector_action": {
                "title": "CollectorAction",
                "enum": [
                  "UPDATE_CONFIG"
                ],
                "type": "string"
              },
              "collector_id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            },
            "description": "Collector message."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAndClearMessages"
      },
      "task": true
    },
    {
      "name": "generateTopology",
      "summary": "generateTopology",
      "description": "generateTopology",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The collector id: object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/generateTopology"
      },
      "task": true
    },
    {
      "name": "findPluginConfig",
      "summary": "findPluginConfig",
      "description": "Returns any plugin config that matches.",
      "input": [
        {
          "name": "collectorId",
          "type": "object",
          "info": "Collector id associated with the config: object",
          "required": false,
          "schema": {
            "title": "collectorId",
            "type": "object"
          }
        },
        {
          "name": "pluginName",
          "type": "string",
          "info": "Plugin name associated with the config: string",
          "required": false,
          "schema": {
            "title": "pluginName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "PluginConfigDto",
            "required": [
              "collector_id",
              "collector_version",
              "plugin_name"
            ],
            "type": "object",
            "properties": {
              "collector_id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "collector_version": {
                "type": "string",
                "description": "The collector version that this config is associated with."
              },
              "configuration": {
                "type": "object"
              },
              "enabled": {
                "type": "boolean",
                "description": "A boolean indicating if the plugin is enabled or not (by default true)."
              },
              "plugin_name": {
                "minLength": 1,
                "type": "string",
                "description": "The name of the plugin that this config is for."
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            },
            "description": "Collector config with base and generated attributes."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/findPluginConfig"
      },
      "task": true
    },
    {
      "name": "createPluginConfig",
      "summary": "createPluginConfig",
      "description": "Create new plugin config.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"collector_id\": {\"counter\": 123, \"randomValue1\": 123, \"randomValue2\": 123, \"timestamp\": 123, \"date\": \"string\"}, \"collector_version\": \"string\", \"configuration\": \"object\", \"enabled\": \"boolean\", \"plugin_name\": \"string\"}",
          "required": false,
          "schema": {
            "title": "BasePluginConfigDto",
            "required": [
              "collector_id",
              "collector_version",
              "plugin_name"
            ],
            "type": "object",
            "properties": {
              "collector_id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "collector_version": {
                "type": "string",
                "description": "The collector version that this config is associated with."
              },
              "configuration": {
                "type": "object"
              },
              "enabled": {
                "type": "boolean",
                "description": "A boolean indicating if the plugin is enabled or not (by default true)."
              },
              "plugin_name": {
                "minLength": 1,
                "type": "string",
                "description": "The name of the plugin that this config is for."
              }
            },
            "description": "Base plugin config attributes."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponsePluginConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "PluginConfigDto",
              "required": [
                "collector_id",
                "collector_version",
                "plugin_name"
              ],
              "type": "object",
              "properties": {
                "collector_id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "collector_version": {
                  "type": "string",
                  "description": "The collector version that this config is associated with."
                },
                "configuration": {
                  "type": "object"
                },
                "enabled": {
                  "type": "boolean",
                  "description": "A boolean indicating if the plugin is enabled or not (by default true)."
                },
                "plugin_name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "The name of the plugin that this config is for."
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              },
              "description": "Collector config with base and generated attributes."
            }
          },
          "description": "Collector V2 API PluginConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createPluginConfig"
      },
      "task": true
    },
    {
      "name": "deleteMatchingPluginConfig",
      "summary": "deleteMatchingPluginConfig",
      "description": "Delete all matching plugin config with the given collector id.",
      "input": [
        {
          "name": "collectorId",
          "type": "object",
          "info": "The collector id associated with the config: object",
          "required": true,
          "schema": {
            "title": "collectorId",
            "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": "/deleteMatchingPluginConfig"
      },
      "task": true
    },
    {
      "name": "getPluginConfig",
      "summary": "getPluginConfig",
      "description": "Get the plugin config with the given id.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The plugin config id: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponsePluginConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "PluginConfigDto",
              "required": [
                "collector_id",
                "collector_version",
                "plugin_name"
              ],
              "type": "object",
              "properties": {
                "collector_id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "collector_version": {
                  "type": "string",
                  "description": "The collector version that this config is associated with."
                },
                "configuration": {
                  "type": "object"
                },
                "enabled": {
                  "type": "boolean",
                  "description": "A boolean indicating if the plugin is enabled or not (by default true)."
                },
                "plugin_name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "The name of the plugin that this config is for."
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              },
              "description": "Collector config with base and generated attributes."
            }
          },
          "description": "Collector V2 API PluginConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPluginConfig"
      },
      "task": true
    },
    {
      "name": "deletePluginConfig",
      "summary": "deletePluginConfig",
      "description": "Delete the plugin config with the given id.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The plugin config id: object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deletePluginConfig"
      },
      "task": true
    },
    {
      "name": "updatePluginConfig",
      "summary": "updatePluginConfig",
      "description": "Update the plugin config with the given id.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The plugin config id: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"collector_id\": {\"counter\": 123, \"randomValue1\": 123, \"randomValue2\": 123, \"timestamp\": 123, \"date\": \"string\"}, \"collector_version\": \"string\", \"configuration\": \"object\", \"enabled\": \"boolean\", \"plugin_name\": \"string\"}",
          "required": false,
          "schema": {
            "title": "BasePluginConfigDto",
            "required": [
              "collector_id",
              "collector_version",
              "plugin_name"
            ],
            "type": "object",
            "properties": {
              "collector_id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "collector_version": {
                "type": "string",
                "description": "The collector version that this config is associated with."
              },
              "configuration": {
                "type": "object"
              },
              "enabled": {
                "type": "boolean",
                "description": "A boolean indicating if the plugin is enabled or not (by default true)."
              },
              "plugin_name": {
                "minLength": 1,
                "type": "string",
                "description": "The name of the plugin that this config is for."
              }
            },
            "description": "Base plugin config attributes."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponsePluginConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "PluginConfigDto",
              "required": [
                "collector_id",
                "collector_version",
                "plugin_name"
              ],
              "type": "object",
              "properties": {
                "collector_id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "collector_version": {
                  "type": "string",
                  "description": "The collector version that this config is associated with."
                },
                "configuration": {
                  "type": "object"
                },
                "enabled": {
                  "type": "boolean",
                  "description": "A boolean indicating if the plugin is enabled or not (by default true)."
                },
                "plugin_name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "The name of the plugin that this config is for."
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              },
              "description": "Collector config with base and generated attributes."
            }
          },
          "description": "Collector V2 API PluginConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updatePluginConfig"
      },
      "task": true
    },
    {
      "name": "getPlugins",
      "summary": "getPlugins",
      "description": "getPlugins",
      "input": [
        {
          "name": "collectorVersion",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "collectorVersion",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "PluginDto",
            "type": "object",
            "properties": {
              "collector_version": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "parameters": {
                "type": "object"
              },
              "template": {
                "type": "string"
              }
            },
            "description": "Plugin attributes."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPlugins"
      },
      "task": true
    },
    {
      "name": "unixInstaller",
      "summary": "unixInstaller",
      "description": "Fetch the unix collector install script",
      "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": "/unixInstaller"
      },
      "task": true
    },
    {
      "name": "postCollectorsDiscovery",
      "summary": "postCollectorsDiscovery",
      "description": "Initiates discovery on the collector the input namespaced mar, discovery is the process of a collector attempting to attach to a new data source. This can be used when new credentials are supplied to the collector, or new data sources have been added.",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The discovery request: {\"credentials\": {\"component\": \"string\", \"name\": \"string\"}, \"mar\": \"string\", \"moobs\": \"array\", \"namespace\": \"string\"}",
          "required": true,
          "schema": {
            "title": "CollectorDiscoveryDto",
            "type": "object",
            "properties": {
              "credentials": {
                "title": "CredentialsDto",
                "type": "object",
                "properties": {
                  "component": {
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "name": {
                    "pattern": "\\S",
                    "type": "string"
                  }
                }
              },
              "mar": {
                "pattern": "\\S",
                "type": "string"
              },
              "moobs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "namespace": {
                "pattern": "\\S",
                "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": "/postCollectorsDiscovery"
      },
      "task": true
    },
    {
      "name": "getCurlCommand",
      "summary": "getCurlCommand",
      "description": "Returns a command with the proper credentials in order to initialise a collector.",
      "input": [
        {
          "name": "collectOnStartup",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "collectOnStartup",
            "type": "boolean"
          }
        },
        {
          "name": "instance",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "instance",
            "type": "string"
          }
        },
        {
          "name": "platform",
          "type": "string",
          "info": ": Must be one of [LINUX, MACOS, WINDOWS]",
          "required": false,
          "schema": {
            "title": "platform",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseInstallResponse",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "InstallResponse",
              "type": "object",
              "properties": {
                "command": {
                  "pattern": "\\S",
                  "type": "string"
                }
              }
            }
          },
          "description": "API InstallResponse response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getCurlCommand"
      },
      "task": true
    },
    {
      "name": "windowsInstaller",
      "summary": "windowsInstaller",
      "description": "Fetch the windows collector install script",
      "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": "/windowsInstaller"
      },
      "task": true
    },
    {
      "name": "action",
      "summary": "action",
      "description": "Assigns the collector's status to the specified action value",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "The action request: {\"action\": \"Must be one of [START, STOP]\"}",
          "required": true,
          "schema": {
            "title": "CollectorsActionsDto",
            "required": [
              "action"
            ],
            "type": "object",
            "properties": {
              "action": {
                "title": "ActionType",
                "enum": [
                  "START",
                  "STOP"
                ],
                "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": "/action"
      },
      "task": true
    },
    {
      "name": "restartCollector",
      "summary": "restartCollector",
      "description": "request a collector to restart",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "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": "/restartCollector"
      },
      "task": true
    },
    {
      "name": "getCollectorMetrics",
      "summary": "getCollectorMetrics",
      "description": "Gets the metric config given the fully qualified moob and metric",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": "The fully qualified moob of the metric: string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "The name of the metric: string",
          "required": true,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "version",
          "type": "string",
          "info": "The version of the metric, defaults to 1.0.0: string",
          "required": false,
          "schema": {
            "title": "version",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseListDetectorConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "array",
              "items": {
                "title": "DetectorConfigDto",
                "type": "object",
                "properties": {
                  "detector": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  },
                  "fully_qualified_moob": {
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "metric": {
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "uuid": {
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "version": {
                    "pattern": "\\S",
                    "type": "string"
                  }
                }
              },
              "description": ""
            }
          },
          "description": "API ListDetectorConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getCollectorMetrics"
      },
      "task": true
    },
    {
      "name": "postCollectorMetrics",
      "summary": "postCollectorMetrics",
      "description": "Update the collector config for a metric",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "A list of detector config updates: {\"detector\": \"object\", \"fully_qualified_moob\": \"string\", \"merge\": \"boolean\", \"metric\": \"string\", \"publish\": \"boolean\", \"version\": \"string\"}",
          "required": true,
          "schema": {
            "title": "UpdateDetectorConfigDto",
            "type": "object",
            "properties": {
              "detector": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "fully_qualified_moob": {
                "pattern": "\\S",
                "type": "string"
              },
              "merge": {
                "type": "boolean"
              },
              "metric": {
                "pattern": "\\S",
                "type": "string"
              },
              "publish": {
                "type": "boolean"
              },
              "version": {
                "pattern": "\\S",
                "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": "/postCollectorMetrics"
      },
      "task": true
    },
    {
      "name": "getDatums",
      "summary": "getDatums",
      "description": "Returns the specified datums based on the parameters supplied",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "A batch of datums to store: {\"traceID\": \"string\", \"additional_data\": \"object\", \"class\": \"string\", \"collector\": \"string\", \"data\": \"object\", \"description\": \"string\", \"engine\": \"object\", \"fully_qualified_moob\": \"string\", \"instance\": \"string\", \"key\": \"string\", \"label\": \"string\", \"metric\": \"string\", \"moob\": \"string\", \"source\": \"string\", \"tags\": \"object\", \"timed_at_ms\": 123, \"timezone\": \"string\", \"unit\": \"string\", \"uuid\": \"string\", \"written_at_ms\": 123, \"year\": 123}",
          "required": true,
          "schema": {
            "title": "DatumDto",
            "required": [
              "data"
            ],
            "type": "object",
            "properties": {
              "traceID": {
                "type": "string"
              },
              "additional_data": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "class": {
                "type": "string"
              },
              "collector": {
                "pattern": "\\S",
                "type": "string"
              },
              "data": {
                "type": "object"
              },
              "description": {
                "type": "string"
              },
              "engine": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "fully_qualified_moob": {
                "pattern": "\\S",
                "type": "string"
              },
              "instance": {
                "pattern": "\\S",
                "type": "string"
              },
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "metric": {
                "pattern": "\\S",
                "type": "string"
              },
              "moob": {
                "pattern": "\\S",
                "type": "string"
              },
              "source": {
                "pattern": "\\S",
                "type": "string"
              },
              "tags": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "timed_at_ms": {
                "type": "integer",
                "format": "int64"
              },
              "timezone": {
                "pattern": "\\S",
                "type": "string"
              },
              "unit": {
                "type": "string"
              },
              "uuid": {
                "pattern": "\\S",
                "type": "string"
              },
              "written_at_ms": {
                "type": "integer",
                "format": "int64"
              },
              "year": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        }
      ],
      "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": "/getDatums"
      },
      "task": true
    },
    {
      "name": "oldMetricsEndpoint",
      "summary": "oldMetricsEndpoint",
      "description": "oldMetricsEndpoint",
      "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": "/oldMetricsEndpoint"
      },
      "task": true
    },
    {
      "name": "getLatestVersion",
      "summary": "getLatestVersion",
      "description": "Fetch the latest version of a collector for a specific architecture and platform",
      "input": [
        {
          "name": "arch",
          "type": "string",
          "info": "The architecture of interest: Must be one of [ARMV7L, I686, X86_64]",
          "required": true,
          "schema": {
            "title": "arch",
            "type": "string"
          }
        },
        {
          "name": "platform",
          "type": "string",
          "info": "The platform of interest: Must be one of [LINUX, MACOS, WINDOWS]",
          "required": true,
          "schema": {
            "title": "platform",
            "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": "/getLatestVersion"
      },
      "task": true
    },
    {
      "name": "fetchTar",
      "summary": "fetchTar",
      "description": "Fetch the collector archive for a specific architecture and platform",
      "input": [
        {
          "name": "arch",
          "type": "string",
          "info": ": Must be one of [ARMV7L, I686, X86_64]",
          "required": true,
          "schema": {
            "title": "arch",
            "type": "string"
          }
        },
        {
          "name": "platform",
          "type": "string",
          "info": ": Must be one of [LINUX, MACOS, WINDOWS]",
          "required": true,
          "schema": {
            "title": "platform",
            "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": "/fetchTar"
      },
      "task": true
    },
    {
      "name": "getItemConfig",
      "summary": "getItemConfig",
      "description": "Returns config/credential(s) for the supplied parameters.",
      "input": [
        {
          "name": "attributes",
          "type": "array",
          "info": "An optional list of specific attributes: array",
          "required": false,
          "schema": {
            "title": "attributes",
            "type": "array"
          }
        },
        {
          "name": "component",
          "type": "string",
          "info": "The component key for the config: string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        },
        {
          "name": "encrypt",
          "type": "boolean",
          "info": "Boolean indicating if the config should be encrypted: boolean",
          "required": false,
          "schema": {
            "title": "encrypt",
            "type": "boolean"
          }
        },
        {
          "name": "includeParent",
          "type": "boolean",
          "info": "Boolean indicating if inherited config should be included in the response: boolean",
          "required": false,
          "schema": {
            "title": "includeParent",
            "type": "boolean"
          }
        },
        {
          "name": "owner",
          "type": "string",
          "info": "The owner of the config: string",
          "required": false,
          "schema": {
            "title": "owner",
            "type": "string"
          }
        },
        {
          "name": "tenant",
          "type": "string",
          "info": "The tenant that the config belongs to (Default default): string",
          "required": false,
          "schema": {
            "title": "tenant",
            "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": "/getItemConfig"
      },
      "task": true
    },
    {
      "name": "setConfig",
      "summary": "setConfig",
      "description": "Create a new config/credential(s).",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"attributes\": \"object\", \"component\": \"string\", \"encrypt\": \"boolean\", \"owner\": \"string\", \"tenant\": \"string\"}",
          "required": false,
          "schema": {
            "title": "SaveConfigRequestDto",
            "type": "object",
            "properties": {
              "attributes": {
                "type": "object"
              },
              "component": {
                "pattern": "\\S",
                "type": "string",
                "description": "The component key for the config"
              },
              "encrypt": {
                "type": "boolean",
                "description": "Boolean indicating if the config is encrypted or not (Default false)"
              },
              "owner": {
                "type": "string",
                "description": "The owner of the config"
              },
              "tenant": {
                "type": "string",
                "description": "The tenant that the config belongs to (Default default)"
              }
            },
            "description": "Config request for either a POST or a PATCH"
          }
        }
      ],
      "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": "/setConfig"
      },
      "task": true
    },
    {
      "name": "deleteConfig",
      "summary": "deleteConfig",
      "description": "Delete config/credential(s).",
      "input": [
        {
          "name": "attributes",
          "type": "array",
          "info": "List of specific attributes to delete (if empty then all will be deleted): array",
          "required": false,
          "schema": {
            "title": "attributes",
            "type": "array"
          }
        },
        {
          "name": "component",
          "type": "string",
          "info": "The component key for the config: string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        },
        {
          "name": "encrypt",
          "type": "boolean",
          "info": "Boolean indicating if the config is encrypted: boolean",
          "required": false,
          "schema": {
            "title": "encrypt",
            "type": "boolean"
          }
        },
        {
          "name": "fuzzy",
          "type": "boolean",
          "info": "Boolean indicating if the match criteria is fuzzy: boolean",
          "required": false,
          "schema": {
            "title": "fuzzy",
            "type": "boolean"
          }
        },
        {
          "name": "owner",
          "type": "string",
          "info": "The owner of the config: string",
          "required": false,
          "schema": {
            "title": "owner",
            "type": "string"
          }
        },
        {
          "name": "tenant",
          "type": "string",
          "info": "The tenant that the config belongs to (Default default): string",
          "required": false,
          "schema": {
            "title": "tenant",
            "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": "/deleteConfig"
      },
      "task": true
    },
    {
      "name": "patchConfig",
      "summary": "patchConfig",
      "description": "Update config/credential(s).",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"attributes\": \"object\", \"component\": \"string\", \"encrypt\": \"boolean\", \"owner\": \"string\", \"tenant\": \"string\"}",
          "required": false,
          "schema": {
            "title": "SaveConfigRequestDto",
            "type": "object",
            "properties": {
              "attributes": {
                "type": "object"
              },
              "component": {
                "pattern": "\\S",
                "type": "string",
                "description": "The component key for the config"
              },
              "encrypt": {
                "type": "boolean",
                "description": "Boolean indicating if the config is encrypted or not (Default false)"
              },
              "owner": {
                "type": "string",
                "description": "The owner of the config"
              },
              "tenant": {
                "type": "string",
                "description": "The tenant that the config belongs to (Default default)"
              }
            },
            "description": "Config request for either a POST or a PATCH"
          }
        }
      ],
      "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": "/patchConfig"
      },
      "task": true
    },
    {
      "name": "bulkDeleteConfig",
      "summary": "bulkDeleteConfig",
      "description": "Bulk delete config/credential(s).",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "DeleteConfigRequestDto",
              "type": "object",
              "properties": {
                "attributes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "component": {
                  "pattern": "\\S",
                  "type": "string",
                  "description": "The component key for the config"
                },
                "encrypt": {
                  "type": "boolean",
                  "description": "Boolean indicating if the config is encrypted or not (Default false)"
                },
                "fuzzy": {
                  "type": "boolean",
                  "description": "Boolean indicating if the match criteria is fuzzy"
                },
                "owner": {
                  "type": "string",
                  "description": "The owner of the config"
                },
                "tenant": {
                  "type": "string",
                  "description": "The tenant that the config belongs to (Default default)"
                }
              },
              "description": "Config request for a delete"
            },
            "description": ""
          }
        }
      ],
      "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": "/bulkDeleteConfig"
      },
      "task": true
    },
    {
      "name": "searchConfig",
      "summary": "searchConfig",
      "description": "Search for matching config/credential(s).",
      "input": [
        {
          "name": "attributes",
          "type": "array",
          "info": "List of specific attributes to delete (if empty then all will be deleted): array",
          "required": false,
          "schema": {
            "title": "attributes",
            "type": "array"
          }
        },
        {
          "name": "component",
          "type": "string",
          "info": "The component key for the config: string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        },
        {
          "name": "encrypt",
          "type": "boolean",
          "info": "Boolean indicating if the config is encrypted: boolean",
          "required": false,
          "schema": {
            "title": "encrypt",
            "type": "boolean"
          }
        },
        {
          "name": "fuzzy",
          "type": "boolean",
          "info": "Boolean indicating if the match criteria is fuzzy: boolean",
          "required": false,
          "schema": {
            "title": "fuzzy",
            "type": "boolean"
          }
        },
        {
          "name": "owner",
          "type": "string",
          "info": "The owner of the config: string",
          "required": false,
          "schema": {
            "title": "owner",
            "type": "string"
          }
        },
        {
          "name": "tenant",
          "type": "string",
          "info": "The tenant that the config belongs to (Default default): string",
          "required": false,
          "schema": {
            "title": "tenant",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseListJsonObject",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "description": ""
            }
          },
          "description": "Config API ListJsonObject response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchConfig"
      },
      "task": true
    },
    {
      "name": "deleteCorrDefWithName",
      "summary": "deleteCorrDefWithName",
      "description": "Deletes the correlation-definition {name}.",
      "input": [
        {
          "name": "definitionName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "definitionName",
            "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": "/deleteCorrDefWithName"
      },
      "task": true
    },
    {
      "name": "patchCorrDefWithName",
      "summary": "patchCorrDefWithName",
      "description": "Edit a correlation-definition.",
      "input": [
        {
          "name": "definitionName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "definitionName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"correlation_time_period\": 123, \"fields_to_correlate\": \"object\", \"incident_description\": \"string\", \"name\": \"string\", \"scope\": \"string\", \"uuid\": \"string\"}",
          "required": false,
          "schema": {
            "title": "CorrelationDefinition",
            "required": [
              "correlation_time_period",
              "fields_to_correlate",
              "scope"
            ],
            "type": "object",
            "properties": {
              "correlation_time_period": {
                "minimum": 0,
                "type": "integer",
                "description": "The window (in seconds) for correlating alerts into the same incident",
                "format": "int32",
                "example": 900
              },
              "fields_to_correlate": {
                "type": "object"
              },
              "incident_description": {
                "minLength": 1,
                "type": "string",
                "description": "The description to use for all incidents that get generated from this correlation definition. You can use macros to generate incident descriptions dynamically based on the member alerts.",
                "example": "unique_count(source) Source: unique(source,3) Affected unique(service,3) unique(class,3)"
              },
              "name": {
                "minLength": 1,
                "type": "string",
                "example": "Similar Sources"
              },
              "scope": {
                "type": "string",
                "description": "Alert filter to limit the scope of alerts to consider for a specific correlation",
                "example": "class = \"External\" AND \"event count\" > 2"
              },
              "uuid": {
                "type": "string",
                "description": "Populated with the internal ID of the retrieved definition. Not used when creating or updating a definition."
              }
            }
          }
        }
      ],
      "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": "/patchCorrDefWithName"
      },
      "task": true
    },
    {
      "name": "deleteCorrDef",
      "summary": "deleteCorrDef",
      "description": "Deletes the correlation-definition {uuid}.",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "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": "/deleteCorrDef"
      },
      "task": true
    },
    {
      "name": "patchCorrDef",
      "summary": "patchCorrDef",
      "description": "Edit a correlation-definition.",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"correlation_time_period\": 123, \"fields_to_correlate\": \"object\", \"incident_description\": \"string\", \"name\": \"string\", \"scope\": \"string\", \"uuid\": \"string\"}",
          "required": false,
          "schema": {
            "title": "CorrelationDefinition",
            "required": [
              "correlation_time_period",
              "fields_to_correlate",
              "scope"
            ],
            "type": "object",
            "properties": {
              "correlation_time_period": {
                "minimum": 0,
                "type": "integer",
                "description": "The window (in seconds) for correlating alerts into the same incident",
                "format": "int32",
                "example": 900
              },
              "fields_to_correlate": {
                "type": "object"
              },
              "incident_description": {
                "minLength": 1,
                "type": "string",
                "description": "The description to use for all incidents that get generated from this correlation definition. You can use macros to generate incident descriptions dynamically based on the member alerts.",
                "example": "unique_count(source) Source: unique(source,3) Affected unique(service,3) unique(class,3)"
              },
              "name": {
                "minLength": 1,
                "type": "string",
                "example": "Similar Sources"
              },
              "scope": {
                "type": "string",
                "description": "Alert filter to limit the scope of alerts to consider for a specific correlation",
                "example": "class = \"External\" AND \"event count\" > 2"
              },
              "uuid": {
                "type": "string",
                "description": "Populated with the internal ID of the retrieved definition. Not used when creating or updating a definition."
              }
            }
          }
        }
      ],
      "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": "/patchCorrDef"
      },
      "task": true
    },
    {
      "name": "getCorrDef",
      "summary": "getCorrDef",
      "description": "Fetch all correlation definitions.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseListCorrelationDefinitionDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "array",
              "items": {
                "title": "CorrelationDefinition",
                "required": [
                  "correlation_time_period",
                  "fields_to_correlate",
                  "scope"
                ],
                "type": "object",
                "properties": {
                  "correlation_time_period": {
                    "minimum": 0,
                    "type": "integer",
                    "description": "The window (in seconds) for correlating alerts into the same incident",
                    "format": "int32",
                    "example": 900
                  },
                  "fields_to_correlate": {
                    "type": "object"
                  },
                  "incident_description": {
                    "minLength": 1,
                    "type": "string",
                    "description": "The description to use for all incidents that get generated from this correlation definition. You can use macros to generate incident descriptions dynamically based on the member alerts.",
                    "example": "unique_count(source) Source: unique(source,3) Affected unique(service,3) unique(class,3)"
                  },
                  "name": {
                    "minLength": 1,
                    "type": "string",
                    "example": "Similar Sources"
                  },
                  "scope": {
                    "type": "string",
                    "description": "Alert filter to limit the scope of alerts to consider for a specific correlation",
                    "example": "class = \"External\" AND \"event count\" > 2"
                  },
                  "uuid": {
                    "type": "string",
                    "description": "Populated with the internal ID of the retrieved definition. Not used when creating or updating a definition."
                  }
                }
              },
              "description": ""
            }
          },
          "description": "Correlation Definitions Management API ListCorrelationDefinitionDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getCorrDef"
      },
      "task": true
    },
    {
      "name": "createCorrDef",
      "summary": "createCorrDef",
      "description": "Create a new correlation definition record. The record is identified by its name (given in the request body).The name cannot be changed in the future.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"correlation_time_period\": 123, \"fields_to_correlate\": \"object\", \"incident_description\": \"string\", \"name\": \"string\", \"scope\": \"string\", \"uuid\": \"string\"}",
          "required": false,
          "schema": {
            "title": "CorrelationDefinition",
            "required": [
              "correlation_time_period",
              "fields_to_correlate",
              "scope"
            ],
            "type": "object",
            "properties": {
              "correlation_time_period": {
                "minimum": 0,
                "type": "integer",
                "description": "The window (in seconds) for correlating alerts into the same incident",
                "format": "int32",
                "example": 900
              },
              "fields_to_correlate": {
                "type": "object"
              },
              "incident_description": {
                "minLength": 1,
                "type": "string",
                "description": "The description to use for all incidents that get generated from this correlation definition. You can use macros to generate incident descriptions dynamically based on the member alerts.",
                "example": "unique_count(source) Source: unique(source,3) Affected unique(service,3) unique(class,3)"
              },
              "name": {
                "minLength": 1,
                "type": "string",
                "example": "Similar Sources"
              },
              "scope": {
                "type": "string",
                "description": "Alert filter to limit the scope of alerts to consider for a specific correlation",
                "example": "class = \"External\" AND \"event count\" > 2"
              },
              "uuid": {
                "type": "string",
                "description": "Populated with the internal ID of the retrieved definition. Not used when creating or updating a definition."
              }
            }
          }
        }
      ],
      "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": "/createCorrDef"
      },
      "task": true
    },
    {
      "name": "get",
      "summary": "get",
      "description": "get the current use tracking data",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMilestone",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "Milestone",
              "type": "object",
              "properties": {
                "alertCount": {
                  "type": "integer",
                  "format": "int64"
                },
                "alertCountTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "anomalyCount": {
                  "type": "integer",
                  "format": "int64"
                },
                "anomalyCountTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "anomalyDetected": {
                  "type": "boolean"
                },
                "anomalyDetectedTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "correlationModified": {
                  "type": "boolean"
                },
                "correlationModifiedTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "datumCount": {
                  "type": "integer",
                  "format": "int64"
                },
                "datumCountTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "eventCount": {
                  "type": "integer",
                  "format": "int64"
                },
                "eventCountTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "eventsIngested": {
                  "type": "boolean"
                },
                "eventsIngestedTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "incidentCount": {
                  "type": "integer",
                  "format": "int64"
                },
                "incidentCountTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "instanceOwner": {
                  "type": "string"
                },
                "lastUpdatedTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "metricsIngested": {
                  "type": "boolean"
                },
                "metricsIngestedTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "multiAlertIncidentCreated": {
                  "type": "boolean"
                },
                "multiAlertIncidentCreatedTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "userLoggedIn": {
                  "type": "boolean"
                },
                "userLoggedInTimeMillis": {
                  "type": "integer",
                  "format": "int64"
                },
                "version": {
                  "type": "string"
                }
              }
            }
          },
          "description": "API Milestone response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/get"
      },
      "task": true
    },
    {
      "name": "getDatadogIntegration",
      "summary": "getDatadogIntegration",
      "description": "Gets datadog integration config by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the integration: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseDataDogIntegration",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "DataDogIntegration",
              "required": [
                "credentialName",
                "name",
                "types"
              ],
              "type": "object",
              "properties": {
                "credentialName": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "types": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "eventCount": {
                  "type": "integer",
                  "format": "int32"
                },
                "metricCount": {
                  "type": "integer",
                  "format": "int32"
                },
                "status": {
                  "title": "Status",
                  "enum": [
                    "DISCONNECTED",
                    "LIMITED",
                    "NONE",
                    "RUNNING",
                    "STARTING",
                    "STOPPED"
                  ],
                  "type": "string"
                }
              },
              "description": "Represents a configured datadog integration"
            }
          },
          "description": "Datadog Integration API DataDogIntegration response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDatadogIntegration"
      },
      "task": true
    },
    {
      "name": "deleteDatadogIntegration",
      "summary": "deleteDatadogIntegration",
      "description": "Deletes a datadog integration config and stops polling for data",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the integration: string",
          "required": true,
          "schema": {
            "title": "name",
            "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": "/deleteDatadogIntegration"
      },
      "task": true
    },
    {
      "name": "updateDatadogIntegration",
      "summary": "updateDatadogIntegration",
      "description": "Update a datadog integration by name",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "The name of the integration: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Config updates for the integration: {\"credentialName\": \"string\", \"name\": \"string\", \"types\": \"array\"}",
          "required": true,
          "schema": {
            "title": "DataDogBaseIntegration",
            "required": [
              "credentialName",
              "name",
              "types"
            ],
            "type": "object",
            "properties": {
              "credentialName": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "types": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              }
            },
            "description": "Represents the basic information required to configure a datadog integration"
          }
        }
      ],
      "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": "/updateDatadogIntegration"
      },
      "task": true
    },
    {
      "name": "testDatadogCredentials",
      "summary": "testDatadogCredentials",
      "description": "Tests credentials (identified by name) against the datadog API",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The named credential set to validate: {\"credentialName\": \"string\"}",
          "required": true,
          "schema": {
            "title": "DataDogValidator",
            "required": [
              "credentialName"
            ],
            "type": "object",
            "properties": {
              "credentialName": {
                "type": "string"
              }
            },
            "description": "Contains the name of the credentials to validate"
          }
        }
      ],
      "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": "/testDatadogCredentials"
      },
      "task": true
    },
    {
      "name": "getAllDatadogIntegrations",
      "summary": "getAllDatadogIntegrations",
      "description": "Retrieves all currently configured datadog integrations",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "DataDogIntegration",
            "required": [
              "credentialName",
              "name",
              "types"
            ],
            "type": "object",
            "properties": {
              "credentialName": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "types": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "eventCount": {
                "type": "integer",
                "format": "int32"
              },
              "metricCount": {
                "type": "integer",
                "format": "int32"
              },
              "status": {
                "title": "Status",
                "enum": [
                  "DISCONNECTED",
                  "LIMITED",
                  "NONE",
                  "RUNNING",
                  "STARTING",
                  "STOPPED"
                ],
                "type": "string"
              }
            },
            "description": "Represents a configured datadog integration"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllDatadogIntegrations"
      },
      "task": true
    },
    {
      "name": "postDatadogIntegration",
      "summary": "postDatadogIntegration",
      "description": "Creates a new datadog integration",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "The config for the datadog integration: {\"credentialName\": \"string\", \"name\": \"string\", \"types\": \"array\"}",
          "required": true,
          "schema": {
            "title": "DataDogBaseIntegration",
            "required": [
              "credentialName",
              "name",
              "types"
            ],
            "type": "object",
            "properties": {
              "credentialName": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "types": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              }
            },
            "description": "Represents the basic information required to configure a datadog integration"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseDataDogIntegration",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "DataDogIntegration",
              "required": [
                "credentialName",
                "name",
                "types"
              ],
              "type": "object",
              "properties": {
                "credentialName": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "types": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "eventCount": {
                  "type": "integer",
                  "format": "int32"
                },
                "metricCount": {
                  "type": "integer",
                  "format": "int32"
                },
                "status": {
                  "title": "Status",
                  "enum": [
                    "DISCONNECTED",
                    "LIMITED",
                    "NONE",
                    "RUNNING",
                    "STARTING",
                    "STOPPED"
                  ],
                  "type": "string"
                }
              },
              "description": "Represents a configured datadog integration"
            }
          },
          "description": "Datadog Integration API DataDogIntegration response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postDatadogIntegration"
      },
      "task": true
    },
    {
      "name": "getColumns",
      "summary": "getColumns",
      "description": "Column names for filtering events in outbound integrations, returns a list of strings",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEventColumnDto",
          "required": [
            "status"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "EventColumnDto",
              "type": "object",
              "properties": {
                "fields": {
                  "type": "array",
                  "items": {
                    "title": "ColumnDto",
                    "type": "object",
                    "properties": {
                      "internalName": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "uiName": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                }
              }
            },
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getColumns"
      },
      "task": true
    },
    {
      "name": "postEvents",
      "summary": "postEvents",
      "description": "Process events and send them to kafka.",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "Event",
              "required": [
                "check",
                "description",
                "severity",
                "source"
              ],
              "type": "object",
              "properties": {
                "alias": {
                  "type": "string"
                },
                "check": {
                  "type": "string"
                },
                "class": {
                  "type": "string"
                },
                "deduplication_key": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "location": {
                  "title": "Location",
                  "type": "object",
                  "properties": {
                    "aisle": {
                      "type": "string"
                    },
                    "availability_zone": {
                      "type": "string"
                    },
                    "building": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string"
                    },
                    "data_center": {
                      "type": "string"
                    },
                    "floor": {
                      "type": "string"
                    },
                    "geo_coordinates": {
                      "title": "GeoLocation",
                      "type": "object",
                      "properties": {
                        "lat": {
                          "type": "number"
                        },
                        "long": {
                          "type": "number"
                        }
                      }
                    },
                    "postcode": {
                      "type": "string"
                    },
                    "rack": {
                      "type": "string"
                    },
                    "region": {
                      "type": "string"
                    },
                    "state_or_province": {
                      "type": "string"
                    },
                    "street": {
                      "type": "string"
                    },
                    "suite": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "u_position": {
                      "type": "string"
                    }
                  }
                },
                "maintenance": {
                  "type": "string"
                },
                "manager": {
                  "type": "string"
                },
                "manager_id": {
                  "type": "string"
                },
                "namespace": {
                  "type": "string"
                },
                "services": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "severity": {
                  "title": "Severity",
                  "enum": [
                    "clear",
                    "unknown",
                    "warning",
                    "minor",
                    "major",
                    "critical"
                  ],
                  "type": "string",
                  "description": "Severity Level (case-insensitive)"
                },
                "source": {
                  "type": "string"
                },
                "tags": {
                  "type": "object"
                },
                "time": {
                  "type": "integer",
                  "description": "Time of event, seconds since Jan 1, 1970 UTC",
                  "format": "int64"
                },
                "type": {
                  "type": "string"
                },
                "utc_offset": {
                  "type": "string"
                }
              }
            },
            "description": ""
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseVoid",
          "required": [
            "status"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            }
          },
          "description": "Empty (no data) response"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postEvents"
      },
      "task": true
    },
    {
      "name": "reindex",
      "summary": "reindex",
      "description": "Poll alerts/incidents with rest calls to alert service/incident service and insert documents to ES indices",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"end_time\": \"string\", \"start_time\": \"string\", \"type\": \"Must be one of [ALERT, INCIDENT]\"}",
          "required": false,
          "schema": {
            "title": "ReindexRequest",
            "required": [
              "type"
            ],
            "type": "object",
            "properties": {
              "end_time": {
                "pattern": "\\S",
                "type": "string"
              },
              "start_time": {
                "pattern": "\\S",
                "type": "string"
              },
              "type": {
                "title": "IndexType",
                "enum": [
                  "ALERT",
                  "INCIDENT"
                ],
                "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": "/reindex"
      },
      "task": true
    },
    {
      "name": "getReindexStatus",
      "summary": "getReindexStatus",
      "description": "Returns information on the previous and current reindex operation",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseIndexStatusDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "IndexStatusDto",
              "type": "object",
              "properties": {
                "previousRun": {
                  "type": "string"
                },
                "running": {
                  "type": "boolean"
                },
                "type": {
                  "type": "string"
                }
              }
            }
          },
          "description": "Index API IndexStatusDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getReindexStatus"
      },
      "task": true
    },
    {
      "name": "incidentDtoColumnNames",
      "summary": "incidentDtoColumnNames",
      "description": "Column names for filtering incidents in outbound integrations, returns a list of strings",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseColumnsDto",
          "required": [
            "status"
          ],
          "type": "object",
          "properties": {
            "data": {
              "title": "ColumnsDto",
              "type": "object",
              "properties": {
                "fields": {
                  "type": "array",
                  "items": {
                    "title": "ColumnInfo",
                    "type": "object",
                    "properties": {
                      "internalName": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "uiName": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                }
              }
            },
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/incidentDtoColumnNames"
      },
      "task": true
    },
    {
      "name": "incidentsCount",
      "summary": "incidentsCount",
      "description": "Count the number of incidents that match the given filter.",
      "input": [
        {
          "name": "filter",
          "type": "string",
          "info": "Query string to filter the incidents by. The string must be in AIOps query language. You may use any of the columns for filtering.: string",
          "required": false,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        },
        {
          "name": "utcOffset",
          "type": "string",
          "info": "The difference in hours from Coordinated Universal Time (UTC) to user's local time.: string",
          "required": false,
          "schema": {
            "title": "utcOffset",
            "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": "/incidentsCount"
      },
      "task": true
    },
    {
      "name": "listIncidents",
      "summary": "listIncidents",
      "description": "List incidents that match the given filter.",
      "input": [
        {
          "name": "filter",
          "type": "string",
          "info": "Query string to filter the incidents by. The string must be in AIOps query language. You may use any of the columns for filtering.: string",
          "required": false,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Number of incidents to fetch, after skipping the number specified in the 'start' parameter if any.: 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "sortBy",
          "type": "string",
          "info": "Parameter to sort the incidents by. You may use any of the columns for sorting.: string",
          "required": false,
          "schema": {
            "title": "sortBy",
            "type": "string"
          }
        },
        {
          "name": "sortOrder",
          "type": "string",
          "info": "Order to sort the incidents by.: string",
          "required": false,
          "schema": {
            "title": "sortOrder",
            "type": "string"
          }
        },
        {
          "name": "start",
          "type": "number",
          "info": "Number of incidents to skip. That is, the first incident returned will be object # start + 1.: 123",
          "required": false,
          "schema": {
            "title": "start",
            "type": "number"
          }
        },
        {
          "name": "utcOffset",
          "type": "string",
          "info": "The difference in hours from Coordinated Universal Time (UTC) to user's local time.: string",
          "required": false,
          "schema": {
            "title": "utcOffset",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseIncidentWebResponse",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "IncidentWebResponse",
              "type": "object",
              "properties": {
                "result": {
                  "type": "array",
                  "items": {
                    "title": "IncidentWebDto",
                    "type": "object",
                    "properties": {
                      "assignee": {
                        "type": "string",
                        "description": "email of the user who is assigned to the incident/alert",
                        "example": "test@moogsoft.com"
                      },
                      "description": {
                        "type": "string",
                        "description": "description that usually contains the incident/alert ID, source and service",
                        "example": "1 Source: www.your-source.com Affected retail, support\n"
                      },
                      "first_event_time": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds of the first event for this incident",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "last_event_time": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds of the last event for this incident",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "severity": {
                        "title": "Severity",
                        "enum": [
                          "clear",
                          "unknown",
                          "warning",
                          "minor",
                          "major",
                          "critical"
                        ],
                        "type": "string",
                        "description": "Severity Level (case-insensitive)"
                      },
                      "status": {
                        "title": "Status",
                        "enum": [
                          "error",
                          "open",
                          "in progress",
                          "superseded",
                          "resolved",
                          "closed"
                        ],
                        "type": "string",
                        "description": "Status for incidents and alerts (case-insensitive)"
                      },
                      "classes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "incident classes"
                      },
                      "closed_on": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds indicating when the incident was closed",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "created_at": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds indicating when the incident was created",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "in_progress_on": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds indicating when the incident was moved to in progress",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "incident_id": {
                        "type": "integer",
                        "description": "incident ID",
                        "format": "int64",
                        "example": 101
                      },
                      "last_state_change": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds indicating when the incident status was changed",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "resolved_on": {
                        "type": "integer",
                        "description": "Epoch timestamp in seconds indicating when the incident was resolved",
                        "format": "int64",
                        "example": 1607985505
                      },
                      "services": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "incident classes"
                      },
                      "superseded_by": {
                        "type": "integer",
                        "description": "the superseded by incident ID",
                        "format": "int64",
                        "example": 33
                      },
                      "tags": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object"
                        },
                        "description": "the tags belong to the incident"
                      },
                      "total_alerts": {
                        "type": "integer",
                        "description": "the total alerts belong to the incident",
                        "format": "int64",
                        "example": 30
                      },
                      "types": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "the unique types belong to the incident"
                      }
                    },
                    "description": "Incidents returned from list endpoint"
                  },
                  "description": ""
                }
              }
            }
          },
          "description": "API IncidentWebResponse response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listIncidents"
      },
      "task": true
    },
    {
      "name": "updateIncidents",
      "summary": "updateIncidents",
      "description": "Update the incidents to the given status and/or assignee.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"assignee\": \"string\", \"status\": \"string\", \"ids\": \"array\"}",
          "required": false,
          "schema": {
            "title": "BulkPatchPayloadDto",
            "required": [
              "ids"
            ],
            "type": "object",
            "properties": {
              "assignee": {
                "type": "string",
                "description": "user email that gets assigned to the incident",
                "example": "exampleUser@moogsoft.com"
              },
              "status": {
                "type": "string",
                "description": "status that gets assigned to the incident",
                "example": "closed"
              },
              "ids": {
                "minItems": 1,
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                },
                "description": "Unique incident ids to update"
              }
            },
            "description": "Incident bulk update payload"
          }
        }
      ],
      "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": "/updateIncidents"
      },
      "task": true
    },
    {
      "name": "updateIncident",
      "summary": "updateIncident",
      "description": "Update the incident to the given status and/or assignee.",
      "input": [
        {
          "name": "incidentId",
          "type": "number",
          "info": "Id of the incident that is being updated: 123",
          "required": true,
          "schema": {
            "title": "incidentId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"assignee\": \"string\", \"status\": \"string\"}",
          "required": false,
          "schema": {
            "title": "PatchPayloadDto",
            "type": "object",
            "properties": {
              "assignee": {
                "type": "string",
                "description": "user email that gets assigned to the incident",
                "example": "exampleUser@moogsoft.com"
              },
              "status": {
                "type": "string",
                "description": "status that gets assigned to the incident",
                "example": "closed"
              }
            },
            "description": "Incident update payload"
          }
        }
      ],
      "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": "/updateIncident"
      },
      "task": true
    },
    {
      "name": "getIncidentSummaries",
      "summary": "getIncidentSummaries",
      "description": "Returns a histogram of incident count within a configurable time range and number of bins (chunks). Also returns the average count for the same period but a week earlier.",
      "input": [
        {
          "name": "begin",
          "type": "number",
          "info": "Beginning (inclusive) of the incident creation time range specified in epoch time seconds.Incidents created at or after this time will be included in the results.: 123",
          "required": false,
          "schema": {
            "title": "begin",
            "type": "number"
          }
        },
        {
          "name": "buckets",
          "type": "number",
          "info": "Number of histogram bins (chunks) to return.: 123",
          "required": false,
          "schema": {
            "title": "buckets",
            "type": "number"
          }
        },
        {
          "name": "end",
          "type": "number",
          "info": "End (inclusive) of the incident creation time range specified in epoch time seconds. Incidents created at or before this time will be included in the results.: 123",
          "required": false,
          "schema": {
            "title": "end",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseIncidentSummariesResponse",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "IncidentSummariesResponse",
              "type": "object",
              "properties": {
                "begin": {
                  "type": "integer",
                  "description": "Value of the 'begin' query parameter, echo'd back.",
                  "format": "int32"
                },
                "bin_size": {
                  "type": "integer",
                  "description": "Size of each histogram bin in number of seconds.",
                  "format": "int32"
                },
                "bins": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "description": "Array of histogram values, one per bin, in chronological sort order.Each item represents a bin. It is an array with exactly two values. The first value is the bin's start epoch time (seconds). The bin's end time (inclusive) can be computed as bin-start-time + bin_size, except for the last bin whose end time is always equal to the 'end' property, and the second value is the count of incidents that occurred within the bin's time-range."
                },
                "end": {
                  "type": "integer",
                  "description": "Value of the 'end' query parameter, echo'd back.",
                  "format": "int32"
                },
                "num_bins": {
                  "type": "integer",
                  "description": "number of histogram bins (chunks) returned. Should be equal to the value of the query parameter 'buckets' is provided or its default value, 12.",
                  "format": "int32"
                },
                "prev_avg": {
                  "type": "number",
                  "description": "The average incident-count for the given duration a week back, i.e. the range [begin - 7 * 24 * 3600, end - 7 * 24 * 3600]"
                }
              },
              "description": "Incident summaries response."
            }
          },
          "description": "API IncidentSummariesResponse response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getIncidentSummaries"
      },
      "task": true
    },
    {
      "name": "getIncidentTagsConfig",
      "summary": "getIncidentTagsConfig",
      "description": "Get tags config for incidents.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseIncidentTagsConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "IncidentTagsConfigDto",
              "required": [
                "tagsPropagation"
              ],
              "type": "object",
              "properties": {
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of flags to propagate. NULL will propagate all. Empty will propagate none."
                },
                "tagsPropagation": {
                  "type": "boolean",
                  "description": "Flag to enable/disable incident tags propagation"
                }
              }
            }
          },
          "description": "API IncidentTagsConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getIncidentTagsConfig"
      },
      "task": true
    },
    {
      "name": "patchIncidentTagsConfig",
      "summary": "patchIncidentTagsConfig",
      "description": "Update tags config for incidents.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"tags\": \"array\", \"tagsPropagation\": \"boolean\"}",
          "required": false,
          "schema": {
            "title": "IncidentTagsConfigDto",
            "required": [
              "tagsPropagation"
            ],
            "type": "object",
            "properties": {
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "List of flags to propagate. NULL will propagate all. Empty will propagate none."
              },
              "tagsPropagation": {
                "type": "boolean",
                "description": "Flag to enable/disable incident tags propagation"
              }
            }
          }
        }
      ],
      "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": "/patchIncidentTagsConfig"
      },
      "task": true
    },
    {
      "name": "getIntegrationLogs",
      "summary": "getIntegrationLogs",
      "description": "Gets integration logs from Elasticsearch",
      "input": [
        {
          "name": "filterNames",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "title": "filterNames",
            "type": "array"
          }
        },
        {
          "name": "filterValues",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "title": "filterValues",
            "type": "array"
          }
        },
        {
          "name": "keyword",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "keyword",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseListIntegrationLog",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "array",
              "items": {
                "title": "IntegrationLog",
                "required": [
                  "level"
                ],
                "type": "object",
                "properties": {
                  "component": {
                    "type": "string"
                  },
                  "integration_id": {
                    "type": "string"
                  },
                  "level": {
                    "title": "LogLevel",
                    "enum": [
                      "DEBUG",
                      "ERROR",
                      "INFO",
                      "TRACE",
                      "WARN"
                    ],
                    "type": "string"
                  },
                  "message": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "service": {
                    "type": "string"
                  },
                  "tenant": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "timestamp": {
                    "title": "Instant",
                    "type": "object",
                    "properties": {
                      "nanos": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "seconds": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "epochSecond": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "nano": {
                        "type": "integer",
                        "format": "int32"
                      }
                    }
                  }
                }
              },
              "description": ""
            }
          },
          "description": "API ListIntegrationLog response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getIntegrationLogs"
      },
      "task": true
    },
    {
      "name": "postIntegrationLogs",
      "summary": "postIntegrationLogs",
      "description": "Posts integration logs to Elasticsearch",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "IntegrationLog",
              "required": [
                "level"
              ],
              "type": "object",
              "properties": {
                "component": {
                  "type": "string"
                },
                "integration_id": {
                  "type": "string"
                },
                "level": {
                  "title": "LogLevel",
                  "enum": [
                    "DEBUG",
                    "ERROR",
                    "INFO",
                    "TRACE",
                    "WARN"
                  ],
                  "type": "string"
                },
                "message": {
                  "minLength": 1,
                  "type": "string"
                },
                "service": {
                  "type": "string"
                },
                "tenant": {
                  "minLength": 1,
                  "type": "string"
                },
                "timestamp": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            },
            "description": ""
          }
        }
      ],
      "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": "/postIntegrationLogs"
      },
      "task": true
    },
    {
      "name": "downloadMarFile",
      "summary": "downloadMarFile",
      "description": "Downloads the specified file",
      "input": [
        {
          "name": "file",
          "type": "string",
          "info": "The file name, including extension: string",
          "required": true,
          "schema": {
            "title": "file",
            "type": "string"
          }
        },
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "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": "/downloadMarFile"
      },
      "task": true
    },
    {
      "name": "getAvailableMars",
      "summary": "getAvailableMars",
      "description": "Returns a summary of all available MARs, including file names and checksums.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "AvailableMarsDto",
          "type": "object",
          "properties": {
            "mars": {
              "type": "object",
              "additionalProperties": {
                "title": "MarSummaryDto",
                "type": "object",
                "properties": {
                  "contents": {
                    "title": "MoogResponseMapStringString",
                    "required": [
                      "status",
                      "data"
                    ],
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "string",
                        "description": "Success status indicator (always \"success\")",
                        "example": "success"
                      },
                      "data": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        }
                      }
                    },
                    "description": "API MapStringString response body"
                  }
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAvailableMars"
      },
      "task": true
    },
    {
      "name": "getgetMarFileChecksum",
      "summary": "getMarFileChecksum",
      "description": "Retrieves the checksum for the specified file",
      "input": [
        {
          "name": "file",
          "type": "string",
          "info": "The file name, including extension: string",
          "required": true,
          "schema": {
            "title": "file",
            "type": "string"
          }
        },
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "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": "/getgetMarFileChecksum"
      },
      "task": true
    },
    {
      "name": "getMarConfig",
      "summary": "getMarConfig",
      "description": "Returns a particular MAR config record, identified by its name and component",
      "input": [
        {
          "name": "theNameOfTheConfig",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "theNameOfTheConfig",
            "type": "string"
          }
        },
        {
          "name": "component",
          "type": "string",
          "info": "The component of the config: string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MarConfigDto",
          "type": "object",
          "properties": {
            "config": {
              "title": "MoogResponseMapStringObject",
              "required": [
                "status",
                "data"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Success status indicator (always \"success\")",
                  "example": "success"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "description": "API MapStringObject response body"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarConfig"
      },
      "task": true
    },
    {
      "name": "postMarConfig",
      "summary": "postMarConfig",
      "description": "Returns a particular MAR config record, identified by its name and component",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "Details to associate a mar with a collector: {\"collectors\": {\"mar\": \"string\", \"namespace\": \"string\", \"uuids\": \"array\"}, \"component\": \"string\", \"config\": {\"status\": \"string\", \"data\": \"object\"}, \"name\": \"string\"}",
          "required": true,
          "schema": {
            "title": "AssociatedMarConfigDto",
            "type": "object",
            "properties": {
              "collectors": {
                "title": "CollectorAssociationsDto",
                "type": "object",
                "properties": {
                  "mar": {
                    "type": "string"
                  },
                  "namespace": {
                    "type": "string"
                  },
                  "uuids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  }
                }
              },
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "config": {
                "title": "Config",
                "required": [
                  "status",
                  "data"
                ],
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Success status indicator (always \"success\")",
                    "example": "success"
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "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": "/postMarConfig"
      },
      "task": true
    },
    {
      "name": "associateMarConfig",
      "summary": "associateMarConfig",
      "description": "Associates a config record with a MAR and a Collector, identified by UUID.",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Details to associate a mar with a collector: {\"component\": \"string\", \"mar\": \"string\", \"name\": \"string\", \"namespace\": \"string\"}",
          "required": true,
          "schema": {
            "title": "MarCredentialsAssociationDto",
            "type": "object",
            "properties": {
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "mar": {
                "pattern": "\\S",
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "namespace": {
                "pattern": "\\S",
                "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": "/associateMarConfig"
      },
      "task": true
    },
    {
      "name": "getMarCollectorConfig",
      "summary": "getMarCollectorConfig",
      "description": "Returns the config information need to identify a config object for a Collector, for a particular MAR",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "V1MarsConfigMarResponse",
          "type": "object",
          "properties": {
            "component": {
              "pattern": "\\S",
              "type": "string"
            },
            "name": {
              "pattern": "\\S",
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarCollectorConfig"
      },
      "task": true
    },
    {
      "name": "disassociateMarConfig1",
      "summary": "disassociateMarConfig1",
      "description": "Returns the config information need to identify a config object for a Collector, for a particular MAR.",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "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": "/disassociateMarConfig1"
      },
      "task": true
    },
    {
      "name": "getAllDefinitions",
      "summary": "getAllDefinitions",
      "description": "getAllDefinitions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMapStringMarDefinitionDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "object",
              "additionalProperties": {
                "title": "MoogResponseMarDefinitionDto",
                "required": [
                  "status",
                  "data"
                ],
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Success status indicator (always \"success\")",
                    "example": "success"
                  },
                  "data": {
                    "title": "MarDefinitionDto",
                    "type": "object",
                    "properties": {
                      "config": {
                        "title": "MoogResponseMapStringObject",
                        "required": [
                          "status",
                          "data"
                        ],
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "description": "Success status indicator (always \"success\")",
                            "example": "success"
                          },
                          "data": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "object"
                            }
                          }
                        },
                        "description": "API MapStringObject response body"
                      },
                      "credentials": {
                        "title": "MoogResponseMapStringString",
                        "required": [
                          "status",
                          "data"
                        ],
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "description": "Success status indicator (always \"success\")",
                            "example": "success"
                          },
                          "data": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        },
                        "description": "API MapStringString response body"
                      }
                    }
                  }
                },
                "description": "API MarDefinitionDto response body"
              }
            }
          },
          "description": "API MapStringMarDefinitionDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllDefinitions"
      },
      "task": true
    },
    {
      "name": "disassociateMarConfig",
      "summary": "disassociateMarConfig",
      "description": "disassociateMarConfig",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "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": "/disassociateMarConfig"
      },
      "task": true
    },
    {
      "name": "getMarCollectorCredentials",
      "summary": "getMarCollectorCredentials",
      "description": "Returns the credentials information need to identify a credentials object for a Collector, for a particular MAR.",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The uuid of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "V1CollectorsMarsMarResponse",
          "type": "object",
          "properties": {
            "component": {
              "pattern": "\\S",
              "type": "string"
            },
            "name": {
              "pattern": "\\S",
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarCollectorCredentials"
      },
      "task": true
    },
    {
      "name": "disassociateMarCredentials",
      "summary": "disassociateMarCredentials",
      "description": "De-associate credentials with a MAR and collector",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The uuid of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "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": "/disassociateMarCredentials"
      },
      "task": true
    },
    {
      "name": "associateMarCredentials",
      "summary": "associateMarCredentials",
      "description": "Associate credentials with a MAR and collector",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The uuid of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Details to associate credentials for a mar with a collector: {\"component\": \"string\", \"mar\": \"string\", \"name\": \"string\", \"namespace\": \"string\"}",
          "required": true,
          "schema": {
            "title": "MarCredentialsAssociationDto",
            "type": "object",
            "properties": {
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "mar": {
                "pattern": "\\S",
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "namespace": {
                "pattern": "\\S",
                "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": "/associateMarCredentials"
      },
      "task": true
    },
    {
      "name": "getMarCredentials",
      "summary": "getMarCredentials",
      "description": "getMarCredentials",
      "input": [
        {
          "name": "component",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMarCredentialsDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "MarCredentialsDto",
              "type": "object",
              "properties": {
                "credentials": {
                  "title": "MoogResponseMapStringObject",
                  "required": [
                    "status",
                    "data"
                  ],
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Success status indicator (always \"success\")",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    }
                  },
                  "description": "API MapStringObject response body"
                }
              }
            }
          },
          "description": "API MarCredentialsDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarCredentials"
      },
      "task": true
    },
    {
      "name": "getDefinition",
      "summary": "getDefinition",
      "description": "getDefinition",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMarDefinitionDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "MarDefinitionDto",
              "type": "object",
              "properties": {
                "config": {
                  "title": "MoogResponseMapStringObject",
                  "required": [
                    "status",
                    "data"
                  ],
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Success status indicator (always \"success\")",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    }
                  },
                  "description": "API MapStringObject response body"
                },
                "credentials": {
                  "title": "MoogResponseMapStringString",
                  "required": [
                    "status",
                    "data"
                  ],
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Success status indicator (always \"success\")",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  },
                  "description": "API MapStringString response body"
                }
              }
            }
          },
          "description": "API MarDefinitionDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDefinition"
      },
      "task": true
    },
    {
      "name": "getdownloadMarFile",
      "summary": "downloadMarFile",
      "description": "downloadMarFile",
      "input": [
        {
          "name": "file",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "file",
            "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": "/getdownloadMarFile"
      },
      "task": true
    },
    {
      "name": "getMarCollectorCredentialsRedirect",
      "summary": "getMarCollectorCredentialsRedirect",
      "description": "getMarCollectorCredentialsRedirect",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "mar",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMapStringString",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "description": "API MapStringString response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarCollectorCredentialsRedirect"
      },
      "task": true
    },
    {
      "name": "associateMarCredentials2",
      "summary": "associateMarCredentials2",
      "description": "associateMarCredentials2",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"component\": \"string\", \"mar\": \"string\", \"name\": \"string\", \"namespace\": \"string\"}",
          "required": false,
          "schema": {
            "title": "MarCredentialsAssociationDto",
            "type": "object",
            "properties": {
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "mar": {
                "pattern": "\\S",
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "namespace": {
                "pattern": "\\S",
                "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": "/associateMarCredentials2"
      },
      "task": true
    },
    {
      "name": "getMarFileChecksum",
      "summary": "getMarFileChecksum",
      "description": "getMarFileChecksum",
      "input": [
        {
          "name": "file",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "file",
            "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": "/getMarFileChecksum"
      },
      "task": true
    },
    {
      "name": "getMarCollectorConfigRedirect",
      "summary": "getMarCollectorConfigRedirect",
      "description": "getMarCollectorConfigRedirect",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "mar",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMapStringString",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "description": "API MapStringString response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarCollectorConfigRedirect"
      },
      "task": true
    },
    {
      "name": "associateMarConfig1",
      "summary": "associateMarConfig1",
      "description": "associateMarConfig1",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"component\": \"string\", \"mar\": \"string\", \"name\": \"string\", \"namespace\": \"string\"}",
          "required": false,
          "schema": {
            "title": "MarCredentialsAssociationDto",
            "type": "object",
            "properties": {
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "mar": {
                "pattern": "\\S",
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "namespace": {
                "pattern": "\\S",
                "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": "/associateMarConfig1"
      },
      "task": true
    },
    {
      "name": "disassociateMarCredentials2",
      "summary": "disassociateMarCredentials2",
      "description": "disassociateMarCredentials2",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "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": "/disassociateMarCredentials2"
      },
      "task": true
    },
    {
      "name": "getMoobConfig1",
      "summary": "getMoobConfig1",
      "description": "getMoobConfig1",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMapStringObject",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "description": "API MapStringObject response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMoobConfig1"
      },
      "task": true
    },
    {
      "name": "postMoobConfig",
      "summary": "postMoobConfig",
      "description": "postMoobConfig",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"config\": {\"status\": \"string\", \"data\": \"object\"}, \"fully_qualified_moob\": \"string\", \"uuid\": \"string\"}",
          "required": false,
          "schema": {
            "title": "MoobConfigDto",
            "required": [
              "config"
            ],
            "type": "object",
            "properties": {
              "config": {
                "title": "Config",
                "required": [
                  "status",
                  "data"
                ],
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Success status indicator (always \"success\")",
                    "example": "success"
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              },
              "fully_qualified_moob": {
                "pattern": "\\S",
                "type": "string"
              },
              "uuid": {
                "pattern": "\\S",
                "type": "string"
              }
            },
            "description": "Creates moob config for a particular collector"
          }
        }
      ],
      "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": "/postMoobConfig"
      },
      "task": true
    },
    {
      "name": "getgetAvailableMars",
      "summary": "getAvailableMars",
      "description": "Returns a particular MAR credential record, identified by its name and component.",
      "input": [
        {
          "name": "theNameOfTheConfig",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "theNameOfTheConfig",
            "type": "string"
          }
        },
        {
          "name": "component",
          "type": "string",
          "info": "The component of the config.: string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "The name of the credential.: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseAvailableMarsDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "AvailableMarsDto",
              "type": "object",
              "properties": {
                "mars": {
                  "type": "object",
                  "additionalProperties": {
                    "title": "MarSummaryDto",
                    "type": "object",
                    "properties": {
                      "contents": {
                        "title": "MoogResponseMapStringString",
                        "required": [
                          "status",
                          "data"
                        ],
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "description": "Success status indicator (always \"success\")",
                            "example": "success"
                          },
                          "data": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            }
                          }
                        },
                        "description": "API MapStringString response body"
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "API AvailableMarsDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getgetAvailableMars"
      },
      "task": true
    },
    {
      "name": "postMarConfig1",
      "summary": "postMarConfig1",
      "description": "Returns a particular MAR config record, identified by its name and component",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "Details to associate a mar with a collector: {\"collectors\": {\"mar\": \"string\", \"namespace\": \"string\", \"uuids\": \"array\"}, \"component\": \"string\", \"config\": {\"status\": \"string\", \"data\": \"object\"}, \"name\": \"string\"}",
          "required": true,
          "schema": {
            "title": "AssociatedMarConfigDto",
            "type": "object",
            "properties": {
              "collectors": {
                "title": "CollectorAssociationsDto",
                "type": "object",
                "properties": {
                  "mar": {
                    "type": "string"
                  },
                  "namespace": {
                    "type": "string"
                  },
                  "uuids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  }
                }
              },
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "config": {
                "title": "Config",
                "required": [
                  "status",
                  "data"
                ],
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Success status indicator (always \"success\")",
                    "example": "success"
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "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": "/postMarConfig1"
      },
      "task": true
    },
    {
      "name": "getgetMarConfig",
      "summary": "getMarConfig",
      "description": "getMarConfig",
      "input": [
        {
          "name": "component",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMarConfigDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "MarConfigDto",
              "type": "object",
              "properties": {
                "config": {
                  "title": "MoogResponseMapStringObject",
                  "required": [
                    "status",
                    "data"
                  ],
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Success status indicator (always \"success\")",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    }
                  },
                  "description": "API MapStringObject response body"
                }
              }
            }
          },
          "description": "API MarConfigDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getgetMarConfig"
      },
      "task": true
    },
    {
      "name": "postMarConfig2",
      "summary": "postMarConfig2",
      "description": "postMarConfig2",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"collectors\": {\"mar\": \"string\", \"namespace\": \"string\", \"uuids\": \"array\"}, \"component\": \"string\", \"config\": {\"status\": \"string\", \"data\": \"object\"}, \"name\": \"string\"}",
          "required": false,
          "schema": {
            "title": "AssociatedMarConfigDto",
            "type": "object",
            "properties": {
              "collectors": {
                "title": "CollectorAssociationsDto",
                "type": "object",
                "properties": {
                  "mar": {
                    "type": "string"
                  },
                  "namespace": {
                    "type": "string"
                  },
                  "uuids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  }
                }
              },
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "config": {
                "title": "Config",
                "required": [
                  "status",
                  "data"
                ],
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Success status indicator (always \"success\")",
                    "example": "success"
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "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": "/postMarConfig2"
      },
      "task": true
    },
    {
      "name": "getMoob1",
      "summary": "getMoob1",
      "description": "getMoob1",
      "input": [
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseMoobDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "MoobDto",
              "type": "object",
              "properties": {
                "class": {
                  "type": "string"
                },
                "collector": {
                  "title": "Collector",
                  "type": "object",
                  "properties": {
                    "scheduled": {
                      "type": "array",
                      "items": {
                        "title": "MoogResponseMapStringObject",
                        "required": [
                          "status",
                          "data"
                        ],
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "description": "Success status indicator (always \"success\")",
                            "example": "success"
                          },
                          "data": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "object"
                            }
                          }
                        },
                        "description": "API MapStringObject response body"
                      },
                      "description": ""
                    },
                    "streaming": {
                      "title": "MoogResponseMapStringObject",
                      "required": [
                        "status",
                        "data"
                      ],
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "description": "Success status indicator (always \"success\")",
                          "example": "success"
                        },
                        "data": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object"
                          }
                        }
                      },
                      "description": "API MapStringObject response body"
                    }
                  }
                },
                "description": {
                  "type": "string"
                },
                "detectors": {
                  "type": "array",
                  "items": {
                    "title": "Detector",
                    "type": "object",
                    "properties": {
                      "default": {
                        "type": "boolean"
                      },
                      "metrics": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": ""
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                },
                "local-defaults": {
                  "title": "MoogResponseMapStringObject",
                  "required": [
                    "status",
                    "data"
                  ],
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Success status indicator (always \"success\")",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    }
                  },
                  "description": "API MapStringObject response body"
                },
                "name": {
                  "type": "string"
                },
                "post-processors": {
                  "type": "array",
                  "items": {
                    "title": "PostProcessor",
                    "type": "object",
                    "properties": {
                      "metrics": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": ""
                      },
                      "name": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                },
                "pre-processors": {
                  "type": "array",
                  "items": {
                    "title": "PreProcessor",
                    "type": "object",
                    "properties": {
                      "metrics": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": ""
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                }
              }
            }
          },
          "description": "API MoobDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMoob1"
      },
      "task": true
    },
    {
      "name": "getMoobConfig",
      "summary": "getMoobConfig",
      "description": "Gets Config for a particular Moob and collector",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The UUID of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": "The Fully Qualified Moob: string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "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": "/getMoobConfig"
      },
      "task": true
    },
    {
      "name": "createMoobConfig",
      "summary": "createMoobConfig",
      "description": "Creates Config for a particular Moob and collector",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Details to associate moob config with a collector: {\"config\": {\"status\": \"string\", \"data\": \"object\"}, \"fully_qualified_moob\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "MoobConfigDto",
            "required": [
              "config"
            ],
            "type": "object",
            "properties": {
              "config": {
                "title": "Config",
                "required": [
                  "status",
                  "data"
                ],
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Success status indicator (always \"success\")",
                    "example": "success"
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  }
                }
              },
              "fully_qualified_moob": {
                "pattern": "\\S",
                "type": "string"
              },
              "uuid": {
                "pattern": "\\S",
                "type": "string"
              }
            },
            "description": "Creates moob config for a particular collector"
          }
        }
      ],
      "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": "/createMoobConfig"
      },
      "task": true
    },
    {
      "name": "getMoob",
      "summary": "getMoob",
      "description": "Returns the definition of a Moob, including the specs for pre/post processors and default detector config for a Moob.",
      "input": [
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": "The fully qualified moob to retrieve: string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoobDto",
          "type": "object",
          "properties": {
            "class": {
              "type": "string"
            },
            "collector": {
              "title": "Collector",
              "type": "object",
              "properties": {
                "scheduled": {
                  "type": "array",
                  "items": {
                    "title": "MoogResponseMapStringObject",
                    "required": [
                      "status",
                      "data"
                    ],
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "string",
                        "description": "Success status indicator (always \"success\")",
                        "example": "success"
                      },
                      "data": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object"
                        }
                      }
                    },
                    "description": "API MapStringObject response body"
                  },
                  "description": ""
                },
                "streaming": {
                  "title": "MoogResponseMapStringObject",
                  "required": [
                    "status",
                    "data"
                  ],
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Success status indicator (always \"success\")",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    }
                  },
                  "description": "API MapStringObject response body"
                }
              }
            },
            "description": {
              "type": "string"
            },
            "detectors": {
              "type": "array",
              "items": {
                "title": "Detector",
                "type": "object",
                "properties": {
                  "default": {
                    "type": "boolean"
                  },
                  "metrics": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "type": {
                    "type": "string"
                  }
                }
              },
              "description": ""
            },
            "local-defaults": {
              "title": "MoogResponseMapStringObject",
              "required": [
                "status",
                "data"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Success status indicator (always \"success\")",
                  "example": "success"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "description": "API MapStringObject response body"
            },
            "name": {
              "type": "string"
            },
            "post-processors": {
              "type": "array",
              "items": {
                "title": "PostProcessor",
                "type": "object",
                "properties": {
                  "metrics": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  }
                }
              },
              "description": ""
            },
            "pre-processors": {
              "type": "array",
              "items": {
                "title": "PreProcessor",
                "type": "object",
                "properties": {
                  "metrics": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "type": {
                    "type": "string"
                  }
                }
              },
              "description": ""
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMoob"
      },
      "task": true
    },
    {
      "name": "associateMarCredentials1",
      "summary": "associateMarCredentials1",
      "description": "Associate credentials with a MAR and collector",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "The uuid of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Details to associate credentials for a mar with a collector: {\"component\": \"string\", \"mar\": \"string\", \"name\": \"string\", \"namespace\": \"string\"}",
          "required": true,
          "schema": {
            "title": "MarCredentialsAssociationDto",
            "type": "object",
            "properties": {
              "component": {
                "pattern": "\\S",
                "type": "string"
              },
              "mar": {
                "pattern": "\\S",
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "namespace": {
                "pattern": "\\S",
                "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": "/associateMarCredentials1"
      },
      "task": true
    },
    {
      "name": "getMarCollectorCredentials1",
      "summary": "getMarCollectorCredentials1",
      "description": "Returns the credentials information need to identify a credentials object for a Collector, for a particular MAR.",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The uuid of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "V1MarsCredentialsMarResponse",
          "type": "object",
          "properties": {
            "component": {
              "pattern": "\\S",
              "type": "string"
            },
            "name": {
              "pattern": "\\S",
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarCollectorCredentials1"
      },
      "task": true
    },
    {
      "name": "disassociateMarCredentials1",
      "summary": "disassociateMarCredentials1",
      "description": "De-associate credentials with a MAR and collector",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The uuid of the collector: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "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": "/disassociateMarCredentials1"
      },
      "task": true
    },
    {
      "name": "getMarCredentials1",
      "summary": "getMarCredentials1",
      "description": "Returns a particular MAR credential record, identified by its name and component.",
      "input": [
        {
          "name": "component",
          "type": "string",
          "info": "The component of the config.: string",
          "required": true,
          "schema": {
            "title": "component",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "The name of the credential.: string",
          "required": true,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MarCredentialsDto",
          "type": "object",
          "properties": {
            "credentials": {
              "title": "MoogResponseMapStringObject",
              "required": [
                "status",
                "data"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Success status indicator (always \"success\")",
                  "example": "success"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "description": "API MapStringObject response body"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMarCredentials1"
      },
      "task": true
    },
    {
      "name": "getAllDefinitions1",
      "summary": "getAllDefinitions1",
      "description": "Returns the definitions of all available mars.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MarDefinitionDto",
          "type": "object",
          "properties": {
            "config": {
              "title": "MoogResponseMapStringObject",
              "required": [
                "status",
                "data"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Success status indicator (always \"success\")",
                  "example": "success"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "description": "API MapStringObject response body"
            },
            "credentials": {
              "title": "MoogResponseMapStringString",
              "required": [
                "status",
                "data"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Success status indicator (always \"success\")",
                  "example": "success"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "description": "API MapStringString response body"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllDefinitions1"
      },
      "task": true
    },
    {
      "name": "getDefinition1",
      "summary": "getDefinition1",
      "description": "Returns the definitions of a specific MAR",
      "input": [
        {
          "name": "mar",
          "type": "string",
          "info": "The name of the MAR: string",
          "required": true,
          "schema": {
            "title": "mar",
            "type": "string"
          }
        },
        {
          "name": "namespace",
          "type": "string",
          "info": "The namespace of the MAR: string",
          "required": true,
          "schema": {
            "title": "namespace",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MarDefinitionDto",
          "type": "object",
          "properties": {
            "config": {
              "title": "MoogResponseMapStringObject",
              "required": [
                "status",
                "data"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Success status indicator (always \"success\")",
                  "example": "success"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "description": "API MapStringObject response body"
            },
            "credentials": {
              "title": "MoogResponseMapStringString",
              "required": [
                "status",
                "data"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "Success status indicator (always \"success\")",
                  "example": "success"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "description": "API MapStringString response body"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDefinition1"
      },
      "task": true
    },
    {
      "name": "getAllMetrics",
      "summary": "getAllMetrics",
      "description": "Retrieve the existing metric configurations.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "MetricConfigDto",
            "required": [
              "config",
              "metric"
            ],
            "type": "object",
            "properties": {
              "traceID": {
                "type": "string"
              },
              "config": {
                "type": "object"
              },
              "detector": {
                "type": "string"
              },
              "fqm": {
                "type": "string"
              },
              "metric": {
                "type": "string"
              },
              "uuid": {
                "type": "string"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllMetrics"
      },
      "task": true
    },
    {
      "name": "updateConfig",
      "summary": "updateConfig",
      "description": "Updates the configuration for an existing metric.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"traceID\": \"string\", \"config\": \"object\", \"detector\": \"string\", \"fqm\": \"string\", \"metric\": \"string\", \"uuid\": \"string\"}",
          "required": false,
          "schema": {
            "title": "MetricConfigDto",
            "required": [
              "config",
              "metric"
            ],
            "type": "object",
            "properties": {
              "traceID": {
                "type": "string"
              },
              "config": {
                "type": "object"
              },
              "detector": {
                "type": "string"
              },
              "fqm": {
                "type": "string"
              },
              "metric": {
                "type": "string"
              },
              "uuid": {
                "type": "string"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponse",
          "required": [
            "status"
          ],
          "type": "object",
          "properties": {
            "data": {
              "type": "object"
            },
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateConfig"
      },
      "task": true
    },
    {
      "name": "postMetric",
      "summary": "postMetric",
      "description": "Creates a single metric or a list of metrics",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "WebMetricDto",
              "required": [
                "data",
                "metric",
                "source"
              ],
              "type": "object",
              "properties": {
                "class": {
                  "type": "string"
                },
                "data": {
                  "type": "number"
                },
                "detector_type": {
                  "type": "string"
                },
                "fqm": {
                  "type": "string"
                },
                "key": {
                  "type": "string"
                },
                "metric": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "tags": {
                  "type": "object"
                },
                "time": {
                  "type": "integer",
                  "format": "int64"
                },
                "unit": {
                  "type": "string"
                },
                "utc_offset": {
                  "type": "string"
                },
                "uuid": {
                  "type": "string"
                }
              }
            },
            "description": ""
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponse",
          "required": [
            "status"
          ],
          "type": "object",
          "properties": {
            "data": {
              "type": "object"
            },
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postMetric"
      },
      "task": true
    },
    {
      "name": "listPagerDutyIntegration",
      "summary": "listPagerDutyIntegration",
      "description": "List all configured pagerduty integrations.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "PagerDutyIntegrationDto",
            "required": [
              "credentialName",
              "name",
              "type"
            ],
            "type": "object",
            "properties": {
              "alertFilter": {
                "type": "string",
                "description": "Alert filter for your PagerDuty integration, no filter if this is empty",
                "example": "id > 10"
              },
              "credentialName": {
                "type": "string",
                "description": "Name of the credentials for your PagerDuty integration",
                "example": "valid credential"
              },
              "incidentFilter": {
                "type": "string",
                "description": "Incident filter for your PagerDuty integration, no filter if this is empty"
              },
              "name": {
                "type": "string",
                "description": "Name of your PagerDuty integration",
                "example": "test integration"
              },
              "type": {
                "title": "PagerDutyIntegrationType",
                "enum": [
                  "ALERT",
                  "BOTH",
                  "INCIDENT"
                ],
                "type": "string",
                "description": "Pager Duty integration type."
              },
              "utcOffset": {
                "type": "string",
                "description": "offset between your timezone and UTC time in hours, represented by GMT ± offset, e.g. PST will be GMT-8. This field is set by UI automatically.",
                "example": "GMT-8"
              },
              "id": {
                "type": "string"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listPagerDutyIntegration"
      },
      "task": true
    },
    {
      "name": "postPagerDutyIntegration",
      "summary": "postPagerDutyIntegration",
      "description": "Create a new pagerduty integration.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"alertFilter\": \"string\", \"credentialName\": \"string\", \"incidentFilter\": \"string\", \"name\": \"string\", \"type\": \"Must be one of [ALERT, BOTH, INCIDENT]\", \"utcOffset\": \"string\"}",
          "required": false,
          "schema": {
            "title": "BasePagerDutyIntegrationDto",
            "required": [
              "credentialName",
              "name",
              "type"
            ],
            "type": "object",
            "properties": {
              "alertFilter": {
                "type": "string",
                "description": "Alert filter for your PagerDuty integration, no filter if this is empty",
                "example": "id > 10"
              },
              "credentialName": {
                "type": "string",
                "description": "Name of the credentials for your PagerDuty integration",
                "example": "valid credential"
              },
              "incidentFilter": {
                "type": "string",
                "description": "Incident filter for your PagerDuty integration, no filter if this is empty"
              },
              "name": {
                "type": "string",
                "description": "Name of your PagerDuty integration",
                "example": "test integration"
              },
              "type": {
                "title": "PagerDutyIntegrationType",
                "enum": [
                  "ALERT",
                  "BOTH",
                  "INCIDENT"
                ],
                "type": "string",
                "description": "Pager Duty integration type."
              },
              "utcOffset": {
                "type": "string",
                "description": "offset between your timezone and UTC time in hours, represented by GMT ± offset, e.g. PST will be GMT-8. This field is set by UI automatically.",
                "example": "GMT-8"
              }
            },
            "description": "Pager Duty integration with base attributes."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponsePagerDutyIntegrationDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "PagerDutyIntegrationDto",
              "required": [
                "credentialName",
                "name",
                "type"
              ],
              "type": "object",
              "properties": {
                "alertFilter": {
                  "type": "string",
                  "description": "Alert filter for your PagerDuty integration, no filter if this is empty",
                  "example": "id > 10"
                },
                "credentialName": {
                  "type": "string",
                  "description": "Name of the credentials for your PagerDuty integration",
                  "example": "valid credential"
                },
                "incidentFilter": {
                  "type": "string",
                  "description": "Incident filter for your PagerDuty integration, no filter if this is empty"
                },
                "name": {
                  "type": "string",
                  "description": "Name of your PagerDuty integration",
                  "example": "test integration"
                },
                "type": {
                  "title": "PagerDutyIntegrationType",
                  "enum": [
                    "ALERT",
                    "BOTH",
                    "INCIDENT"
                  ],
                  "type": "string",
                  "description": "Pager Duty integration type."
                },
                "utcOffset": {
                  "type": "string",
                  "description": "offset between your timezone and UTC time in hours, represented by GMT ± offset, e.g. PST will be GMT-8. This field is set by UI automatically.",
                  "example": "GMT-8"
                },
                "id": {
                  "type": "string"
                }
              }
            }
          },
          "description": "Pager Duty API PagerDutyIntegrationDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postPagerDutyIntegration"
      },
      "task": true
    },
    {
      "name": "getPagerDutyIntegrationById",
      "summary": "getPagerDutyIntegrationById",
      "description": "Retrieve a pagerduty integration by ID.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the Pager Duty integration: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponsePagerDutyIntegrationDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "PagerDutyIntegrationDto",
              "required": [
                "credentialName",
                "name",
                "type"
              ],
              "type": "object",
              "properties": {
                "alertFilter": {
                  "type": "string",
                  "description": "Alert filter for your PagerDuty integration, no filter if this is empty",
                  "example": "id > 10"
                },
                "credentialName": {
                  "type": "string",
                  "description": "Name of the credentials for your PagerDuty integration",
                  "example": "valid credential"
                },
                "incidentFilter": {
                  "type": "string",
                  "description": "Incident filter for your PagerDuty integration, no filter if this is empty"
                },
                "name": {
                  "type": "string",
                  "description": "Name of your PagerDuty integration",
                  "example": "test integration"
                },
                "type": {
                  "title": "PagerDutyIntegrationType",
                  "enum": [
                    "ALERT",
                    "BOTH",
                    "INCIDENT"
                  ],
                  "type": "string",
                  "description": "Pager Duty integration type."
                },
                "utcOffset": {
                  "type": "string",
                  "description": "offset between your timezone and UTC time in hours, represented by GMT ± offset, e.g. PST will be GMT-8. This field is set by UI automatically.",
                  "example": "GMT-8"
                },
                "id": {
                  "type": "string"
                }
              }
            }
          },
          "description": "Pager Duty API PagerDutyIntegrationDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPagerDutyIntegrationById"
      },
      "task": true
    },
    {
      "name": "deletePagerDutyIntegration",
      "summary": "deletePagerDutyIntegration",
      "description": "Delete a pagerduty integration by ID.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the Pager Duty integration to be deleted: string",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deletePagerDutyIntegration"
      },
      "task": true
    },
    {
      "name": "updatePagerDutyIntegation",
      "summary": "updatePagerDutyIntegation",
      "description": "Update a pagerduty integration by ID.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the Pager Duty integration to be updated: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"alertFilter\": \"string\", \"credentialName\": \"string\", \"incidentFilter\": \"string\", \"name\": \"string\", \"type\": \"Must be one of [ALERT, BOTH, INCIDENT]\", \"utcOffset\": \"string\"}",
          "required": false,
          "schema": {
            "title": "BasePagerDutyIntegrationDto",
            "required": [
              "credentialName",
              "name",
              "type"
            ],
            "type": "object",
            "properties": {
              "alertFilter": {
                "type": "string",
                "description": "Alert filter for your PagerDuty integration, no filter if this is empty",
                "example": "id > 10"
              },
              "credentialName": {
                "type": "string",
                "description": "Name of the credentials for your PagerDuty integration",
                "example": "valid credential"
              },
              "incidentFilter": {
                "type": "string",
                "description": "Incident filter for your PagerDuty integration, no filter if this is empty"
              },
              "name": {
                "type": "string",
                "description": "Name of your PagerDuty integration",
                "example": "test integration"
              },
              "type": {
                "title": "PagerDutyIntegrationType",
                "enum": [
                  "ALERT",
                  "BOTH",
                  "INCIDENT"
                ],
                "type": "string",
                "description": "Pager Duty integration type."
              },
              "utcOffset": {
                "type": "string",
                "description": "offset between your timezone and UTC time in hours, represented by GMT ± offset, e.g. PST will be GMT-8. This field is set by UI automatically.",
                "example": "GMT-8"
              }
            },
            "description": "Pager Duty integration with base attributes."
          }
        }
      ],
      "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": "/updatePagerDutyIntegation"
      },
      "task": true
    },
    {
      "name": "testPagerDutyIntegration",
      "summary": "testPagerDutyIntegration",
      "description": "Test a pagerduty integration by sending test events to PagerDuty with given filters and credentials.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"alertFilter\": \"string\", \"credentialName\": \"string\", \"incidentFilter\": \"string\", \"name\": \"string\", \"type\": \"Must be one of [ALERT, BOTH, INCIDENT]\", \"utcOffset\": \"string\"}",
          "required": false,
          "schema": {
            "title": "BasePagerDutyIntegrationDto",
            "required": [
              "credentialName",
              "name",
              "type"
            ],
            "type": "object",
            "properties": {
              "alertFilter": {
                "type": "string",
                "description": "Alert filter for your PagerDuty integration, no filter if this is empty",
                "example": "id > 10"
              },
              "credentialName": {
                "type": "string",
                "description": "Name of the credentials for your PagerDuty integration",
                "example": "valid credential"
              },
              "incidentFilter": {
                "type": "string",
                "description": "Incident filter for your PagerDuty integration, no filter if this is empty"
              },
              "name": {
                "type": "string",
                "description": "Name of your PagerDuty integration",
                "example": "test integration"
              },
              "type": {
                "title": "PagerDutyIntegrationType",
                "enum": [
                  "ALERT",
                  "BOTH",
                  "INCIDENT"
                ],
                "type": "string",
                "description": "Pager Duty integration type."
              },
              "utcOffset": {
                "type": "string",
                "description": "offset between your timezone and UTC time in hours, represented by GMT ± offset, e.g. PST will be GMT-8. This field is set by UI automatically.",
                "example": "GMT-8"
              }
            },
            "description": "Pager Duty integration with base attributes."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponsePagerDutyPostEventResponse",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "PagerDutyPostEventResponse",
              "type": "object",
              "properties": {
                "dedup_key": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              }
            }
          },
          "description": "Pager Duty API PagerDutyPostEventResponse response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/testPagerDutyIntegration"
      },
      "task": true
    },
    {
      "name": "hello",
      "summary": "hello",
      "description": "hello",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"everythingFine\": \"boolean\", \"instantTime\": {\"nanos\": 123, \"seconds\": 123, \"epochSecond\": 123, \"nano\": 123}, \"myNumber\": 123, \"name\": \"string\"}",
          "required": false,
          "schema": {
            "title": "TestMessage",
            "type": "object",
            "properties": {
              "everythingFine": {
                "type": "boolean"
              },
              "instantTime": {
                "title": "Instant",
                "type": "object",
                "properties": {
                  "nanos": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "seconds": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "nano": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "myNumber": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseTestMessage",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "TestMessage",
              "type": "object",
              "properties": {
                "everythingFine": {
                  "type": "boolean"
                },
                "instantTime": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "myNumber": {
                  "type": "integer",
                  "format": "int32"
                },
                "name": {
                  "type": "string"
                }
              }
            }
          },
          "description": "API TestMessage response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/hello"
      },
      "task": true
    },
    {
      "name": "getRollups",
      "summary": "getRollups",
      "description": "Get a series of metric rollups in time order based on the input filters",
      "input": [
        {
          "name": "endTime",
          "type": "number",
          "info": "The UTC end time of rollups to filter on, in ms or s. Default is the current time: 123",
          "required": false,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": "The full name of the managed object associated with a metric. The full name is in the format  namespace:managed-object:archive: string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "The granularity level to aggregate on. You can specify  minute ,  hour ,  day ,  week , or  year . The granularity should be smaller than the total time window. If you wa...(description truncated): Must be one of [DAY, HOUR, MINUTE, MONTH, RAW, WEEK, YEAR]",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "key",
          "type": "string",
          "info": "The key name to filter on: string",
          "required": false,
          "schema": {
            "title": "key",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The maximum number of rollups to return. Defaults to 100.: 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "The metric name to filter on: string",
          "required": true,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "source",
          "type": "string",
          "info": "The source name to filter on: string",
          "required": true,
          "schema": {
            "title": "source",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "The UTC start time of rollups to filter on, in ms or s. Default is one hour before the current time: 123",
          "required": false,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseGetSlimRollupResultsDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "GetSlimRollupResultsDto",
              "type": "object",
              "properties": {
                "comparisons": {
                  "type": "array",
                  "items": {
                    "title": "ComparisonTable1",
                    "type": "object",
                    "properties": {
                      "mongo_high": {
                        "type": "number"
                      },
                      "mongo_low": {
                        "type": "number"
                      },
                      "mongo_median": {
                        "type": "number"
                      },
                      "mongo_quartile1": {
                        "type": "number"
                      },
                      "mongo_quartile3": {
                        "type": "number"
                      },
                      "prom_high": {
                        "type": "number"
                      },
                      "prom_low": {
                        "type": "number"
                      },
                      "prom_median": {
                        "type": "number"
                      },
                      "prom_quartile1": {
                        "type": "number"
                      },
                      "prom_quartile3": {
                        "type": "number"
                      },
                      "timedAtMs": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "matched": {
                        "type": "boolean"
                      }
                    }
                  },
                  "description": ""
                },
                "fully_qualified_moob": {
                  "type": "string"
                },
                "granularity": {
                  "title": "Granularity",
                  "enum": [
                    "DAY",
                    "HOUR",
                    "MINUTE",
                    "MONTH",
                    "RAW",
                    "WEEK",
                    "YEAR"
                  ],
                  "type": "string"
                },
                "interleveDebug": {
                  "type": "string"
                },
                "key": {
                  "type": "string"
                },
                "lastTimeThereWasData": {
                  "type": "integer",
                  "format": "int64"
                },
                "lastTimestamp": {
                  "type": "string"
                },
                "metric": {
                  "type": "string"
                },
                "results": {
                  "type": "array",
                  "items": {
                    "title": "SlimRollupDto",
                    "type": "object",
                    "properties": {
                      "count": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "datasource": {
                        "type": "string"
                      },
                      "high": {
                        "type": "number"
                      },
                      "low": {
                        "type": "number"
                      },
                      "mean": {
                        "type": "number"
                      },
                      "median": {
                        "type": "number"
                      },
                      "median_absolute_deviation": {
                        "type": "number"
                      },
                      "quartile_1": {
                        "type": "number"
                      },
                      "quartile_3": {
                        "type": "number"
                      },
                      "sigma": {
                        "type": "number"
                      },
                      "timed_at_ms": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  },
                  "description": ""
                },
                "source": {
                  "type": "string"
                },
                "total": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "description": "Rollup Service API GetSlimRollupResultsDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRollups"
      },
      "task": true
    },
    {
      "name": "getSuggestions",
      "summary": "getSuggestions",
      "description": "Get possible autocomplete suggestions for the particular field and value",
      "input": [
        {
          "name": "limit",
          "type": "number",
          "info": "The maximum number of suggestions to return (by default this is 10): 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "The field name you want to autocomplete the value for (fully_qualified_moob, metric, source). The default is fully_qualified_moob: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "value",
          "type": "string",
          "info": "The value that you want to try and autocomplete: string",
          "required": true,
          "schema": {
            "title": "value",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getSuggestions"
      },
      "task": true
    },
    {
      "name": "getDetailedDatums",
      "summary": "getDetailedDatums",
      "description": "Get a series of datums in time order based on the input filters",
      "input": [
        {
          "name": "endTime",
          "type": "number",
          "info": "The UTC end time of rollups to filter on, in ms or s. Default is the current time: 123",
          "required": false,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": "The full name of the managed object associated with a metric. The full name is in the format  namespace:managed-object:archive: string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        },
        {
          "name": "key",
          "type": "string",
          "info": "The key name to filter on: string",
          "required": false,
          "schema": {
            "title": "key",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The maximum number of rollups to return: 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "The metric name to filter on: string",
          "required": true,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "source",
          "type": "string",
          "info": "The source name to filter on: string",
          "required": true,
          "schema": {
            "title": "source",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "The UTC start time of rollups to filter on, in ms or s. Default is one hour before the current time: 123",
          "required": false,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "The uuid to filter on: string",
          "required": false,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseGetSlimDatumResultsDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "GetSlimDatumResultsDto",
              "type": "object",
              "properties": {
                "alternateResults": {
                  "type": "array",
                  "items": {
                    "title": "SlimDatumDto",
                    "type": "object",
                    "properties": {
                      "additional_data": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object"
                        }
                      },
                      "data": {
                        "type": "object"
                      },
                      "datasource": {
                        "type": "string"
                      },
                      "engine": {
                        "title": "Engine",
                        "type": "object",
                        "properties": {
                          "confidence": {
                            "type": "number"
                          },
                          "DETECTOR_CLASS": {
                            "type": "string"
                          },
                          "highSigma": {
                            "type": "number"
                          },
                          "highThreshold": {
                            "type": "number"
                          },
                          "holdfor": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "learning": {
                            "type": "boolean"
                          },
                          "lowSigma": {
                            "type": "number"
                          },
                          "lowThreshold": {
                            "type": "number"
                          },
                          "median": {
                            "type": "number"
                          },
                          "severity": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "sigma": {
                            "type": "number"
                          },
                          "stateful": {
                            "type": "boolean"
                          },
                          "vector": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      },
                      "instance": {
                        "type": "string"
                      },
                      "tags": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object"
                        }
                      },
                      "timed_at_ms": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "unit": {
                        "type": "string"
                      },
                      "uuid": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                },
                "alternateSource": {
                  "type": "string"
                },
                "comparisons": {
                  "type": "array",
                  "items": {
                    "title": "ComparisonTable",
                    "type": "object",
                    "properties": {
                      "mongo_value": {
                        "type": "number"
                      },
                      "prom_value": {
                        "type": "number"
                      },
                      "timedAtMs": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "matched": {
                        "type": "boolean"
                      }
                    }
                  },
                  "description": ""
                },
                "interleveDebug": {
                  "type": "string"
                },
                "lastTimeThereWasData": {
                  "type": "integer",
                  "format": "int64"
                },
                "results": {
                  "type": "array",
                  "items": {
                    "title": "SlimDatumDto",
                    "type": "object",
                    "properties": {
                      "additional_data": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object"
                        }
                      },
                      "data": {
                        "type": "object"
                      },
                      "datasource": {
                        "type": "string"
                      },
                      "engine": {
                        "title": "Engine",
                        "type": "object",
                        "properties": {
                          "confidence": {
                            "type": "number"
                          },
                          "DETECTOR_CLASS": {
                            "type": "string"
                          },
                          "highSigma": {
                            "type": "number"
                          },
                          "highThreshold": {
                            "type": "number"
                          },
                          "holdfor": {
                            "type": "integer",
                            "format": "int32"
                          },
                          "learning": {
                            "type": "boolean"
                          },
                          "lowSigma": {
                            "type": "number"
                          },
                          "lowThreshold": {
                            "type": "number"
                          },
                          "median": {
                            "type": "number"
                          },
                          "severity": {
                            "type": "integer",
                            "format": "int64"
                          },
                          "sigma": {
                            "type": "number"
                          },
                          "stateful": {
                            "type": "boolean"
                          },
                          "vector": {
                            "type": "integer",
                            "format": "int32"
                          }
                        }
                      },
                      "instance": {
                        "type": "string"
                      },
                      "tags": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object"
                        }
                      },
                      "timed_at_ms": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "unit": {
                        "type": "string"
                      },
                      "uuid": {
                        "type": "string"
                      }
                    }
                  },
                  "description": ""
                },
                "total": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "description": "Rollup Service API GetSlimDatumResultsDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDetailedDatums"
      },
      "task": true
    },
    {
      "name": "getDatumsDataPoints",
      "summary": "getDatumsDataPoints",
      "description": "Get a series of datum data points in time order based on the input filters",
      "input": [
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": "The full name of the managed object associated with a metric. The full name is in the format  namespace:managed-object:archive: string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        },
        {
          "name": "key",
          "type": "string",
          "info": "The key name to filter on: string",
          "required": false,
          "schema": {
            "title": "key",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The maximum number of data points to return (by default this is 250): 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "The metric name to filter on: string",
          "required": true,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "source",
          "type": "string",
          "info": "The source name to filter on: string",
          "required": true,
          "schema": {
            "title": "source",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "",
          "format": "double"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDatumsDataPoints"
      },
      "task": true
    },
    {
      "name": "getDatumIndexes",
      "summary": "getDatumIndexes",
      "description": "Get a series of datums in time order based to the input filters.",
      "input": [
        {
          "name": "direction",
          "type": "string",
          "info": "The direction you want to sort (ASC or DESC): Must be one of [ASC, DESC]",
          "required": false,
          "schema": {
            "title": "direction",
            "type": "string"
          }
        },
        {
          "name": "filter",
          "type": "string",
          "info": "The filter to use: string",
          "required": true,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The maximum number of rollups to return: 123",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "sortBy",
          "type": "string",
          "info": "Parameter to specify if you want to sort by number of datums (DATUMS), metric name (METRIC) or last updated (LAST_UPDATED): Must be one of [DATUMS, LAST_UPDATED, METRIC]",
          "required": false,
          "schema": {
            "title": "sortBy",
            "type": "string"
          }
        },
        {
          "name": "start",
          "type": "number",
          "info": "The offset of results to skip: 123",
          "required": false,
          "schema": {
            "title": "start",
            "type": "number"
          }
        }
      ],
      "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": "/getDatumIndexes"
      },
      "task": true
    },
    {
      "name": "postGetDatumIndexes",
      "summary": "postGetDatumIndexes",
      "description": "Get a series of datums in time order based on the input filters (POST because filter can be very long)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"direction\": \"Must be one of [ASC, DESC]\", \"filter\": \"string\", \"limit\": 123, \"sortBy\": \"Must be one of [DATUMS, LAST_UPDATED, METRIC]\", \"start\": 123}",
          "required": false,
          "schema": {
            "title": "DatumIndexRequestDto",
            "type": "object",
            "properties": {
              "direction": {
                "title": "SortByDirection",
                "enum": [
                  "ASC",
                  "DESC"
                ],
                "type": "string"
              },
              "filter": {
                "type": "string"
              },
              "limit": {
                "type": "integer",
                "format": "int32"
              },
              "sortBy": {
                "title": "DatumIndexSortBy",
                "enum": [
                  "DATUMS",
                  "LAST_UPDATED",
                  "METRIC"
                ],
                "type": "string"
              },
              "start": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        }
      ],
      "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": "/postGetDatumIndexes"
      },
      "task": true
    },
    {
      "name": "getRollupStrategy",
      "summary": "getRollupStrategy",
      "description": "Get the rollup strategy for the particular fully qualified moob / metric",
      "input": [
        {
          "name": "fullyQualifiedMoob",
          "type": "string",
          "info": "The full name of the managed object associated with a metric. The full name is in the format  namespace:managed-object:archive: string",
          "required": true,
          "schema": {
            "title": "fullyQualifiedMoob",
            "type": "string"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "The metric name: string",
          "required": true,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseEmptyRollupStrategy",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "EmptyRollupStrategy",
              "enum": [
                "IGNORE",
                "ZERO"
              ],
              "type": "string"
            }
          },
          "description": "Rollup Service API EmptyRollupStrategy response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRollupStrategy"
      },
      "task": true
    },
    {
      "name": "setRollupStrategy",
      "summary": "setRollupStrategy",
      "description": "Set the rollup strategy for the particular fully qualified moob / metric",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"empty_strategy\": \"Must be one of [IGNORE, ZERO]\", \"fully_qualified_moob\": \"string\", \"metric\": \"string\"}",
          "required": false,
          "schema": {
            "title": "RollupStrategyDto",
            "required": [
              "empty_strategy"
            ],
            "type": "object",
            "properties": {
              "empty_strategy": {
                "title": "EmptyRollupStrategy",
                "enum": [
                  "IGNORE",
                  "ZERO"
                ],
                "type": "string"
              },
              "fully_qualified_moob": {
                "minLength": 1,
                "type": "string"
              },
              "metric": {
                "minLength": 1,
                "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": "/setRollupStrategy"
      },
      "task": true
    },
    {
      "name": "getAllApiKeys",
      "summary": "getAllApiKeys",
      "description": "Get all API keys currently in the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "ApiKeyDto",
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "createdAt": {
                "type": "string",
                "format": "date"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "userEmail": {
                "type": "string"
              },
              "userId": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllApiKeys"
      },
      "task": true
    },
    {
      "name": "deleteMultipleApiKeys",
      "summary": "deleteMultipleApiKeys",
      "description": "Delete one or more API keys in the system",
      "input": [
        {
          "name": "id",
          "type": "array",
          "info": "List of key ids to be deleted: array",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deleteMultipleApiKeys"
      },
      "task": true
    },
    {
      "name": "getUserApiKeys",
      "summary": "getUserApiKeys",
      "description": "Lists all the API keys associated with the system",
      "input": [
        {
          "name": "userId",
          "type": "string",
          "info": "ID of the user the API keys belongs to: string",
          "required": true,
          "schema": {
            "title": "userId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "ApiKeyDto",
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "type": "string"
              },
              "createdAt": {
                "type": "string",
                "format": "date"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "userEmail": {
                "type": "string"
              },
              "userId": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUserApiKeys"
      },
      "task": true
    },
    {
      "name": "createApiKey",
      "summary": "createApiKey",
      "description": "Creates a new api key with the current user permissions",
      "input": [
        {
          "name": "userId",
          "type": "string",
          "info": "ID of the user the API key is associated with: string",
          "required": true,
          "schema": {
            "title": "userId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"description\": \"string\", \"name\": \"string\"}",
          "required": false,
          "schema": {
            "title": "BaseApiKeyDto",
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "pattern": "\\S",
                "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": "/createApiKey"
      },
      "task": true
    },
    {
      "name": "getApiKey",
      "summary": "getApiKey",
      "description": "Returns the details for a specific API key",
      "input": [
        {
          "name": "keyId",
          "type": "string",
          "info": "ID of the API key to get details: string",
          "required": true,
          "schema": {
            "title": "keyId",
            "type": "string"
          }
        },
        {
          "name": "userId",
          "type": "string",
          "info": "ID of the user the API key belongs to: string",
          "required": true,
          "schema": {
            "title": "userId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseApiKeyDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "ApiKeyDto",
              "type": "object",
              "properties": {
                "description": {
                  "type": "string"
                },
                "name": {
                  "pattern": "\\S",
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "userEmail": {
                  "type": "string"
                },
                "userId": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              }
            }
          },
          "description": "User API ApiKeyDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getApiKey"
      },
      "task": true
    },
    {
      "name": "deleteApiKey",
      "summary": "deleteApiKey",
      "description": "Deletes the API associated with the userId",
      "input": [
        {
          "name": "keyId",
          "type": "string",
          "info": "ID of the API key to delete: string",
          "required": true,
          "schema": {
            "title": "keyId",
            "type": "string"
          }
        },
        {
          "name": "userId",
          "type": "string",
          "info": "ID of the user the API key belongs to: string",
          "required": true,
          "schema": {
            "title": "userId",
            "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": "/deleteApiKey"
      },
      "task": true
    },
    {
      "name": "getRoles",
      "summary": "getRoles",
      "description": "Get all roles currently defined in the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "RoleDto",
            "type": "object",
            "properties": {
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "name": {
                "type": "string"
              },
              "permissionsAsString": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getRoles"
      },
      "task": true
    },
    {
      "name": "getUsers",
      "summary": "getUsers",
      "description": "Get details for all user in the system",
      "input": [
        {
          "name": "showDeleted",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "showDeleted",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "UserDto",
            "required": [
              "email",
              "familyName",
              "givenName",
              "role"
            ],
            "type": "object",
            "properties": {
              "email": {
                "type": "string"
              },
              "excludeUserDeletion": {
                "type": "boolean"
              },
              "familyName": {
                "type": "string"
              },
              "givenName": {
                "type": "string"
              },
              "role": {
                "type": "string"
              },
              "tenantName": {
                "type": "string"
              },
              "blocked": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "emailVerified": {
                "type": "boolean"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "jwtPermissions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "lastLogin": {
                "type": "string",
                "format": "date"
              },
              "loginCount": {
                "type": "integer",
                "format": "int64"
              },
              "name": {
                "type": "string"
              },
              "numericId": {
                "type": "integer",
                "format": "int64"
              },
              "permissions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "picture": {
                "type": "string"
              },
              "status": {
                "title": "UserStatus",
                "enum": [
                  "ACTIVE",
                  "DELETED",
                  "INVITED"
                ],
                "type": "string"
              },
              "tenants": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "writtenAt": {
                "title": "Instant",
                "type": "object",
                "properties": {
                  "nanos": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "seconds": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "nano": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUsers"
      },
      "task": true
    },
    {
      "name": "createUser",
      "summary": "createUser",
      "description": "Create a new user who will be granted access to the instance",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"email\": \"string\", \"excludeUserDeletion\": \"boolean\", \"familyName\": \"string\", \"givenName\": \"string\", \"role\": \"string\", \"tenantName\": \"string\"}",
          "required": false,
          "schema": {
            "title": "BaseUserDto",
            "required": [
              "email",
              "familyName",
              "givenName",
              "role"
            ],
            "type": "object",
            "properties": {
              "email": {
                "type": "string"
              },
              "excludeUserDeletion": {
                "type": "boolean"
              },
              "familyName": {
                "type": "string"
              },
              "givenName": {
                "type": "string"
              },
              "role": {
                "type": "string"
              },
              "tenantName": {
                "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": "/createUser"
      },
      "task": true
    },
    {
      "name": "getUserDetails",
      "summary": "getUserDetails",
      "description": "Get details for user existing in the system",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the user: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseUserDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "UserDto",
              "required": [
                "email",
                "familyName",
                "givenName",
                "role"
              ],
              "type": "object",
              "properties": {
                "email": {
                  "type": "string"
                },
                "excludeUserDeletion": {
                  "type": "boolean"
                },
                "familyName": {
                  "type": "string"
                },
                "givenName": {
                  "type": "string"
                },
                "role": {
                  "type": "string"
                },
                "tenantName": {
                  "type": "string"
                },
                "blocked": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string"
                },
                "emailVerified": {
                  "type": "boolean"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "jwtPermissions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "lastLogin": {
                  "type": "string",
                  "format": "date"
                },
                "loginCount": {
                  "type": "integer",
                  "format": "int64"
                },
                "name": {
                  "type": "string"
                },
                "numericId": {
                  "type": "integer",
                  "format": "int64"
                },
                "permissions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "picture": {
                  "type": "string"
                },
                "status": {
                  "title": "UserStatus",
                  "enum": [
                    "ACTIVE",
                    "DELETED",
                    "INVITED"
                  ],
                  "type": "string"
                },
                "tenants": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": ""
                },
                "writtenAt": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "description": "User API UserDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUserDetails"
      },
      "task": true
    },
    {
      "name": "deleteUser",
      "summary": "deleteUser",
      "description": "Delete a user already in the system, user will not be able to access the system",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the user: string",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deleteUser"
      },
      "task": true
    },
    {
      "name": "editUser",
      "summary": "editUser",
      "description": "Edit a user already in the system",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "ID of the user: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"familyName\": \"string\", \"givenName\": \"string\", \"role\": \"string\"}",
          "required": false,
          "schema": {
            "title": "UpdateUserDto",
            "type": "object",
            "properties": {
              "familyName": {
                "type": "string"
              },
              "givenName": {
                "type": "string"
              },
              "role": {
                "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": "/editUser"
      },
      "task": true
    },
    {
      "name": "getWebhook",
      "summary": "getWebhook",
      "description": "Get webhook config from the DB.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWebhookDtoV1",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WebhookDtoV1",
              "required": [
                "type",
                "body"
              ],
              "type": "object",
              "properties": {
                "filter": {
                  "type": "string",
                  "description": "Outbound integration filter to apply"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Outbound integration headers to send; mapping of key/value pairs"
                },
                "name": {
                  "pattern": "\\S",
                  "type": "string",
                  "description": "Outbound integration name"
                },
                "type": {
                  "title": "WebhookType",
                  "enum": [
                    "INCIDENT",
                    "ALERT"
                  ],
                  "type": "string",
                  "description": "Webhook Type"
                },
                "url": {
                  "type": "string",
                  "description": "Outbound integration target URL (deprecated in favor of \"urls\")"
                },
                "body": {
                  "type": "object"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "status": {
                  "title": "WebhookStatus",
                  "enum": [
                    "DISABLED",
                    "RUNNING",
                    "INITIALISED",
                    "INVALID_URL",
                    "BAD_AUTH",
                    "PAGE_NOT_FOUND",
                    "BAD_RESPONSE",
                    "MOOG_ERROR"
                  ],
                  "type": "string",
                  "description": "Webhook Status"
                }
              }
            }
          },
          "description": "Webhook API WebhookDtoV1 response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getWebhook"
      },
      "task": true
    },
    {
      "name": "deleteWebhook",
      "summary": "deleteWebhook",
      "description": "Delete webhook config from the DB.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deleteWebhook"
      },
      "task": true
    },
    {
      "name": "modifyWebhook",
      "summary": "modifyWebhook",
      "description": "Update webhook config to the DB.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"filter\": \"string\", \"headers\": \"object\", \"name\": \"string\", \"type\": \"Must be one of [INCIDENT, ALERT]\", \"url\": \"string\", \"body\": \"object\"}",
          "required": false,
          "schema": {
            "title": "BaseWebhookV1",
            "required": [
              "type",
              "body"
            ],
            "type": "object",
            "properties": {
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "url": {
                "type": "string",
                "description": "Outbound integration target URL (deprecated in favor of \"urls\")"
              },
              "body": {
                "type": "object"
              }
            },
            "deprecated": true
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWebhookDtoV1",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WebhookDtoV1",
              "required": [
                "type",
                "body"
              ],
              "type": "object",
              "properties": {
                "filter": {
                  "type": "string",
                  "description": "Outbound integration filter to apply"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Outbound integration headers to send; mapping of key/value pairs"
                },
                "name": {
                  "pattern": "\\S",
                  "type": "string",
                  "description": "Outbound integration name"
                },
                "type": {
                  "title": "WebhookType",
                  "enum": [
                    "INCIDENT",
                    "ALERT"
                  ],
                  "type": "string",
                  "description": "Webhook Type"
                },
                "url": {
                  "type": "string",
                  "description": "Outbound integration target URL (deprecated in favor of \"urls\")"
                },
                "body": {
                  "type": "object"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "status": {
                  "title": "WebhookStatus",
                  "enum": [
                    "DISABLED",
                    "RUNNING",
                    "INITIALISED",
                    "INVALID_URL",
                    "BAD_AUTH",
                    "PAGE_NOT_FOUND",
                    "BAD_RESPONSE",
                    "MOOG_ERROR"
                  ],
                  "type": "string",
                  "description": "Webhook Status"
                }
              }
            }
          },
          "description": "Webhook API WebhookDtoV1 response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/modifyWebhook"
      },
      "task": true
    },
    {
      "name": "testWebhooksConfig",
      "summary": "testWebhooksConfig",
      "description": "Test the execution of a webhook with a test payload.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"filter\": \"string\", \"headers\": \"object\", \"name\": \"string\", \"type\": \"Must be one of [INCIDENT, ALERT]\", \"url\": \"string\", \"body\": \"object\", \"id\": {\"counter\": 123, \"randomValue1\": 123, \"randomValue2\": 123, \"timestamp\": 123, \"date\": \"string\"}, \"status\": \"Must be one of [DISABLED, RUNNING, INITIALISED, INVALID_URL, BAD_AUTH, PAGE_NOT_FOUND, BAD_RESPONSE, MOOG_ERROR]\"}",
          "required": false,
          "schema": {
            "title": "WebhookDtoV1",
            "required": [
              "type",
              "body"
            ],
            "type": "object",
            "properties": {
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "url": {
                "type": "string",
                "description": "Outbound integration target URL (deprecated in favor of \"urls\")"
              },
              "body": {
                "type": "object"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "status": {
                "title": "WebhookStatus",
                "enum": [
                  "DISABLED",
                  "RUNNING",
                  "INITIALISED",
                  "INVALID_URL",
                  "BAD_AUTH",
                  "PAGE_NOT_FOUND",
                  "BAD_RESPONSE",
                  "MOOG_ERROR"
                ],
                "type": "string",
                "description": "Webhook Status"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWebhookTestDtoV1",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WebhookTestDtoV1",
              "required": [
                "status"
              ],
              "type": "object",
              "properties": {
                "requestBody": {
                  "type": "string"
                },
                "requestHeaders": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "responseBody": {
                  "type": "string"
                },
                "responseCode": {
                  "type": "integer",
                  "format": "int32"
                },
                "responseCodeReason": {
                  "type": "string"
                },
                "status": {
                  "title": "WebhookStatus",
                  "enum": [
                    "DISABLED",
                    "RUNNING",
                    "INITIALISED",
                    "INVALID_URL",
                    "BAD_AUTH",
                    "PAGE_NOT_FOUND",
                    "BAD_RESPONSE",
                    "MOOG_ERROR"
                  ],
                  "type": "string",
                  "description": "Webhook Status"
                },
                "url": {
                  "type": "string"
                }
              }
            }
          },
          "description": "Webhook API WebhookTestDtoV1 response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/testWebhooksConfig"
      },
      "task": true
    },
    {
      "name": "getWebhooksConfig",
      "summary": "getWebhooksConfig",
      "description": "Reads webhooks from the DB.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "WebhookDtoV1",
            "required": [
              "type",
              "body"
            ],
            "type": "object",
            "properties": {
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "url": {
                "type": "string",
                "description": "Outbound integration target URL (deprecated in favor of \"urls\")"
              },
              "body": {
                "type": "object"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "status": {
                "title": "WebhookStatus",
                "enum": [
                  "DISABLED",
                  "RUNNING",
                  "INITIALISED",
                  "INVALID_URL",
                  "BAD_AUTH",
                  "PAGE_NOT_FOUND",
                  "BAD_RESPONSE",
                  "MOOG_ERROR"
                ],
                "type": "string",
                "description": "Webhook Status"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getWebhooksConfig"
      },
      "task": true
    },
    {
      "name": "postWebhookConfig",
      "summary": "postWebhookConfig",
      "description": "Post and process webhook config to the DB.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"filter\": \"string\", \"headers\": \"object\", \"name\": \"string\", \"type\": \"Must be one of [INCIDENT, ALERT]\", \"url\": \"string\", \"body\": \"object\"}",
          "required": false,
          "schema": {
            "title": "BaseWebhookV1",
            "required": [
              "type",
              "body"
            ],
            "type": "object",
            "properties": {
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "url": {
                "type": "string",
                "description": "Outbound integration target URL (deprecated in favor of \"urls\")"
              },
              "body": {
                "type": "object"
              }
            },
            "deprecated": true
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWebhookDtoV1",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WebhookDtoV1",
              "required": [
                "type",
                "body"
              ],
              "type": "object",
              "properties": {
                "filter": {
                  "type": "string",
                  "description": "Outbound integration filter to apply"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Outbound integration headers to send; mapping of key/value pairs"
                },
                "name": {
                  "pattern": "\\S",
                  "type": "string",
                  "description": "Outbound integration name"
                },
                "type": {
                  "title": "WebhookType",
                  "enum": [
                    "INCIDENT",
                    "ALERT"
                  ],
                  "type": "string",
                  "description": "Webhook Type"
                },
                "url": {
                  "type": "string",
                  "description": "Outbound integration target URL (deprecated in favor of \"urls\")"
                },
                "body": {
                  "type": "object"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "status": {
                  "title": "WebhookStatus",
                  "enum": [
                    "DISABLED",
                    "RUNNING",
                    "INITIALISED",
                    "INVALID_URL",
                    "BAD_AUTH",
                    "PAGE_NOT_FOUND",
                    "BAD_RESPONSE",
                    "MOOG_ERROR"
                  ],
                  "type": "string",
                  "description": "Webhook Status"
                }
              }
            }
          },
          "description": "Webhook API WebhookDtoV1 response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postWebhookConfig"
      },
      "task": true
    },
    {
      "name": "getgetWebhooksConfig",
      "summary": "getWebhooksConfig",
      "description": "Reads webhooks from the DB.",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "Fetches by name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "WebhookDto",
            "required": [
              "createBody",
              "credentials",
              "enabled",
              "integration",
              "timeFormat",
              "triggers",
              "type",
              "updatesEnabled",
              "urls"
            ],
            "type": "object",
            "properties": {
              "createBody": {
                "type": "string",
                "description": "Outbound integration create body template"
              },
              "credentials": {
                "title": "Credentials",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "minLength": 1,
                    "type": "string",
                    "description": "Credentials name"
                  },
                  "type": {
                    "title": "CredentialsType",
                    "enum": [
                      "BEARER",
                      "BASIC"
                    ],
                    "type": "string",
                    "description": "Credentials Type"
                  }
                }
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable/disable Outbound integration"
              },
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "integration": {
                "title": "Integration",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "ticketIdRegex": {
                    "type": "string",
                    "description": "Regex for identifing ticket_id"
                  },
                  "type": {
                    "title": "IntegrationType",
                    "enum": [
                      "GENERIC",
                      "DATADOG",
                      "SERVICENOW",
                      "SLACK",
                      "JIRA"
                    ],
                    "type": "string",
                    "description": "Integration Type"
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "timeFormat": {
                "title": "WebhookTimeFormat",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "format": {
                    "type": "string",
                    "description": "Specific time formatting, when using FORMATTED type",
                    "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                  },
                  "type": {
                    "title": "TimeFormatType",
                    "enum": [
                      "NUMERIC",
                      "FORMATTED"
                    ],
                    "type": "string",
                    "description": "Time Formatting Type"
                  }
                }
              },
              "triggers": {
                "title": "WebhookTriggerDto",
                "required": [
                  "assigneeChange",
                  "classChange",
                  "created",
                  "descriptionChange",
                  "serviceChange",
                  "severityChange",
                  "statusChange",
                  "tagsChange",
                  "typeChange"
                ],
                "type": "object",
                "properties": {
                  "assigneeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "classChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "created": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "descriptionChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "serviceChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "severityChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "statusChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "tagsChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "typeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  }
                }
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "updateBody": {
                "type": "string",
                "description": "Outbound integration update body template (optional)"
              },
              "updatesEnabled": {
                "type": "boolean",
                "description": "Update notification enabled",
                "example": true
              },
              "urls": {
                "title": "Urls",
                "required": [
                  "create"
                ],
                "type": "object",
                "properties": {
                  "close": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "create": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "update": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  }
                }
              },
              "createdBy": {
                "type": "string"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "lastError": {
                "title": "WebhookTestDto",
                "type": "object",
                "properties": {
                  "additionalInfo": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  },
                  "data": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object"
                    }
                  },
                  "request": {
                    "title": "WebhookRequest",
                    "required": [
                      "body"
                    ],
                    "type": "object",
                    "properties": {
                      "body": {
                        "type": "string"
                      },
                      "headers": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "url": {
                        "title": "UrlDefinition",
                        "required": [
                          "verb"
                        ],
                        "type": "object",
                        "properties": {
                          "url": {
                            "pattern": "\\S",
                            "type": "string",
                            "description": "Outbound integration target URL"
                          },
                          "verb": {
                            "title": "WebhookVerb",
                            "enum": [
                              "POST",
                              "PATCH",
                              "PUT",
                              "DELETE"
                            ],
                            "type": "string",
                            "description": "HTTP Verb"
                          }
                        }
                      }
                    }
                  },
                  "response": {
                    "title": "WebhookResponse",
                    "type": "object",
                    "properties": {
                      "body": {
                        "type": "string"
                      },
                      "code": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "codeReason": {
                        "type": "string"
                      }
                    }
                  },
                  "status": {
                    "title": "WebhookStatus",
                    "enum": [
                      "DISABLED",
                      "RUNNING",
                      "INITIALISED",
                      "INVALID_URL",
                      "BAD_AUTH",
                      "PAGE_NOT_FOUND",
                      "BAD_RESPONSE",
                      "MOOG_ERROR"
                    ],
                    "type": "string",
                    "description": "Webhook Status"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              },
              "lastUpdated": {
                "title": "Instant",
                "type": "object",
                "properties": {
                  "nanos": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "seconds": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "nano": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "status": {
                "title": "WebhookStatus",
                "enum": [
                  "DISABLED",
                  "RUNNING",
                  "INITIALISED",
                  "INVALID_URL",
                  "BAD_AUTH",
                  "PAGE_NOT_FOUND",
                  "BAD_RESPONSE",
                  "MOOG_ERROR"
                ],
                "type": "string",
                "description": "Webhook Status"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getgetWebhooksConfig"
      },
      "task": true
    },
    {
      "name": "postpostWebhookConfig",
      "summary": "postWebhookConfig",
      "description": "Post and process webhook config to the DB.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"createBody\": \"string\", \"credentials\": {\"name\": \"string\", \"type\": \"Must be one of [BEARER, BASIC]\"}, \"enabled\": \"boolean\", \"filter\": \"string\", \"headers\": \"object\", \"integration\": {\"ticketIdRegex\": \"string\", \"type\": \"Must be one of [GENERIC, DATADOG, SERVICENOW, SLACK, JIRA]\"}, \"name\": \"string\", \"timeFormat\": {\"format\": \"string\", \"type\": \"Must be one of [NUMERIC, FORMATTED]\"}, \"triggers\": {\"assigneeChange\": {\"enabled\": \"boolean\"}, \"classChange\": {\"enabled\": \"boolean\"}, \"created\": {\"enabled\": \"boolean\"}, \"descriptionChange\": {\"enabled\": \"boolean\"}, \"serviceChange\": {\"enabled\": \"boolean\"}, \"severityChange\": {\"enabled\": \"boolean\"}, \"statusChange\": {\"enabled\": \"boolean\"}, \"tagsChange\": {\"enabled\": \"boolean\"}, \"typeChange\": {\"enabled\": \"boolean\"}}, \"type\": \"Must be one of [INCIDENT, ALERT]\", \"updateBody\": \"string\", \"updatesEnabled\": \"boolean\", \"urls\": {\"close\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"create\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"update\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}}}",
          "required": false,
          "schema": {
            "title": "BaseWebhook",
            "required": [
              "createBody",
              "credentials",
              "enabled",
              "integration",
              "timeFormat",
              "triggers",
              "type",
              "updatesEnabled",
              "urls"
            ],
            "type": "object",
            "properties": {
              "createBody": {
                "type": "string",
                "description": "Outbound integration create body template"
              },
              "credentials": {
                "title": "Credentials",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "minLength": 1,
                    "type": "string",
                    "description": "Credentials name"
                  },
                  "type": {
                    "title": "CredentialsType",
                    "enum": [
                      "BEARER",
                      "BASIC"
                    ],
                    "type": "string",
                    "description": "Credentials Type"
                  }
                }
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable/disable Outbound integration"
              },
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "integration": {
                "title": "Integration",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "ticketIdRegex": {
                    "type": "string",
                    "description": "Regex for identifing ticket_id"
                  },
                  "type": {
                    "title": "IntegrationType",
                    "enum": [
                      "GENERIC",
                      "DATADOG",
                      "SERVICENOW",
                      "SLACK",
                      "JIRA"
                    ],
                    "type": "string",
                    "description": "Integration Type"
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "timeFormat": {
                "title": "WebhookTimeFormat",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "format": {
                    "type": "string",
                    "description": "Specific time formatting, when using FORMATTED type",
                    "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                  },
                  "type": {
                    "title": "TimeFormatType",
                    "enum": [
                      "NUMERIC",
                      "FORMATTED"
                    ],
                    "type": "string",
                    "description": "Time Formatting Type"
                  }
                }
              },
              "triggers": {
                "title": "WebhookTriggerDto",
                "required": [
                  "assigneeChange",
                  "classChange",
                  "created",
                  "descriptionChange",
                  "serviceChange",
                  "severityChange",
                  "statusChange",
                  "tagsChange",
                  "typeChange"
                ],
                "type": "object",
                "properties": {
                  "assigneeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "classChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "created": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "descriptionChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "serviceChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "severityChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "statusChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "tagsChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "typeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  }
                }
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "updateBody": {
                "type": "string",
                "description": "Outbound integration update body template (optional)"
              },
              "updatesEnabled": {
                "type": "boolean",
                "description": "Update notification enabled",
                "example": true
              },
              "urls": {
                "title": "Urls",
                "required": [
                  "create"
                ],
                "type": "object",
                "properties": {
                  "close": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "create": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "update": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWebhookDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WebhookDto",
              "required": [
                "createBody",
                "credentials",
                "enabled",
                "integration",
                "timeFormat",
                "triggers",
                "type",
                "updatesEnabled",
                "urls"
              ],
              "type": "object",
              "properties": {
                "createBody": {
                  "type": "string",
                  "description": "Outbound integration create body template"
                },
                "credentials": {
                  "title": "Credentials",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "name": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Credentials name"
                    },
                    "type": {
                      "title": "CredentialsType",
                      "enum": [
                        "BEARER",
                        "BASIC"
                      ],
                      "type": "string",
                      "description": "Credentials Type"
                    }
                  }
                },
                "enabled": {
                  "type": "boolean",
                  "description": "Enable/disable Outbound integration"
                },
                "filter": {
                  "type": "string",
                  "description": "Outbound integration filter to apply"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Outbound integration headers to send; mapping of key/value pairs"
                },
                "integration": {
                  "title": "Integration",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "ticketIdRegex": {
                      "type": "string",
                      "description": "Regex for identifing ticket_id"
                    },
                    "type": {
                      "title": "IntegrationType",
                      "enum": [
                        "GENERIC",
                        "DATADOG",
                        "SERVICENOW",
                        "SLACK",
                        "JIRA"
                      ],
                      "type": "string",
                      "description": "Integration Type"
                    }
                  }
                },
                "name": {
                  "pattern": "\\S",
                  "type": "string",
                  "description": "Outbound integration name"
                },
                "timeFormat": {
                  "title": "WebhookTimeFormat",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "description": "Specific time formatting, when using FORMATTED type",
                      "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                    },
                    "type": {
                      "title": "TimeFormatType",
                      "enum": [
                        "NUMERIC",
                        "FORMATTED"
                      ],
                      "type": "string",
                      "description": "Time Formatting Type"
                    }
                  }
                },
                "triggers": {
                  "title": "WebhookTriggerDto",
                  "required": [
                    "assigneeChange",
                    "classChange",
                    "created",
                    "descriptionChange",
                    "serviceChange",
                    "severityChange",
                    "statusChange",
                    "tagsChange",
                    "typeChange"
                  ],
                  "type": "object",
                  "properties": {
                    "assigneeChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "classChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "created": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "descriptionChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "serviceChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "severityChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "statusChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "tagsChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "typeChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    }
                  }
                },
                "type": {
                  "title": "WebhookType",
                  "enum": [
                    "INCIDENT",
                    "ALERT"
                  ],
                  "type": "string",
                  "description": "Webhook Type"
                },
                "updateBody": {
                  "type": "string",
                  "description": "Outbound integration update body template (optional)"
                },
                "updatesEnabled": {
                  "type": "boolean",
                  "description": "Update notification enabled",
                  "example": true
                },
                "urls": {
                  "title": "Urls",
                  "required": [
                    "create"
                  ],
                  "type": "object",
                  "properties": {
                    "close": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    },
                    "create": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    },
                    "update": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    }
                  }
                },
                "createdBy": {
                  "type": "string"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "lastError": {
                  "title": "WebhookTestDto",
                  "type": "object",
                  "properties": {
                    "additionalInfo": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    },
                    "request": {
                      "title": "WebhookRequest",
                      "required": [
                        "body"
                      ],
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string"
                        },
                        "headers": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "url": {
                          "title": "UrlDefinition",
                          "required": [
                            "verb"
                          ],
                          "type": "object",
                          "properties": {
                            "url": {
                              "pattern": "\\S",
                              "type": "string",
                              "description": "Outbound integration target URL"
                            },
                            "verb": {
                              "title": "WebhookVerb",
                              "enum": [
                                "POST",
                                "PATCH",
                                "PUT",
                                "DELETE"
                              ],
                              "type": "string",
                              "description": "HTTP Verb"
                            }
                          }
                        }
                      }
                    },
                    "response": {
                      "title": "WebhookResponse",
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string"
                        },
                        "code": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "codeReason": {
                          "type": "string"
                        }
                      }
                    },
                    "status": {
                      "title": "WebhookStatus",
                      "enum": [
                        "DISABLED",
                        "RUNNING",
                        "INITIALISED",
                        "INVALID_URL",
                        "BAD_AUTH",
                        "PAGE_NOT_FOUND",
                        "BAD_RESPONSE",
                        "MOOG_ERROR"
                      ],
                      "type": "string",
                      "description": "Webhook Status"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                },
                "lastUpdated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "status": {
                  "title": "WebhookStatus",
                  "enum": [
                    "DISABLED",
                    "RUNNING",
                    "INITIALISED",
                    "INVALID_URL",
                    "BAD_AUTH",
                    "PAGE_NOT_FOUND",
                    "BAD_RESPONSE",
                    "MOOG_ERROR"
                  ],
                  "type": "string",
                  "description": "Webhook Status"
                }
              }
            }
          },
          "description": "Webhook API WebhookDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postpostWebhookConfig"
      },
      "task": true
    },
    {
      "name": "getgetWebhook",
      "summary": "getWebhook",
      "description": "Get webhook config from the DB.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWebhookDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WebhookDto",
              "required": [
                "createBody",
                "credentials",
                "enabled",
                "integration",
                "timeFormat",
                "triggers",
                "type",
                "updatesEnabled",
                "urls"
              ],
              "type": "object",
              "properties": {
                "createBody": {
                  "type": "string",
                  "description": "Outbound integration create body template"
                },
                "credentials": {
                  "title": "Credentials",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "name": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Credentials name"
                    },
                    "type": {
                      "title": "CredentialsType",
                      "enum": [
                        "BEARER",
                        "BASIC"
                      ],
                      "type": "string",
                      "description": "Credentials Type"
                    }
                  }
                },
                "enabled": {
                  "type": "boolean",
                  "description": "Enable/disable Outbound integration"
                },
                "filter": {
                  "type": "string",
                  "description": "Outbound integration filter to apply"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Outbound integration headers to send; mapping of key/value pairs"
                },
                "integration": {
                  "title": "Integration",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "ticketIdRegex": {
                      "type": "string",
                      "description": "Regex for identifing ticket_id"
                    },
                    "type": {
                      "title": "IntegrationType",
                      "enum": [
                        "GENERIC",
                        "DATADOG",
                        "SERVICENOW",
                        "SLACK",
                        "JIRA"
                      ],
                      "type": "string",
                      "description": "Integration Type"
                    }
                  }
                },
                "name": {
                  "pattern": "\\S",
                  "type": "string",
                  "description": "Outbound integration name"
                },
                "timeFormat": {
                  "title": "WebhookTimeFormat",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "description": "Specific time formatting, when using FORMATTED type",
                      "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                    },
                    "type": {
                      "title": "TimeFormatType",
                      "enum": [
                        "NUMERIC",
                        "FORMATTED"
                      ],
                      "type": "string",
                      "description": "Time Formatting Type"
                    }
                  }
                },
                "triggers": {
                  "title": "WebhookTriggerDto",
                  "required": [
                    "assigneeChange",
                    "classChange",
                    "created",
                    "descriptionChange",
                    "serviceChange",
                    "severityChange",
                    "statusChange",
                    "tagsChange",
                    "typeChange"
                  ],
                  "type": "object",
                  "properties": {
                    "assigneeChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "classChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "created": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "descriptionChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "serviceChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "severityChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "statusChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "tagsChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "typeChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    }
                  }
                },
                "type": {
                  "title": "WebhookType",
                  "enum": [
                    "INCIDENT",
                    "ALERT"
                  ],
                  "type": "string",
                  "description": "Webhook Type"
                },
                "updateBody": {
                  "type": "string",
                  "description": "Outbound integration update body template (optional)"
                },
                "updatesEnabled": {
                  "type": "boolean",
                  "description": "Update notification enabled",
                  "example": true
                },
                "urls": {
                  "title": "Urls",
                  "required": [
                    "create"
                  ],
                  "type": "object",
                  "properties": {
                    "close": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    },
                    "create": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    },
                    "update": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    }
                  }
                },
                "createdBy": {
                  "type": "string"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "lastError": {
                  "title": "WebhookTestDto",
                  "type": "object",
                  "properties": {
                    "additionalInfo": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    },
                    "request": {
                      "title": "WebhookRequest",
                      "required": [
                        "body"
                      ],
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string"
                        },
                        "headers": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "url": {
                          "title": "UrlDefinition",
                          "required": [
                            "verb"
                          ],
                          "type": "object",
                          "properties": {
                            "url": {
                              "pattern": "\\S",
                              "type": "string",
                              "description": "Outbound integration target URL"
                            },
                            "verb": {
                              "title": "WebhookVerb",
                              "enum": [
                                "POST",
                                "PATCH",
                                "PUT",
                                "DELETE"
                              ],
                              "type": "string",
                              "description": "HTTP Verb"
                            }
                          }
                        }
                      }
                    },
                    "response": {
                      "title": "WebhookResponse",
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string"
                        },
                        "code": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "codeReason": {
                          "type": "string"
                        }
                      }
                    },
                    "status": {
                      "title": "WebhookStatus",
                      "enum": [
                        "DISABLED",
                        "RUNNING",
                        "INITIALISED",
                        "INVALID_URL",
                        "BAD_AUTH",
                        "PAGE_NOT_FOUND",
                        "BAD_RESPONSE",
                        "MOOG_ERROR"
                      ],
                      "type": "string",
                      "description": "Webhook Status"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                },
                "lastUpdated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "status": {
                  "title": "WebhookStatus",
                  "enum": [
                    "DISABLED",
                    "RUNNING",
                    "INITIALISED",
                    "INVALID_URL",
                    "BAD_AUTH",
                    "PAGE_NOT_FOUND",
                    "BAD_RESPONSE",
                    "MOOG_ERROR"
                  ],
                  "type": "string",
                  "description": "Webhook Status"
                }
              }
            }
          },
          "description": "Webhook API WebhookDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getgetWebhook"
      },
      "task": true
    },
    {
      "name": "deletedeleteWebhook",
      "summary": "deleteWebhook",
      "description": "Delete webhook config from the DB.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deletedeleteWebhook"
      },
      "task": true
    },
    {
      "name": "patchmodifyWebhook",
      "summary": "modifyWebhook",
      "description": "Update webhook config to the DB.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"createBody\": \"string\", \"credentials\": {\"name\": \"string\", \"type\": \"Must be one of [BEARER, BASIC]\"}, \"enabled\": \"boolean\", \"filter\": \"string\", \"headers\": \"object\", \"integration\": {\"ticketIdRegex\": \"string\", \"type\": \"Must be one of [GENERIC, DATADOG, SERVICENOW, SLACK, JIRA]\"}, \"name\": \"string\", \"timeFormat\": {\"format\": \"string\", \"type\": \"Must be one of [NUMERIC, FORMATTED]\"}, \"triggers\": {\"assigneeChange\": {\"enabled\": \"boolean\"}, \"classChange\": {\"enabled\": \"boolean\"}, \"created\": {\"enabled\": \"boolean\"}, \"descriptionChange\": {\"enabled\": \"boolean\"}, \"serviceChange\": {\"enabled\": \"boolean\"}, \"severityChange\": {\"enabled\": \"boolean\"}, \"statusChange\": {\"enabled\": \"boolean\"}, \"tagsChange\": {\"enabled\": \"boolean\"}, \"typeChange\": {\"enabled\": \"boolean\"}}, \"type\": \"Must be one of [INCIDENT, ALERT]\", \"updateBody\": \"string\", \"updatesEnabled\": \"boolean\", \"urls\": {\"close\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"create\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"update\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}}}",
          "required": false,
          "schema": {
            "title": "BaseWebhook",
            "required": [
              "createBody",
              "credentials",
              "enabled",
              "integration",
              "timeFormat",
              "triggers",
              "type",
              "updatesEnabled",
              "urls"
            ],
            "type": "object",
            "properties": {
              "createBody": {
                "type": "string",
                "description": "Outbound integration create body template"
              },
              "credentials": {
                "title": "Credentials",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "minLength": 1,
                    "type": "string",
                    "description": "Credentials name"
                  },
                  "type": {
                    "title": "CredentialsType",
                    "enum": [
                      "BEARER",
                      "BASIC"
                    ],
                    "type": "string",
                    "description": "Credentials Type"
                  }
                }
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable/disable Outbound integration"
              },
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "integration": {
                "title": "Integration",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "ticketIdRegex": {
                    "type": "string",
                    "description": "Regex for identifing ticket_id"
                  },
                  "type": {
                    "title": "IntegrationType",
                    "enum": [
                      "GENERIC",
                      "DATADOG",
                      "SERVICENOW",
                      "SLACK",
                      "JIRA"
                    ],
                    "type": "string",
                    "description": "Integration Type"
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "timeFormat": {
                "title": "WebhookTimeFormat",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "format": {
                    "type": "string",
                    "description": "Specific time formatting, when using FORMATTED type",
                    "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                  },
                  "type": {
                    "title": "TimeFormatType",
                    "enum": [
                      "NUMERIC",
                      "FORMATTED"
                    ],
                    "type": "string",
                    "description": "Time Formatting Type"
                  }
                }
              },
              "triggers": {
                "title": "WebhookTriggerDto",
                "required": [
                  "assigneeChange",
                  "classChange",
                  "created",
                  "descriptionChange",
                  "serviceChange",
                  "severityChange",
                  "statusChange",
                  "tagsChange",
                  "typeChange"
                ],
                "type": "object",
                "properties": {
                  "assigneeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "classChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "created": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "descriptionChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "serviceChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "severityChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "statusChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "tagsChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "typeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  }
                }
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "updateBody": {
                "type": "string",
                "description": "Outbound integration update body template (optional)"
              },
              "updatesEnabled": {
                "type": "boolean",
                "description": "Update notification enabled",
                "example": true
              },
              "urls": {
                "title": "Urls",
                "required": [
                  "create"
                ],
                "type": "object",
                "properties": {
                  "close": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "create": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "update": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWebhookDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WebhookDto",
              "required": [
                "createBody",
                "credentials",
                "enabled",
                "integration",
                "timeFormat",
                "triggers",
                "type",
                "updatesEnabled",
                "urls"
              ],
              "type": "object",
              "properties": {
                "createBody": {
                  "type": "string",
                  "description": "Outbound integration create body template"
                },
                "credentials": {
                  "title": "Credentials",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "name": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Credentials name"
                    },
                    "type": {
                      "title": "CredentialsType",
                      "enum": [
                        "BEARER",
                        "BASIC"
                      ],
                      "type": "string",
                      "description": "Credentials Type"
                    }
                  }
                },
                "enabled": {
                  "type": "boolean",
                  "description": "Enable/disable Outbound integration"
                },
                "filter": {
                  "type": "string",
                  "description": "Outbound integration filter to apply"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Outbound integration headers to send; mapping of key/value pairs"
                },
                "integration": {
                  "title": "Integration",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "ticketIdRegex": {
                      "type": "string",
                      "description": "Regex for identifing ticket_id"
                    },
                    "type": {
                      "title": "IntegrationType",
                      "enum": [
                        "GENERIC",
                        "DATADOG",
                        "SERVICENOW",
                        "SLACK",
                        "JIRA"
                      ],
                      "type": "string",
                      "description": "Integration Type"
                    }
                  }
                },
                "name": {
                  "pattern": "\\S",
                  "type": "string",
                  "description": "Outbound integration name"
                },
                "timeFormat": {
                  "title": "WebhookTimeFormat",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "description": "Specific time formatting, when using FORMATTED type",
                      "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                    },
                    "type": {
                      "title": "TimeFormatType",
                      "enum": [
                        "NUMERIC",
                        "FORMATTED"
                      ],
                      "type": "string",
                      "description": "Time Formatting Type"
                    }
                  }
                },
                "triggers": {
                  "title": "WebhookTriggerDto",
                  "required": [
                    "assigneeChange",
                    "classChange",
                    "created",
                    "descriptionChange",
                    "serviceChange",
                    "severityChange",
                    "statusChange",
                    "tagsChange",
                    "typeChange"
                  ],
                  "type": "object",
                  "properties": {
                    "assigneeChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "classChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "created": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "descriptionChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "serviceChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "severityChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "statusChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "tagsChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    },
                    "typeChange": {
                      "title": "BaseTriggerConfig",
                      "required": [
                        "enabled"
                      ],
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "description": "Trigger is enabled or not",
                          "example": false
                        }
                      }
                    }
                  }
                },
                "type": {
                  "title": "WebhookType",
                  "enum": [
                    "INCIDENT",
                    "ALERT"
                  ],
                  "type": "string",
                  "description": "Webhook Type"
                },
                "updateBody": {
                  "type": "string",
                  "description": "Outbound integration update body template (optional)"
                },
                "updatesEnabled": {
                  "type": "boolean",
                  "description": "Update notification enabled",
                  "example": true
                },
                "urls": {
                  "title": "Urls",
                  "required": [
                    "create"
                  ],
                  "type": "object",
                  "properties": {
                    "close": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    },
                    "create": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    },
                    "update": {
                      "title": "UrlDefinition",
                      "required": [
                        "verb"
                      ],
                      "type": "object",
                      "properties": {
                        "url": {
                          "pattern": "\\S",
                          "type": "string",
                          "description": "Outbound integration target URL"
                        },
                        "verb": {
                          "title": "WebhookVerb",
                          "enum": [
                            "POST",
                            "PATCH",
                            "PUT",
                            "DELETE"
                          ],
                          "type": "string",
                          "description": "HTTP Verb"
                        }
                      }
                    }
                  }
                },
                "createdBy": {
                  "type": "string"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "lastError": {
                  "title": "WebhookTestDto",
                  "type": "object",
                  "properties": {
                    "additionalInfo": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    },
                    "request": {
                      "title": "WebhookRequest",
                      "required": [
                        "body"
                      ],
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string"
                        },
                        "headers": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "url": {
                          "title": "UrlDefinition",
                          "required": [
                            "verb"
                          ],
                          "type": "object",
                          "properties": {
                            "url": {
                              "pattern": "\\S",
                              "type": "string",
                              "description": "Outbound integration target URL"
                            },
                            "verb": {
                              "title": "WebhookVerb",
                              "enum": [
                                "POST",
                                "PATCH",
                                "PUT",
                                "DELETE"
                              ],
                              "type": "string",
                              "description": "HTTP Verb"
                            }
                          }
                        }
                      }
                    },
                    "response": {
                      "title": "WebhookResponse",
                      "type": "object",
                      "properties": {
                        "body": {
                          "type": "string"
                        },
                        "code": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "codeReason": {
                          "type": "string"
                        }
                      }
                    },
                    "status": {
                      "title": "WebhookStatus",
                      "enum": [
                        "DISABLED",
                        "RUNNING",
                        "INITIALISED",
                        "INVALID_URL",
                        "BAD_AUTH",
                        "PAGE_NOT_FOUND",
                        "BAD_RESPONSE",
                        "MOOG_ERROR"
                      ],
                      "type": "string",
                      "description": "Webhook Status"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                },
                "lastUpdated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "status": {
                  "title": "WebhookStatus",
                  "enum": [
                    "DISABLED",
                    "RUNNING",
                    "INITIALISED",
                    "INVALID_URL",
                    "BAD_AUTH",
                    "PAGE_NOT_FOUND",
                    "BAD_RESPONSE",
                    "MOOG_ERROR"
                  ],
                  "type": "string",
                  "description": "Webhook Status"
                }
              }
            }
          },
          "description": "Webhook API WebhookDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/patchmodifyWebhook"
      },
      "task": true
    },
    {
      "name": "previewWebhook",
      "summary": "previewWebhook",
      "description": "Preview the URL and body(ies) of a webhook.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"createBody\": \"string\", \"credentials\": {\"name\": \"string\", \"type\": \"Must be one of [BEARER, BASIC]\"}, \"enabled\": \"boolean\", \"filter\": \"string\", \"headers\": \"object\", \"integration\": {\"ticketIdRegex\": \"string\", \"type\": \"Must be one of [GENERIC, DATADOG, SERVICENOW, SLACK, JIRA]\"}, \"name\": \"string\", \"timeFormat\": {\"format\": \"string\", \"type\": \"Must be one of [NUMERIC, FORMATTED]\"}, \"triggers\": {\"assigneeChange\": {\"enabled\": \"boolean\"}, \"classChange\": {\"enabled\": \"boolean\"}, \"created\": {\"enabled\": \"boolean\"}, \"descriptionChange\": {\"enabled\": \"boolean\"}, \"serviceChange\": {\"enabled\": \"boolean\"}, \"severityChange\": {\"enabled\": \"boolean\"}, \"statusChange\": {\"enabled\": \"boolean\"}, \"tagsChange\": {\"enabled\": \"boolean\"}, \"typeChange\": {\"enabled\": \"boolean\"}}, \"type\": \"Must be one of [INCIDENT, ALERT]\", \"updateBody\": \"string\", \"updatesEnabled\": \"boolean\", \"urls\": {\"close\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"create\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"update\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}}}",
          "required": false,
          "schema": {
            "title": "BaseWebhook",
            "required": [
              "createBody",
              "credentials",
              "enabled",
              "integration",
              "timeFormat",
              "triggers",
              "type",
              "updatesEnabled",
              "urls"
            ],
            "type": "object",
            "properties": {
              "createBody": {
                "type": "string",
                "description": "Outbound integration create body template"
              },
              "credentials": {
                "title": "Credentials",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "minLength": 1,
                    "type": "string",
                    "description": "Credentials name"
                  },
                  "type": {
                    "title": "CredentialsType",
                    "enum": [
                      "BEARER",
                      "BASIC"
                    ],
                    "type": "string",
                    "description": "Credentials Type"
                  }
                }
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable/disable Outbound integration"
              },
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "integration": {
                "title": "Integration",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "ticketIdRegex": {
                    "type": "string",
                    "description": "Regex for identifing ticket_id"
                  },
                  "type": {
                    "title": "IntegrationType",
                    "enum": [
                      "GENERIC",
                      "DATADOG",
                      "SERVICENOW",
                      "SLACK",
                      "JIRA"
                    ],
                    "type": "string",
                    "description": "Integration Type"
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "timeFormat": {
                "title": "WebhookTimeFormat",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "format": {
                    "type": "string",
                    "description": "Specific time formatting, when using FORMATTED type",
                    "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                  },
                  "type": {
                    "title": "TimeFormatType",
                    "enum": [
                      "NUMERIC",
                      "FORMATTED"
                    ],
                    "type": "string",
                    "description": "Time Formatting Type"
                  }
                }
              },
              "triggers": {
                "title": "WebhookTriggerDto",
                "required": [
                  "assigneeChange",
                  "classChange",
                  "created",
                  "descriptionChange",
                  "serviceChange",
                  "severityChange",
                  "statusChange",
                  "tagsChange",
                  "typeChange"
                ],
                "type": "object",
                "properties": {
                  "assigneeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "classChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "created": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "descriptionChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "serviceChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "severityChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "statusChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "tagsChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "typeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  }
                }
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "updateBody": {
                "type": "string",
                "description": "Outbound integration update body template (optional)"
              },
              "updatesEnabled": {
                "type": "boolean",
                "description": "Update notification enabled",
                "example": true
              },
              "urls": {
                "title": "Urls",
                "required": [
                  "create"
                ],
                "type": "object",
                "properties": {
                  "close": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "create": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "update": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "WebhookTestDto",
            "type": "object",
            "properties": {
              "additionalInfo": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "data": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "request": {
                "title": "WebhookRequest",
                "required": [
                  "body"
                ],
                "type": "object",
                "properties": {
                  "body": {
                    "type": "string"
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "url": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  }
                }
              },
              "response": {
                "title": "WebhookResponse",
                "type": "object",
                "properties": {
                  "body": {
                    "type": "string"
                  },
                  "code": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "codeReason": {
                    "type": "string"
                  }
                }
              },
              "status": {
                "title": "WebhookStatus",
                "enum": [
                  "DISABLED",
                  "RUNNING",
                  "INITIALISED",
                  "INVALID_URL",
                  "BAD_AUTH",
                  "PAGE_NOT_FOUND",
                  "BAD_RESPONSE",
                  "MOOG_ERROR"
                ],
                "type": "string",
                "description": "Webhook Status"
              },
              "timestamp": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/previewWebhook"
      },
      "task": true
    },
    {
      "name": "posttestWebhooksConfig",
      "summary": "testWebhooksConfig",
      "description": "Test the execution of a webhook with a test payload.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"createBody\": \"string\", \"credentials\": {\"name\": \"string\", \"type\": \"Must be one of [BEARER, BASIC]\"}, \"enabled\": \"boolean\", \"filter\": \"string\", \"headers\": \"object\", \"integration\": {\"ticketIdRegex\": \"string\", \"type\": \"Must be one of [GENERIC, DATADOG, SERVICENOW, SLACK, JIRA]\"}, \"name\": \"string\", \"timeFormat\": {\"format\": \"string\", \"type\": \"Must be one of [NUMERIC, FORMATTED]\"}, \"triggers\": {\"assigneeChange\": {\"enabled\": \"boolean\"}, \"classChange\": {\"enabled\": \"boolean\"}, \"created\": {\"enabled\": \"boolean\"}, \"descriptionChange\": {\"enabled\": \"boolean\"}, \"serviceChange\": {\"enabled\": \"boolean\"}, \"severityChange\": {\"enabled\": \"boolean\"}, \"statusChange\": {\"enabled\": \"boolean\"}, \"tagsChange\": {\"enabled\": \"boolean\"}, \"typeChange\": {\"enabled\": \"boolean\"}}, \"type\": \"Must be one of [INCIDENT, ALERT]\", \"updateBody\": \"string\", \"updatesEnabled\": \"boolean\", \"urls\": {\"close\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"create\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}, \"update\": {\"url\": \"string\", \"verb\": \"Must be one of [POST, PATCH, PUT, DELETE]\"}}}",
          "required": false,
          "schema": {
            "title": "BaseWebhook",
            "required": [
              "createBody",
              "credentials",
              "enabled",
              "integration",
              "timeFormat",
              "triggers",
              "type",
              "updatesEnabled",
              "urls"
            ],
            "type": "object",
            "properties": {
              "createBody": {
                "type": "string",
                "description": "Outbound integration create body template"
              },
              "credentials": {
                "title": "Credentials",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "minLength": 1,
                    "type": "string",
                    "description": "Credentials name"
                  },
                  "type": {
                    "title": "CredentialsType",
                    "enum": [
                      "BEARER",
                      "BASIC"
                    ],
                    "type": "string",
                    "description": "Credentials Type"
                  }
                }
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable/disable Outbound integration"
              },
              "filter": {
                "type": "string",
                "description": "Outbound integration filter to apply"
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Outbound integration headers to send; mapping of key/value pairs"
              },
              "integration": {
                "title": "Integration",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "ticketIdRegex": {
                    "type": "string",
                    "description": "Regex for identifing ticket_id"
                  },
                  "type": {
                    "title": "IntegrationType",
                    "enum": [
                      "GENERIC",
                      "DATADOG",
                      "SERVICENOW",
                      "SLACK",
                      "JIRA"
                    ],
                    "type": "string",
                    "description": "Integration Type"
                  }
                }
              },
              "name": {
                "pattern": "\\S",
                "type": "string",
                "description": "Outbound integration name"
              },
              "timeFormat": {
                "title": "WebhookTimeFormat",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "format": {
                    "type": "string",
                    "description": "Specific time formatting, when using FORMATTED type",
                    "default": "YYYY-MM-DD'T'HH:mm:ss'Z'"
                  },
                  "type": {
                    "title": "TimeFormatType",
                    "enum": [
                      "NUMERIC",
                      "FORMATTED"
                    ],
                    "type": "string",
                    "description": "Time Formatting Type"
                  }
                }
              },
              "triggers": {
                "title": "WebhookTriggerDto",
                "required": [
                  "assigneeChange",
                  "classChange",
                  "created",
                  "descriptionChange",
                  "serviceChange",
                  "severityChange",
                  "statusChange",
                  "tagsChange",
                  "typeChange"
                ],
                "type": "object",
                "properties": {
                  "assigneeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "classChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "created": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "descriptionChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "serviceChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "severityChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "statusChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "tagsChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  },
                  "typeChange": {
                    "title": "BaseTriggerConfig",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Trigger is enabled or not",
                        "example": false
                      }
                    }
                  }
                }
              },
              "type": {
                "title": "WebhookType",
                "enum": [
                  "INCIDENT",
                  "ALERT"
                ],
                "type": "string",
                "description": "Webhook Type"
              },
              "updateBody": {
                "type": "string",
                "description": "Outbound integration update body template (optional)"
              },
              "updatesEnabled": {
                "type": "boolean",
                "description": "Update notification enabled",
                "example": true
              },
              "urls": {
                "title": "Urls",
                "required": [
                  "create"
                ],
                "type": "object",
                "properties": {
                  "close": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "create": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  },
                  "update": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "WebhookTestDto",
            "type": "object",
            "properties": {
              "additionalInfo": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "data": {
                "type": "object",
                "additionalProperties": {
                  "type": "object"
                }
              },
              "request": {
                "title": "WebhookRequest",
                "required": [
                  "body"
                ],
                "type": "object",
                "properties": {
                  "body": {
                    "type": "string"
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "url": {
                    "title": "UrlDefinition",
                    "required": [
                      "verb"
                    ],
                    "type": "object",
                    "properties": {
                      "url": {
                        "pattern": "\\S",
                        "type": "string",
                        "description": "Outbound integration target URL"
                      },
                      "verb": {
                        "title": "WebhookVerb",
                        "enum": [
                          "POST",
                          "PATCH",
                          "PUT",
                          "DELETE"
                        ],
                        "type": "string",
                        "description": "HTTP Verb"
                      }
                    }
                  }
                }
              },
              "response": {
                "title": "WebhookResponse",
                "type": "object",
                "properties": {
                  "body": {
                    "type": "string"
                  },
                  "code": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "codeReason": {
                    "type": "string"
                  }
                }
              },
              "status": {
                "title": "WebhookStatus",
                "enum": [
                  "DISABLED",
                  "RUNNING",
                  "INITIALISED",
                  "INVALID_URL",
                  "BAD_AUTH",
                  "PAGE_NOT_FOUND",
                  "BAD_RESPONSE",
                  "MOOG_ERROR"
                ],
                "type": "string",
                "description": "Webhook Status"
              },
              "timestamp": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/posttestWebhooksConfig"
      },
      "task": true
    },
    {
      "name": "getTemplatedActions",
      "summary": "getTemplatedActions",
      "description": "Returns all template actions.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "TemplateActionDto",
            "required": [
              "actionName",
              "configuration"
            ],
            "type": "object",
            "properties": {
              "actionName": {
                "minLength": 1,
                "type": "string",
                "description": "Computer name of the action"
              },
              "configuration": {
                "type": "object"
              },
              "description": {
                "type": "string",
                "description": "Description of the configured action"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            },
            "description": "A pre-configured action that can be used as a template action."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTemplatedActions"
      },
      "task": true
    },
    {
      "name": "createTemplateAction",
      "summary": "createTemplateAction",
      "description": "Creates a new template action.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"actionName\": \"string\", \"configuration\": \"object\", \"description\": \"string\"}",
          "required": false,
          "schema": {
            "title": "WorkflowActionDto",
            "required": [
              "actionName",
              "configuration"
            ],
            "type": "object",
            "properties": {
              "actionName": {
                "minLength": 1,
                "type": "string",
                "description": "Computer name of the action"
              },
              "configuration": {
                "type": "object"
              },
              "description": {
                "type": "string",
                "description": "Description of the configured action"
              }
            },
            "description": "A configured action."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseTemplateActionDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "TemplateActionDto",
              "required": [
                "actionName",
                "configuration"
              ],
              "type": "object",
              "properties": {
                "actionName": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Computer name of the action"
                },
                "configuration": {
                  "type": "object"
                },
                "description": {
                  "type": "string",
                  "description": "Description of the configured action"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              },
              "description": "A pre-configured action that can be used as a template action."
            }
          },
          "description": "Workflow API TemplateActionDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createTemplateAction"
      },
      "task": true
    },
    {
      "name": "deleteTemplateAction",
      "summary": "deleteTemplateAction",
      "description": "Deletes the template action with the given ID.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The ID of the template action: object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deleteTemplateAction"
      },
      "task": true
    },
    {
      "name": "modifyTemplateAction",
      "summary": "modifyTemplateAction",
      "description": "Modifies the template action.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "The ID of the template action: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"actionName\": \"string\", \"configuration\": \"object\", \"description\": \"string\"}",
          "required": false,
          "schema": {
            "title": "WorkflowActionDto",
            "required": [
              "actionName",
              "configuration"
            ],
            "type": "object",
            "properties": {
              "actionName": {
                "minLength": 1,
                "type": "string",
                "description": "Computer name of the action"
              },
              "configuration": {
                "type": "object"
              },
              "description": {
                "type": "string",
                "description": "Description of the configured action"
              }
            },
            "description": "A configured action."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseTemplateActionDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "TemplateActionDto",
              "required": [
                "actionName",
                "configuration"
              ],
              "type": "object",
              "properties": {
                "actionName": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Computer name of the action"
                },
                "configuration": {
                  "type": "object"
                },
                "description": {
                  "type": "string",
                  "description": "Description of the configured action"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              },
              "description": "A pre-configured action that can be used as a template action."
            }
          },
          "description": "Workflow API TemplateActionDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/modifyTemplateAction"
      },
      "task": true
    },
    {
      "name": "getWorkflowMetricsExceptions",
      "summary": "getWorkflowMetricsExceptions",
      "description": "Returns the exceptions for the specified workflow.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowMetricsExceptionWrapperDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowMetricsExceptionWrapperDto",
              "type": "object",
              "properties": {
                "generalError": {
                  "type": "string",
                  "description": "A general error that occurred outside of the workflow"
                },
                "generalErrorMillis": {
                  "type": "integer",
                  "description": "The time in millis when the general error occurred",
                  "format": "int64"
                },
                "lastException": {
                  "type": "string",
                  "description": "A description of the last exception that occurred any where in the workflow"
                },
                "lastExceptionMillis": {
                  "type": "integer",
                  "description": "The time in millis when the exception occurred",
                  "format": "int64"
                }
              },
              "description": "An object containing just the workflow exception information."
            }
          },
          "description": "Workflow API WorkflowMetricsExceptionWrapperDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getWorkflowMetricsExceptions"
      },
      "task": true
    },
    {
      "name": "deleteWorkflowMetricsExceptions",
      "summary": "deleteWorkflowMetricsExceptions",
      "description": "Deletes the exceptions for the specified workflow.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deleteWorkflowMetricsExceptions"
      },
      "task": true
    },
    {
      "name": "getWorkflowTest",
      "summary": "getWorkflowTest",
      "description": "Returns the result of the last async test run.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowTestDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowTestDto",
              "type": "object",
              "properties": {
                "actionsTestList": {
                  "type": "array",
                  "items": {
                    "title": "ActionTestDto",
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "type": "string",
                        "description": "The computer name of the action"
                      },
                      "discarded": {
                        "type": "boolean",
                        "description": "Input was discarded by the workflow action"
                      },
                      "endMillis": {
                        "type": "integer",
                        "description": "End time in millis of the workflow action",
                        "format": "int64"
                      },
                      "exception": {
                        "type": "string",
                        "description": "Description of any exceptions that occurred"
                      },
                      "input": {
                        "type": "object"
                      },
                      "output": {
                        "type": "object"
                      },
                      "skipped": {
                        "type": "boolean",
                        "description": "Input was skipped by the workflow action"
                      },
                      "startMillis": {
                        "type": "integer",
                        "description": "Start time in millis of the workflow action",
                        "format": "int64"
                      }
                    },
                    "description": "Test results for an action."
                  },
                  "description": "List of test results for each action"
                },
                "discarded": {
                  "type": "boolean",
                  "description": "Input was discarded by one of the workflow actions"
                },
                "endMillis": {
                  "type": "integer",
                  "description": "End time in millis of the workflow test",
                  "format": "int64"
                },
                "exception": {
                  "type": "string",
                  "description": "Description of any exceptions that occurred"
                },
                "filterTest": {
                  "title": "FilterTest",
                  "type": "object",
                  "properties": {
                    "endMillis": {
                      "type": "integer",
                      "description": "End time in millis of the filter",
                      "format": "int64"
                    },
                    "exception": {
                      "type": "string",
                      "description": "Description of any exceptions that occurred"
                    },
                    "input": {
                      "type": "object"
                    },
                    "result": {
                      "type": "boolean",
                      "description": "Boolean result of running the filter"
                    },
                    "startMillis": {
                      "type": "integer",
                      "description": "Start time in millis of the filter",
                      "format": "int64"
                    }
                  }
                },
                "generalError": {
                  "type": "string",
                  "description": "Description of any error that occurred outside of the workflow"
                },
                "input": {
                  "type": "object"
                },
                "output": {
                  "type": "object"
                },
                "skipped": {
                  "type": "boolean",
                  "description": "Input was skipped by one of the workflow actions"
                },
                "startMillis": {
                  "type": "integer",
                  "description": "Start time in millis of the workflow test",
                  "format": "int64"
                },
                "status": {
                  "title": "WorkflowTestStatusDto",
                  "enum": [
                    "FAILED",
                    "RUNNING",
                    "SUCCESS"
                  ],
                  "type": "string"
                }
              },
              "description": "Test results for a workflow."
            }
          },
          "description": "Workflow API WorkflowTestDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getWorkflowTest"
      },
      "task": true
    },
    {
      "name": "modifyWorkflows",
      "summary": "modifyWorkflows",
      "description": "Modifies workflows.",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "WorkflowUpdateWrapperDto",
              "required": [
                "description",
                "name",
                "priority",
                "steps",
                "trigger",
                "type",
                "id"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Description of the workflow."
                },
                "name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Name of the workflow. This name cannot be empty and must be unique."
                },
                "priority": {
                  "type": "integer",
                  "description": "The priority of the workflow.",
                  "format": "int32"
                },
                "steps": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "title": "WorkflowActionDto",
                    "required": [
                      "actionName",
                      "configuration"
                    ],
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "minLength": 1,
                        "type": "string",
                        "description": "Computer name of the action"
                      },
                      "configuration": {
                        "type": "object"
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the configured action"
                      }
                    },
                    "description": "A configured action."
                  },
                  "description": "List of the configured workflow action(s)."
                },
                "trigger": {
                  "title": "Trigger",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "entryFilter": {
                      "type": "string",
                      "description": "Entry filter for the workflow (can be empty)"
                    },
                    "type": {
                      "title": "WorkflowTriggerType",
                      "enum": [
                        "EVENT_CREATED"
                      ],
                      "type": "string"
                    }
                  }
                },
                "type": {
                  "title": "WorkflowType",
                  "enum": [
                    "EVENT"
                  ],
                  "type": "string"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              },
              "description": "Workflow update workflow attributes."
            },
            "description": ""
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "WorkflowDto",
            "required": [
              "description",
              "name",
              "priority",
              "steps",
              "trigger",
              "type"
            ],
            "type": "object",
            "properties": {
              "description": {
                "minLength": 1,
                "type": "string",
                "description": "Description of the workflow."
              },
              "name": {
                "minLength": 1,
                "type": "string",
                "description": "Name of the workflow. This name cannot be empty and must be unique."
              },
              "priority": {
                "type": "integer",
                "description": "The priority of the workflow.",
                "format": "int32"
              },
              "steps": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "title": "WorkflowActionDto",
                  "required": [
                    "actionName",
                    "configuration"
                  ],
                  "type": "object",
                  "properties": {
                    "actionName": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Computer name of the action"
                    },
                    "configuration": {
                      "type": "object"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the configured action"
                    }
                  },
                  "description": "A configured action."
                },
                "description": "List of the configured workflow action(s)."
              },
              "trigger": {
                "title": "Trigger",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "entryFilter": {
                    "type": "string",
                    "description": "Entry filter for the workflow (can be empty)"
                  },
                  "type": {
                    "title": "WorkflowTriggerType",
                    "enum": [
                      "EVENT_CREATED"
                    ],
                    "type": "string"
                  }
                }
              },
              "type": {
                "title": "WorkflowType",
                "enum": [
                  "EVENT"
                ],
                "type": "string"
              },
              "createdBy": {
                "type": "string",
                "description": "Creator of the workflow"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "lastUpdated": {
                "title": "Instant",
                "type": "object",
                "properties": {
                  "nanos": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "seconds": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "nano": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "metrics": {
                "title": "Metrics",
                "type": "object",
                "properties": {
                  "actionMetricsMap": {
                    "type": "object",
                    "additionalProperties": {
                      "title": "ActionMetricsDto",
                      "type": "object",
                      "properties": {
                        "actionName": {
                          "type": "string",
                          "description": "The computer name for the action"
                        },
                        "averageProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The average processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "discarded": {
                          "type": "integer",
                          "description": "Number of events discarded",
                          "format": "int64"
                        },
                        "errors": {
                          "type": "integer",
                          "description": "Number processed with error",
                          "format": "int64"
                        },
                        "highWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "lowWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "processed": {
                          "type": "integer",
                          "description": "Number processed",
                          "format": "int64"
                        },
                        "skipped": {
                          "type": "integer",
                          "description": "Number of events skipped",
                          "format": "int64"
                        }
                      },
                      "description": "Metrics about a running action."
                    },
                    "description": "Map of the action name to action metrics"
                  },
                  "averageProcessingDurationMillis": {
                    "type": "integer",
                    "description": "The average processing duration (0 indicates less then 1ms)",
                    "format": "int64"
                  },
                  "discarded": {
                    "type": "integer",
                    "description": "Number of events discarded",
                    "format": "int64"
                  },
                  "errors": {
                    "type": "integer",
                    "description": "Number processed with error",
                    "format": "int64"
                  },
                  "filterMetrics": {
                    "title": "FilterMetrics",
                    "type": "object",
                    "properties": {
                      "averageProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The average processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "errors": {
                        "type": "integer",
                        "description": "Number processed with error",
                        "format": "int64"
                      },
                      "excluded": {
                        "type": "integer",
                        "description": "Number excluded from the workflow",
                        "format": "int64"
                      },
                      "highWatermarkProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "included": {
                        "type": "integer",
                        "description": "Number included in the workflow",
                        "format": "int64"
                      },
                      "lowWatermarkProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "processed": {
                        "type": "integer",
                        "description": "Number processed",
                        "format": "int64"
                      }
                    }
                  },
                  "generalError": {
                    "type": "string",
                    "description": "A general error that occurred outside of the workflow"
                  },
                  "generalErrorMillis": {
                    "type": "integer",
                    "description": "The time in millis when the general error occurred",
                    "format": "int64"
                  },
                  "highWatermarkProcessingDurationMillis": {
                    "type": "integer",
                    "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                    "format": "int64"
                  },
                  "lastException": {
                    "type": "string",
                    "description": "A description of the last exception that occurred any where in the workflow"
                  },
                  "lastExceptionMillis": {
                    "type": "integer",
                    "description": "The time in millis when the exception occurred",
                    "format": "int64"
                  },
                  "lowWatermarkProcessingDurationMillis": {
                    "type": "integer",
                    "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                    "format": "int64"
                  },
                  "processed": {
                    "type": "integer",
                    "description": "Number processed",
                    "format": "int64"
                  },
                  "skipped": {
                    "type": "integer",
                    "description": "Number of events ignored",
                    "format": "int64"
                  }
                }
              },
              "status": {
                "title": "WorkflowStatus",
                "enum": [
                  "DELETED",
                  "NOT_RUNNING",
                  "RUNNING"
                ],
                "type": "string"
              },
              "test": {
                "title": "Test",
                "type": "object",
                "properties": {
                  "actionsTestList": {
                    "type": "array",
                    "items": {
                      "title": "ActionTestDto",
                      "type": "object",
                      "properties": {
                        "actionName": {
                          "type": "string",
                          "description": "The computer name of the action"
                        },
                        "discarded": {
                          "type": "boolean",
                          "description": "Input was discarded by the workflow action"
                        },
                        "endMillis": {
                          "type": "integer",
                          "description": "End time in millis of the workflow action",
                          "format": "int64"
                        },
                        "exception": {
                          "type": "string",
                          "description": "Description of any exceptions that occurred"
                        },
                        "input": {
                          "type": "object"
                        },
                        "output": {
                          "type": "object"
                        },
                        "skipped": {
                          "type": "boolean",
                          "description": "Input was skipped by the workflow action"
                        },
                        "startMillis": {
                          "type": "integer",
                          "description": "Start time in millis of the workflow action",
                          "format": "int64"
                        }
                      },
                      "description": "Test results for an action."
                    },
                    "description": "List of test results for each action"
                  },
                  "discarded": {
                    "type": "boolean",
                    "description": "Input was discarded by one of the workflow actions"
                  },
                  "endMillis": {
                    "type": "integer",
                    "description": "End time in millis of the workflow test",
                    "format": "int64"
                  },
                  "exception": {
                    "type": "string",
                    "description": "Description of any exceptions that occurred"
                  },
                  "filterTest": {
                    "title": "FilterTest",
                    "type": "object",
                    "properties": {
                      "endMillis": {
                        "type": "integer",
                        "description": "End time in millis of the filter",
                        "format": "int64"
                      },
                      "exception": {
                        "type": "string",
                        "description": "Description of any exceptions that occurred"
                      },
                      "input": {
                        "type": "object"
                      },
                      "result": {
                        "type": "boolean",
                        "description": "Boolean result of running the filter"
                      },
                      "startMillis": {
                        "type": "integer",
                        "description": "Start time in millis of the filter",
                        "format": "int64"
                      }
                    }
                  },
                  "generalError": {
                    "type": "string",
                    "description": "Description of any error that occurred outside of the workflow"
                  },
                  "input": {
                    "type": "object"
                  },
                  "output": {
                    "type": "object"
                  },
                  "skipped": {
                    "type": "boolean",
                    "description": "Input was skipped by one of the workflow actions"
                  },
                  "startMillis": {
                    "type": "integer",
                    "description": "Start time in millis of the workflow test",
                    "format": "int64"
                  },
                  "status": {
                    "title": "WorkflowTestStatusDto",
                    "enum": [
                      "FAILED",
                      "RUNNING",
                      "SUCCESS"
                    ],
                    "type": "string"
                  }
                }
              }
            },
            "description": "Workflow with base and generated attributes."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/modifyWorkflows"
      },
      "task": true
    },
    {
      "name": "getWorkflow",
      "summary": "getWorkflow",
      "description": "Returns the workflow with the given ID.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowDto",
              "required": [
                "description",
                "name",
                "priority",
                "steps",
                "trigger",
                "type"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Description of the workflow."
                },
                "name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Name of the workflow. This name cannot be empty and must be unique."
                },
                "priority": {
                  "type": "integer",
                  "description": "The priority of the workflow.",
                  "format": "int32"
                },
                "steps": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "title": "WorkflowActionDto",
                    "required": [
                      "actionName",
                      "configuration"
                    ],
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "minLength": 1,
                        "type": "string",
                        "description": "Computer name of the action"
                      },
                      "configuration": {
                        "type": "object"
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the configured action"
                      }
                    },
                    "description": "A configured action."
                  },
                  "description": "List of the configured workflow action(s)."
                },
                "trigger": {
                  "title": "Trigger",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "entryFilter": {
                      "type": "string",
                      "description": "Entry filter for the workflow (can be empty)"
                    },
                    "type": {
                      "title": "WorkflowTriggerType",
                      "enum": [
                        "EVENT_CREATED"
                      ],
                      "type": "string"
                    }
                  }
                },
                "type": {
                  "title": "WorkflowType",
                  "enum": [
                    "EVENT"
                  ],
                  "type": "string"
                },
                "createdBy": {
                  "type": "string",
                  "description": "Creator of the workflow"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "lastUpdated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "metrics": {
                  "title": "Metrics",
                  "type": "object",
                  "properties": {
                    "actionMetricsMap": {
                      "type": "object",
                      "additionalProperties": {
                        "title": "ActionMetricsDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name for the action"
                          },
                          "averageProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The average processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "discarded": {
                            "type": "integer",
                            "description": "Number of events discarded",
                            "format": "int64"
                          },
                          "errors": {
                            "type": "integer",
                            "description": "Number processed with error",
                            "format": "int64"
                          },
                          "highWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "lowWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "processed": {
                            "type": "integer",
                            "description": "Number processed",
                            "format": "int64"
                          },
                          "skipped": {
                            "type": "integer",
                            "description": "Number of events skipped",
                            "format": "int64"
                          }
                        },
                        "description": "Metrics about a running action."
                      },
                      "description": "Map of the action name to action metrics"
                    },
                    "averageProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The average processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "discarded": {
                      "type": "integer",
                      "description": "Number of events discarded",
                      "format": "int64"
                    },
                    "errors": {
                      "type": "integer",
                      "description": "Number processed with error",
                      "format": "int64"
                    },
                    "filterMetrics": {
                      "title": "FilterMetrics",
                      "type": "object",
                      "properties": {
                        "averageProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The average processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "errors": {
                          "type": "integer",
                          "description": "Number processed with error",
                          "format": "int64"
                        },
                        "excluded": {
                          "type": "integer",
                          "description": "Number excluded from the workflow",
                          "format": "int64"
                        },
                        "highWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "included": {
                          "type": "integer",
                          "description": "Number included in the workflow",
                          "format": "int64"
                        },
                        "lowWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "processed": {
                          "type": "integer",
                          "description": "Number processed",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "A general error that occurred outside of the workflow"
                    },
                    "generalErrorMillis": {
                      "type": "integer",
                      "description": "The time in millis when the general error occurred",
                      "format": "int64"
                    },
                    "highWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "lastException": {
                      "type": "string",
                      "description": "A description of the last exception that occurred any where in the workflow"
                    },
                    "lastExceptionMillis": {
                      "type": "integer",
                      "description": "The time in millis when the exception occurred",
                      "format": "int64"
                    },
                    "lowWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "processed": {
                      "type": "integer",
                      "description": "Number processed",
                      "format": "int64"
                    },
                    "skipped": {
                      "type": "integer",
                      "description": "Number of events ignored",
                      "format": "int64"
                    }
                  }
                },
                "status": {
                  "title": "WorkflowStatus",
                  "enum": [
                    "DELETED",
                    "NOT_RUNNING",
                    "RUNNING"
                  ],
                  "type": "string"
                },
                "test": {
                  "title": "Test",
                  "type": "object",
                  "properties": {
                    "actionsTestList": {
                      "type": "array",
                      "items": {
                        "title": "ActionTestDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name of the action"
                          },
                          "discarded": {
                            "type": "boolean",
                            "description": "Input was discarded by the workflow action"
                          },
                          "endMillis": {
                            "type": "integer",
                            "description": "End time in millis of the workflow action",
                            "format": "int64"
                          },
                          "exception": {
                            "type": "string",
                            "description": "Description of any exceptions that occurred"
                          },
                          "input": {
                            "type": "object"
                          },
                          "output": {
                            "type": "object"
                          },
                          "skipped": {
                            "type": "boolean",
                            "description": "Input was skipped by the workflow action"
                          },
                          "startMillis": {
                            "type": "integer",
                            "description": "Start time in millis of the workflow action",
                            "format": "int64"
                          }
                        },
                        "description": "Test results for an action."
                      },
                      "description": "List of test results for each action"
                    },
                    "discarded": {
                      "type": "boolean",
                      "description": "Input was discarded by one of the workflow actions"
                    },
                    "endMillis": {
                      "type": "integer",
                      "description": "End time in millis of the workflow test",
                      "format": "int64"
                    },
                    "exception": {
                      "type": "string",
                      "description": "Description of any exceptions that occurred"
                    },
                    "filterTest": {
                      "title": "FilterTest",
                      "type": "object",
                      "properties": {
                        "endMillis": {
                          "type": "integer",
                          "description": "End time in millis of the filter",
                          "format": "int64"
                        },
                        "exception": {
                          "type": "string",
                          "description": "Description of any exceptions that occurred"
                        },
                        "input": {
                          "type": "object"
                        },
                        "result": {
                          "type": "boolean",
                          "description": "Boolean result of running the filter"
                        },
                        "startMillis": {
                          "type": "integer",
                          "description": "Start time in millis of the filter",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "Description of any error that occurred outside of the workflow"
                    },
                    "input": {
                      "type": "object"
                    },
                    "output": {
                      "type": "object"
                    },
                    "skipped": {
                      "type": "boolean",
                      "description": "Input was skipped by one of the workflow actions"
                    },
                    "startMillis": {
                      "type": "integer",
                      "description": "Start time in millis of the workflow test",
                      "format": "int64"
                    },
                    "status": {
                      "title": "WorkflowTestStatusDto",
                      "enum": [
                        "FAILED",
                        "RUNNING",
                        "SUCCESS"
                      ],
                      "type": "string"
                    }
                  }
                }
              },
              "description": "Workflow with base and generated attributes."
            }
          },
          "description": "Workflow API WorkflowDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getWorkflow"
      },
      "task": true
    },
    {
      "name": "deleteWorkflow",
      "summary": "deleteWorkflow",
      "description": "Deletes the workflow with the given ID.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "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": "/deleteWorkflow"
      },
      "task": true
    },
    {
      "name": "modifyWorkflow",
      "summary": "modifyWorkflow",
      "description": "Modifies a workflow.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"description\": \"string\", \"name\": \"string\", \"priority\": 123, \"steps\": [{\"actionName\": \"string\", \"configuration\": \"object\", \"description\": \"string\"}], \"trigger\": {\"entryFilter\": \"string\", \"type\": \"Must be one of [EVENT_CREATED]\"}, \"type\": \"Must be one of [EVENT]\"}",
          "required": false,
          "schema": {
            "title": "BaseWorkflowDto",
            "required": [
              "description",
              "name",
              "priority",
              "steps",
              "trigger",
              "type"
            ],
            "type": "object",
            "properties": {
              "description": {
                "minLength": 1,
                "type": "string",
                "description": "Description of the workflow."
              },
              "name": {
                "minLength": 1,
                "type": "string",
                "description": "Name of the workflow. This name cannot be empty and must be unique."
              },
              "priority": {
                "type": "integer",
                "description": "The priority of the workflow.",
                "format": "int32"
              },
              "steps": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "title": "WorkflowActionDto",
                  "required": [
                    "actionName",
                    "configuration"
                  ],
                  "type": "object",
                  "properties": {
                    "actionName": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Computer name of the action"
                    },
                    "configuration": {
                      "type": "object"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the configured action"
                    }
                  },
                  "description": "A configured action."
                },
                "description": "List of the configured workflow action(s)."
              },
              "trigger": {
                "title": "Trigger",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "entryFilter": {
                    "type": "string",
                    "description": "Entry filter for the workflow (can be empty)"
                  },
                  "type": {
                    "title": "WorkflowTriggerType",
                    "enum": [
                      "EVENT_CREATED"
                    ],
                    "type": "string"
                  }
                }
              },
              "type": {
                "title": "WorkflowType",
                "enum": [
                  "EVENT"
                ],
                "type": "string"
              }
            },
            "description": "Base workflow attributes."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowDto",
              "required": [
                "description",
                "name",
                "priority",
                "steps",
                "trigger",
                "type"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Description of the workflow."
                },
                "name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Name of the workflow. This name cannot be empty and must be unique."
                },
                "priority": {
                  "type": "integer",
                  "description": "The priority of the workflow.",
                  "format": "int32"
                },
                "steps": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "title": "WorkflowActionDto",
                    "required": [
                      "actionName",
                      "configuration"
                    ],
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "minLength": 1,
                        "type": "string",
                        "description": "Computer name of the action"
                      },
                      "configuration": {
                        "type": "object"
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the configured action"
                      }
                    },
                    "description": "A configured action."
                  },
                  "description": "List of the configured workflow action(s)."
                },
                "trigger": {
                  "title": "Trigger",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "entryFilter": {
                      "type": "string",
                      "description": "Entry filter for the workflow (can be empty)"
                    },
                    "type": {
                      "title": "WorkflowTriggerType",
                      "enum": [
                        "EVENT_CREATED"
                      ],
                      "type": "string"
                    }
                  }
                },
                "type": {
                  "title": "WorkflowType",
                  "enum": [
                    "EVENT"
                  ],
                  "type": "string"
                },
                "createdBy": {
                  "type": "string",
                  "description": "Creator of the workflow"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "lastUpdated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "metrics": {
                  "title": "Metrics",
                  "type": "object",
                  "properties": {
                    "actionMetricsMap": {
                      "type": "object",
                      "additionalProperties": {
                        "title": "ActionMetricsDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name for the action"
                          },
                          "averageProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The average processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "discarded": {
                            "type": "integer",
                            "description": "Number of events discarded",
                            "format": "int64"
                          },
                          "errors": {
                            "type": "integer",
                            "description": "Number processed with error",
                            "format": "int64"
                          },
                          "highWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "lowWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "processed": {
                            "type": "integer",
                            "description": "Number processed",
                            "format": "int64"
                          },
                          "skipped": {
                            "type": "integer",
                            "description": "Number of events skipped",
                            "format": "int64"
                          }
                        },
                        "description": "Metrics about a running action."
                      },
                      "description": "Map of the action name to action metrics"
                    },
                    "averageProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The average processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "discarded": {
                      "type": "integer",
                      "description": "Number of events discarded",
                      "format": "int64"
                    },
                    "errors": {
                      "type": "integer",
                      "description": "Number processed with error",
                      "format": "int64"
                    },
                    "filterMetrics": {
                      "title": "FilterMetrics",
                      "type": "object",
                      "properties": {
                        "averageProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The average processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "errors": {
                          "type": "integer",
                          "description": "Number processed with error",
                          "format": "int64"
                        },
                        "excluded": {
                          "type": "integer",
                          "description": "Number excluded from the workflow",
                          "format": "int64"
                        },
                        "highWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "included": {
                          "type": "integer",
                          "description": "Number included in the workflow",
                          "format": "int64"
                        },
                        "lowWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "processed": {
                          "type": "integer",
                          "description": "Number processed",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "A general error that occurred outside of the workflow"
                    },
                    "generalErrorMillis": {
                      "type": "integer",
                      "description": "The time in millis when the general error occurred",
                      "format": "int64"
                    },
                    "highWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "lastException": {
                      "type": "string",
                      "description": "A description of the last exception that occurred any where in the workflow"
                    },
                    "lastExceptionMillis": {
                      "type": "integer",
                      "description": "The time in millis when the exception occurred",
                      "format": "int64"
                    },
                    "lowWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "processed": {
                      "type": "integer",
                      "description": "Number processed",
                      "format": "int64"
                    },
                    "skipped": {
                      "type": "integer",
                      "description": "Number of events ignored",
                      "format": "int64"
                    }
                  }
                },
                "status": {
                  "title": "WorkflowStatus",
                  "enum": [
                    "DELETED",
                    "NOT_RUNNING",
                    "RUNNING"
                  ],
                  "type": "string"
                },
                "test": {
                  "title": "Test",
                  "type": "object",
                  "properties": {
                    "actionsTestList": {
                      "type": "array",
                      "items": {
                        "title": "ActionTestDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name of the action"
                          },
                          "discarded": {
                            "type": "boolean",
                            "description": "Input was discarded by the workflow action"
                          },
                          "endMillis": {
                            "type": "integer",
                            "description": "End time in millis of the workflow action",
                            "format": "int64"
                          },
                          "exception": {
                            "type": "string",
                            "description": "Description of any exceptions that occurred"
                          },
                          "input": {
                            "type": "object"
                          },
                          "output": {
                            "type": "object"
                          },
                          "skipped": {
                            "type": "boolean",
                            "description": "Input was skipped by the workflow action"
                          },
                          "startMillis": {
                            "type": "integer",
                            "description": "Start time in millis of the workflow action",
                            "format": "int64"
                          }
                        },
                        "description": "Test results for an action."
                      },
                      "description": "List of test results for each action"
                    },
                    "discarded": {
                      "type": "boolean",
                      "description": "Input was discarded by one of the workflow actions"
                    },
                    "endMillis": {
                      "type": "integer",
                      "description": "End time in millis of the workflow test",
                      "format": "int64"
                    },
                    "exception": {
                      "type": "string",
                      "description": "Description of any exceptions that occurred"
                    },
                    "filterTest": {
                      "title": "FilterTest",
                      "type": "object",
                      "properties": {
                        "endMillis": {
                          "type": "integer",
                          "description": "End time in millis of the filter",
                          "format": "int64"
                        },
                        "exception": {
                          "type": "string",
                          "description": "Description of any exceptions that occurred"
                        },
                        "input": {
                          "type": "object"
                        },
                        "result": {
                          "type": "boolean",
                          "description": "Boolean result of running the filter"
                        },
                        "startMillis": {
                          "type": "integer",
                          "description": "Start time in millis of the filter",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "Description of any error that occurred outside of the workflow"
                    },
                    "input": {
                      "type": "object"
                    },
                    "output": {
                      "type": "object"
                    },
                    "skipped": {
                      "type": "boolean",
                      "description": "Input was skipped by one of the workflow actions"
                    },
                    "startMillis": {
                      "type": "integer",
                      "description": "Start time in millis of the workflow test",
                      "format": "int64"
                    },
                    "status": {
                      "title": "WorkflowTestStatusDto",
                      "enum": [
                        "FAILED",
                        "RUNNING",
                        "SUCCESS"
                      ],
                      "type": "string"
                    }
                  }
                }
              },
              "description": "Workflow with base and generated attributes."
            }
          },
          "description": "Workflow API WorkflowDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/modifyWorkflow"
      },
      "task": true
    },
    {
      "name": "getWorkflowStatus",
      "summary": "getWorkflowStatus",
      "description": "Returns the status for a specific workflow.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowStatusWrapperDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowStatusWrapperDto",
              "required": [
                "status"
              ],
              "type": "object",
              "properties": {
                "status": {
                  "title": "WorkflowStatus",
                  "enum": [
                    "DELETED",
                    "NOT_RUNNING",
                    "RUNNING"
                  ],
                  "type": "string"
                }
              },
              "description": "An object containing just the workflow status."
            }
          },
          "description": "Workflow API WorkflowStatusWrapperDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getWorkflowStatus"
      },
      "task": true
    },
    {
      "name": "setWorkflowStatus",
      "summary": "setWorkflowStatus",
      "description": "Modifies the status for a specific workflow.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"status\": \"Must be one of [DELETED, NOT_RUNNING, RUNNING]\"}",
          "required": false,
          "schema": {
            "title": "WorkflowStatusWrapperDto",
            "required": [
              "status"
            ],
            "type": "object",
            "properties": {
              "status": {
                "title": "WorkflowStatus",
                "enum": [
                  "DELETED",
                  "NOT_RUNNING",
                  "RUNNING"
                ],
                "type": "string"
              }
            },
            "description": "An object containing just the workflow status."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowDto",
              "required": [
                "description",
                "name",
                "priority",
                "steps",
                "trigger",
                "type"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Description of the workflow."
                },
                "name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Name of the workflow. This name cannot be empty and must be unique."
                },
                "priority": {
                  "type": "integer",
                  "description": "The priority of the workflow.",
                  "format": "int32"
                },
                "steps": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "title": "WorkflowActionDto",
                    "required": [
                      "actionName",
                      "configuration"
                    ],
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "minLength": 1,
                        "type": "string",
                        "description": "Computer name of the action"
                      },
                      "configuration": {
                        "type": "object"
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the configured action"
                      }
                    },
                    "description": "A configured action."
                  },
                  "description": "List of the configured workflow action(s)."
                },
                "trigger": {
                  "title": "Trigger",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "entryFilter": {
                      "type": "string",
                      "description": "Entry filter for the workflow (can be empty)"
                    },
                    "type": {
                      "title": "WorkflowTriggerType",
                      "enum": [
                        "EVENT_CREATED"
                      ],
                      "type": "string"
                    }
                  }
                },
                "type": {
                  "title": "WorkflowType",
                  "enum": [
                    "EVENT"
                  ],
                  "type": "string"
                },
                "createdBy": {
                  "type": "string",
                  "description": "Creator of the workflow"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "lastUpdated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "metrics": {
                  "title": "Metrics",
                  "type": "object",
                  "properties": {
                    "actionMetricsMap": {
                      "type": "object",
                      "additionalProperties": {
                        "title": "ActionMetricsDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name for the action"
                          },
                          "averageProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The average processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "discarded": {
                            "type": "integer",
                            "description": "Number of events discarded",
                            "format": "int64"
                          },
                          "errors": {
                            "type": "integer",
                            "description": "Number processed with error",
                            "format": "int64"
                          },
                          "highWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "lowWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "processed": {
                            "type": "integer",
                            "description": "Number processed",
                            "format": "int64"
                          },
                          "skipped": {
                            "type": "integer",
                            "description": "Number of events skipped",
                            "format": "int64"
                          }
                        },
                        "description": "Metrics about a running action."
                      },
                      "description": "Map of the action name to action metrics"
                    },
                    "averageProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The average processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "discarded": {
                      "type": "integer",
                      "description": "Number of events discarded",
                      "format": "int64"
                    },
                    "errors": {
                      "type": "integer",
                      "description": "Number processed with error",
                      "format": "int64"
                    },
                    "filterMetrics": {
                      "title": "FilterMetrics",
                      "type": "object",
                      "properties": {
                        "averageProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The average processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "errors": {
                          "type": "integer",
                          "description": "Number processed with error",
                          "format": "int64"
                        },
                        "excluded": {
                          "type": "integer",
                          "description": "Number excluded from the workflow",
                          "format": "int64"
                        },
                        "highWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "included": {
                          "type": "integer",
                          "description": "Number included in the workflow",
                          "format": "int64"
                        },
                        "lowWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "processed": {
                          "type": "integer",
                          "description": "Number processed",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "A general error that occurred outside of the workflow"
                    },
                    "generalErrorMillis": {
                      "type": "integer",
                      "description": "The time in millis when the general error occurred",
                      "format": "int64"
                    },
                    "highWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "lastException": {
                      "type": "string",
                      "description": "A description of the last exception that occurred any where in the workflow"
                    },
                    "lastExceptionMillis": {
                      "type": "integer",
                      "description": "The time in millis when the exception occurred",
                      "format": "int64"
                    },
                    "lowWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "processed": {
                      "type": "integer",
                      "description": "Number processed",
                      "format": "int64"
                    },
                    "skipped": {
                      "type": "integer",
                      "description": "Number of events ignored",
                      "format": "int64"
                    }
                  }
                },
                "status": {
                  "title": "WorkflowStatus",
                  "enum": [
                    "DELETED",
                    "NOT_RUNNING",
                    "RUNNING"
                  ],
                  "type": "string"
                },
                "test": {
                  "title": "Test",
                  "type": "object",
                  "properties": {
                    "actionsTestList": {
                      "type": "array",
                      "items": {
                        "title": "ActionTestDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name of the action"
                          },
                          "discarded": {
                            "type": "boolean",
                            "description": "Input was discarded by the workflow action"
                          },
                          "endMillis": {
                            "type": "integer",
                            "description": "End time in millis of the workflow action",
                            "format": "int64"
                          },
                          "exception": {
                            "type": "string",
                            "description": "Description of any exceptions that occurred"
                          },
                          "input": {
                            "type": "object"
                          },
                          "output": {
                            "type": "object"
                          },
                          "skipped": {
                            "type": "boolean",
                            "description": "Input was skipped by the workflow action"
                          },
                          "startMillis": {
                            "type": "integer",
                            "description": "Start time in millis of the workflow action",
                            "format": "int64"
                          }
                        },
                        "description": "Test results for an action."
                      },
                      "description": "List of test results for each action"
                    },
                    "discarded": {
                      "type": "boolean",
                      "description": "Input was discarded by one of the workflow actions"
                    },
                    "endMillis": {
                      "type": "integer",
                      "description": "End time in millis of the workflow test",
                      "format": "int64"
                    },
                    "exception": {
                      "type": "string",
                      "description": "Description of any exceptions that occurred"
                    },
                    "filterTest": {
                      "title": "FilterTest",
                      "type": "object",
                      "properties": {
                        "endMillis": {
                          "type": "integer",
                          "description": "End time in millis of the filter",
                          "format": "int64"
                        },
                        "exception": {
                          "type": "string",
                          "description": "Description of any exceptions that occurred"
                        },
                        "input": {
                          "type": "object"
                        },
                        "result": {
                          "type": "boolean",
                          "description": "Boolean result of running the filter"
                        },
                        "startMillis": {
                          "type": "integer",
                          "description": "Start time in millis of the filter",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "Description of any error that occurred outside of the workflow"
                    },
                    "input": {
                      "type": "object"
                    },
                    "output": {
                      "type": "object"
                    },
                    "skipped": {
                      "type": "boolean",
                      "description": "Input was skipped by one of the workflow actions"
                    },
                    "startMillis": {
                      "type": "integer",
                      "description": "Start time in millis of the workflow test",
                      "format": "int64"
                    },
                    "status": {
                      "title": "WorkflowTestStatusDto",
                      "enum": [
                        "FAILED",
                        "RUNNING",
                        "SUCCESS"
                      ],
                      "type": "string"
                    }
                  }
                }
              },
              "description": "Workflow with base and generated attributes."
            }
          },
          "description": "Workflow API WorkflowDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setWorkflowStatus"
      },
      "task": true
    },
    {
      "name": "setWorkflowPriorities",
      "summary": "setWorkflowPriorities",
      "description": "Modifies the priority for multiple workflows.",
      "input": [
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": false,
          "schema": {
            "type": "array",
            "items": {
              "title": "WorkflowPriorityWrapperDto",
              "required": [
                "id",
                "priority"
              ],
              "type": "object",
              "properties": {
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "priority": {
                  "type": "integer",
                  "description": "The priority of the workflow.",
                  "format": "int32"
                }
              },
              "description": "Workflow update workflow priority."
            },
            "description": ""
          }
        }
      ],
      "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": "/setWorkflowPriorities"
      },
      "task": true
    },
    {
      "name": "getWorkflowMetrics",
      "summary": "getWorkflowMetrics",
      "description": "Returns the metrics for the workflow with the given ID.",
      "input": [
        {
          "name": "id",
          "type": "object",
          "info": "ID of the workflow: object",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowMetricsDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowMetricsDto",
              "type": "object",
              "properties": {
                "actionMetricsMap": {
                  "type": "object",
                  "additionalProperties": {
                    "title": "ActionMetricsDto",
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "type": "string",
                        "description": "The computer name for the action"
                      },
                      "averageProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The average processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "discarded": {
                        "type": "integer",
                        "description": "Number of events discarded",
                        "format": "int64"
                      },
                      "errors": {
                        "type": "integer",
                        "description": "Number processed with error",
                        "format": "int64"
                      },
                      "highWatermarkProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "lowWatermarkProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "processed": {
                        "type": "integer",
                        "description": "Number processed",
                        "format": "int64"
                      },
                      "skipped": {
                        "type": "integer",
                        "description": "Number of events skipped",
                        "format": "int64"
                      }
                    },
                    "description": "Metrics about a running action."
                  },
                  "description": "Map of the action name to action metrics"
                },
                "averageProcessingDurationMillis": {
                  "type": "integer",
                  "description": "The average processing duration (0 indicates less then 1ms)",
                  "format": "int64"
                },
                "discarded": {
                  "type": "integer",
                  "description": "Number of events discarded",
                  "format": "int64"
                },
                "errors": {
                  "type": "integer",
                  "description": "Number processed with error",
                  "format": "int64"
                },
                "filterMetrics": {
                  "title": "FilterMetrics",
                  "type": "object",
                  "properties": {
                    "averageProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The average processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "errors": {
                      "type": "integer",
                      "description": "Number processed with error",
                      "format": "int64"
                    },
                    "excluded": {
                      "type": "integer",
                      "description": "Number excluded from the workflow",
                      "format": "int64"
                    },
                    "highWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "included": {
                      "type": "integer",
                      "description": "Number included in the workflow",
                      "format": "int64"
                    },
                    "lowWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "processed": {
                      "type": "integer",
                      "description": "Number processed",
                      "format": "int64"
                    }
                  }
                },
                "generalError": {
                  "type": "string",
                  "description": "A general error that occurred outside of the workflow"
                },
                "generalErrorMillis": {
                  "type": "integer",
                  "description": "The time in millis when the general error occurred",
                  "format": "int64"
                },
                "highWatermarkProcessingDurationMillis": {
                  "type": "integer",
                  "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                  "format": "int64"
                },
                "lastException": {
                  "type": "string",
                  "description": "A description of the last exception that occurred any where in the workflow"
                },
                "lastExceptionMillis": {
                  "type": "integer",
                  "description": "The time in millis when the exception occurred",
                  "format": "int64"
                },
                "lowWatermarkProcessingDurationMillis": {
                  "type": "integer",
                  "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                  "format": "int64"
                },
                "processed": {
                  "type": "integer",
                  "description": "Number processed",
                  "format": "int64"
                },
                "skipped": {
                  "type": "integer",
                  "description": "Number of events ignored",
                  "format": "int64"
                }
              },
              "description": "Metrics about a running workflow."
            }
          },
          "description": "Workflow API WorkflowMetricsDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getWorkflowMetrics"
      },
      "task": true
    },
    {
      "name": "getWorkflows",
      "summary": "getWorkflows",
      "description": "Returns all workflows.",
      "input": [
        {
          "name": "status",
          "type": "string",
          "info": "Status filter for the returned workflow: Must be one of [DELETED, NOT_RUNNING, RUNNING]",
          "required": false,
          "schema": {
            "title": "status",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "array",
          "items": {
            "title": "WorkflowDto",
            "required": [
              "description",
              "name",
              "priority",
              "steps",
              "trigger",
              "type"
            ],
            "type": "object",
            "properties": {
              "description": {
                "minLength": 1,
                "type": "string",
                "description": "Description of the workflow."
              },
              "name": {
                "minLength": 1,
                "type": "string",
                "description": "Name of the workflow. This name cannot be empty and must be unique."
              },
              "priority": {
                "type": "integer",
                "description": "The priority of the workflow.",
                "format": "int32"
              },
              "steps": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "title": "WorkflowActionDto",
                  "required": [
                    "actionName",
                    "configuration"
                  ],
                  "type": "object",
                  "properties": {
                    "actionName": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Computer name of the action"
                    },
                    "configuration": {
                      "type": "object"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the configured action"
                    }
                  },
                  "description": "A configured action."
                },
                "description": "List of the configured workflow action(s)."
              },
              "trigger": {
                "title": "Trigger",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "entryFilter": {
                    "type": "string",
                    "description": "Entry filter for the workflow (can be empty)"
                  },
                  "type": {
                    "title": "WorkflowTriggerType",
                    "enum": [
                      "EVENT_CREATED"
                    ],
                    "type": "string"
                  }
                }
              },
              "type": {
                "title": "WorkflowType",
                "enum": [
                  "EVENT"
                ],
                "type": "string"
              },
              "createdBy": {
                "type": "string",
                "description": "Creator of the workflow"
              },
              "id": {
                "title": "ObjectId",
                "type": "object",
                "properties": {
                  "counter": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue1": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "randomValue2": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "timestamp": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "lastUpdated": {
                "title": "Instant",
                "type": "object",
                "properties": {
                  "nanos": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "seconds": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "nano": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "metrics": {
                "title": "Metrics",
                "type": "object",
                "properties": {
                  "actionMetricsMap": {
                    "type": "object",
                    "additionalProperties": {
                      "title": "ActionMetricsDto",
                      "type": "object",
                      "properties": {
                        "actionName": {
                          "type": "string",
                          "description": "The computer name for the action"
                        },
                        "averageProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The average processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "discarded": {
                          "type": "integer",
                          "description": "Number of events discarded",
                          "format": "int64"
                        },
                        "errors": {
                          "type": "integer",
                          "description": "Number processed with error",
                          "format": "int64"
                        },
                        "highWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "lowWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "processed": {
                          "type": "integer",
                          "description": "Number processed",
                          "format": "int64"
                        },
                        "skipped": {
                          "type": "integer",
                          "description": "Number of events skipped",
                          "format": "int64"
                        }
                      },
                      "description": "Metrics about a running action."
                    },
                    "description": "Map of the action name to action metrics"
                  },
                  "averageProcessingDurationMillis": {
                    "type": "integer",
                    "description": "The average processing duration (0 indicates less then 1ms)",
                    "format": "int64"
                  },
                  "discarded": {
                    "type": "integer",
                    "description": "Number of events discarded",
                    "format": "int64"
                  },
                  "errors": {
                    "type": "integer",
                    "description": "Number processed with error",
                    "format": "int64"
                  },
                  "filterMetrics": {
                    "title": "FilterMetrics",
                    "type": "object",
                    "properties": {
                      "averageProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The average processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "errors": {
                        "type": "integer",
                        "description": "Number processed with error",
                        "format": "int64"
                      },
                      "excluded": {
                        "type": "integer",
                        "description": "Number excluded from the workflow",
                        "format": "int64"
                      },
                      "highWatermarkProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "included": {
                        "type": "integer",
                        "description": "Number included in the workflow",
                        "format": "int64"
                      },
                      "lowWatermarkProcessingDurationMillis": {
                        "type": "integer",
                        "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                        "format": "int64"
                      },
                      "processed": {
                        "type": "integer",
                        "description": "Number processed",
                        "format": "int64"
                      }
                    }
                  },
                  "generalError": {
                    "type": "string",
                    "description": "A general error that occurred outside of the workflow"
                  },
                  "generalErrorMillis": {
                    "type": "integer",
                    "description": "The time in millis when the general error occurred",
                    "format": "int64"
                  },
                  "highWatermarkProcessingDurationMillis": {
                    "type": "integer",
                    "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                    "format": "int64"
                  },
                  "lastException": {
                    "type": "string",
                    "description": "A description of the last exception that occurred any where in the workflow"
                  },
                  "lastExceptionMillis": {
                    "type": "integer",
                    "description": "The time in millis when the exception occurred",
                    "format": "int64"
                  },
                  "lowWatermarkProcessingDurationMillis": {
                    "type": "integer",
                    "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                    "format": "int64"
                  },
                  "processed": {
                    "type": "integer",
                    "description": "Number processed",
                    "format": "int64"
                  },
                  "skipped": {
                    "type": "integer",
                    "description": "Number of events ignored",
                    "format": "int64"
                  }
                }
              },
              "status": {
                "title": "WorkflowStatus",
                "enum": [
                  "DELETED",
                  "NOT_RUNNING",
                  "RUNNING"
                ],
                "type": "string"
              },
              "test": {
                "title": "Test",
                "type": "object",
                "properties": {
                  "actionsTestList": {
                    "type": "array",
                    "items": {
                      "title": "ActionTestDto",
                      "type": "object",
                      "properties": {
                        "actionName": {
                          "type": "string",
                          "description": "The computer name of the action"
                        },
                        "discarded": {
                          "type": "boolean",
                          "description": "Input was discarded by the workflow action"
                        },
                        "endMillis": {
                          "type": "integer",
                          "description": "End time in millis of the workflow action",
                          "format": "int64"
                        },
                        "exception": {
                          "type": "string",
                          "description": "Description of any exceptions that occurred"
                        },
                        "input": {
                          "type": "object"
                        },
                        "output": {
                          "type": "object"
                        },
                        "skipped": {
                          "type": "boolean",
                          "description": "Input was skipped by the workflow action"
                        },
                        "startMillis": {
                          "type": "integer",
                          "description": "Start time in millis of the workflow action",
                          "format": "int64"
                        }
                      },
                      "description": "Test results for an action."
                    },
                    "description": "List of test results for each action"
                  },
                  "discarded": {
                    "type": "boolean",
                    "description": "Input was discarded by one of the workflow actions"
                  },
                  "endMillis": {
                    "type": "integer",
                    "description": "End time in millis of the workflow test",
                    "format": "int64"
                  },
                  "exception": {
                    "type": "string",
                    "description": "Description of any exceptions that occurred"
                  },
                  "filterTest": {
                    "title": "FilterTest",
                    "type": "object",
                    "properties": {
                      "endMillis": {
                        "type": "integer",
                        "description": "End time in millis of the filter",
                        "format": "int64"
                      },
                      "exception": {
                        "type": "string",
                        "description": "Description of any exceptions that occurred"
                      },
                      "input": {
                        "type": "object"
                      },
                      "result": {
                        "type": "boolean",
                        "description": "Boolean result of running the filter"
                      },
                      "startMillis": {
                        "type": "integer",
                        "description": "Start time in millis of the filter",
                        "format": "int64"
                      }
                    }
                  },
                  "generalError": {
                    "type": "string",
                    "description": "Description of any error that occurred outside of the workflow"
                  },
                  "input": {
                    "type": "object"
                  },
                  "output": {
                    "type": "object"
                  },
                  "skipped": {
                    "type": "boolean",
                    "description": "Input was skipped by one of the workflow actions"
                  },
                  "startMillis": {
                    "type": "integer",
                    "description": "Start time in millis of the workflow test",
                    "format": "int64"
                  },
                  "status": {
                    "title": "WorkflowTestStatusDto",
                    "enum": [
                      "FAILED",
                      "RUNNING",
                      "SUCCESS"
                    ],
                    "type": "string"
                  }
                }
              }
            },
            "description": "Workflow with base and generated attributes."
          },
          "description": ""
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getWorkflows"
      },
      "task": true
    },
    {
      "name": "createWorkflow",
      "summary": "createWorkflow",
      "description": "Creates a new workflow.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"description\": \"string\", \"name\": \"string\", \"priority\": 123, \"steps\": [{\"actionName\": \"string\", \"configuration\": \"object\", \"description\": \"string\"}], \"trigger\": {\"entryFilter\": \"string\", \"type\": \"Must be one of [EVENT_CREATED]\"}, \"type\": \"Must be one of [EVENT]\"}",
          "required": false,
          "schema": {
            "title": "BaseWorkflowDto",
            "required": [
              "description",
              "name",
              "priority",
              "steps",
              "trigger",
              "type"
            ],
            "type": "object",
            "properties": {
              "description": {
                "minLength": 1,
                "type": "string",
                "description": "Description of the workflow."
              },
              "name": {
                "minLength": 1,
                "type": "string",
                "description": "Name of the workflow. This name cannot be empty and must be unique."
              },
              "priority": {
                "type": "integer",
                "description": "The priority of the workflow.",
                "format": "int32"
              },
              "steps": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "title": "WorkflowActionDto",
                  "required": [
                    "actionName",
                    "configuration"
                  ],
                  "type": "object",
                  "properties": {
                    "actionName": {
                      "minLength": 1,
                      "type": "string",
                      "description": "Computer name of the action"
                    },
                    "configuration": {
                      "type": "object"
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the configured action"
                    }
                  },
                  "description": "A configured action."
                },
                "description": "List of the configured workflow action(s)."
              },
              "trigger": {
                "title": "Trigger",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "entryFilter": {
                    "type": "string",
                    "description": "Entry filter for the workflow (can be empty)"
                  },
                  "type": {
                    "title": "WorkflowTriggerType",
                    "enum": [
                      "EVENT_CREATED"
                    ],
                    "type": "string"
                  }
                }
              },
              "type": {
                "title": "WorkflowType",
                "enum": [
                  "EVENT"
                ],
                "type": "string"
              }
            },
            "description": "Base workflow attributes."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "MoogResponseWorkflowDto",
          "required": [
            "status",
            "data"
          ],
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "description": "Success status indicator (always \"success\")",
              "example": "success"
            },
            "data": {
              "title": "WorkflowDto",
              "required": [
                "description",
                "name",
                "priority",
                "steps",
                "trigger",
                "type"
              ],
              "type": "object",
              "properties": {
                "description": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Description of the workflow."
                },
                "name": {
                  "minLength": 1,
                  "type": "string",
                  "description": "Name of the workflow. This name cannot be empty and must be unique."
                },
                "priority": {
                  "type": "integer",
                  "description": "The priority of the workflow.",
                  "format": "int32"
                },
                "steps": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "title": "WorkflowActionDto",
                    "required": [
                      "actionName",
                      "configuration"
                    ],
                    "type": "object",
                    "properties": {
                      "actionName": {
                        "minLength": 1,
                        "type": "string",
                        "description": "Computer name of the action"
                      },
                      "configuration": {
                        "type": "object"
                      },
                      "description": {
                        "type": "string",
                        "description": "Description of the configured action"
                      }
                    },
                    "description": "A configured action."
                  },
                  "description": "List of the configured workflow action(s)."
                },
                "trigger": {
                  "title": "Trigger",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "entryFilter": {
                      "type": "string",
                      "description": "Entry filter for the workflow (can be empty)"
                    },
                    "type": {
                      "title": "WorkflowTriggerType",
                      "enum": [
                        "EVENT_CREATED"
                      ],
                      "type": "string"
                    }
                  }
                },
                "type": {
                  "title": "WorkflowType",
                  "enum": [
                    "EVENT"
                  ],
                  "type": "string"
                },
                "createdBy": {
                  "type": "string",
                  "description": "Creator of the workflow"
                },
                "id": {
                  "title": "ObjectId",
                  "type": "object",
                  "properties": {
                    "counter": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue1": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "randomValue2": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "timestamp": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                },
                "lastUpdated": {
                  "title": "Instant",
                  "type": "object",
                  "properties": {
                    "nanos": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "seconds": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "epochSecond": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "nano": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "metrics": {
                  "title": "Metrics",
                  "type": "object",
                  "properties": {
                    "actionMetricsMap": {
                      "type": "object",
                      "additionalProperties": {
                        "title": "ActionMetricsDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name for the action"
                          },
                          "averageProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The average processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "discarded": {
                            "type": "integer",
                            "description": "Number of events discarded",
                            "format": "int64"
                          },
                          "errors": {
                            "type": "integer",
                            "description": "Number processed with error",
                            "format": "int64"
                          },
                          "highWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "lowWatermarkProcessingDurationMillis": {
                            "type": "integer",
                            "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                            "format": "int64"
                          },
                          "processed": {
                            "type": "integer",
                            "description": "Number processed",
                            "format": "int64"
                          },
                          "skipped": {
                            "type": "integer",
                            "description": "Number of events skipped",
                            "format": "int64"
                          }
                        },
                        "description": "Metrics about a running action."
                      },
                      "description": "Map of the action name to action metrics"
                    },
                    "averageProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The average processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "discarded": {
                      "type": "integer",
                      "description": "Number of events discarded",
                      "format": "int64"
                    },
                    "errors": {
                      "type": "integer",
                      "description": "Number processed with error",
                      "format": "int64"
                    },
                    "filterMetrics": {
                      "title": "FilterMetrics",
                      "type": "object",
                      "properties": {
                        "averageProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The average processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "errors": {
                          "type": "integer",
                          "description": "Number processed with error",
                          "format": "int64"
                        },
                        "excluded": {
                          "type": "integer",
                          "description": "Number excluded from the workflow",
                          "format": "int64"
                        },
                        "highWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "included": {
                          "type": "integer",
                          "description": "Number included in the workflow",
                          "format": "int64"
                        },
                        "lowWatermarkProcessingDurationMillis": {
                          "type": "integer",
                          "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                          "format": "int64"
                        },
                        "processed": {
                          "type": "integer",
                          "description": "Number processed",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "A general error that occurred outside of the workflow"
                    },
                    "generalErrorMillis": {
                      "type": "integer",
                      "description": "The time in millis when the general error occurred",
                      "format": "int64"
                    },
                    "highWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The highest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "lastException": {
                      "type": "string",
                      "description": "A description of the last exception that occurred any where in the workflow"
                    },
                    "lastExceptionMillis": {
                      "type": "integer",
                      "description": "The time in millis when the exception occurred",
                      "format": "int64"
                    },
                    "lowWatermarkProcessingDurationMillis": {
                      "type": "integer",
                      "description": "The lowest watermark for processing duration (0 indicates less then 1ms)",
                      "format": "int64"
                    },
                    "processed": {
                      "type": "integer",
                      "description": "Number processed",
                      "format": "int64"
                    },
                    "skipped": {
                      "type": "integer",
                      "description": "Number of events ignored",
                      "format": "int64"
                    }
                  }
                },
                "status": {
                  "title": "WorkflowStatus",
                  "enum": [
                    "DELETED",
                    "NOT_RUNNING",
                    "RUNNING"
                  ],
                  "type": "string"
                },
                "test": {
                  "title": "Test",
                  "type": "object",
                  "properties": {
                    "actionsTestList": {
                      "type": "array",
                      "items": {
                        "title": "ActionTestDto",
                        "type": "object",
                        "properties": {
                          "actionName": {
                            "type": "string",
                            "description": "The computer name of the action"
                          },
                          "discarded": {
                            "type": "boolean",
                            "description": "Input was discarded by the workflow action"
                          },
                          "endMillis": {
                            "type": "integer",
                            "description": "End time in millis of the workflow action",
                            "format": "int64"
                          },
                          "exception": {
                            "type": "string",
                            "description": "Description of any exceptions that occurred"
                          },
                          "input": {
                            "type": "object"
                          },
                          "output": {
                            "type": "object"
                          },
                          "skipped": {
                            "type": "boolean",
                            "description": "Input was skipped by the workflow action"
                          },
                          "startMillis": {
                            "type": "integer",
                            "description": "Start time in millis of the workflow action",
                            "format": "int64"
                          }
                        },
                        "description": "Test results for an action."
                      },
                      "description": "List of test results for each action"
                    },
                    "discarded": {
                      "type": "boolean",
                      "description": "Input was discarded by one of the workflow actions"
                    },
                    "endMillis": {
                      "type": "integer",
                      "description": "End time in millis of the workflow test",
                      "format": "int64"
                    },
                    "exception": {
                      "type": "string",
                      "description": "Description of any exceptions that occurred"
                    },
                    "filterTest": {
                      "title": "FilterTest",
                      "type": "object",
                      "properties": {
                        "endMillis": {
                          "type": "integer",
                          "description": "End time in millis of the filter",
                          "format": "int64"
                        },
                        "exception": {
                          "type": "string",
                          "description": "Description of any exceptions that occurred"
                        },
                        "input": {
                          "type": "object"
                        },
                        "result": {
                          "type": "boolean",
                          "description": "Boolean result of running the filter"
                        },
                        "startMillis": {
                          "type": "integer",
                          "description": "Start time in millis of the filter",
                          "format": "int64"
                        }
                      }
                    },
                    "generalError": {
                      "type": "string",
                      "description": "Description of any error that occurred outside of the workflow"
                    },
                    "input": {
                      "type": "object"
                    },
                    "output": {
                      "type": "object"
                    },
                    "skipped": {
                      "type": "boolean",
                      "description": "Input was skipped by one of the workflow actions"
                    },
                    "startMillis": {
                      "type": "integer",
                      "description": "Start time in millis of the workflow test",
                      "format": "int64"
                    },
                    "status": {
                      "title": "WorkflowTestStatusDto",
                      "enum": [
                        "FAILED",
                        "RUNNING",
                        "SUCCESS"
                      ],
                      "type": "string"
                    }
                  }
                }
              },
              "description": "Workflow with base and generated attributes."
            }
          },
          "description": "Workflow API WorkflowDto response body"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createWorkflow"
      },
      "task": true
    }
  ],
  "views": []
}