{
  "id": "@itentialopensource/adapter-morpheus",
  "type": "Adapter",
  "export": "Morpheus",
  "title": "Morpheus",
  "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": "createCluster",
      "summary": "create a cluster",
      "description": "create a cluster",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "cluster to create: object",
          "required": true,
          "schema": {
            "title": "cluster",
            "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": "/createCluster"
      },
      "task": true
    },
    {
      "name": "getClusters",
      "summary": "get all clusters",
      "description": "get all clusters",
      "input": [
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getClusters"
      },
      "task": true
    },
    {
      "name": "getClusterById",
      "summary": "get cluster by id",
      "description": "get cluster by id",
      "input": [
        {
          "name": "clusterId",
          "type": "number",
          "info": "the id of the cluster to get: 123",
          "required": true,
          "schema": {
            "title": "clusterId",
            "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": "/getClusterById"
      },
      "task": true
    },
    {
      "name": "updateCluster",
      "summary": "update a cluster",
      "description": "update a cluster",
      "input": [
        {
          "name": "clusterId",
          "type": "number",
          "info": "the id of the cluster to update: 123",
          "required": true,
          "schema": {
            "title": "clusterId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "cluster changes: object",
          "required": true,
          "schema": {
            "title": "cluster",
            "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": "/updateCluster"
      },
      "task": true
    },
    {
      "name": "deleteCluster",
      "summary": "delete cluster",
      "description": "delete cluster",
      "input": [
        {
          "name": "clusterId",
          "type": "number",
          "info": "the id of the cluster to delete: 123",
          "required": true,
          "schema": {
            "title": "clusterId",
            "type": "number"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "options to take on delete: object",
          "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": "/deleteCluster"
      },
      "task": true
    },
    {
      "name": "updateClusterPermissions",
      "summary": "update cluster permissions",
      "description": "update cluster permissions",
      "input": [
        {
          "name": "clusterId",
          "type": "number",
          "info": "the id of the cluster to update: 123",
          "required": true,
          "schema": {
            "title": "clusterId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "cluster permissions: object",
          "required": true,
          "schema": {
            "title": "clusterPerm",
            "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": "/updateClusterPermissions"
      },
      "task": true
    },
    {
      "name": "getContainers",
      "summary": "get containters",
      "description": "get containters",
      "input": [
        {
          "name": "clusterId",
          "type": "number",
          "info": "the id of the cluster to get containers from: 123",
          "required": true,
          "schema": {
            "title": "clusterId",
            "type": "number"
          }
        },
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getContainers"
      },
      "task": true
    },
    {
      "name": "createInstance",
      "summary": "create an instance",
      "description": "create an instance",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "instance to create: object",
          "required": true,
          "schema": {
            "title": "instance",
            "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": "/createInstance"
      },
      "task": true
    },
    {
      "name": "getInstances",
      "summary": "get all instances",
      "description": "get all instances",
      "input": [
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getInstances"
      },
      "task": true
    },
    {
      "name": "getInstanceById",
      "summary": "get instance by id",
      "description": "get instance by id",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to get: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/getInstanceById"
      },
      "task": true
    },
    {
      "name": "updateInstance",
      "summary": "update a instance",
      "description": "update a instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to update: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "instance changes: object",
          "required": true,
          "schema": {
            "title": "instance",
            "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": "/updateInstance"
      },
      "task": true
    },
    {
      "name": "deleteInstance",
      "summary": "delete instance",
      "description": "delete instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to delete: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "options to take on delete: object",
          "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": "/deleteInstance"
      },
      "task": true
    },
    {
      "name": "getInstanceEnvironment",
      "summary": "get instance environment variables",
      "description": "get instance environment variables",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to get the environment of: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/getInstanceEnvironment"
      },
      "task": true
    },
    {
      "name": "getInstanceHistory",
      "summary": "get instance history",
      "description": "get instance history",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to get the history of: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/getInstanceHistory"
      },
      "task": true
    },
    {
      "name": "getInstanceContainerDetails",
      "summary": "get instance container details",
      "description": "get instance container details",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to get the container details of: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/getInstanceContainerDetails"
      },
      "task": true
    },
    {
      "name": "getInstanceTypes",
      "summary": "get all instance types",
      "description": "get all instance types",
      "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": "/getInstanceTypes"
      },
      "task": true
    },
    {
      "name": "getInstanceTypeById",
      "summary": "get instance type by id",
      "description": "get instance type by id",
      "input": [
        {
          "name": "typeId",
          "type": "number",
          "info": "the id of the instance type to get: 123",
          "required": true,
          "schema": {
            "title": "typeId",
            "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": "/getInstanceTypeById"
      },
      "task": true
    },
    {
      "name": "getServicePlans",
      "summary": "get available service plans",
      "description": "get available service plans",
      "input": [
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getServicePlans"
      },
      "task": true
    },
    {
      "name": "stopInstance",
      "summary": "stop an instance",
      "description": "stop an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to stop: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/stopInstance"
      },
      "task": true
    },
    {
      "name": "startInstance",
      "summary": "start an instance",
      "description": "start an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to start: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/startInstance"
      },
      "task": true
    },
    {
      "name": "restartInstance",
      "summary": "restart an instance",
      "description": "restart an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to restart: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/restartInstance"
      },
      "task": true
    },
    {
      "name": "suspendInstance",
      "summary": "suspend an instance",
      "description": "suspend an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to suspend: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/suspendInstance"
      },
      "task": true
    },
    {
      "name": "rejectInstance",
      "summary": "reject an instance",
      "description": "reject an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to reject: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/rejectInstance"
      },
      "task": true
    },
    {
      "name": "resizeInstance",
      "summary": "resize an instance",
      "description": "resize an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to resize: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "resize information: object",
          "required": true,
          "schema": {
            "title": "resize",
            "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": "/resizeInstance"
      },
      "task": true
    },
    {
      "name": "runInstanceWorkflow",
      "summary": "run workflow on an instance",
      "description": "run workflow on an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to run workflow on: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "workflowId",
          "type": "number",
          "info": "the id of the workflow to run: 123",
          "required": false,
          "schema": {
            "title": "workflowId",
            "type": "number"
          }
        },
        {
          "name": "workflowName",
          "type": "string",
          "info": "the name of the workflow to run: string",
          "required": false,
          "schema": {
            "title": "workflowName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "workflow options: object",
          "required": true,
          "schema": {
            "title": "workflowOptions",
            "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": "/runInstanceWorkflow"
      },
      "task": true
    },
    {
      "name": "cloneInstance",
      "summary": "clone an instance",
      "description": "clone an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to clone: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "clone changes: object",
          "required": true,
          "schema": {
            "title": "clone",
            "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": "/cloneInstance"
      },
      "task": true
    },
    {
      "name": "backupInstance",
      "summary": "backup an instance",
      "description": "backup an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to backup: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/backupInstance"
      },
      "task": true
    },
    {
      "name": "listInstanceBackups",
      "summary": "get list of backups for an instance",
      "description": "get list of backups for an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to get backups for: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/listInstanceBackups"
      },
      "task": true
    },
    {
      "name": "listInstanceSnapshots",
      "summary": "get list of snapshots for an instance",
      "description": "get list of snapshots for an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to get snapshots for: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/listInstanceSnapshots"
      },
      "task": true
    },
    {
      "name": "snapshotInstance",
      "summary": "snapshot an instance",
      "description": "snapshot an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to snapshot: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "snapshot information: object",
          "required": true,
          "schema": {
            "title": "snapshot",
            "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": "/snapshotInstance"
      },
      "task": true
    },
    {
      "name": "importInstanceSnapshot",
      "summary": "import instance snapshot",
      "description": "import instance snapshot",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to import the snapshot: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "storage information: object",
          "required": false,
          "schema": {
            "title": "storage",
            "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": "/importInstanceSnapshot"
      },
      "task": true
    },
    {
      "name": "cloneInstanceImage",
      "summary": "clone instance to image",
      "description": "clone instance to image",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to clone to image: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "image information: object",
          "required": false,
          "schema": {
            "title": "image",
            "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": "/cloneInstanceImage"
      },
      "task": true
    },
    {
      "name": "lockInstance",
      "summary": "lock an instance",
      "description": "lock an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to lock: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/lockInstance"
      },
      "task": true
    },
    {
      "name": "unlockInstance",
      "summary": "unlock an instance",
      "description": "unlock an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to unlock: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/unlockInstance"
      },
      "task": true
    },
    {
      "name": "listInstanceSecurityGroups",
      "summary": "get security groups for an instance",
      "description": "get security groups for an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to get security groups for: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/listInstanceSecurityGroups"
      },
      "task": true
    },
    {
      "name": "setInstanceSecurityGroups",
      "summary": "set security groups for an instance",
      "description": "set security groups for an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to set security groups for: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "security groups: object",
          "required": true,
          "schema": {
            "title": "securityGroups",
            "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": "/setInstanceSecurityGroups"
      },
      "task": true
    },
    {
      "name": "cancelDeleteInstance",
      "summary": "cancel delete of an instance",
      "description": "cancel delete of an instance",
      "input": [
        {
          "name": "instanceId",
          "type": "number",
          "info": "the id of the instance to cancel the removal of: 123",
          "required": true,
          "schema": {
            "title": "instanceId",
            "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": "/cancelDeleteInstance"
      },
      "task": true
    },
    {
      "name": "getIncidents",
      "summary": "get all incidents",
      "description": "get all incidents",
      "input": [
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getIncidents"
      },
      "task": true
    },
    {
      "name": "createNetwork",
      "summary": "create a network",
      "description": "create a network",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "network to create: object",
          "required": true,
          "schema": {
            "title": "network",
            "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": "/createNetwork"
      },
      "task": true
    },
    {
      "name": "getNetworks",
      "summary": "get all networks",
      "description": "get all networks",
      "input": [
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getNetworks"
      },
      "task": true
    },
    {
      "name": "getNetworkById",
      "summary": "get network by id",
      "description": "get network by id",
      "input": [
        {
          "name": "networkId",
          "type": "number",
          "info": "the id of the network to get: 123",
          "required": true,
          "schema": {
            "title": "networkId",
            "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": "/getNetworkById"
      },
      "task": true
    },
    {
      "name": "updateNetwork",
      "summary": "update a network",
      "description": "update a network",
      "input": [
        {
          "name": "networkId",
          "type": "number",
          "info": "the id of the network to update: 123",
          "required": true,
          "schema": {
            "title": "networkId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "network changes: object",
          "required": true,
          "schema": {
            "title": "network",
            "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": "/updateNetwork"
      },
      "task": true
    },
    {
      "name": "deleteNetwork",
      "summary": "delete network",
      "description": "delete network",
      "input": [
        {
          "name": "networkId",
          "type": "number",
          "info": "the id of the network to delete: 123",
          "required": true,
          "schema": {
            "title": "networkId",
            "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": "/deleteNetwork"
      },
      "task": true
    },
    {
      "name": "getNetworkTypes",
      "summary": "get all network types",
      "description": "get all network types",
      "input": [
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getNetworkTypes"
      },
      "task": true
    },
    {
      "name": "getNetworkTypeById",
      "summary": "get network type by id",
      "description": "get network type by id",
      "input": [
        {
          "name": "typeId",
          "type": "number",
          "info": "the id of the network type to get: 123",
          "required": true,
          "schema": {
            "title": "typeId",
            "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": "/getNetworkTypeById"
      },
      "task": true
    },
    {
      "name": "createNetworkGroup",
      "summary": "create a network grouop",
      "description": "create a network grouop",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "network group to create: object",
          "required": true,
          "schema": {
            "title": "networkGroup",
            "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": "/createNetworkGroup"
      },
      "task": true
    },
    {
      "name": "getNetworkGroups",
      "summary": "get all network groups",
      "description": "get all network groups",
      "input": [
        {
          "name": "filter",
          "type": "object",
          "info": "filter for what to get: object",
          "required": false,
          "schema": {
            "title": "filter",
            "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": "/getNetworkGroups"
      },
      "task": true
    },
    {
      "name": "getNetworkGroupById",
      "summary": "get network group by id",
      "description": "get network group by id",
      "input": [
        {
          "name": "groupId",
          "type": "number",
          "info": "the id of the network group to get: 123",
          "required": true,
          "schema": {
            "title": "groupId",
            "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": "/getNetworkGroupById"
      },
      "task": true
    },
    {
      "name": "updateNetworkGroup",
      "summary": "update a network group",
      "description": "update a network group",
      "input": [
        {
          "name": "groupId",
          "type": "number",
          "info": "the id of the network group to update: 123",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "network group changes: object",
          "required": true,
          "schema": {
            "title": "networkGroup",
            "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": "/updateNetworkGroup"
      },
      "task": true
    },
    {
      "name": "deleteNetworkGroup",
      "summary": "delete network group",
      "description": "delete network group",
      "input": [
        {
          "name": "groupId",
          "type": "number",
          "info": "the id of the network group to delete: 123",
          "required": true,
          "schema": {
            "title": "groupId",
            "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": "/deleteNetworkGroup"
      },
      "task": true
    },
    {
      "name": "getSpecificCatalogInventoryItem",
      "summary": "getSpecificCatalogInventoryItem",
      "description": "getSpecificCatalogInventoryItem",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "id: 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": "/getSpecificCatalogInventoryItem"
      },
      "task": true
    },
    {
      "name": "getCatalogCart",
      "summary": "getCatalogCart",
      "description": "getCatalogCart",
      "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": "/getCatalogCart"
      },
      "task": true
    },
    {
      "name": "removeCatalogItem",
      "summary": "removeCatalogItem",
      "description": "removeCatalogItem",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "id: string",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "type": "string",
            "definitions": {}
          }
        }
      ],
      "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": "/removeCatalogItem"
      },
      "task": true
    },
    {
      "name": "checkoutCatalogCart",
      "summary": "checkoutCatalogCart",
      "description": "checkoutCatalogCart",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "body: object",
          "required": true,
          "schema": {
            "definitions": {}
          }
        }
      ],
      "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": "/checkoutCatalogCart"
      },
      "task": true
    },
    {
      "name": "listCatalogInventoryItems",
      "summary": "listCatalogInventoryItems",
      "description": "listCatalogInventoryItems",
      "input": [
        {
          "name": "max",
          "type": "string",
          "info": "max: string",
          "required": true,
          "schema": {
            "title": "max",
            "type": "string"
          }
        },
        {
          "name": "offset",
          "type": "string",
          "info": "offset: string",
          "required": true,
          "schema": {
            "title": "offset",
            "type": "string"
          }
        },
        {
          "name": "sort",
          "type": "string",
          "info": "sort: string",
          "required": true,
          "schema": {
            "title": "sort",
            "type": "string"
          }
        },
        {
          "name": "direction",
          "type": "string",
          "info": "direction: string",
          "required": true,
          "schema": {
            "title": "direction",
            "type": "string"
          }
        },
        {
          "name": "phrase",
          "type": "string",
          "info": "phrase: string",
          "required": true,
          "schema": {
            "title": "phrase",
            "type": "string"
          }
        },
        {
          "name": "name",
          "type": "string",
          "info": "name: 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": "/listCatalogInventoryItems"
      },
      "task": true
    },
    {
      "name": "addItemToCart",
      "summary": "addItemToCart",
      "description": "addItemToCart",
      "input": [
        {
          "name": "validate",
          "type": "string",
          "info": "validate: string",
          "required": true,
          "schema": {
            "title": "validate",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "body: object",
          "required": true,
          "schema": {
            "example": {
              "item": {
                "type": {
                  "name": "example"
                },
                "config": {
                  "appName": "My App"
                },
                "target": "info"
              }
            },
            "definitions": {}
          }
        }
      ],
      "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": "/addItemToCart"
      },
      "task": true
    }
  ],
  "views": []
}