{
  "id": "@itentialopensource/adapter-incognito",
  "type": "Adapter",
  "export": "Incognito",
  "title": "Incognito",
  "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": "createEntity",
      "summary": "Create Entity",
      "description": "Create Entity",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "entityObj",
            "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": "/createEntity"
      },
      "task": true
    },
    {
      "name": "getEntities",
      "summary": "Get Entities",
      "description": "Get Entities",
      "input": [
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given - Example: name EQ GlobalEntity: string",
          "required": false,
          "schema": {
            "title": "q",
            "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": "/getEntities"
      },
      "task": true
    },
    {
      "name": "getEntityById",
      "summary": "Get Entity By Id",
      "description": "Get Entity By Id",
      "input": [
        {
          "name": "entityId",
          "type": "string",
          "info": "Unique identifier of the entity: string",
          "required": true,
          "schema": {
            "title": "entityId",
            "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": "/getEntityById"
      },
      "task": true
    },
    {
      "name": "updateEntity",
      "summary": "Update Entity",
      "description": "Update Entity",
      "input": [
        {
          "name": "entityId",
          "type": "string",
          "info": "Unique identifier of the entity: string",
          "required": true,
          "schema": {
            "title": "entityId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "entityObj",
            "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": "/updateEntity"
      },
      "task": true
    },
    {
      "name": "deleteEntity",
      "summary": "Delete Entity",
      "description": "Delete Entity",
      "input": [
        {
          "name": "entityId",
          "type": "string",
          "info": "Unique identifier of the entity: string",
          "required": true,
          "schema": {
            "title": "entityId",
            "type": "string"
          }
        },
        {
          "name": "cascade",
          "type": "boolean",
          "info": "Cascade delete associated resource: boolean",
          "required": false,
          "schema": {
            "title": "cascade",
            "type": "boolean"
          }
        },
        {
          "name": "force",
          "type": "boolean",
          "info": "Force deletion of Entity if component services are unresponsive: boolean",
          "required": false,
          "schema": {
            "title": "force",
            "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": "/deleteEntity"
      },
      "task": true
    },
    {
      "name": "getSubnets",
      "summary": "Get Subnets",
      "description": "Get Subnets",
      "input": [
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given - Example: id EQ 227b0881-14fa-e611-b1f8-080027ee0e8a: string",
          "required": false,
          "schema": {
            "title": "q",
            "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": "/getSubnets"
      },
      "task": true
    },
    {
      "name": "getSubnetById",
      "summary": "Get Subnet By Id",
      "description": "Get Subnet By Id",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "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": "/getSubnetById"
      },
      "task": true
    },
    {
      "name": "replaceSubnet",
      "summary": "Replace Subnet",
      "description": "Replace Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "subnetObj",
            "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": "/replaceSubnet"
      },
      "task": true
    },
    {
      "name": "updateSubnet",
      "summary": "Update Subnet",
      "description": "Update Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "subnetObj",
            "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": "/updateSubnet"
      },
      "task": true
    },
    {
      "name": "deleteSubnet",
      "summary": "Delete Subnet",
      "description": "Delete Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "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": "/deleteSubnet"
      },
      "task": true
    },
    {
      "name": "assignSubnet",
      "summary": "Assign Subnet",
      "description": "Assign Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "assignObj",
            "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": "/assignSubnet"
      },
      "task": true
    },
    {
      "name": "reclaimSubnet",
      "summary": "Reclaim Subnet",
      "description": "Reclaim Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "reclaimObj",
            "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": "/reclaimSubnet"
      },
      "task": true
    },
    {
      "name": "reserveSubnet",
      "summary": "Reserve Subnet",
      "description": "Reserve Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "reserveObj",
            "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": "/reserveSubnet"
      },
      "task": true
    },
    {
      "name": "unreserveSubnet",
      "summary": "Unreserve Subnet",
      "description": "Unreserve Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "unreserveObj",
            "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": "/unreserveSubnet"
      },
      "task": true
    },
    {
      "name": "subdivideSubnet",
      "summary": "Subdivide Subnet",
      "description": "Subdivide Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "subdivideObj",
            "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": "/subdivideSubnet"
      },
      "task": true
    },
    {
      "name": "mergeSubnet",
      "summary": "Merge Subnet",
      "description": "Merge Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "mergeObj",
            "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": "/mergeSubnet"
      },
      "task": true
    },
    {
      "name": "deploySubnet",
      "summary": "Deploy Subnet",
      "description": "Deploy Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "deployObj",
            "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": "/deploySubnet"
      },
      "task": true
    },
    {
      "name": "decommissionSubnet",
      "summary": "Decommission Subnet",
      "description": "Decommission Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "decommObj",
            "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": "/decommissionSubnet"
      },
      "task": true
    },
    {
      "name": "updatenodesSubnet",
      "summary": "Update Nodes Subnet",
      "description": "Update Nodes Subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "string",
          "info": "Unique identifier of the subnet: string",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "decommObj",
            "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": "/updatenodesSubnet"
      },
      "task": true
    },
    {
      "name": "requestSubnetAssignment",
      "summary": "Request Subnet Assignment",
      "description": "Request Subnet Assignment",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "assignObj",
            "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": "/requestSubnetAssignment"
      },
      "task": true
    },
    {
      "name": "getDevices",
      "summary": "Get Devices",
      "description": "Get Devices",
      "input": [
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "orderBy",
          "type": "string",
          "info": "The field by which to sort results: string",
          "required": false,
          "schema": {
            "title": "orderBy",
            "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": "/getDevices"
      },
      "task": true
    },
    {
      "name": "getDeviceUtilization",
      "summary": "Get Device Utilization",
      "description": "Get Device Utilization",
      "input": [
        {
          "name": "deviceId",
          "type": "string",
          "info": "Unique identifier of the device: string",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "string"
          }
        },
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "orderBy",
          "type": "string",
          "info": "The field by which to sort results: string",
          "required": false,
          "schema": {
            "title": "orderBy",
            "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": "/getDeviceUtilization"
      },
      "task": true
    },
    {
      "name": "getDeviceChildUtilization",
      "summary": "Get Device Child Utilization",
      "description": "Get Device Child Utilization",
      "input": [
        {
          "name": "deviceId",
          "type": "string",
          "info": "Unique identifier of the device: string",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "string"
          }
        },
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "orderBy",
          "type": "string",
          "info": "The field by which to sort results: string",
          "required": false,
          "schema": {
            "title": "orderBy",
            "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": "/getDeviceChildUtilization"
      },
      "task": true
    },
    {
      "name": "getDeviceInterfaceUtilization",
      "summary": "Get Device Interface Utilization",
      "description": "Get Device Interface Utilization",
      "input": [
        {
          "name": "interfaceId",
          "type": "string",
          "info": "Unique identifier of the device: string",
          "required": true,
          "schema": {
            "title": "interfaceId",
            "type": "string"
          }
        },
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "orderBy",
          "type": "string",
          "info": "The field by which to sort results: string",
          "required": false,
          "schema": {
            "title": "orderBy",
            "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": "/getDeviceInterfaceUtilization"
      },
      "task": true
    },
    {
      "name": "createIPRequest",
      "summary": "Create IP Request",
      "description": "Create IP Request",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "iprequestObj",
            "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": "/createIPRequest"
      },
      "task": true
    },
    {
      "name": "getIPRequests",
      "summary": "Get IP Requests",
      "description": "Get IP Requests",
      "input": [
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "orderBy",
          "type": "string",
          "info": "The field by which to sort results: string",
          "required": false,
          "schema": {
            "title": "orderBy",
            "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": "/getIPRequests"
      },
      "task": true
    },
    {
      "name": "getIPRequestById",
      "summary": "Get IP Request By Id",
      "description": "Get IP Request By Id",
      "input": [
        {
          "name": "requestId",
          "type": "string",
          "info": "Unique identifier of the ip request: string",
          "required": true,
          "schema": {
            "title": "requestId",
            "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": "/getIPRequestById"
      },
      "task": true
    },
    {
      "name": "deleteIPRequest",
      "summary": "Delete IP Request",
      "description": "Delete IP Request",
      "input": [
        {
          "name": "requestId",
          "type": "string",
          "info": "Unique identifier of the ip request: string",
          "required": true,
          "schema": {
            "title": "requestId",
            "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": "/deleteIPRequest"
      },
      "task": true
    },
    {
      "name": "approveIPRequest",
      "summary": "Approve IP Request",
      "description": "Approve IP Request",
      "input": [
        {
          "name": "requestId",
          "type": "string",
          "info": "Unique identifier of the ip request: string",
          "required": true,
          "schema": {
            "title": "requestId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "requestObj",
            "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": "/approveIPRequest"
      },
      "task": true
    },
    {
      "name": "rejectIPRequest",
      "summary": "Reject IP Request",
      "description": "Reject IP Request",
      "input": [
        {
          "name": "requestId",
          "type": "string",
          "info": "Unique identifier of the ip request: string",
          "required": true,
          "schema": {
            "title": "requestId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "requestObj",
            "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": "/rejectIPRequest"
      },
      "task": true
    },
    {
      "name": "createVPN",
      "summary": "Create VPN",
      "description": "Create VPN",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "vpnObj",
            "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": "/createVPN"
      },
      "task": true
    },
    {
      "name": "getVPNById",
      "summary": "Get VPN By Id",
      "description": "Get VPN By Id",
      "input": [
        {
          "name": "vpnId",
          "type": "string",
          "info": "Unique identifier of the vpn: string",
          "required": true,
          "schema": {
            "title": "vpnId",
            "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": "/getVPNById"
      },
      "task": true
    },
    {
      "name": "updateVPN",
      "summary": "Update VPN",
      "description": "Update VPN",
      "input": [
        {
          "name": "vpnId",
          "type": "string",
          "info": "Unique identifier of the vpn: string",
          "required": true,
          "schema": {
            "title": "vpnId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "vpnObj",
            "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": "/updateVPN"
      },
      "task": true
    },
    {
      "name": "deleteVPN",
      "summary": "Delete VPN",
      "description": "Delete VPN",
      "input": [
        {
          "name": "vpnId",
          "type": "string",
          "info": "Unique identifier of the vpn: string",
          "required": true,
          "schema": {
            "title": "vpnId",
            "type": "string"
          }
        },
        {
          "name": "cascade",
          "type": "boolean",
          "info": "Cascade delete associated resource: boolean",
          "required": false,
          "schema": {
            "title": "cascade",
            "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": "/deleteVPN"
      },
      "task": true
    },
    {
      "name": "createVPNDomain",
      "summary": "Create VPN Domain",
      "description": "Create VPN Domain",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "vpnObj",
            "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": "/createVPNDomain"
      },
      "task": true
    },
    {
      "name": "getVPNDomainById",
      "summary": "Get VPN Domain By Id",
      "description": "Get VPN Domain By Id",
      "input": [
        {
          "name": "domainId",
          "type": "string",
          "info": "Unique identifier of the vpn domain: string",
          "required": true,
          "schema": {
            "title": "domainId",
            "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": "/getVPNDomainById"
      },
      "task": true
    },
    {
      "name": "updateVPNDomain",
      "summary": "Update VPN Domain",
      "description": "Update VPN Domain",
      "input": [
        {
          "name": "domainId",
          "type": "string",
          "info": "Unique identifier of the vpn domain: string",
          "required": true,
          "schema": {
            "title": "domainId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "vpnObj",
            "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": "/updateVPNDomain"
      },
      "task": true
    },
    {
      "name": "deleteVPNDomain",
      "summary": "Delete VPN Domain",
      "description": "Delete VPN Domain",
      "input": [
        {
          "name": "domainId",
          "type": "string",
          "info": "Unique identifier of the vpn domain: string",
          "required": true,
          "schema": {
            "title": "domainId",
            "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": "/deleteVPNDomain"
      },
      "task": true
    },
    {
      "name": "getAvailableVPNTag",
      "summary": "Get Available VPN Tag",
      "description": "Get Available VPN Tag",
      "input": [
        {
          "name": "domainId",
          "type": "string",
          "info": "Unique identifier of the vpn domain: string",
          "required": true,
          "schema": {
            "title": "domainId",
            "type": "string"
          }
        },
        {
          "name": "staticPrefix",
          "type": "string",
          "info": "The static prefix for the tag: string",
          "required": false,
          "schema": {
            "title": "staticPrefix",
            "type": "string"
          }
        },
        {
          "name": "entityId",
          "type": "string",
          "info": "The ID of the relevant entity: string",
          "required": false,
          "schema": {
            "title": "entityId",
            "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": "/getAvailableVPNTag"
      },
      "task": true
    },
    {
      "name": "getVPNs",
      "summary": "Get VPNs",
      "description": "Get VPNs",
      "input": [
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given - Example: tag EQ 1024: string",
          "required": false,
          "schema": {
            "title": "q",
            "type": "string"
          }
        },
        {
          "name": "orderBy",
          "type": "string",
          "info": "The field by which to sort results: string",
          "required": false,
          "schema": {
            "title": "orderBy",
            "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": "/getVPNs"
      },
      "task": true
    },
    {
      "name": "getVPNDomains",
      "summary": "Get VPN Domains",
      "description": "Get VPN Domains",
      "input": [
        {
          "name": "q",
          "type": "string",
          "info": "Search criteria, multiple arguments may be given - name EQ Customer: string",
          "required": false,
          "schema": {
            "title": "q",
            "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": "/getVPNDomains"
      },
      "task": true
    }
  ],
  "views": []
}