{
  "id": "@itentialopensource/adapter-ns1_enterprise",
  "type": "Adapter",
  "export": "Ns1Enterprise",
  "title": "Ns1_enterprise",
  "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"
          }
        },
        {
          "name": "persistFlag",
          "type": "boolean",
          "info": "Whether the input properties should be saved",
          "required": true,
          "schema": {
            "title": "persistFlag",
            "type": "boolean"
          }
        }
      ],
      "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": [],
      "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 IAP database",
      "description": "Moves entities from an adapter into the IAP 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": "postOpsBootstrap",
      "summary": "Bootstrap the first operator user",
      "description": "When no operator users exist in the main database, the bootstrap endpoint is enabled. This is the only endpoint which does not require authentication. Note: Bootstrap can only be performed once. If the returned API key is lost, the system must be deployed again.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postOpsBootstrap"
      },
      "task": true
    },
    {
      "name": "getOpsOperators",
      "summary": "View all operator users",
      "description": "Returns a list of all operator users in 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": "GET",
        "path": "/getOpsOperators"
      },
      "task": true
    },
    {
      "name": "putOpsOperators",
      "summary": "Create a new operator user",
      "description": "Create a new operator user for the system. In addition to creating other operators, organizations, and services; operators can act as administrators on behalf of any organization in the system where users within a tenant organization only have access to that organization’s resources (e.g. zones, records, API keys, etc.).",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putOpsOperators"
      },
      "task": true
    },
    {
      "name": "getOpsOperatorsOperatorId",
      "summary": "View operator details",
      "description": "Returns information about the operator user.",
      "input": [
        {
          "name": "operatorId",
          "type": "string",
          "info": "Operator ID: string",
          "required": true,
          "schema": {
            "title": "operatorId",
            "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": "/getOpsOperatorsOperatorId"
      },
      "task": true
    },
    {
      "name": "postOpsOperatorsOperatorId",
      "summary": "Modify details of an operator",
      "description": "Updates an operator's information.",
      "input": [
        {
          "name": "operatorId",
          "type": "string",
          "info": "Operator ID: string",
          "required": true,
          "schema": {
            "title": "operatorId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postOpsOperatorsOperatorId"
      },
      "task": true
    },
    {
      "name": "deleteOpsOperatorsOperatorId",
      "summary": "Delete an operator",
      "description": "Removes another operator from the system. An operator cannot remove themselves.",
      "input": [
        {
          "name": "operatorId",
          "type": "string",
          "info": "Operator ID: string",
          "required": true,
          "schema": {
            "title": "operatorId",
            "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": "/deleteOpsOperatorsOperatorId"
      },
      "task": true
    },
    {
      "name": "getOpsOrgs",
      "summary": "View a list of organizations",
      "description": "Returns a list of the tenant organizations.",
      "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": "/getOpsOrgs"
      },
      "task": true
    },
    {
      "name": "putOpsOrgs",
      "summary": "Create an organization",
      "description": "Create a new tenant organization.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putOpsOrgs"
      },
      "task": true
    },
    {
      "name": "getOpsOrgsOrgid",
      "summary": "View organization details",
      "description": "Returns the details of an organization.",
      "input": [
        {
          "name": "orgid",
          "type": "number",
          "info": "Organization ID: 123",
          "required": true,
          "schema": {
            "title": "orgid",
            "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": "/getOpsOrgsOrgid"
      },
      "task": true
    },
    {
      "name": "postOpsOrgsOrgid",
      "summary": "Modify an organization",
      "description": "Modify the organization's name.",
      "input": [
        {
          "name": "orgid",
          "type": "number",
          "info": "Organization ID: 123",
          "required": true,
          "schema": {
            "title": "orgid",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postOpsOrgsOrgid"
      },
      "task": true
    },
    {
      "name": "deleteOpsOrgsOrgid",
      "summary": "Delete an organization",
      "description": "Delete a tenant organization. This operation requires adding the token parameter with the operator's 2FA TOTP token.",
      "input": [
        {
          "name": "orgid",
          "type": "number",
          "info": "Organization ID: 123",
          "required": true,
          "schema": {
            "title": "orgid",
            "type": "number"
          }
        },
        {
          "name": "token",
          "type": "string",
          "info": "2FA TOTP token: string",
          "required": true,
          "schema": {
            "title": "token",
            "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": "/deleteOpsOrgsOrgid"
      },
      "task": true
    },
    {
      "name": "getOpsOrgsOrgidServiceGroups",
      "summary": "View service groups associated with an organization",
      "description": "Returns a list of all service groups associated with an organization.",
      "input": [
        {
          "name": "orgid",
          "type": "number",
          "info": "Organization ID: 123",
          "required": true,
          "schema": {
            "title": "orgid",
            "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": "/getOpsOrgsOrgidServiceGroups"
      },
      "task": true
    },
    {
      "name": "getOpsServiceDefs",
      "summary": "View list of service definitions",
      "description": "Returns a list of all services of every type.",
      "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": "/getOpsServiceDefs"
      },
      "task": true
    },
    {
      "name": "putOpsServiceDefs",
      "summary": "Create a new service definition",
      "description": "Create a new service definition (e.g. DNS Pools or DHCP Service). Service definitions groups application data for propagation to edge nodes.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putOpsServiceDefs"
      },
      "task": true
    },
    {
      "name": "getOpsServiceDefsDefinitionid",
      "summary": "View service definition details",
      "description": "Returns the details of a service definition.",
      "input": [
        {
          "name": "definitionid",
          "type": "string",
          "info": "Service Definition ID: string",
          "required": true,
          "schema": {
            "title": "definitionid",
            "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": "/getOpsServiceDefsDefinitionid"
      },
      "task": true
    },
    {
      "name": "postOpsServiceDefsDefinitionid",
      "summary": "Modify a service definition",
      "description": "Modify a service definition's information.",
      "input": [
        {
          "name": "definitionid",
          "type": "string",
          "info": "Service Definition ID: string",
          "required": true,
          "schema": {
            "title": "definitionid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Service Definition Object: object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postOpsServiceDefsDefinitionid"
      },
      "task": true
    },
    {
      "name": "deleteOpsServiceDefsDefinitionid",
      "summary": "Delete a service definition",
      "description": "Delete a service definition.",
      "input": [
        {
          "name": "definitionid",
          "type": "string",
          "info": "Service Definition ID: string",
          "required": true,
          "schema": {
            "title": "definitionid",
            "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": "/deleteOpsServiceDefsDefinitionid"
      },
      "task": true
    },
    {
      "name": "getOpsServiceGroups",
      "summary": "View a list of service groups",
      "description": "Returns a list of all service groups.",
      "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": "/getOpsServiceGroups"
      },
      "task": true
    },
    {
      "name": "putOpsServiceGroups",
      "summary": "Create a service group",
      "description": "Creates a new service group.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putOpsServiceGroups"
      },
      "task": true
    },
    {
      "name": "getOpsServiceGroupsServicegroupid",
      "summary": "View service group details",
      "description": "Returns details of a service group.",
      "input": [
        {
          "name": "servicegroupid",
          "type": "number",
          "info": "Service Group ID: 123",
          "required": true,
          "schema": {
            "title": "servicegroupid",
            "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": "/getOpsServiceGroupsServicegroupid"
      },
      "task": true
    },
    {
      "name": "postOpsServiceGroupsServicegroupid",
      "summary": "Modify a service group",
      "description": "Modify a service group's name.",
      "input": [
        {
          "name": "servicegroupid",
          "type": "number",
          "info": "Service Group ID: 123",
          "required": true,
          "schema": {
            "title": "servicegroupid",
            "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": "/postOpsServiceGroupsServicegroupid"
      },
      "task": true
    },
    {
      "name": "deleteOpsServiceGroupsServicegroupid",
      "summary": "Delete a service group",
      "description": "Deletes a service group from the system.",
      "input": [
        {
          "name": "servicegroupid",
          "type": "number",
          "info": "Service Group ID: 123",
          "required": true,
          "schema": {
            "title": "servicegroupid",
            "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": "/deleteOpsServiceGroupsServicegroupid"
      },
      "task": true
    },
    {
      "name": "postOpsServiceGroupsServicegroupidOrgOrgid",
      "summary": "Associate with an organization",
      "description": "Associate a service group with an organization. The tenant organization will have access to resources in this service group such as its DNS Pools and DHCP services.",
      "input": [
        {
          "name": "servicegroupid",
          "type": "number",
          "info": "Service Group ID: 123",
          "required": true,
          "schema": {
            "title": "servicegroupid",
            "type": "number"
          }
        },
        {
          "name": "orgid",
          "type": "number",
          "info": "Organization ID: 123",
          "required": true,
          "schema": {
            "title": "orgid",
            "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": "/postOpsServiceGroupsServicegroupidOrgOrgid"
      },
      "task": true
    },
    {
      "name": "getOpsServiceGroupsServicegroupidOrgs",
      "summary": "View organizations associated with a service group",
      "description": "Returns a list of organizations with access to this service group.",
      "input": [
        {
          "name": "servicegroupid",
          "type": "string",
          "info": "Service Group ID: string",
          "required": true,
          "schema": {
            "title": "servicegroupid",
            "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": "/getOpsServiceGroupsServicegroupidOrgs"
      },
      "task": true
    },
    {
      "name": "getIpamNetwork",
      "summary": "View a list of networks",
      "description": "Returns a list of all networks",
      "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": "/getIpamNetwork"
      },
      "task": true
    },
    {
      "name": "putIpamNetwork",
      "summary": "Create a network",
      "description": "Create a network",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putIpamNetwork"
      },
      "task": true
    },
    {
      "name": "getIpamNetworkNetworkId",
      "summary": "View a network",
      "description": "View a network",
      "input": [
        {
          "name": "networkId",
          "type": "number",
          "info": "Network ID: 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": "/getIpamNetworkNetworkId"
      },
      "task": true
    },
    {
      "name": "postIpamNetworkNetworkId",
      "summary": "Update a network",
      "description": "Update a network",
      "input": [
        {
          "name": "networkId",
          "type": "number",
          "info": "Network ID: 123",
          "required": true,
          "schema": {
            "title": "networkId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postIpamNetworkNetworkId"
      },
      "task": true
    },
    {
      "name": "deleteIpamNetworkNetworkId",
      "summary": "Remove a network",
      "description": "Remove a network",
      "input": [
        {
          "name": "networkId",
          "type": "number",
          "info": "Network ID: 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": "/deleteIpamNetworkNetworkId"
      },
      "task": true
    },
    {
      "name": "getIpamNetworkNetworkIdReport",
      "summary": "View a network report",
      "description": "Get a report of network usage",
      "input": [
        {
          "name": "networkId",
          "type": "number",
          "info": "Network ID: 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": "/getIpamNetworkNetworkIdReport"
      },
      "task": true
    },
    {
      "name": "getIpamAddress",
      "summary": "View a list of root addresses",
      "description": "Returns a list of all root addresses (i.e. indent == 0) in all networks for the requesting organization.",
      "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": "/getIpamAddress"
      },
      "task": true
    },
    {
      "name": "putIpamAddress",
      "summary": "Create a subnet",
      "description": "Create a subnet",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putIpamAddress"
      },
      "task": true
    },
    {
      "name": "getIpamAddressSearch",
      "summary": "Search for an address object",
      "description": "Returns a list of matching objects in the IP address management.",
      "input": [
        {
          "name": "network",
          "type": "number",
          "info": ": 123",
          "required": false,
          "schema": {
            "title": "network",
            "type": "number"
          }
        },
        {
          "name": "max",
          "type": "number",
          "info": ": 123",
          "required": false,
          "schema": {
            "title": "max",
            "type": "number"
          }
        },
        {
          "name": "status",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "status",
            "type": "string"
          }
        },
        {
          "name": "tag",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "tag",
            "type": "string"
          }
        },
        {
          "name": "orderBy",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "orderBy",
            "type": "string"
          }
        },
        {
          "name": "ascDesc",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "ascDesc",
            "type": "string"
          }
        },
        {
          "name": "mask",
          "type": "number",
          "info": ": 123",
          "required": false,
          "schema": {
            "title": "mask",
            "type": "number"
          }
        },
        {
          "name": "prefix",
          "type": "string",
          "info": ": string",
          "required": false,
          "schema": {
            "title": "prefix",
            "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": "/getIpamAddressSearch"
      },
      "task": true
    },
    {
      "name": "getIpamAddressAddressId",
      "summary": "View a subnet",
      "description": "View a subnet",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "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": "/getIpamAddressAddressId"
      },
      "task": true
    },
    {
      "name": "postIpamAddressAddressId",
      "summary": "Edit a subnet",
      "description": "Edit a subnet",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postIpamAddressAddressId"
      },
      "task": true
    },
    {
      "name": "deleteIpamAddressAddressId",
      "summary": "Delete a subnet",
      "description": "Delete a subnet",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "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": "/deleteIpamAddressAddressId"
      },
      "task": true
    },
    {
      "name": "postIpamAddressAddressIdSplit",
      "summary": "Split a subnet",
      "description": "Splitting an entire block of unassigned IP space into equal pieces. This will not function with ranges or individual hosts. Normal breaking out of a subnet is done with the standard PUT route. (Eg. root address is a /24 and request for /29s will break it into 32 /29s)\n\n- Only planned subnets can be split\n- Name and description will be unset on children\n- KVPS and options will be copied; tags will be inherited as per normal",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postIpamAddressAddressIdSplit"
      },
      "task": true
    },
    {
      "name": "postIpamAddressAddressIdMerge",
      "summary": "Merge a subnet",
      "description": "Merge a subnet",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postIpamAddressAddressIdMerge"
      },
      "task": true
    },
    {
      "name": "getIpamAddressAddressIdChildren",
      "summary": "View address children",
      "description": "Request a list of all child addresses (or subnets) for the specified IP address.",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "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": "/getIpamAddressAddressIdChildren"
      },
      "task": true
    },
    {
      "name": "getIpamAddressAddressIdParent",
      "summary": "View address parent",
      "description": "Request a list of all parent addresses (or subnets) for the specified IP address.",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "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": "/getIpamAddressAddressIdParent"
      },
      "task": true
    },
    {
      "name": "getIpamAddressAddressIdAdjacent",
      "summary": "View next (or previous) available prefix",
      "description": "Retrieves next or previous (aka adjacent) available IP address.",
      "input": [
        {
          "name": "addressId",
          "type": "number",
          "info": "Address ID: 123",
          "required": true,
          "schema": {
            "title": "addressId",
            "type": "number"
          }
        },
        {
          "name": "previous",
          "type": "boolean",
          "info": ": boolean",
          "required": false,
          "schema": {
            "title": "previous",
            "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": "/getIpamAddressAddressIdAdjacent"
      },
      "task": true
    },
    {
      "name": "getIpamAddressSubnetIdPool",
      "summary": "View a subnet",
      "description": "View a subnet",
      "input": [
        {
          "name": "subnetId",
          "type": "number",
          "info": "Subnet ID: 123",
          "required": true,
          "schema": {
            "title": "subnetId",
            "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": "/getIpamAddressSubnetIdPool"
      },
      "task": true
    },
    {
      "name": "putIpamAddressSubnetIdPool",
      "summary": "Create a pool (IP range) within a subnet",
      "description": "Creates a pool (range of IP addresses) under a given subnet.",
      "input": [
        {
          "name": "subnetId",
          "type": "number",
          "info": "Subnet ID: 123",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putIpamAddressSubnetIdPool"
      },
      "task": true
    },
    {
      "name": "getIpamAddressSubnetIdPoolPoolId",
      "summary": "View a pool (IP range) within a subnet",
      "description": "Returns a pool (range of IP addresses) under a given subnet.",
      "input": [
        {
          "name": "subnetId",
          "type": "number",
          "info": "Subnet ID: 123",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "number"
          }
        },
        {
          "name": "poolId",
          "type": "number",
          "info": "Pool ID: 123",
          "required": true,
          "schema": {
            "title": "poolId",
            "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": "/getIpamAddressSubnetIdPoolPoolId"
      },
      "task": true
    },
    {
      "name": "postIpamAddressSubnetIdPoolPoolId",
      "summary": "Update a pool (IP range) within a subnet",
      "description": "Updates a pool (range of IP addresses) under a given subnet.",
      "input": [
        {
          "name": "subnetId",
          "type": "number",
          "info": "Subnet ID: 123",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "number"
          }
        },
        {
          "name": "poolId",
          "type": "number",
          "info": "Pool ID: 123",
          "required": true,
          "schema": {
            "title": "poolId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postIpamAddressSubnetIdPoolPoolId"
      },
      "task": true
    },
    {
      "name": "deleteIpamAddressSubnetIdPoolPoolId",
      "summary": "Delete a pool (IP range) within a subnet",
      "description": "Deletes a pool (range of IP addresses) under a given subnet.",
      "input": [
        {
          "name": "subnetId",
          "type": "number",
          "info": "Subnet ID: 123",
          "required": true,
          "schema": {
            "title": "subnetId",
            "type": "number"
          }
        },
        {
          "name": "poolId",
          "type": "number",
          "info": "Pool ID: 123",
          "required": true,
          "schema": {
            "title": "poolId",
            "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": "/deleteIpamAddressSubnetIdPoolPoolId"
      },
      "task": true
    },
    {
      "name": "getIpamTags",
      "summary": "View all tags",
      "description": "Get a list of all tags used by this organization",
      "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": "/getIpamTags"
      },
      "task": true
    },
    {
      "name": "getIpamKeys",
      "summary": "View all organization keys",
      "description": "Get a list of all keys used by this organization for key-value pairs",
      "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": "/getIpamKeys"
      },
      "task": true
    },
    {
      "name": "getDhcpScope",
      "summary": "Generate a list of the active scopes",
      "description": "Generate a list of the active scopes",
      "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": "/getDhcpScope"
      },
      "task": true
    },
    {
      "name": "putDhcpScope",
      "summary": "Create a scope",
      "description": "Create a scope.\n\n**Note**: The DHCP server, if enabled, will allocate addresses from the associated IP address, grant any DHCP options associated with the address. The address and scope group must each meet certain invariants or else the request will result in a **422**.\n\nThe address must:\n  - be of type `assignment`.\n  - not already be assigned to another scope group\n\n`options` should be supported for the address' protocol.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putDhcpScope"
      },
      "task": true
    },
    {
      "name": "getDhcpScopeScopeID",
      "summary": "View scope details",
      "description": "Request details about a specific scope.",
      "input": [
        {
          "name": "scopeID",
          "type": "number",
          "info": "Scope ID: 123",
          "required": true,
          "schema": {
            "title": "scopeID",
            "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": "/getDhcpScopeScopeID"
      },
      "task": true
    },
    {
      "name": "postDhcpScopeScopeID",
      "summary": "Modify a scope",
      "description": "Modify a scope",
      "input": [
        {
          "name": "scopeID",
          "type": "number",
          "info": "Scope ID: 123",
          "required": true,
          "schema": {
            "title": "scopeID",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postDhcpScopeScopeID"
      },
      "task": true
    },
    {
      "name": "deleteDhcpScopeScopeID",
      "summary": "Remove a scope",
      "description": "Once removed, the address will no longer be used for leases and any current leases will be reclaimed.",
      "input": [
        {
          "name": "scopeID",
          "type": "number",
          "info": "Scope ID: 123",
          "required": true,
          "schema": {
            "title": "scopeID",
            "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": "/deleteDhcpScopeScopeID"
      },
      "task": true
    },
    {
      "name": "getDhcpScopeGroup",
      "summary": "List scope groups",
      "description": "Request a list of all scope groups",
      "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": "/getDhcpScopeGroup"
      },
      "task": true
    },
    {
      "name": "putDhcpScopeGroup",
      "summary": "Create a scope group",
      "description": "Creates a scope group with global settings and options.Options must be valid for the address's IP protocol. If the option has already been set, this request will overwrite it.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putDhcpScopeGroup"
      },
      "task": true
    },
    {
      "name": "getDhcpScopegroupScopegroupID",
      "summary": "View scope group",
      "description": "Request information about a scope groups using its unique ID.",
      "input": [
        {
          "name": "scopegroupID",
          "type": "number",
          "info": "Scope Group ID: 123",
          "required": true,
          "schema": {
            "title": "scopegroupID",
            "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": "/getDhcpScopegroupScopegroupID"
      },
      "task": true
    },
    {
      "name": "postDhcpScopegroupScopegroupID",
      "summary": "Update scope group by ID",
      "description": "Update scope group by ID",
      "input": [
        {
          "name": "scopegroupID",
          "type": "number",
          "info": "Scope Group ID: 123",
          "required": true,
          "schema": {
            "title": "scopegroupID",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postDhcpScopegroupScopegroupID"
      },
      "task": true
    },
    {
      "name": "deleteDhcpScopegroupScopegroupID",
      "summary": "Remove scope group by ID",
      "description": "Remove scope group by ID",
      "input": [
        {
          "name": "scopegroupID",
          "type": "number",
          "info": "Scope Group ID: 123",
          "required": true,
          "schema": {
            "title": "scopegroupID",
            "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": "/deleteDhcpScopegroupScopegroupID"
      },
      "task": true
    },
    {
      "name": "getDhcpScopegroupScopegroupIDReport",
      "summary": "Returns a report about the specified scope group.",
      "description": "Returns a report about the specified scope group.",
      "input": [
        {
          "name": "scopegroupID",
          "type": "number",
          "info": "Scope Group ID: 123",
          "required": true,
          "schema": {
            "title": "scopegroupID",
            "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": "/getDhcpScopegroupScopegroupIDReport"
      },
      "task": true
    },
    {
      "name": "getDhcpReservation",
      "summary": "List reservations",
      "description": "Request a list of all active DHCP reservations.",
      "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": "/getDhcpReservation"
      },
      "task": true
    },
    {
      "name": "putDhcpReservation",
      "summary": "Create a reservation",
      "description": "Creates a new host reservation.\n\n**Note**: Currently, the reservation must be associated with an address. The DHCP server, if enabled, will provide the associated IP address and any DHCP options to the client with the associated MAC address. The address and scope group must each meet certain invariants or else the request will result in a 422.\n\nThe address must:\n\n- Be of status = assigned.\n- Not be associated with another scope group\n- Not have another conflicting reservation\n\nThe scope group mu...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putDhcpReservation"
      },
      "task": true
    },
    {
      "name": "getDhcpReservationReservationId",
      "summary": "View a reservation's details",
      "description": "View a reservation's details",
      "input": [
        {
          "name": "reservationId",
          "type": "number",
          "info": "Reservation ID: 123",
          "required": true,
          "schema": {
            "title": "reservationId",
            "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": "/getDhcpReservationReservationId"
      },
      "task": true
    },
    {
      "name": "postDhcpReservationReservationId",
      "summary": "Modify a reservation",
      "description": "Modify an existing DHCP reservation.\n\n**Note**: The DHCP server, if enabled, will provide the associated IP address and any DHCP options to the client with the associated MAC address. The address and scope group must each meet certain invariants or else the request will result in a **422**.\n\nThe `address` must:\n\n  - Be of type `host`.\n  - Not be associated with another `scope group`\n  - Not have another conflicting `reservation`\n\n`options` should be supported for the address' protocol.",
      "input": [
        {
          "name": "reservationId",
          "type": "number",
          "info": "Reservation ID: 123",
          "required": true,
          "schema": {
            "title": "reservationId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postDhcpReservationReservationId"
      },
      "task": true
    },
    {
      "name": "deleteDhcpReservationReservationId",
      "summary": "Delete a reservation",
      "description": "Delete a reservation",
      "input": [
        {
          "name": "reservationId",
          "type": "number",
          "info": "Reservation ID: 123",
          "required": true,
          "schema": {
            "title": "reservationId",
            "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": "/deleteDhcpReservationReservationId"
      },
      "task": true
    },
    {
      "name": "getDhcpLease",
      "summary": "List leases",
      "description": "Lists any active leases, optionally filtering by one or more parameters.",
      "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": "/getDhcpLease"
      },
      "task": true
    },
    {
      "name": "getDhcpOptiondef",
      "summary": "List option definitions",
      "description": "Return a list of option definitions available to this organization and optionally filter by parameters.",
      "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": "/getDhcpOptiondef"
      },
      "task": true
    },
    {
      "name": "postDhcpOptiondefSpaceKey",
      "summary": "Modify an custom DHCP option definition",
      "description": "Modify an option definition. The key and code must be unique in the chosen option space.",
      "input": [
        {
          "name": "space",
          "type": "string",
          "info": "space: string",
          "required": true,
          "schema": {
            "title": "space",
            "type": "string"
          }
        },
        {
          "name": "key",
          "type": "string",
          "info": "key: string",
          "required": true,
          "schema": {
            "title": "key",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "body",
            "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": "/postDhcpOptiondefSpaceKey"
      },
      "task": true
    },
    {
      "name": "putDhcpOptiondefSpaceKey",
      "summary": "Create an custom DHCP option definition",
      "description": "Create an option definition. The key and code must be unique in the chosen option space.\n\nNOTE\nThe following are important guidelines to follow when configuring a custom DHCP option with “complex” schema selected:\n\n- The record must consist of at least two fields.\n- \"String\" or \"binary\" fields must be last in the order of primitive types.\n- You can only enter one \"string\" field or one \"binary\" field per record.\n- \"Empty\" type is not allowed in a complex record.\n- You cannot create an array of “s...(description truncated)",
      "input": [
        {
          "name": "space",
          "type": "string",
          "info": "space: string",
          "required": true,
          "schema": {
            "title": "space",
            "type": "string"
          }
        },
        {
          "name": "key",
          "type": "string",
          "info": "key: string",
          "required": true,
          "schema": {
            "title": "key",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": false,
          "schema": {
            "title": "body",
            "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": "/putDhcpOptiondefSpaceKey"
      },
      "task": true
    },
    {
      "name": "deleteDhcpOptiondefSpaceKey",
      "summary": "Delete an option definition",
      "description": "Delete an option definition.",
      "input": [
        {
          "name": "space",
          "type": "string",
          "info": "space: string",
          "required": true,
          "schema": {
            "title": "space",
            "type": "string"
          }
        },
        {
          "name": "key",
          "type": "string",
          "info": "key: string",
          "required": true,
          "schema": {
            "title": "key",
            "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": "/deleteDhcpOptiondefSpaceKey"
      },
      "task": true
    },
    {
      "name": "getActivedirectory",
      "summary": "View Active Directory configuration",
      "description": "Returns details of current Active Directory configuration.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getActivedirectory"
      },
      "task": true
    },
    {
      "name": "postActivedirectory",
      "summary": "Modify Active Directory configuration",
      "description": "Modifies the AD configuration entry associated with the current organization.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postActivedirectory"
      },
      "task": true
    },
    {
      "name": "putActivedirectory",
      "summary": "Create an Active Directory configuration",
      "description": "Create a new AD configuration entry associated with the current organization.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/putActivedirectory"
      },
      "task": true
    },
    {
      "name": "deleteActivedirectory",
      "summary": "Delete Active Directory configuration",
      "description": "Deletes the AD configuration entry associated with the current organization.",
      "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": "/deleteActivedirectory"
      },
      "task": true
    },
    {
      "name": "postActivedirectoryTest",
      "summary": "Test the Active Directory connection",
      "description": "Test the AD server connection.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": object",
          "required": true,
          "schema": {
            "title": "body",
            "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": "/postActivedirectoryTest"
      },
      "task": true
    }
  ],
  "views": []
}