{
  "openapi": "3.0.0",
  "info": {
    "title": "Incognito",
    "description": "Integration API for Incognito - manually built from the documentation on the developer website.",
    "contact": {},
    "version": "1.0"
  },
  "servers": [
    {
      "url": "http://www.incognito.com/",
      "variables": {}
    }
  ],
  "paths": {
    "/entities": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Create Entity",
        "description": "Create Entity",
        "operationId": "createEntity",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "entityObj",
                "type": "object"
              },
              "example": {
                "name": "Incognito",
                "organizationName": "Incognito",
                "code": "2345",
                "type": "ORGANIZATION",
                "administration": false,
                "parentId": "00000000-0000-0000-0000-000000000000",
                "addressLine1": "375 Water Street",
                "addressLine2": "Unit 500",
                "addressLine3": "",
                "addressLine4": "",
                "city": "Vancouver",
                "stateProvince": "British Columbia",
                "countryCode": "CA",
                "postalCode": "V6B-5C6",
                "phoneNumber": "1-604-688-4332",
                "signature": null,
                "firstName": null,
                "lastName": null,
                "middleName": null,
                "udas": [
                  {
                      "name":"AccountNumber",
                      "value":"SF-1002"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Get Entities",
        "description": "Get Entities",
        "operationId": "getEntities",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given - Example: name EQ GlobalEntity",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/entities/{entityId}": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Get Entity By Id",
        "description": "Get Entity By Id",
        "operationId": "getEntityById",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Unique identifier of the entity",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Entity"
        ],
        "summary": "Update Entity",
        "description": "Update Entity",
        "operationId": "updateEntity",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Unique identifier of the entity",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "entityObj",
                "type": "object"
              },
              "example": {
                "name": "Incognito",
                "organizationName": "Incognito",
                "code": "2345",
                "type": "ORGANIZATION",
                "administration": false,
                "parentId": "00000000-0000-0000-0000-000000000000",
                "addressLine1": "375 Water Street",
                "addressLine2": "Unit 500",
                "addressLine3": "",
                "addressLine4": "",
                "city": "Vancouver",
                "stateProvince": "British Columbia",
                "countryCode": "CA",
                "postalCode": "V6B-5C6",
                "phoneNumber": "1-604-688-4332",
                "signature": null,
                "firstName": null,
                "lastName": null,
                "middleName": null,
                "udas":
                [
                  {
                    "name":"AccountNumber",
                    "value":"SF-1002"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Entity"
        ],
        "summary": "Delete Entity",
        "description": "Delete Entity",
        "operationId": "deleteEntity",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Unique identifier of the entity",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cascade",
            "in": "query",
            "description": "Cascade delete associated resource",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "force",
            "in": "query",
            "description": "Force deletion of Entity if component services are unresponsive",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets": {
      "get": {
        "tags": [
          "Subnet"
        ],
        "summary": "Get Subnets",
        "description": "Get Subnets",
        "operationId": "getSubnets",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given - Example: id EQ 227b0881-14fa-e611-b1f8-080027ee0e8a",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}": {
      "get": {
        "tags": [
          "Subnet"
        ],
        "summary": "Get Subnet By Id",
        "description": "Get Subnet By Id",
        "operationId": "getSubnetById",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Subnet"
        ],
        "summary": "Replace Subnet",
        "description": "Replace Subnet",
        "operationId": "replaceSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "subnetObj",
                "type": "object"
              },
              "example": {
                "id": "227b0881-14fa-e611-b1f8-080027ee0e8a",
                "name": "22.33.44.0/24",
                "description": "",
                "entityId": "",
                "networkADdress": "22.33.44.0",
                "maskSize": 24,
                "status": "FREE",
                "expireDate": "",
                "type": "IPV4PUBLIC",
                "serviceTypeId": "Data",
                "seedStatus": "NONE",
                "parentId": "",
                "subnetGroupId": "",
                "seedSignatureId": "",
                "seedSubnetId": "",
                "rirStatus": "REASSIGNED",
                "deviceInterfaceId": "",
                "dhcpId": "",
                "dhcpManaged": false,
                "dhcpLocked": false,
                "utilizationPercent": 0,
                "utilizationTrend": 0,
                "sdmPendingEvent": false,
                "sdmDeployed": false,
                "sdmRejected": false,
                "nliType": "MACADDRESS",
                "nliData": [
                  "01:02:03:04:05:06"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Subnet"
        ],
        "summary": "Update Subnet",
        "description": "Update Subnet",
        "operationId": "updateSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "subnetObj",
                "type": "object"
              },
              "example": {
                "id": "a85d6d05-f3d6-e811-8a4b-080027a003bf",
                "serviceTypeId": "7ee05975-b6b9-e711-a04e-080027a003bf"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Subnet"
        ],
        "summary": "Delete Subnet",
        "description": "Delete Subnet",
        "operationId": "deleteSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/assign": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Assign Subnet",
        "description": "Assign Subnet",
        "operationId": "assignSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "assignObj",
                "type": "object"
              },
              "example": {
                "assignmentTemplateId": null,
                "entityId": null,
                "netName": null
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/reclaim": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Reclaim Subnet",
        "description": "Reclaim Subnet",
        "operationId": "reclaimSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "reclaimObj",
                "type": "object"
              },
              "example": {
                "changeToParent": false,
                "endOfGracePeriod": null,
                "clearDhcpId": false,
                "clearDeviceId": false,
                "deleteSubnet": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/reserve": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Reserve Subnet",
        "description": "Reserve Subnet",
        "operationId": "reserveSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "reserveObj",
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/unreserve": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Unreserve Subnet",
        "description": "Unreserve Subnet",
        "operationId": "unreserveSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "unreserveObj",
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/subdivide": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Subdivide Subnet",
        "description": "Subdivide Subnet",
        "operationId": "subdivideSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "subdivideObj",
                "type": "object"
              },
              "example": {
                "maskSize": 24,
                "count":1,
                "startingAddress":null,
                "contiguous": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/merge": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Merge Subnet",
        "description": "Merge Subnet",
        "operationId": "mergeSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "mergeObj",
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/deploy": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Deploy Subnet",
        "description": "Deploy Subnet",
        "operationId": "deploySubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "deployObj",
                "type": "object"
              },
              "example": {
                "skipSDMIntegration": false,
                "skipBusinessRules": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/decommission": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Decommission Subnet",
        "description": "Decommission Subnet",
        "operationId": "decommissionSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "decommObj",
                "type": "object"
              },
              "example": {
                "skipSDMIntegration": false,
                "skipBusinessRules": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/{subnetId}/updatenodes": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Update Nodes Subnet",
        "description": "Update Nodes Subnet",
        "operationId": "updatenodesSubnet",
        "parameters": [
          {
            "name": "subnetId",
            "in": "path",
            "description": "Unique identifier of the subnet",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "decommObj",
                "type": "object"
              },
              "example": {
                "address": "22.33.44.55",
                "count": 10,
                "type": "STATIC",
                "state": "ASSIGNED",
                "deviceId": "dae7e380-14fa-e611-b1f8-080027ee0e8a",
                "deviceInterfaceId": "36cc0c81-14fa-e611-b1f8-080027ee0e8a",
                "macType": "ETHERNET",
                "serviceTypeId": "b2be19bf-fe79-e611-9764-080027ee0e8a",
                "networkLevelIdentifier": "MAC",
                "description": "Engineering Workstation 12",
                "purpose": "ENG workstation",
                "hostname": "eng12.localdomain.tld",
                "entityId": "d47091c4-fd79-e611-afc7-080027ee0e8a",
                "options": {
                  "cascadeDeleteResourceRecords": false,
                  "ensureFirstAssignment": true
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subnets/request-assignment": {
      "post": {
        "tags": [
          "Subnet"
        ],
        "summary": "Request Subnet Assignment",
        "description": "Request Subnet Assignment",
        "operationId": "requestSubnetAssignment",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "assignObj",
                "type": "object"
              },
              "example": {
                "type":"IPV4PUBLIC",
                "algorithm":"BESTFIT",
                "subnetAssignmentTemplateId":"",
                "maskSize":24,
                "subdivideToFindMatch":true,
                "enableIpRequestCreation":false,
                "ipRequestDescription":"",
                "criteria":
                {
                  "subnetGroupId":"",
                  "vpnId":"",
                  "networkAddress":"1.1.1.0",
                  "entityId":"",
                  "deviceInterfaceId":"",
                  "dhcpId":""
                },
                "updateProperties":
                {
                  "uniqueTag":"ad132",
                  "description":"",
                  "netname":"",
                  "serviceTypeId":"",
                  "entityId":"",
                  "deviceInterfaceId":"",
                  "changedUdas":
                  [
                    {
                      "name":"customerId",
                      "value":123
                    }
                  ],
                  "reverseNameServers":
                  [
                    "ns1.domain.com",
                    "ns2.domain.com"
                  ],
                  "nliType":"DUIDANDIAID",
                  "nliData":
                  [
                    "FFDDEEAA",
                    "966534"
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/devices": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get Devices",
        "description": "Get Devices",
        "operationId": "getDevices",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The field by which to sort results",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/devices/{deviceId}/utilization": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get Device Utilization",
        "description": "Get Device Utilization",
        "operationId": "getDeviceUtilization",
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "Unique identifier of the device",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The field by which to sort results",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/devices/{deviceId}/childutilization": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get Device Child Utilization",
        "description": "Get Device Child Utilization",
        "operationId": "getDeviceChildUtilization",
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "Unique identifier of the device",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The field by which to sort results",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/deviceinterfaces/{interfaceId}/utilization": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get Device Interface Utilization",
        "description": "Get Device Interface Utilization",
        "operationId": "getDeviceInterfaceUtilization",
        "parameters": [
          {
            "name": "interfaceId",
            "in": "path",
            "description": "Unique identifier of the device",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The field by which to sort results",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/iprequests": {
      "post": {
        "tags": [
          "IP"
        ],
        "summary": "Create IP Request",
        "description": "Create IP Request",
        "operationId": "createIPRequest",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "iprequestObj",
                "type": "object"
              },
              "example": {
                "type":"IPV4PUBLIC",
                "algorithm":"BESTFIT",
                "subnetAssignmentTemplateId":"",
                "maskSize":24,
                "subdivideToFindMatch":true,
                "enableIpRequestCreation":false,
                "ipRequestDescription":"",
                "criteria":
                {
                  "subnetGroupId":"",
                  "vpnId":"",
                  "networkAddress":"1.1.1.0",
                  "entityId":"",
                  "deviceInterfaceId":"",
                  "dhcpId":""
                },
                "updateProperties":
                {
                  "uniqueTag":"ad132",
                  "description":"",
                  "netname":"",
                  "serviceTypeId":"",
                  "entityId":"",
                  "deviceInterfaceId":"",
                  "changedUdas":
                  [
                    {
                      "name":"customerId",
                      "value":123
                    }
                  ],
                  "reverseNameServers":
                  [
                    "ns1.domain.com",
                    "ns2.domain.com"
                  ],
                  "nliType":"DUIDANDIAID",
                  "nliData":
                  [
                    "FFDDEEAA",
                    "966534"
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "IP"
        ],
        "summary": "Get IP Requests",
        "description": "Get IP Requests",
        "operationId": "getIPRequests",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The field by which to sort results",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/iprequests/{requestId}": {
      "get": {
        "tags": [
          "IP"
        ],
        "summary": "Get IP Request By Id",
        "description": "Get IP Request By Id",
        "operationId": "getIPRequestById",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "Unique identifier of the ip request",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "IP"
        ],
        "summary": "Delete IP Request",
        "description": "Delete IP Request",
        "operationId": "deleteIPRequest",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "Unique identifier of the ip request",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/iprequests/{requestId}/approve": {
      "post": {
        "tags": [
          "IP"
        ],
        "summary": "Approve IP Request",
        "description": "Approve IP Request",
        "operationId": "approveIPRequest",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "Unique identifier of the ip request",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "requestObj",
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/iprequests/{requestId}/reject": {
      "post": {
        "tags": [
          "IP"
        ],
        "summary": "Reject IP Request",
        "description": "Reject IP Request",
        "operationId": "rejectIPRequest",
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "Unique identifier of the ip request",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "requestObj",
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/vpns": {
      "post": {
        "tags": [
          "VPN"
        ],
        "summary": "Create VPN",
        "description": "Create VPN",
        "operationId": "createVPN",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "vpnObj",
                "type": "object"
              },
              "example": {
                "tag":"1024:3000",
                "alias":"Customer A's VPN",
                "description":"",
                "entityId":"d47091c4-fd79-e611-afc7-080027ee0e8a",
                "vpnDomainId":"fa32a180-14fa-e611-b1f8-080027ee0e8a",
                "defaultSubnets":
                [
                  {
                    "cidr":"1.1.1.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  },
                  {
                    "cidr":"2.2.2.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "VPM"
        ],
        "summary": "Get VPNs",
        "description": "Get VPNs",
        "operationId": "getVPNs",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given - Example: tag EQ 1024",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The field by which to sort results",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/vpns/{vpnId}": {
      "get": {
        "tags": [
          "VPN"
        ],
        "summary": "Get VPN By Id",
        "description": "Get VPN By Id",
        "operationId": "getVPNById",
        "parameters": [
          {
            "name": "vpnId",
            "in": "path",
            "description": "Unique identifier of the vpn",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "VPN"
        ],
        "summary": "Update VPN",
        "description": "Update VPN",
        "operationId": "updateVPN",
        "parameters": [
          {
            "name": "vpnId",
            "in": "path",
            "description": "Unique identifier of the vpn",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "vpnObj",
                "type": "object"
              },
              "example": {
                "tag":"1024:3000",
                "alias":"Customer A's VPN",
                "description":"",
                "entityId":"d47091c4-fd79-e611-afc7-080027ee0e8a",
                "vpnDomainId":"fa32a180-14fa-e611-b1f8-080027ee0e8a",
                "defaultSubnets":
                [
                  {
                    "cidr":"1.1.1.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  },
                  {
                    "cidr":"2.2.2.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "VPN"
        ],
        "summary": "Delete VPN",
        "description": "Delete VPN",
        "operationId": "deleteVPN",
        "parameters": [
          {
            "name": "vpnId",
            "in": "path",
            "description": "Unique identifier of the vpn",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cascade",
            "in": "query",
            "description": "Cascade delete associated resource",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/vpndomains": {
      "post": {
        "tags": [
          "VPN"
        ],
        "summary": "Create VPN Domain",
        "description": "Create VPN Domain",
        "operationId": "createVPNDomain",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "vpnObj",
                "type": "object"
              },
              "example": {
                "name":"VPN Domain A",
                "description":"",
                "type":"Entity",
                "tagFormat":"1024:${EntityName}",
                "staticPrefixes":
                [
                  "207.0.0.1", "8.8.8.8", "2048"
                ],
                "minTagValue":0,
                "maxTagValue":0,
                "defaultSubnets":
                [
                  {
                    "cidr":"1.1.1.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  },
                  {
                    "cidr":"2.2.2.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  }
                ],
                "validateString":"",
                "importDefault":true
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "VPM"
        ],
        "summary": "Get VPN Domains",
        "description": "Get VPN Domains",
        "operationId": "getVPNDomains",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search criteria, multiple arguments may be given - name EQ Customer",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/vpndomains/{domainId}": {
      "get": {
        "tags": [
          "VPN"
        ],
        "summary": "Get VPN Domain By Id",
        "description": "Get VPN Domain By Id",
        "operationId": "getVPNDomainById",
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "description": "Unique identifier of the vpn domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "VPN"
        ],
        "summary": "Update VPN Domain",
        "description": "Update VPN Domain",
        "operationId": "updateVPN Domain",
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "description": "Unique identifier of the vpn domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "title": "vpnObj",
                "type": "object"
              },
              "example": {
                "name":"VPN Domain A",
                "description":"",
                "type":"Entity",
                "tagFormat":"1024:${EntityName}",
                "staticPrefixes":
                [
                  "207.0.0.1", "8.8.8.8", "2048"
                ],
                "minTagValue":0,
                "maxTagValue":0,
                "defaultSubnets":
                [
                  {
                    "cidr":"1.1.1.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  },
                  {
                    "cidr":"2.2.2.0/24",
                    "serviceTypeid": "b002231232d332d23d3"
                  }
                ],
                "validateString":"",
                "importDefault":true
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "VPN"
        ],
        "summary": "Delete VPN Domain",
        "description": "Delete VPN Domain",
        "operationId": "deleteVPNDomain",
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "description": "Unique identifier of the vpn domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/vpndomains/{domainId}/availabletag": {
      "get": {
        "tags": [
          "VPN"
        ],
        "summary": "Get Available VPN Tag",
        "description": "Get Available VPN Tag",
        "operationId": "getAvailableVPNTag",
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "description": "Unique identifier of the vpn domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "staticPrefix",
            "in": "query",
            "description": "The static prefix for the tag",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "description": "The ID of the relevant entity",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {}
  },
  "tags": [
    {
      "name": "Entity",
      "description": ""
    },
    {
      "name": "Subnet",
      "description": ""
    },
    {
      "name": "Device",
      "description": ""
    },
    {
      "name": "IP",
      "description": ""
    },
    {
      "name": "VPN",
      "description": ""
    }
  ]
}